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

Подскажите пожалуйста как можно (по какому простому понятному алгоритму) пересчитать коэффициенты КИХ-фильтра полученного с помощью fdatool (Matlab) в коэффициенты КИХ-фильтра без умножителей. Может быть существует какая-нибудь программа пересчета?
fontp
А как Вы себе представляете КИХ без умножителей? Если коэффициенты только 1 и -1 то ничего хорошего не получится в любой программе, кроме интеграторов и дифференциаторов.
Можно проквантовать коэффициенты любого фильтра на небольшое число бит (на 4 или на 8, например) а потом собрать все на сумматорах, имея в виду разложение коэффициентов по разрядам (степени двойки это сдвиги входного сигнала, заводить на сумматоры только те разряды входного сигнала, где 1 в двоичном представлении коэффициента и с соответствующим сдвигом).
fdatool позволяет задать разрядность и посмотреть насколько квантованый вариант такого фильтра будет хорош - его частотную х-ку.
Реализация такого фильтра тривиальна, но должна проводиться руками. Понятно, что это очень громоздко для сколько-нибудь длинного КИХ
TSerg
Вооще-то есть методы, другое дело, что не для любого желания.
Например:
www.soel.ru/cms/f/?/311675.pdf
До кучи:
http://www.radis.ru/articles/Min04DSP.pdf
DRUID3
Остается добавить, что в материалах DSPA не помню за какой год я встречал нечто на тему "проектирование iir(!) фильтров без умножения... генетические алгоритмы". Чот сча не гуглится и не рамблерится, но было такое точно... Тоже хороший подход. Написать какой-нить скриптец на NumPy и поставить его крутиЦЦо в фоновом режиме... недели, месяцы... игры, интернет серфинг, треп на форумах - сколько МИПСов мы тратим сейчас впустую? От таких вычислительных мощностей кибернетики прошлого пришли бы в трепет... А потом вдруг бах - есть сходимость в диапазоне, можно продавать в ближайшую HDL-конторку - вот она прелесть научного поиска... романтика wink.gif .
Gyga
На DSPA была такая тема, но как помниться методика расчёта не приводилась.
Victor®
Цитата(ZZZRF413 @ Nov 15 2012, 16:34) *
Всем доброго дня!

Подскажите пожалуйста как можно (по какому простому понятному алгоритму) пересчитать коэффициенты КИХ-фильтра полученного с помощью fdatool (Matlab) в коэффициенты КИХ-фильтра без умножителей. Может быть существует какая-нибудь программа пересчета?


Гуглите Distributed arithmetics - и не будет умножителей.
анатолий
Вот статья о проектировании таких фильтров на LUT.
http://kanyevsky.kpi.ua/VHDLlabenglish/szcz01fir.html
Victor®
Цитата(анатолий @ Nov 24 2012, 00:29) *
Вот статья о проектировании таких фильтров на LUT.
http://kanyevsky.kpi.ua/VHDLlabenglish/szcz01fir.html


Это тоже DA.
анатолий
Цитата(Victor® @ Nov 23 2012, 23:04) *
Это тоже DA.

Это не DA. Это конкретно умножение на один коэффициент без умножителя.
DA - это когда аккумулятор складывает сумму частных произведений на цифры нескольких коэффициентов.
Victor®
Цитата(анатолий @ Nov 25 2012, 14:45) *
Это не DA. Это конкретно умножение на один коэффициент без умножителя.
DA - это когда аккумулятор складывает сумму частных произведений на цифры нескольких коэффициентов.


Что такое DA я и сам знаю.
Что-же такого нового изобрели авторы по ссылке?
http://kanyevsky.kpi.ua/VHDLlabenglish/szcz01fir.html
Есть авторское? ПатентЪ?
bve
А CIC-фильтры разве с умножением?
анатолий
Цитата(Victor® @ Nov 25 2012, 14:44) *
Что-же такого нового изобрели авторы по ссылке?
http://kanyevsky.kpi.ua/VHDLlabenglish/szcz01fir.html
Есть авторское? ПатентЪ?

А там же и объясняется.
DA придумали Пелед и Ли без всяких патентов исключительно для вычисления суммы К произведений с использованием ПЗУ с К-битовым адресом.
Здесь же - все проще и очевиднее: К-битовый адрес - для умножения на К битов одного множителя. И в этом есть ряд преимуществ.

А в мире продолжают тупо эксплуатировать DA, хотя есть работы на английском разных авторов и про такие вот умножители тоже, которые ошибочно причисляют к DA.
Реальные такие умножители делались и внедрялись еще до ПЛИС, и публиковались в СССР здесь:
Каневский Ю.С.,Зорин Ю.М. Цифровой фильтр с управлением потоков данных// Труды Всесоюзной конференции "Методы и микроэлектронные средства цифрового преобразования и обработки сигналов" -Pига,-1983.
Каневский Ю.С., Некрасов Б.А., Сергиенко А.М. Вопросы реализации высокопроизводительных процессоров БПФ. "Управляющие системы и машины", Киев, 1986, N 4, с. 57-60.
inventor
может вы имели ввиду алгоритмы фильтра на суматорах и сдвигателях?
анатолий
Цитата(inventor @ Nov 29 2012, 09:08) *
может вы имели ввиду алгоритмы фильтра на суматорах и сдвигателях?

Есть еще такой способ построения фильтров без умножителей, когда делают для умножения на Р коэффициентов Р деревьев сумматоров со сдвинутыми множимыми и сдвинутыми суммами частных произведений. При этом, благодаря неумножению на 0, выделению общих поддеревьев, получается сумматоров в несколько раз меньше , чем в схеме с универсальными блоками умножения.
Но выше имеется в виду запись в ПЗУ объемом 2^К слов всех комбинаций произведений коэффициента на К разрядов данного-множителя.
Т.е. и здесь, и в DA, и в деревьях сумматоров схемы, как правило, параллельные. Иногда DA - последовательно-параллельная.
Поэтому сдвигатели не используются.
thermit
Цитата
анатолий:
чем в схеме с универсальными блоками умножения


Вообще-то умножение на константу - комбинационная логика в чистом виде. Зачем здесь нужен универсальный умножитель? Или сдвигатель?

Цитата
Но выше имеется в виду запись в ПЗУ объемом 2^К слов всех комбинаций произведений коэффициента на К разрядов данного-множителя.


Es ist Phantastik...
анатолий
Цитата(thermit @ Nov 30 2012, 19:45) *
Вообще-то умножение на константу - комбинационная логика в чистом виде. Зачем здесь нужен универсальный умножитель? Или сдвигатель?

Поэтому автор ветки не хочет универсальный умножитель, а требует схему без него, которая характерна тем, что сумматоров в ней существенно меньше, чем в схеме с универсальным умножителем, который, в конце концов, тоже комбинационная логика в чистом виде. А сдвигатель, таки-да, в параллельных схемах не нужен.
thermit
Да автор сам не знает чего хочет.
TSerg
Совсем без умножителей sm.gif
Статья
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.