Проблема физической реализации КИХ фильтра на уровне RTL из-за высокой задержки фильтра.

Все что касается фильтрации
harkut
Сообщения: 6
Зарегистрирован: 16 апр 2021, 15:26

Проблема физической реализации КИХ фильтра на уровне RTL из-за высокой задержки фильтра.

Сообщение harkut »

Приветствую форумчане,
ideal_pll_afc.png
Вопрос такой, каким образом можно спроектировать АЧХ подобного рода с помощью БИХ фильтра.
Как получить для КИХ фильтра понятно. Но КИХ не подходит для реализации на RTL (уровень регистровых передач) из-за высокой задержки фильтра которая ограничивает входной сигнал. Жертвовать характеристиками АЧХ нельзя (понижать порядок или увеличивать частоту дискретизации). При этом частотный диапазон на уровне ослабления в 2 раза (6дБ) должен иметь низкий уровень пульсаций.
RTL модель фильтра реализована в лоб. Как сдвиговый регистр с отводами для умножения и одним сумматором. Входной сигнал имеет разрядность 2. Где ws1 = 5 Мгц, а wp2 = 20 МГц.

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 1114
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Проблема физической реализации КИХ фильтра на уровне RTL из-за высокой задержки фильтра.

Сообщение Бахурин Сергей »

КИХ не подходит для RTL, а БИХ подходит? Всю жизнь считал наоборот, бих очень сложно реализуется ввиду того что его выход зависит от предыдущего выхода, что очень сложно реализовать из-за задержек на умножение и сумматоры. А если ещё учесть вопросы устойчивости в челочисленной арифметике, то вообще грустно становится.

harkut
Сообщения: 6
Зарегистрирован: 16 апр 2021, 15:26

Re: Проблема физической реализации КИХ фильтра на уровне RTL из-за высокой задержки фильтра.

Сообщение harkut »

Ну я относительно недавно знаком с ЦОС и т.д. Немного по другому задам вопрос. Правильно считать, что групповая задержка КИХ фильтра ограничивает частотный диапазон фильтрации? То есть к примеру имеется регистр выполняющий роль 20(order) задерживающий элементов работающий частоте дискретизации 20МГц(Fd). Общая задержка такого регистра составляет t = (order-1)/(Fd*2) = 4.75e-7. Ограничивается ли длительность сигнала этой задержкой? Должен ли период сигнала больше этой задержки?
Последний раз редактировалось harkut 16 июн 2022, 08:18, всего редактировалось 1 раз.

harkut
Сообщения: 6
Зарегистрирован: 16 апр 2021, 15:26

Re: Проблема физической реализации КИХ фильтра на уровне RTL из-за высокой задержки фильтра.

Сообщение harkut »

С БИХ ещё не успел поиграться в RTL. Но как минимум столкнулся с тем, что не понимаю как подобную АЧХ получить для БИХ. Поэтому начал с КИХ.

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 1114
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

Re: Проблема физической реализации КИХ фильтра на уровне RTL из-за высокой задержки фильтра.

Сообщение Бахурин Сергей »

harkut писал(а):
16 июн 2022, 07:20
Ну я относительно недавно знаком с ЦОС и т.д. Немного по другому задам вопрос. Правильно считать, что групповая задержка КИХ фильтра ограничивает частотный диапазон фильтрации?
Нет групповая задержка говорит что сигнал на выходе появится не сразу, а через некоторое время. При этом какие частоты в сигнале будут подавлены а какие нет от этой задержки не зависят.
harkut писал(а):
16 июн 2022, 07:20
То есть к примеру имеется регистр выполняющий роль 20(order) задерживающий элементов работающий частоте дискретизации 20МГц(Fd). Общая задержка такого регистра составляет t = (order-1)/(Fd*2) = 4.75e-7. Ограничивается ли длительность сигнала этой задержкой? Должен ли период сигнала больше этой задержки?
Не понял вопроса. Фильтр может работать с бесконечным сигналом. Если у вас 20 регистров задержки, то сигнал на выходе может быть задержан от 0 до 20 тактов относительно входа в зависимости от коэффициентов. Длительность сигнала при этом не ограничена.

Vlad27
Сообщения: 86
Зарегистрирован: 06 апр 2015, 10:09
Откуда: г, Нижний Новгород (rif27@bk.ru)

Re: Проблема физической реализации КИХ фильтра на уровне RTL из-за высокой задержки фильтра.

Сообщение Vlad27 »

