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) | ![]() | ![]() |