Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FFT (БПФ) - отладка в железе
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Acvarif
Пытаюсь прикинуть как проверить в железе БПФ на 64 точки. Пока взял за основу варианты: 1. корка от Altera 2. open корка http://opencores.org/project,pipelined_fft_64
Почему именно в железе?
Необходимо убедиться, что БПФ будет работать как диаграммно-формирующее устройство. Тоесть если подать на все входы БПФ синусоидальный сигнал с одинаковой фазой (например с помощью NCO) то на выходной решетке будет получен максимальный всплеск в ее центре. Если на вход БПФ подать сигнал со сдвигом фаз от точки к точке то на выходе максимум будет сдвинут от центра вправо или влево в зависимости от направления сдвига фаз на входе.
Кто имел дело с БПФ подскажите пожалуйста пройдет-ли такой вариант или могут быть другие варианты получше?
Если на действительные входы БПФ подавать выход NCO то, что нужно подать на мнимые входы БПФ?
Как выбрать частоту дискретизации если частота NCO 100 кГц?
Lmx2315
QUOTE (Acvarif @ Aug 8 2013, 11:03) *
Тоесть если подать на все входы БПФ синусоидальный сигнал с одинаковой фазой ..

..а сколько у вас входов всего, у вашего БПФ? .. понял - 64.
ай м сорри.

Думаю, на мнимые входы нужно подавать комплексно сопряжённые величины сигналов, а иначе в центре будет один пик, а как начнёте диаграмму качать - так разъёзжаться из центра будут два пика.
Acvarif
Цитата(Lmx2315 @ Aug 8 2013, 10:11) *
..а сколько у вас входов всего, у вашего БПФ? .. понял - 64.
ай м сорри.

Думаю, на мнимые входы нужно подавать комплексно сопряжённые величины сигналов, а иначе в центре будет один пик, а как начнёте диаграмму качать - так разъёзжаться из центра будут два пика.

Спасибо. Я так понял, что вариант с NCO прокатит.
Для начала при сдвиге фаз меня устроят и два пика. Главное, чтобы увидеть, что вариант проверки работает.
Но все же в конечном итоге нужет один пик. Подскажите как можно из сигнала NCO сформировать комплексно сопряжённые величины сигналов?

eugen_pcad_ru
1 Подавайте на вход cos и sin.
2 Частоту дискретизации берите в 4 раза выше. В общем для синусоиды, имеющей 0чень ограниченный спектр, можно выбрать почти любуюsm.gif

Dr.Alex
Цитата(Acvarif @ Aug 8 2013, 10:03) *
Пытаюсь прикинуть как проверить в железе БПФ на 64 точки.
Необходимо убедиться, что БПФ будет работать как диаграммно-формирующее устройство.


Ничё не понял. Почему "убеждаться" нужно на железе? Напишите ДПФ на сях (несколько строчек и 5 минут времени), на вход подайте любые случайные данные, результат сохраните. Потом проделайте то же с теми же данными в железе. Совпало - значит железо работает правильно.

Если задача - изучение свойств БПФ, то вообще железо вам ни к чему..
Acvarif
Цитата(eugen_pcad_ru @ Aug 8 2013, 10:55) *
1 Подавайте на вход cos и sin.
2 Частоту дискретизации берите в 4 раза выше. В общем для синусоиды, имеющей 0чень ограниченный спектр, можно выбрать почти любуюsm.gif

cos и sin на действительный и мнимый входы?
Или можно все на действительный? Тоесть если 4_ре выборки на период то четные будут синусом, нечетные косинусом.

Если сигнал подать только на действительные входы (на мнимые 0) то выходные всплески будут и на действительных выходах и на мнимых (по два пика там и там).
Как по ним можно определить фазу входного сигнала? Может просто по номеру канала (действительного выхода) где возникло превышение какого-то порога?
Acvarif
Кажется пришло понимание задачки построения ДФУ на базе БПФ.
При изменении угла падения волны на антенную решетку, которая в свою очередь подключена к БПФ будет меняться пространственная частота заполнения точек БПФ,
а значит будет меняться и номер выходов БПФ (зеркально) на которых будет появляться всплеск. Мнимыми входами при этом можно пренебречь (занулить)
Тоесть примерно такНажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла
Вопрос как теперь все это симитировать в железе?
Acvarif
Хотя нет. Занулять мнимые входы неправильно.
Нужно на действительные входы подавать косинус, на мнимые синус. Только тогда можно правильно обрабатывать пространственную частоту.
С этим вполне справится компонент NCO.
По ходу возник еще один вопрос.
Можно-ли как-то использовать корку fft Altera на 64 как 32_х точечную?
Если нет то как выйти из положения?
KalashKS
Цитата(Acvarif @ Aug 13 2013, 14:54) *
Можно-ли как-то использовать корку fft Altera на 64 как 32_х точечную?

Если занулить каждый 2-й отсчет, то на выходе получите 2 копии 32-точечного преобразования.

Вообще я бы вам советовал сначала _полностью_ промоделировать ваш алгоритм программно, прежде чем вообще браться за железо. Начиная с модели принимаемого сигнала и далее все этапы обработки.
Если железные баги наложатся на ошибки алгоритма, разбираться будет очень тяжело.
Acvarif
Цитата(KalashKS @ Aug 13 2013, 17:36) *
Если занулить каждый 2-й отсчет, то на выходе получите 2 копии 32-точечного преобразования.

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

Спасибо.
Так оно и есть.
Нажмите для просмотра прикрепленного файла
Просто железо мне ближе.
Согласен с Вами. Модель в матлаб или в крайнем случае на С то, с чего нужно начать. Попытаюсь в матлаб. Хотя в матлаб сильно плаваю. Попробую написать код, если застряну открою ветку в матлабовском разделе. Подсобите?

KalashKS
Цитата(Acvarif @ Aug 13 2013, 20:12) *
Спасибо.
Так оно и есть.
Нажмите для просмотра прикрепленного файла
Просто железо мне ближе.
Согласен с Вами. Модель в матлаб или в крайнем случае на С то, с чего нужно начать. Попытаюсь в матлаб. Хотя в матлаб сильно плаваю. Попробую написать код, если застряну открою ветку в матлабовском разделе. Подсобите?


Даже плохая модель лучше ее отсутствия. Дерзайте, поможем.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.