Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: сравнение FFT Altera с FFT Matlab
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
_Anatoliy
Всем привет! Закралось сомнение и решил проверить качество FFT. На верхней картинке данные захвачены из FPGA на входе FFT с наложенным окном и выполнено FFT в матлабе. На нижней - результат FFT с выхода корки. Ну и настройки корки. Интересует SNR, первая картинка примерно на 10 дБ лучше. Разрядности вроде солидные, почему же так портится SNR?
Tpeck
Цитата(_Anatoliy @ Nov 30 2016, 13:11) *
Всем привет! Закралось сомнение и решил проверить качество FFT. На верхней картинке данные захвачены из FPGA на входе FFT с наложенным окном и выполнено FFT в матлабе. На нижней - результат FFT с выхода корки. Ну и настройки корки. Интересует SNR, первая картинка примерно на 10 дБ лучше. Разрядности вроде солидные, почему же так портится SNR?


На одном сигнале есть постоянка, а на другом нет.
Почему так?
_Anatoliy
Цитата(Tpeck @ Nov 30 2016, 14:10) *
На одном сигнале есть постоянка, а на другом нет.
Почему так?

Упс, действительно, не заметил. Через пол-часа выложу новые картинки.
soldat_shveyk
Округления на промежуточных этапах вычислений БПФ в Альтере?
Для проверки попробуйте подать на вход Altera FFT сигнал, не имеющий собственных ошибок квантования,
и имеющий спектр близкий к дельта-функции, например синус с частотой 1/4 Fs. Он будет представлять собой последовательность отсчетов 0, 1, 0 -1.
Такой сигнал должен выдать постоянную величину на соответствующем выходе FFT, а на других будут нули.
Но при вычислении с ограниченной разрядностью в Altera FFT вы увидите некий "шум" на всех выходах FFT.
По амплитуде этого шума можно оценить SNR, который обеспечивает модуль FFT от Альтеры.
_Anatoliy
Цитата(soldat_shveyk @ Nov 30 2016, 14:34) *

Спасибо! Так это ,как я понимаю, возможно будет и в симуляторе проверить? Сделать входной сигнал с нулевым шумом и точно в бин.
soldat_shveyk
Да!
Вы в симуляторе сразу увидите "мусор", который будет присутствовать на выходах FFT, где должен идти 0.
Как это работает в Matalb:
N = 16;
n = 0:1:(N-1);
sig = round(sin(2*pi*(1/4)*n))';
result = fft(sig);
_Anatoliy
Цитата(soldat_shveyk @ Nov 30 2016, 14:55) *

Понял, сделаю как Вы сказали.


Цитата(Tpeck @ Nov 30 2016, 14:10) *
На одном сигнале есть постоянка, а на другом нет.
Почему так?

Нашёл ошибку, неверно (не с нулевой частоты) нарисовал график - постоянка есть в обоих случаях. Картинки переделывать не стал.
_Anatoliy
Ну в общем всё как обычно - в симуляторе Active на выходе FFT нули,глюк на глюке. Завтра сделаю в модельсиме.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.