Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Поясните результат FFT
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
kolobochishe
Выполнил БПФ над оцифрованным с частотой 2MSPS сигналом. Выборка 2^14=16384.

После ликвидировал зеркальный эффект просто обнулив все элементы выше 16384/2 = 8192

Получаем максимальную частоту на спектрограмме:

freq[j]= (nSamplesPerSec * i) / N = (200000 * 8192) / 16384 = 1МГц.

Но у меня на этом месте на графике получается 500кГц. Т.е. в 2 раза меньше. В чем проблема?

Источник алгоритма отсюда FFT
sparcmaster
Цитата(kolobochishe @ Mar 19 2012, 16:49) *
После ликвидировал зеркальный эффект просто обнулив все элементы выше 16384/2 = 8192

Надо еще домножить все оставшиеся элементы на 2, кроме первого.
kolobochishe
Цитата(sparcmaster @ Mar 19 2012, 18:09) *
Надо еще домножить все оставшиеся элементы на 2, кроме первого.


ОК. в курсе sm.gif спасибо. Пока интересует именно поиск частоты. Просто интересует принципиальный вопрос - какая частота все таки максимальная должна быть. 500кГц или 1Мгц при оцифровке 2MSPS, величине окна FFT N = 2^14 и при вот таком удалении зеркального эффекта.

George22
Ну правильно - верхняя анализируемая частота 1MHz
Период дискретизации 1/2000000 =0.5uS
Разрешение по спектру (шаг между отсчетами по частоте) 1/( 0.0000005x16384)=122.07Hz
т.е. спектр будет 1ая частота 122.02Hz, 2ая - 244.14Hz ... так до 1000Hz
Смотря какую частоту надо выделить - исходя из этого выбирается частота дискретизации и кол-во отсчетов.
kolobochishe
Понял. "Глюк" в системе нашел. Забыл функцию опроса исправить после последней отладки. 1МГц был.

А еще вопрос. А как-то можно увеличить анализируемую частоту (с 1Мгц до 2Мгц, например) если зеркальный эффект как-то по другому исправлять? Может с учетом фазовых множителей?
Alex11
Цитата(kolobochishe @ Mar 20 2012, 08:41) *
А еще вопрос. А как-то можно увеличить анализируемую частоту (с 1Мгц до 2Мгц, например) если зеркальный эффект как-то по другому исправлять? Может с учетом фазовых множителей?

Это теоретически невозможно. Если правильно использовать зеркальную часть можно только повысить точность.
kolobochishe
Цитата(Alex11 @ Mar 20 2012, 12:44) *
можно только повысить точность.


а поподробнее? точность чего? измерения амплитуды или частоты?
Alex11
Амплитуды, естественно. И, косвенно, частоты, если искать точное ее значение по огибающей.
=GM=
Цитата(kolobochishe @ Mar 20 2012, 04:41) *
А как-то можно увеличить анализируемую частоту (с 1Мгц до 2Мгц, например)

Потенциально можно увеличить до двух мег, если, скажем, использовать квадратурные каналы. Таким образом я обрабатывал сигналы от датчиков 1.5 МГц и 2.7 МГц при частоте выборки 4.2 МГц
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.