2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки





Начать новую тему Ответить на тему
 
 БПФ
Сообщение18.01.2017, 22:24 


18/01/17
5
не понимаю как восстановить частоту/амплитуду/фазу в БПФ. Имеется набор комплексных чисел (N/2 , N - кол-во измерений входного сигнала), то есть пары Re Im. Моделирую сигнал с помощью синусоид/косинусоид (например (cos(5x)-6sin(3x-7) и тд). Восстанавливаю амплитуду, фазу и частоту по формулам:
А = 1/N(sqrt(Re^2+Im^2)
phase = arctg(Rr/Im)
v = k/T (где k - индекс полученной гармоники, то есть 0...N/2)
Очевидно, получается бред. Так как спектр очень размазывается. Причем нет полностью совпадающих амплитуд/фаз/частот. Я не понимаю как их восстановить и самое главное, как определить количество гармоник!! так как независимо от того, мы измеряем 1024 раза 1 гармонику или 123 гармоники, например, получается 512 комплексных пар. Как понять что в первом случае у нас всего одна гармоника, а во втором 123 и восстановить их?

 Профиль  
                  
 
 Re: БПФ
Сообщение18.01.2017, 22:55 
Аватара пользователя


31/10/08
788
Цитата:
Причем нет полностью совпадающих амплитуд/фаз/частот.

Потому, что условие(свойства) применения дискретного преобразования Фурье забыли выучить.

Цитата:
Как понять что в первом случае у нас всего одна гармоника, а во втором 123 и восстановить их?

Отбросте, те которые близки к нулю. Плюс правильные условия эксперимента должны быть. Плюс применения окон что-бы компенсировать утечки спектра.

 Профиль  
                  
 
 Re: БПФ
Сообщение18.01.2017, 23:02 


18/01/17
5
амплитуды , близкие к нулю или что? и какие считать близкими к нулю? они варьируются от 0.4 до 1.2 (значения меняются в зависимости от разных входных гармоник), 0.5 считать близким к нулю или нет? здесь ведь нельзя делать примерно, отбросив 3,4 нужные гармоники сигнал исказится. Окна ведь не отбросят все лишние гармоники, а лишь часть + не восстановят сигнал

 Профиль  
                  
 
 Re: БПФ
Сообщение18.01.2017, 23:04 
Заслуженный участник
Аватара пользователя


27/04/09
20177
Уфа
annaLilia в сообщении #1185753 писал(а):
Восстанавливаю амплитуду, фазу и частоту по формулам:
А = 1/N(sqrt(Re^2+Im^2)
phase = arctg(Rr/Im)
Формулы вроде бы правильные (хотя фазу надо бы как arctan2(im, re)). Видимо, вы неправильно извлекаете компоненты комплексных чисел из массива, который выдаёт БПФ. Посмотрите справку по этой функции — там должно быть описано, что она как возвращает.

Хотя действительно забыл то, что выше написали: проверьте, не генерируете ли вы там гармоники с частотой выше частоты Найквиста.

P. S.
annaLilia в сообщении #1185753 писал(а):
получается 512 комплексных пар
Обычно всё же 513 комплексных чисел, два из которых вещественны. Если функция, которой вы пользуетесь, возвращает 512, она что-то скрывает.

 Профиль  
                  
 
 Re: БПФ
Сообщение18.01.2017, 23:12 


18/01/17
5
она возвращает (для 1024 измерений) 1024 комплексных пары. одна реальная - первая, вторую половину отсекаю из-за зеркального эффекта

-- 18.01.2017, 22:17 --

формулу для фазы поменяла, спасибо, не обратила внимания! но результат по-прежнему не радует

 Профиль  
                  
 
 Re: БПФ
Сообщение18.01.2017, 23:27 
Заслуженный участник
Аватара пользователя


27/04/09
20177
Уфа
annaLilia в сообщении #1185777 писал(а):
вторую половину отсекаю из-за зеркального эффекта
Так вы не узнаете амплитуду частоты Найквиста, с которой эта половина начинается. Если она вам нужна, конечно.

annaLilia в сообщении #1185777 писал(а):
но результат по-прежнему не радует
Смотрите тогда
arseniiv в сообщении #1185774 писал(а):
не генерируете ли вы там гармоники с частотой выше частоты Найквиста

 Профиль  
                  
 
 Re: БПФ
Сообщение18.01.2017, 23:29 


18/01/17
5
не генерирую

 Профиль  
                  
 
 Re: БПФ
Сообщение18.01.2017, 23:36 
Заслуженный участник
Аватара пользователя


27/04/09
20177
Уфа
Тогда остаётся только смотреть код.

Если частота гармоники такова, что целое число её периодов не укладывается в набор отсчётов, от которого берётся БПФ, то в результате будет не одно число, а несколько, локализованных в области частот, близких к частоте этой гармоники.

 Профиль  
                  
 
 Re: БПФ
Сообщение18.01.2017, 23:43 


18/01/17
5
ооо, как же забыла за это!!! это уже хорошо =) спасибо большое!!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Toucan, maxal, Karan, PAV, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group