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

 
 
 
Reply to this topicStart new topic
emerg_reanimator
сообщение Oct 9 2005, 18:35
Сообщение #1


Участник
*

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



Добрыь день!

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

Спасибо!
Go to the top of the page
 
+Quote Post
SM
сообщение Oct 11 2005, 09:35
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Если я правильно понял - имеется в виду условие минимальности фазы. Оно выполняется, когда все нули и полюса находятся внутри ед. окр. - так что если имеется БИХ, то полюса и так внутри, а все нули, которые оказались снаружи, отразить внутрь. И получится искомое.
Go to the top of the page
 
+Quote Post
Olxx
сообщение Oct 15 2005, 21:47
Сообщение #3


Участник
*

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



Если требуется выравнивание груповой задержки то можно применить All-pass IIR filter with arbitrary group delay. Посмотрите в Матлабе, там это все хорошо описано и промоделировать можно.
Go to the top of the page
 
+Quote Post
emerg_reanimator
сообщение Oct 24 2005, 10:59
Сообщение #4


Участник
*

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



Спасибо за ответы

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

Уважаемый, SM, могли бы Вы по подробнее расказать о методике отображения нулей.
Go to the top of the page
 
+Quote Post
SM
сообщение Oct 25 2005, 07:36
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(emerg_reanimator @ Oct 24 2005, 13:59)
Уважаемый, SM, могли бы Вы по подробнее расказать о методике отображения нулей.
*
А что там рассказывать? Был ноль в точке z=z1, и было у этого нуля abs(z1)>1. И сделали ему z1'=1/z1. И отразился он от единичной окружности.
Go to the top of the page
 
+Quote Post
emerg_reanimator
сообщение Nov 28 2005, 21:30
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 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.

Вопрос: Как из обычно эллиптического фильтра получить минимально-фазный?
Go to the top of the page
 
+Quote Post
SM
сообщение Nov 29 2005, 07:59
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



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

А они и так минимально-фазовые синтезируются. На сколько я помню нули фильтра Кауера и так на ед. окр. лежат. Можете это даже проверить - если система минимально-фазовая, то у нее логарифм модуля АЧХ связан преобразованием Гильберта с ФЧХ.
Go to the top of the page
 
+Quote Post
emerg_reanimator
сообщение Nov 29 2005, 10:39
Сообщение #8


Участник
*

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



Если фильтр с передаточной функцией 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
Go to the top of the page
 
+Quote Post
SM
сообщение Nov 29 2005, 11:32
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 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, будет тоже некое приближение к Кауеру, но ограничить положение нулей. Правда ф-цию придется самому писать, так как встроенная умеет только полюса ограничивать.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 16:01
Рейтинг@Mail.ru


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