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

 
 
> Мат. аспекты дизайна IIRа второго порядка, Где почитать теорию создания IIRа второго порядка с помощью простых ур
Саша Z
сообщение Apr 26 2007, 13:13
Сообщение #1


Знающий
****

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



У меня в проэкте используются банк фильтров IIR второго порядка без нулей (только 2 real полюса).
В универе изучали классическую теорию дизайна IIRов согласно теории изложенной в A Course in Digital Signal Processing by Boaz Porat, т.е. при данных требуемых тех. параметрах (частоты, ripple и т.д.), подсчет требуемого порядка фильтра, расчет вспомогательных параметров (d,k), выбор или подсчет средней частоты среза, расчет полюсов и расчет transfer function. Все это для LPF. Затем, ежели нужен не LPF, то делаем трансформацию в требуемый вид (HPF, BPF, BSF). После чего делаем трансформацию полученного фильтра в цифровой domain (обычно с помощью bilinear transform, с учетеом требуемого пересчета частот) вследствии чего и получаем искомую transfer function цифрового фильтра (в z-domain).

Однако, мой руководитель проэкта (старых правил DSPшник с многолетним советским и частично пост-советским стажем) преложил очень простой вариант - для band-pass второго порядка IIR без нулей.

Первый полюс рассчитывается по формуле:
P1 = 2 x Q x cos[(2 x pi x fres)/fs];
второй полюс:
P2 = -Q^2.
где Q - требуемая добротность фильтра (в пределах 0.9 - 0.99999...)
fres - частота середины полосы пропускания (так как задана в обычно частотной шкале (Hz) без учете свертки на цифре)
fs - sampling rate

Мне этот подход не знаком, никогда не дидел таких формул и соотв. теории.

Буду благодарен ежели кто подскажет где почитать (ессно online либо отгружаемый файл/книга) теоритическую подоплеку такого подхода и откуда берутся эти уравнения.

Спасибо, Саша
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Саша Z
сообщение Apr 30 2007, 15:41
Сообщение #2


Знающий
****

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



Никто не знаком с этими вещами ?? Или не в нужный форум запостил ?
Go to the top of the page
 
+Quote Post
Самурай
сообщение Apr 30 2007, 20:41
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066



Цитата(Саша Z @ Apr 30 2007, 16:41) *
Никто не знаком с этими вещами ?? Или не в нужный форум запостил ?


Возможно я ошибаюсь, но есть подозрение, что или Вы не так поняли руководителя проэкта, или он Вас не так понялsmile.gif. Или Вы случайно позабыли упомянуть в своем вопросе некоторые несущественные детали, отсутствие которых, тем не менее, весьма пагубно отразилось на попытке логического осмысления поставленного вопросаsmile.gif)).

Собственно, что например значит "банк фильтров IIR второго порядка без нулей (только 2 real полюса)."? Что в этой фразе понимается под "real" полюсами? Полюса лежащие только на действительной оси? Но тогда о каких band-pass фильтрах может идти речь?

И что это за формулы для расчета полюсов? Полюс описывается только одной координатой в некоторых частных случаях: а именно когда он лежит либо на мнимой оси либо на действительной оси. Но даже в этом случае приведенная формула для P1 может дать значение больше 1, т.е. данный полюс приведет к неустойчивости фильтраsmile.gif. Да и fres в этой формуле мало повлияет на АЧХ фильтраsmile.gif.

В общем, опишите Вашу задачу более корректнее и точнее. Еще лучше, если Вы приведете уравнение Вашего фильтра, дабы разговор был осмысленнееsmile.gif).
Go to the top of the page
 
+Quote Post
Саша Z
сообщение Apr 30 2007, 22:32
Сообщение #4


Знающий
****

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



Цитата(Самурай @ Apr 30 2007, 21:41) *
Возможно я ошибаюсь, но есть подозрение, что или Вы не так поняли руководителя проэкта, или он Вас не так понялsmile.gif. Или Вы случайно позабыли упомянуть в своем вопросе некоторые несущественные детали, отсутствие которых, тем не менее, весьма пагубно отразилось на попытке логического осмысления поставленного вопросаsmile.gif)).

Собственно, что например значит "банк фильтров IIR второго порядка без нулей (только 2 real полюса)."? Что в этой фразе понимается под "real" полюсами? Полюса лежащие только на действительной оси? Но тогда о каких band-pass фильтрах может идти речь?

И что это за формулы для расчета полюсов? Полюс описывается только одной координатой в некоторых частных случаях: а именно когда он лежит либо на мнимой оси либо на действительной оси. Но даже в этом случае приведенная формула для P1 может дать значение больше 1, т.е. данный полюс приведет к неустойчивости фильтраsmile.gif. Да и fres в этой формуле мало повлияет на АЧХ фильтраsmile.gif.

