Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использование оконных функций, совместно с FFT обработкой 
:(
    Опции темы
Dimmak
Дата 28.12.2012, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 2.12.2012

Репутация: нет
Всего: нет



Цитата

С этого надо было начинать, иначе с перекрытием вряд ли разберётесь   smile 

Хорошо. В данном случае под фильтрацией я подразумевал простое изменение амплитуд
( magnitude ) сигнала, полученных с помощью БПФ.
Цитата

На первый взгляд это не фильтр а просто "некая манипуляция с сигналом". Что вы при такой обработке хотите иметь на выходе?

Отфильтрованный сигнал...

PM MAIL   Вверх
vedun
Дата 28.12.2012, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 23.12.2010

Репутация: 2
Всего: 2



С помощью простого выкидывания отсчётов результата БПФ, с последующим ОБПФ вы фильтр не получите, как бы заманчиво это не выглядело. Отсюда и проблемы на стыках при восстановлении сигнала после БПФ. Я бы вам рекомендовал вначале сделать фильтр без БПФ.
PM ICQ Skype Jabber   Вверх
Dimmak
Дата 28.12.2012, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 2.12.2012

Репутация: нет
Всего: нет



vedun
Насколько я понимаю, именно изменение величин ( magnitude ) является обычным FFT фильтром.
Само собой, FFT фильтр и FIR фильтр немного разные темы..
Цитата

Я бы вам рекомендовал вначале сделать фильтр без БПФ.

Спасибо за рекомендацию, но я хотел бы все-таки сначала разобраться с оконным перекрытием.
 smile 

PM MAIL   Вверх
vedun
Дата 28.12.2012, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 23.12.2010

Репутация: 2
Всего: 2



Цитата
 Насколько я понимаю, именно изменение величин ( magnitude ) является обычным FFT фильтром. 
 Дык чтобы соотношения амплитуд изменились надо именно фильтровать а не отбрасывать отсчёты FFT.

Цитата
 Само собой, FFT фильтр и FIR фильтр немного разные темы.. 
 А в чём вы видите разницу, расскажите. Может я чего то не понимаю.
PM ICQ Skype Jabber   Вверх
Dimmak
Дата 28.12.2012, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 2.12.2012

Репутация: нет
Всего: нет



Я понял в чем вопрос.
1. Делаем FFT получаем 2массива ( real & imag )
2. Далее высчитывает по формулам величины частот( громкость гармоник( magnitude )) и фазу каждой из частот.
Те если у нас, к примеру 1024 отчета, следовательно получаем 512 частот, равномерно расположенных друг от друга. Если взять SR 44100, то шаг будет составлять ~86гц. Понятное дело, что погрешность при таких расчетах просто опупительная, для чего  и забивают массив нулями или увеличивают количество отчетов ( да или то и другое ). Можно к примеру понизить SR в 2, 4... раза.
Вариаций много, но это уже детали. 
3. Далее конвертируем массив отредактированных величин частот ( их у нас 512, в данном примере ) и массив фаз ( Magnitude, Phase ) в ( real & imag ) и только после этого делаем iFFT.
 Это и является обычным FFT фильтром, в моем понимании.  smile 
PM MAIL   Вверх
vedun
Дата 28.12.2012, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 23.12.2010

Репутация: 2
Всего: 2



Понятно. Я бы не стал называть это фильтром, в моём понимании это игра в напёрстки с сигналом с неизвестным результатом smile . Что ж, удачи вам.
Добавлено:
Хотя можно поступить так: сдвигать каждый раз окно на один отсчёт, тогда после прямого фурье можно крутить амплитуду и фазу каждой частоты как вам нужно. В итоге это будет эквивалентно банку фильтров с sinc огибающей на каждой частоте.

Это сообщение отредактировал(а) vedun - 28.12.2012, 17:52
PM ICQ Skype Jabber   Вверх
Pavia
Дата 28.12.2012, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



Цитата

Понятное дело, что погрешность при таких расчетах просто опупительная, для чего  и забивают массив нулями или увеличивают количество отчетов ( да или то и другое ). Можно к примеру понизить SR в 2, 4... раза.
 smile  В корне не верно.
PM MAIL   Вверх
Dimmak
Дата 28.12.2012, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 2.12.2012

Репутация: нет
Всего: нет



Цитата

В корне не верно. 

ОК! Давайте пробежимся по FFT базе знаний. Что именно в корне не верно?  smile 
PM MAIL   Вверх
Dimmak
Дата 28.12.2012, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 2.12.2012

Репутация: нет
Всего: нет



Цитата

Хотя можно поступить так: сдвигать каждый раз окно на один отсчёт, тогда после прямого фурье можно крутить амплитуду и фазу каждой частоты как вам нужно. В итоге это будет эквивалентно банку фильтров с sinc огибающей на каждой частоте.

Не совсем понимаю что это дает. Пожалуйста, подробности по этому моменту.
А вот по-поводу фазы, чтоб ее крутить, нужно чтоб сетка FFT довольно точно совпала  с модифицируемой частотой ( 2 - 3 знака после запятой ) 
PM MAIL   Вверх
vedun
Дата 28.12.2012, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 23.12.2010

Репутация: 2
Всего: 2



Цитата
 Не совсем понимаю что это дает. Пожалуйста, подробности по этому моменту. 
 Это моё предположение, возможно что это и не правильно, надо проверять. Если такая конструкция будет банком фильтров полного восстановления то возможно и удастся сделать такой фильтр как вы хотите на его основе. Я в этом совсем не специалист, смотрите по ключевым словам - "банки фильтров", "банк полного восстановления".

Цитата
 нужно чтоб сетка FFT довольно точно совпала  с модифицируемой частотой ( 2 - 3 знака после запятой ) 
 В военное время, а так же при сильных морозах достаточно 1 знака  smile. Простите не удержался.
PM ICQ Skype Jabber   Вверх
Pavia
Дата 28.12.2012, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 418
Регистрация: 6.12.2008

Репутация: 11
Всего: 12



Цитата(Dimmak @  28.12.2012,  20:30 Найти цитируемый пост)
ОК! Давайте пробежимся по FFT базе знаний. Что именно в корне не верно? 

Давай дай определение преобразование Фурье. И опиши переход к дискретному Фурье. Рассмотри переход от Дискретного случая с N к M отчётов. В качестве вопроса что дает добавления нулей? Подсказка переход от свёртки по модулю к линейной.
В качестве пособия могу посоветовать "А.Б.Сергиенко_Цифровая обработка сигналов"
Что будет если добавить нули? А ни чего хорошего тут результат показан http://websound.ru/articles/theory/filter.htm правда однобоко. 
PM MAIL   Вверх
Dimmak
  Дата 29.12.2012, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 2.12.2012

Репутация: нет
Всего: нет



vedun
Цитата

 Это моё предположение, возможно что это и не правильно, надо проверять. Если такая конструкция будет банком фильтров полного восстановления то возможно и удастся сделать такой фильтр как вы хотите на его основе. Я в этом совсем не специалист, смотрите по ключевым словам - "банки фильтров", "банк полного восстановления".

Ясно.
Цитата

 В военное время, а так же при сильных морозах достаточно 1 знака  smile. Простите не удержался. 

В таком случае погрешность фазы до 2х градусов.

Pavia
Цитата

Что будет если добавить нули?

Нули добавляются для уменьшения шага сетки. Ели Вы о том, что сигнал с нулями невозможно обратно преобразовать, так ведь можно еще рассматрива оБПФ как гармонический синтезатор. Только в этом случае точность определения гармоник и фаз должна быть довольно высокой.

vedun, Pavia
Кроме Сергиенко вам известны книги, из которых можно подчерпнуть информацию об использовании оконных функций с FFT?
PM MAIL   Вверх
vedun
Дата 29.12.2012, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 23.12.2010

Репутация: 2
Всего: 2



Цитата
 Кроме Сергиенко вам известны книги, из которых можно подчерпнуть информацию об использовании оконных функций с FFT? 

Здесь смотрим раздел ЦОС и выбираем. Ещё рекомендую зайти сюда.
PM ICQ Skype Jabber   Вверх
Dimmak
Дата 29.12.2012, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 2.12.2012

Репутация: нет
Всего: нет



Спасибо vedun  smile 


PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0831 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.