|
|
  |
FFT (БПФ) - отладка в железе |
|
|
|
Aug 8 2013, 07:03
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Пытаюсь прикинуть как проверить в железе БПФ на 64 точки. Пока взял за основу варианты: 1. корка от Altera 2. open корка http://opencores.org/project,pipelined_fft_64 Почему именно в железе? Необходимо убедиться, что БПФ будет работать как диаграммно-формирующее устройство. Тоесть если подать на все входы БПФ синусоидальный сигнал с одинаковой фазой (например с помощью NCO) то на выходной решетке будет получен максимальный всплеск в ее центре. Если на вход БПФ подать сигнал со сдвигом фаз от точки к точке то на выходе максимум будет сдвинут от центра вправо или влево в зависимости от направления сдвига фаз на входе. Кто имел дело с БПФ подскажите пожалуйста пройдет-ли такой вариант или могут быть другие варианты получше? Если на действительные входы БПФ подавать выход NCO то, что нужно подать на мнимые входы БПФ? Как выбрать частоту дискретизации если частота NCO 100 кГц?
|
|
|
|
|
Aug 8 2013, 07:11
|

отэц
    
Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684

|
QUOTE (Acvarif @ Aug 8 2013, 11:03)  Тоесть если подать на все входы БПФ синусоидальный сигнал с одинаковой фазой .. ..а сколько у вас входов всего, у вашего БПФ? .. понял - 64. ай м сорри. Думаю, на мнимые входы нужно подавать комплексно сопряжённые величины сигналов, а иначе в центре будет один пик, а как начнёте диаграмму качать - так разъёзжаться из центра будут два пика.
--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0 SHA-256
|
|
|
|
|
Aug 8 2013, 07:51
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Цитата(Lmx2315 @ Aug 8 2013, 10:11)  ..а сколько у вас входов всего, у вашего БПФ? .. понял - 64. ай м сорри.
Думаю, на мнимые входы нужно подавать комплексно сопряжённые величины сигналов, а иначе в центре будет один пик, а как начнёте диаграмму качать - так разъёзжаться из центра будут два пика. Спасибо. Я так понял, что вариант с NCO прокатит. Для начала при сдвиге фаз меня устроят и два пика. Главное, чтобы увидеть, что вариант проверки работает. Но все же в конечном итоге нужет один пик. Подскажите как можно из сигнала NCO сформировать комплексно сопряжённые величины сигналов?
|
|
|
|
|
Aug 8 2013, 08:35
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Цитата(eugen_pcad_ru @ Aug 8 2013, 10:55)  1 Подавайте на вход cos и sin. 2 Частоту дискретизации берите в 4 раза выше. В общем для синусоиды, имеющей 0чень ограниченный спектр, можно выбрать почти любую  cos и sin на действительный и мнимый входы? Или можно все на действительный? Тоесть если 4_ре выборки на период то четные будут синусом, нечетные косинусом. Если сигнал подать только на действительные входы (на мнимые 0) то выходные всплески будут и на действительных выходах и на мнимых (по два пика там и там). Как по ним можно определить фазу входного сигнала? Может просто по номеру канала (действительного выхода) где возникло превышение какого-то порога?
|
|
|
|
|
Aug 9 2013, 05:53
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Кажется пришло понимание задачки построения ДФУ на базе БПФ. При изменении угла падения волны на антенную решетку, которая в свою очередь подключена к БПФ будет меняться пространственная частота заполнения точек БПФ, а значит будет меняться и номер выходов БПФ (зеркально) на которых будет появляться всплеск. Мнимыми входами при этом можно пренебречь (занулить) Тоесть примерно так
Вопрос как теперь все это симитировать в железе?
Сообщение отредактировал Acvarif - Aug 9 2013, 05:55
|
|
|
|
|
Aug 13 2013, 14:36
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755

|
Цитата(Acvarif @ Aug 13 2013, 14:54)  Можно-ли как-то использовать корку fft Altera на 64 как 32_х точечную? Если занулить каждый 2-й отсчет, то на выходе получите 2 копии 32-точечного преобразования. Вообще я бы вам советовал сначала _полностью_ промоделировать ваш алгоритм программно, прежде чем вообще браться за железо. Начиная с модели принимаемого сигнала и далее все этапы обработки. Если железные баги наложатся на ошибки алгоритма, разбираться будет очень тяжело.
|
|
|
|
|
Aug 13 2013, 16:12
|
Знающий
   
Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850

|
Цитата(KalashKS @ Aug 13 2013, 17:36)  Если занулить каждый 2-й отсчет, то на выходе получите 2 копии 32-точечного преобразования.
Вообще я бы вам советовал сначала _полностью_ промоделировать ваш алгоритм программно, прежде чем вообще браться за железо. Начиная с модели принимаемого сигнала и далее все этапы обработки. Если железные баги наложатся на ошибки алгоритма, разбираться будет очень тяжело. Спасибо. Так оно и есть.
Просто железо мне ближе. Согласен с Вами. Модель в матлаб или в крайнем случае на С то, с чего нужно начать. Попытаюсь в матлаб. Хотя в матлаб сильно плаваю. Попробую написать код, если застряну открою ветку в матлабовском разделе. Подсобите?
|
|
|
|
|
Aug 14 2013, 07:42
|
Местный
  
Группа: Участник
Сообщений: 236
Регистрация: 7-02-11
Пользователь №: 62 755

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