harkut писал(а):
15 июн 2022, 14:18
Вопрос такой, каким образом можно спроектировать АЧХ подобного рода с помощью БИХ фильтра. Жертвовать характеристиками АЧХ нельзя (понижать порядок или увеличивать частоту дискретизации). При этом частотный диапазон на уровне ослабления в 2 раза (6дБ) должен иметь низкий уровень пульсаций.
RTL модель фильтра реализована в лоб. Как сдвиговый регистр с отводами для умножения и одним сумматором. Входной сигнал имеет разрядность 2. Где ws1 = 5 Мгц, а wp2 = 20 МГц.
Вашу задачу очень несложно решить численными методами синтеза IIR на дискретной сетке
параметров с заданной разрядностью представления коэффициентов. Вот я привожу решение
вашей задачи БИХ-фильтром 8-го порядка с разрядностью представления целочисленных
коэффициентов 12 бит. Здесь же приводится контрольный анализ этого решения в MATLAB.
Видно, что для fs=50 МГц длина импульсного отклика не превосходит 40 семплов.
Инерционность фильтра по задержке ипульсного отклика - 10 семплов.
Неравномерность на ступеньке 5 - 20 МГц составляет 1,5 %. Наверное можно её ещё уменьшить,
подняв порядок фильтра до 10. Существенно сократить инерционность можно спроектировав
ваш БИХ-фильтр как минимально-фазовый. Сейчас он таковым не является.
Вложения
Gain_R12_Full_0+.gif
Gain_R12_Full_0+.gif (8.65 КБ) 3344 просмотра
MATLAB_GAIN_RTL.gif
MATLAB_GAIN_RTL.gif (4.45 КБ) 3344 просмотра
MATLAB_IMP_RTL.gif
MATLAB_IMP_RTL.gif (5.56 КБ) 3344 просмотра
MATLAB_Z_RTL.gif
MATLAB_Z_RTL.gif (4.34 КБ) 3344 просмотра
Последний раз редактировалось Vlad27 29 июн 2022, 11:55, всего редактировалось 2 раза.

Vlad27
Сообщения: 86
Зарегистрирован: 06 апр 2015, 10:09
Откуда: г, Нижний Новгород (rif27@bk.ru)

Re: Проблема физической реализации КИХ фильтра на уровне RTL из-за высокой задержки фильтра.

Сообщение Vlad27 »

А вот решение той же задачи целочисленным КИХ-фильтром 32-го порядка
с несимметричной ИХ.
Вложения
Gain_FIR_R14_0.gif
Gain_FIR_R14_0.gif (5.77 КБ) 3303 просмотра
Gain_RTL_FIR_N=32.gif
Gain_RTL_FIR_N=32.gif (4.04 КБ) 3303 просмотра
IMP_RTL_FIR_N=32.gif
IMP_RTL_FIR_N=32.gif (6.18 КБ) 3303 просмотра
Z_RTL_FIR_N=32.gif
Z_RTL_FIR_N=32.gif (4.77 КБ) 3303 просмотра
Последний раз редактировалось Vlad27 29 июн 2022, 11:36, всего редактировалось 1 раз.

harkut
Сообщения: 6
Зарегистрирован: 16 апр 2021, 15:26

Re: Проблема физической реализации КИХ фильтра на уровне RTL из-за высокой задержки фильтра.

Сообщение harkut »

Vlad27 писал(а):
24 июн 2022, 11:47
А вот решение той же задачи целочисленным КИХ-фильтров 32-го порядка
с несимметричной ИХ.
Благодарю за ответ.
Ещё вопрос. А какие численные методы по нахождению коэффициентов для БИХ фильтра (Не доходит каким конкретно способом их найти)? MATLAB не пользуюсь, но Octave знаю. Численные методы вы имеете в виду уже реализованные в MATLAB?

Vlad27
Сообщения: 86
Зарегистрирован: 06 апр 2015, 10:09
Откуда: г, Нижний Новгород (rif27@bk.ru)

Re: Проблема физической реализации КИХ фильтра на уровне RTL из-за высокой задержки фильтра.

Сообщение Vlad27 »

А какие численные методы по нахождению коэффициентов для БИХ фильтра (Не доходит каким конкретно способом их найти)? MATLAB не пользуюсь, но Octave знаю. Численные методы вы имеете в виду уже реализованные в MATLAB?
О синтеза ЦФ (и БИХ и КИХ) методом дискретного нелинейного программирования почитайте,
пожалуйста, нашу тему на этом форуме "Целочисленное проектирование фильтров" - там
ссылка на книгу и некоторые наши статьи, где общая идея описывается и её основные достоинства
приводятся. В качестве примера работы программы приведу пару скрин-шотов модуля
анализа приведённого выше решения.
А какая длина КИХ у вас получилась (число отсчётов) и выполнялось ли условие симметрии ИХ
(импульсной характеристики) - ведь МАТЛАБ именно с этой опцией КИХ-фильтры считает, чем
практически и убивает быстродействие фильтра.
Вложения
Анализ АЧХ БИХ-фильтра RTL
Анализ АЧХ БИХ-фильтра RTL
Измерение неравномерности АЧХ в полосе 5 - 20 МГц
Измерение неравномерности АЧХ в полосе 5 - 20 МГц

Ответить