prony

Метод Prony для проекта фильтра

Синтаксис

[Num,Den] = prony(impulse_resp,num_ord,denom_ord)

Описание

[Num,Den] = prony(impulse_resp,num_ord,denom_ord) возвращает числитель Num и знаменатель коэффициенты Den для причинной рациональной системной функции с импульсным ответом impulse_resp. Системная функция имеет порядок числителя, который num_ord и знаменатель заказывают denom_ord. Длинами Num и Den является num_ord+1 и denom_ord+1. Если длина impulse_resp является меньше, чем самый большой порядок (num_ord или denom_ord), impulse_resp дополнен нулями. Войдите 0 в num_ord для системной функции все-полюса. Для все-нулевой системной функции введите 0 для denom_ord.

Примеры

свернуть все

Соответствуйте 4-му порядку модель IIR к импульсному ответу фильтра lowpass. Постройте исходные и Prony-разработанные импульсные ответы.

d = designfilt('lowpassiir','NumeratorOrder',4,'DenominatorOrder',4, ...
    'HalfPowerFrequency',0.2,'DesignMethod','butter');

impulse_resp = filter(d,[1 zeros(1,31)]);
denom_order = 4;
num_order = 4;
[Num,Den] = prony(impulse_resp,num_order,denom_order);

subplot(2,1,1) 
stem(impz(Num,Den,length(impulse_resp)))
title 'Impulse Response with Prony Design'

subplot(2,1,2)
stem(impulse_resp)
title 'Input Impulse Response'

Соответствуйте 10-му порядку модель FIR к импульсному ответу фильтра highpass. Постройте исходные и Prony-разработанные частотные характеристики.

d = designfilt('highpassfir', 'FilterOrder', 10, 'CutoffFrequency', .8);

impulse_resp = filter(d,[1 zeros(1,31)]);
num_order = 10;
denom_order = 0;
[Num,Den] = prony(impulse_resp,num_order,denom_order);

fvt = fvtool(Num,Den,d);
legend(fvt,'Prony','Original')

Больше о

свернуть все

Системная функция

system function является z-преобразованием импульсного ответа h [n]:

H(z)=n=h[n]zn

rational system function является отношением полиномов в z –1. Условно полиномом числителя является B (z), и знаменателем является A (z). Следующее уравнение описывает причинную рациональную системную функцию порядка числителя, который q и знаменатель заказывают p:

H(z)=k=0qb[k]zk1+l=1pa[l]zl

где a [0] = 1.

Ссылки

Парки, Томас В. и К. Сидни Беррус. Создание цифровых фильтров. Нью-Йорк: John Wiley & Sons, 1987, стр 226–228.

Представлено до R2006a