Полная версия этой страницы:
Адаптивная фильтрация на FPGA
Unomano
Mar 24 2007, 01:17
День добрый,
Есть необходимость сделать адаптивный фильтр (30 звеньев, NLMS) при частоте выборок 1 МГц разрядностью 12 бит. Тактировать ПЛИС думаю от 100-150 МГц.
Вопрос заключается в том, хватит ли ресурса у Spartan-II для реализации данной задачи (возможно часть вычислений перенести на TMS320F2812).
тут все зависит от того на какой частоте запустится
умножитель: 12 х РазрКоэф
если не менее 32 мегагерц - то уже можно работать =)
(наверное стоит для этого дела заоптимизированный умножитель визардом делать)
по поводу использования сопроцессора:
встречал как-то в сети дипломную работу (как раз по адаптивным фильтрам): там как раз блок расчета новых коэффициентов был вынесен в процессор (микроблейз/ПоверРС) - можно сделать аналогично - а в ПЛИС тогда просто КИХ-фильтр с подгружаемыми коэффициентами (хотя тут наверное еще зависит от того как часто требуется обновлять коэффициенты)
Unomano
Mar 27 2007, 09:07
Что значит "12 х РазрКоэф"?
Насколько я понимаю, чем реже обновлять коэфициенты, тем больше время схождения. Мне нужно чтобы время схождения было около 1-2 мс.
имелась в виду разрядность умножителя: уж очень сильно его производительность (и занимаемая площадь) зависят от разрядности операндов. а сколько у вас бит на коэффициенты -мне неведомо.
Unomano
Mar 27 2007, 10:31
я думаю тоже 12 бит как и данные
EvgenyNik
Mar 30 2007, 08:48
Очень сильно зависит от реализации конкретного фильтра. Делал КИХ фильтр 20-го порядка для 10-битного сигнала с частотой выборки 13МГц на ACEX, Cyclone - работало. Оговорюсь, было реализовано с задержкой на несколько тактов - конвеер.
Главное - грамотно распределить задержки и определённым образом сгруппировать время-ёмкие операции.
Unomano
Mar 30 2007, 09:40
А сколько CLB у вас уходило на организацию одного звена КИХ фильтра?
EvgenyNik
Mar 30 2007, 14:41
Про отдельное звено не скажу - не анализировал, а вся прошивка на 20 звеньев заняла 1498 LCS в EP1K100QC208-3 (ACEX), что составляет 30% и укладывается во временные требования для дизайна - 14МГц. Для Cyclone данные не сохранились, т.к. это была просто проба в этом же проекте.
В каждом звене приходилось делать умножение на коэффициент. Напрямую через lpm_mult это сделать не удавалось, т.к. нехватало быстродействия. Пришлось реализовывать умножение в виде сумм смещений исходного множимого.
Koluntaev
Mar 31 2007, 08:57
Посмотрите на
http://www.chip-news.ru/archive/chipnews/200104/1.html Дельная статейка по адаптивной фильтрации, может поможет.
Unomano
Apr 4 2007, 11:57
ИМС GC2011 конечно хорошая но цена-а-а... ($150)
Цитата(Unomano @ Apr 4 2007, 12:57)

ИМС GC2011 конечно хорошая но цена-а-а... ($150)
грейчипы в плис перекладывали еще во времена VirtexE
а уж сейчас-то.. в наш век Virtex5-SXT & Spartan3A-DSP можно и DDC, и адаптивную фильтрацию и еще кучу всего в один кристалл утоптать
Unomano
Apr 4 2007, 16:50
Spartan3A-DSP еще появиться в продаже должны

Virtex-E... Хотелось бы уложиться в $100
Цитата(Unomano @ Apr 4 2007, 17:50)

Spartan3A-DSP еще появиться в продаже должны

если должны, то появятся)
и судя по количеству представителей семейства и корпусировке - оптимизация по конечной цене там довольно жестко была проведена
Цитата
Virtex-E... Хотелось бы уложиться в $100
ну вам проще - у вас данные на 1МГц поступают (так что уложитесь)
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.