реклама на сайте
подробности

 
 
> БИХ-фильтр, с плавающей точкой
Sidoroff
сообщение Feb 19 2013, 20:04
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 3-07-06
Пользователь №: 18 536



Возможно ли сделать асинхронный сумматор и перемножитель для плавающей точки
хотя-бы одинарной точности (32 бита), ПЛИС Cyclone 3?
Есть ли примеры (VHDL) или надо писать самому?

Собственно задача сделать БИХ-фильтр 16 порядка (32 коэффициента) на поток данных 1 МГц.
Хочется сэкономить на логике и энергопотреблении за счет уменьшения частоты дизайна.
Встроенный конструктор Quartus умеет генерировать только очень латентные (а значит
расходующие много лишней логики на защелкивание промежуточных результатов) умножители и сумматоры.
Поэтому предполагаю рассчитывать последовательно, в 2-4 потока однотактовыми операциями
(2-4 асинхронных умножителя и сумматоры по месту), частота дизайна не более 20МГц,
соответственно 20 тактов на расчет одного результата должно хватить.

Если ход мыслей неверный, подскажите, как можно решить такую задачу.

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 6)
litv
сообщение Feb 20 2013, 04:04
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 6-10-04
Из: Воронеж
Пользователь №: 806



Вам хочется странногоsm.gif. Спрашиваю Вас - зачем именно БИХ? Вы же неопытны для него(судя во по вопросу можно ли сделать асихронный сумматор sm.gif ).

Сделайте КИХ фильтр. Ему нафиг не понадобится умножитель с плавающей запятой который сожрет кучу ресурсов ,а динамический диапазон скорее всего недалек от диапазона АЦП.
Все прямо слева на право на "очень латентных умножителях и сумматорах". Экономия на умножителях будет Ваша тактовая/выходную тактовую. Наверно у альтеры и компилятор готовый есть.
Go to the top of the page
 
+Quote Post
Sidoroff
сообщение Feb 20 2013, 07:48
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 3-07-06
Пользователь №: 18 536



КИХ-фильтр у меня давно есть на "очень латентных умножителях и сумматорах", "все прямо слева на право".
Но нужна широкая полоса пропускания в НЧ области, с отношением частоты дискретизации к частоте сигнала порядка
нескольких тысяч, поэтому надо очень много коэффициентов КИХ-фильтра и FIFO-буфера.
В мою ПЛИС (EP3C25E144I7) такой не влезет.
Go to the top of the page
 
+Quote Post
litv
сообщение Feb 20 2013, 08:39
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 6-10-04
Из: Воронеж
Пользователь №: 806



те если выходная частота дискретизации низкая. вообще ких фильтр на 1 умножителе.
Go to the top of the page
 
+Quote Post
Sidoroff
сообщение Feb 20 2013, 09:04
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 3-07-06
Пользователь №: 18 536



На одном умножителе не получится, надо 4-8, но не в этом дело.
К каждому умножителю нужно два буфера на сигнал и коэффициенты (к которым
этот умножитель "приписан") на встроенной памяти, а память нужна для другой задачи,
значит только на регистрах.
Не влезет именно FIFO данных и массив коэффициентов.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Feb 20 2013, 09:46
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

Такая реализация называется Distributed Arithmetic - в гугле полно ссылок как это устроенно.

Однако по поводу float реализации стоит подумать - все же может лучше сделать fix реализацию с соответствующим
масштабированием и только потом конвертировать во float.

Тем более частота сигнала низкая - можно на одном-двух широком параллельном умножителе и сумматоре сделать автомат который будет считать в в fix формате последовательно все 16 порядков.

Успехов! Rob.
Go to the top of the page
 
+Quote Post
анатолий
сообщение Feb 20 2013, 19:31
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052



Вот здесь пример, как разрабатывают БИХ-фильтры высокого порядка на ПЛИС: http://kanyevsky.kpi.ua/publicacii2010/HPF_Serg.pdf
Идея такая: структура, в принципе, считает 1 звено фильтра, но за счет латентной задержки в цепи обратной связи на К тактов, структура реализует последовательно-параллельно цепочку К звеньев фильтра. Фильтр может быть и с плавающей запятой.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 1st August 2025 - 20:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01373 секунд с 7
ELECTRONIX ©2004-2016