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

Интереснует, кто занима-лся/ется такой задачей и какие подходы для её решения уже существуют.

Спасибо!
SM
Если я правильно понял - имеется в виду условие минимальности фазы. Оно выполняется, когда все нули и полюса находятся внутри ед. окр. - так что если имеется БИХ, то полюса и так внутри, а все нули, которые оказались снаружи, отразить внутрь. И получится искомое.
Olxx
Если требуется выравнивание груповой задержки то можно применить All-pass IIR filter with arbitrary group delay. Посмотрите в Матлабе, там это все хорошо описано и промоделировать можно.
emerg_reanimator
Спасибо за ответы

Решение с фазовращающими звеньями обычно не оптимально. Хотя наверное могут быть варианты. Я таких не знаю. Кроме того, ГВЗ в этом случае увеличется.

Уважаемый, SM, могли бы Вы по подробнее расказать о методике отображения нулей.
SM
Цитата(emerg_reanimator @ Oct 24 2005, 13:59)
Уважаемый, SM, могли бы Вы по подробнее расказать о методике отображения нулей.
*
А что там рассказывать? Был ноль в точке z=z1, и было у этого нуля abs(z1)>1. И сделали ему z1'=1/z1. И отразился он от единичной окружности.
emerg_reanimator
1. Все правильно, но для типичных аппроксимаций (Батт., Чебышев, Золоторёв) модуль нулей ЧХ равен 1. Поэтому как ни крути, нули всегда на единичной окружности.

2. Я нашёл объснение тому, что АЧХ фильтра непоменяется, если использовать обратные нули:
H(z) = H'(z)*(1+z0/z)*(z0+1/z)/(z0+1/z)
H(z) = H'(z)*H1(z)*(1+(1/z0)/z), где H1(z) - фазовое звено 1-ого порядка, модуль АЧХ которого равен 1.

Вопрос: Как из обычно эллиптического фильтра получить минимально-фазный?
SM
Цитата(emerg_reanimator @ Nov 29 2005, 00:30) *
Вопрос: Как из обычно эллиптического фильтра получить минимально-фазный?

А они и так минимально-фазовые синтезируются. На сколько я помню нули фильтра Кауера и так на ед. окр. лежат. Можете это даже проверить - если система минимально-фазовая, то у нее логарифм модуля АЧХ связан преобразованием Гильберта с ФЧХ.
emerg_reanimator
Если фильтр с передаточной функцией H(z)=B(z)/A(z) - минимально-фазовый, то фильтр H(z)=A(z)/B(z) устойчив. Если корни B(z) лежат на единичной окружности, то мы получим генератор.

Условие минимальной-фазности:
http://sepwww.stanford.edu/sep/prof/pvi/zp...tml/node26.html
SM
Да, сорри за тормознутость. Нули должны лежать внутри ед.окр., следовательно не получится минимально-фазового фильтра Кауера (у него по определению нули на ед.окр.). Единственное что могу предложить - это принудительно убрать нули внутрь. Получится некое приближение к фильтру Кауера, например (экспериментально) при изменении у фильтра Кауера 8-го порядка радиуса нулей с 1 до 0.99 получаем ухудшение хар-ки примерно на 0.3 дБ, но при этом имеем минимальную фазу.

В матлабе примерно так:

% Num, Den - filter coeffs
[z p k] = tf2zp(Num,Den);
zz = 0.99*exp(j*angle(z));
[NewNum, NewDen]=zp2tf(zz,p,k);

Или - еще как вариант - синтезировать минимизацией p-нормы, с довольно большим p, будет тоже некое приближение к Кауеру, но ограничить положение нулей. Правда ф-цию придется самому писать, так как встроенная умеет только полюса ограничивать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.