Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: БПФ спектр
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Lmx2315
Такой вопрос уважаемые ..

Есть схема : мультиплексор на восемь входов , за ним АЦП , потом Память и потом 128 т. БПФ - вывод на экран .

Как всё работает : мультиплексор перебирает каналы со скоростью 5.12 МГц , как-только канал установится + немного времени на переходной процесс - АЦП измеряет значение , далее значении помещается в свою ячейку памяти - привязанную к номеру канала . Память - 256 отсчётов х 8 каналов .
Из памяти данные по канально перебрасываются в БПФ по 128 отсчётов и после обработки на экран .

если 5.12 МГЦ - скорость переключения мультиплексора поделить на 8 каналов - получается частота дискретизации 640 КГц .

Теперь вопрос - когда всё собрал - вижу на экране спектр полосой только 160 КГц .

Посылал на вход гармонику - она перемещается по спектру а после 160 КГЦ зеркалируется и движется обратно .

Вот я и не пойму , как-так?

Почему ширина спектра только половина от должной?
DMax
Давайте уточним сначала.

Вы делаете БПФ на 128 точек. Получаете 128 точек, из которых полезны только 64. По этим 64-м точкам вы смотрите спектр. Каждый бин БПФ представляет собой 5 КГц.

А вот теперь объясните, что значит "после 160 КГЦ зеркалируется и движется обратно". На вашей картинке "палка" доходит до 32-ой точки или до 64-ой перед тем как начинает двигаться обратно? Я так понял, что 160 КГц вы выставляете на генераторе, а вот в какую точку вашего БПФ эта палка попадает мне не очень понятно.
Lmx2315
Цитата(DMax @ Dec 20 2010, 17:49) *
Давайте уточним сначала.

Вы делаете БПФ на 128 точек. Получаете 128 точек, из которых полезны только 64. По этим 64-м точкам вы смотрите спектр. Каждый бин БПФ представляет собой 5 КГц.

А вот теперь объясните, что значит "после 160 КГЦ зеркалируется и движется обратно". На вашей картинке "палка" доходит до 32-ой точки или до 64-ой перед тем как начинает двигаться обратно? Я так понял, что 160 КГц вы выставляете на генераторе, а вот в какую точку вашего БПФ эта палка попадает мне не очень понятно.



..да , вывожу на экран 64 точки - вижу спектр , включаю гармонику и перестраивая генератор веду палку по спектру к 64 точке , когда палка до неё доходит - она идёт вниз по спектру к 1 точке .Поворот происходит когда на генераторе 160 КГц.
DMax
Цитата(Lmx2315 @ Dec 20 2010, 17:59) *
..да , вывожу на экран 64 точки - вижу спектр , включаю гармонику и перестраивая генератор веду палку по спектру к 64 точке , когда палка до неё доходит - она идёт вниз по спектру к 1 точке .Поворот происходит когда на генераторе 160 КГц.


Воот. Тут-то и бага, потому что гармонике в 160 КГц должна соответствовать 32-ая точка. Предлагаю вам выяснить, почему у вас гармоника 160 КГц попадает в 64-ю. То что, дальше происходит заворот, правильно, ведь дальше 64-й идти некуда.
Lmx2315
Цитата(DMax @ Dec 21 2010, 11:20) *
Воот. Тут-то и бага, потому что гармонике в 160 КГц должна соответствовать 32-ая точка. Предлагаю вам выяснить, почему у вас гармоника 160 КГц попадает в 64-ю. То что, дальше происходит заворот, правильно, ведь дальше 64-й идти некуда.



..спасибо большое , теперь всё понятно. maniac.gif
Lmx2315
Применяю корку с сайта opencores (кстати спасибо всем кому не жалко делится своим творчеством) beer.gifsm.gif и подозрения у меня что что-то с ней не так , кто разбирается - посмотрите ? Поставил их же корку на 256 точек - спектр полный , а мне надо всёж на 128 .

..корка на veriloge .


..вроде бы что-то не то с подключением блоков BUFRAM128C в FFT128

в блоке BUFRAM128C найти и сделать строку 104 такой : assign addrr={addr[3 : 0], addr[6 : 4]};
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.