В общем, опишите Вашу задачу более корректнее и точнее. Еще лучше, если Вы приведете уравнение Вашего фильтра, дабы разговор был осмысленнееsmile.gif).


Спасибо за ответ, нет проблем.
Так и есть - банк из IIR фильтров, каждый фильтр - второго порядка, имеет вид:

H(z) = 1/(1-p1*z^-1-p2*z^-2) - то бишь без нулей.
Извиняюсь, обмолвился:
p1, p2 - не полюса, а коеффициенты задержек в знаменателе. Для получения полюсов нужно H(z) разложить на простые дроби - и тогда действительно получим комплексные полюса.

p1, p2 (т.е. коеффициенты задержек, а не полюса) вычисляются по формулам данным в моем первичном посте в ветке.
По теории, p1 может принимать значения |p1| < 2 при том что |p2| < 1 - это залог устойчивости.
fres - требуемый пик frequency response (АЧХ ?) полосового фильтра.

Что-бы ни быть голословным, приведу конкретный пример одного из этих IIRов собранных в filter bank:
fres = 1206 Hz - середина требуемой полосы пропускания
fs = 22050 Hz - sampling rate
выбираем Q = 0.985;

p1 = 2*Q*cos(2*pi*fres/fs) = 2*0.985*cos(2*pi*1206/22050) = 1.8548
p2 = -Q^2 = -(0.985)^2 = -0.9072;

Получаем фильтр:
H(z) = 1/(1-1.8548*z^-1+0.9072*z^-2)

Если вы прогоните данный IIR в матлабе на получение frequency response (freqz, например) - получим острый полосовой фильтр с усилением 40 дБ в центре (я его потом срезаю соотв. коеффициентом в числителе функции).

Т.е. такой подход дает сразу коеффициенты IIRа второго порядка.
Вот и интересует теоретическа подоплека этих формул.
Go to the top of the page
 
+Quote Post
Самурай
сообщение May 1 2007, 01:54
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066



Цитата(Саша Z @ Apr 30 2007, 23:32) *
Спасибо за ответ, нет проблем.
Так и есть - банк из IIR фильтров, каждый фильтр - второго порядка, имеет вид:

H(z) = 1/(1-p1*z^-1-p2*z^-2) - то бишь без нулей.
Извиняюсь, обмолвился:
p1, p2 - не полюса, а коеффициенты задержек в знаменателе. Для получения полюсов нужно H(z) разложить на простые дроби - и тогда действительно получим комплексные полюса.

p1, p2 (т.е. коеффициенты задержек, а не полюса) вычисляются по формулам данным в моем первичном посте в ветке.
По теории, p1 может принимать значения |p1| < 2 при том что |p2| < 1 - это залог устойчивости.
fres - требуемый пик frequency response (АЧХ ?) полосового фильтра.

Что-бы ни быть голословным, приведу конкретный пример одного из этих IIRов собранных в filter bank:
fres = 1206 Hz - середина требуемой полосы пропускания
fs = 22050 Hz - sampling rate
выбираем Q = 0.985;

p1 = 2*Q*cos(2*pi*fres/fs) = 2*0.985*cos(2*pi*1206/22050) = 1.8548
p2 = -Q^2 = -(0.985)^2 = -0.9072;

Получаем фильтр:
H(z) = 1/(1-1.8548*z^-1+0.9072*z^-2)

Если вы прогоните данный IIR в матлабе на получение frequency response (freqz, например) - получим острый полосовой фильтр с усилением 40 дБ в центре (я его потом срезаю соотв. коеффициентом в числителе функции).

Т.е. такой подход дает сразу коеффициенты IIRа второго порядка.
Вот и интересует теоретическа подоплека этих формул.



Боюсь Вас разочаровать, но ни какой особенной подоплеки в этих формулах нетsmile.gif. И особенной теории тожеsmile.gif. Точнее, теория есть, но это базовая теория.

А формулы эти Вы можете и сами легко получить, если запишете передаточную ф-ю фильтра 2-ого порядка с действительными коэффициентами в виде произведения простейших множителей 1-ого порядка:

H(z) = 1/[(1 - r*e^jw * z^-1)(1 - r*e^-jw * z^-1)] = 1/(1 - 2*r*cos(w)*z^-1 + r^2*z^-2)

Это уравнение обычного цифрового резонатора 2-ого порядка с двумя комплексно-сопряженными полюсами. Угол w и радиус r (он же добротность Q) задают положение полюсов на комплексной плоскости. Чем ближе r к единице, тем более острым получается резонансный пик, но тем менее устойчивым становится фильтр, особенно это сказывается в случае вычислений с фиксированной точкой. В общем, я бы не стал использовать эти фильтры для построения банка фильтров, но это уже Вам решатьsmile.gif)).
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 14:53
Рейтинг@Mail.ru


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