Страница 1 из 1

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

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

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

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

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

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

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

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

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

Добавлено: 16 июн 2022, 18:30
Бахурин Сергей
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 тактов относительно входа в зависимости от коэффициентов. Длительность сигнала при этом не ограничена.

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

Добавлено: 20 июн 2022, 14:30
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. Существенно сократить инерционность можно спроектировав
ваш БИХ-фильтр как минимально-фазовый. Сейчас он таковым не является.

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

Добавлено: 24 июн 2022, 11:47
Vlad27
А вот решение той же задачи целочисленным КИХ-фильтром 32-го порядка
с несимметричной ИХ.

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

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

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

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