|
|
  |
Миниизация ГВЗ для БИХ |
|
|
|
Oct 9 2005, 18:35
|
Участник

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

|
Добрыь день!
Интереснует, кто занима-лся/ется такой задачей и какие подходы для её решения уже существуют.
Спасибо!
|
|
|
|
|
Oct 15 2005, 21:47
|
Участник

Группа: Свой
Сообщений: 26
Регистрация: 28-07-04
Пользователь №: 406

|
Если требуется выравнивание груповой задержки то можно применить All-pass IIR filter with arbitrary group delay. Посмотрите в Матлабе, там это все хорошо описано и промоделировать можно.
|
|
|
|
|
Oct 24 2005, 10:59
|
Участник

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

|
Спасибо за ответы
Решение с фазовращающими звеньями обычно не оптимально. Хотя наверное могут быть варианты. Я таких не знаю. Кроме того, ГВЗ в этом случае увеличется.
Уважаемый, SM, могли бы Вы по подробнее расказать о методике отображения нулей.
|
|
|
|
|
Nov 28 2005, 21:30
|
Участник

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

|
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.
Вопрос: Как из обычно эллиптического фильтра получить минимально-фазный?
|
|
|
|
|
Nov 29 2005, 11:32
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Да, сорри за тормознутость. Нули должны лежать внутри ед.окр., следовательно не получится минимально-фазового фильтра Кауера (у него по определению нули на ед.окр.). Единственное что могу предложить - это принудительно убрать нули внутрь. Получится некое приближение к фильтру Кауера, например (экспериментально) при изменении у фильтра Кауера 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, будет тоже некое приближение к Кауеру, но ограничить положение нулей. Правда ф-цию придется самому писать, так как встроенная умеет только полюса ограничивать.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|