iir デジタルフィルタ
[hz]=iir(n,ftype,fdesign,frq,delta)
正の整数値, フィルタの次数.
フィルタの型を指定する文字列, 以下の値を使用可能:
'lp' :ローパス(低域通過),'hp' : ハイパス(高域通過)
,'bp': バンドパス(帯域通過),
'sb' : ストップバンド(帯域阻止).
アナログフィルタ設計を指定する文字列, 以下の値を指定可能:
'butt',
'cheb1', 'cheb2' および
'ellip'
離散カットオフ周波数の要素数2のベクトル
(すなわち,0<frq<.5).
'lp' および
'hp' フィルタの場合,
frq(1) が使用されます.
'bp' および 'sb' フィルタの場合,
frq(1) が下限カットオフ周波数,
frq(2) が上限カットオフ周波数となります.
cheb1,
cheb2, および ellip フィルタ用
誤差値のベクトル(要素数:2)です.
ただし,cheb1の場合にはdelta(1)のみが
使用され,cheb2の場合にはdelta(2)のみが
使用されます.ellipの場合には,
delta(1) および delta(2)の両方が
使用されます.
0<delta(1),delta(2)<1
cheb1 フィルタの場合,通過域では,
1-delta(1)<ripple<1 です.
cheb2 フィルタの場合,阻止域では
0<ripple<delta(2) です.
ellip フィルタの場合,通過域では
1-delta(1)<ripple<1 ,阻止域では
0<ripple<delta(2) です.
a single input single output discrete transfer function, the low pass filter
vector of transformed filter poles.
vector of transformed filter zeros.
a scalar: transformed filter gain.
hz=iir(3,'bp','ellip',[.15 .25],[.08 .03]); [hzm,fr]=frmag(hz,256); plot2d(fr',hzm') xtitle('Discrete IIR filter: band pass 0.15 < fr < 0.25 ',' ',' '); q=poly(0,'q'); // 遅延演算子 q=z^-1 の項で結果を表わすため hzd=horner(hz,1/q) | ![]() | ![]() |