Signal Processing Toolbox | ![]() ![]() |
表示
[b,a]=
cheby1(n,Rp,Wn) [b,a]=
cheby1(n,Rp,Wn,'ftype
') [b,a]=
cheby1(n,Rp,Wn,'s') [b,a]=
cheby1(n,Rp,Wn,'ftype
','s') [z,p,k]=
cheby1(...) [A,B,C,D]=
cheby1(...)
詳細
cheby1
は、ディジタルおよびアナログのローパス、バンドパス、ハイパス、およびバンドストップchebyshev I型フィルタを設計します。Chebyshev I型フィルタは、通過帯域では等リップルで、遮断帯域では単調です。I型フィルタは、II型フィルタより速くロールオフしますが、そのため、通過帯域において、単位ゲインからの偏りが大きくなるという欠点があります。
ディジタル領域
[b,a] = cheby1(n,Rp,Wn)
は、カットオフ周波数Wn
と通過帯域にRp dB
のリップルをもつn
次のローパスディジタルChebyshevフィルタを設計します。これは、フィルタ係数を、長さ(n+1)
の行ベクトルb
およびa
に、zの次数の降順に出力します。
カットオフ周波数は、フィルタのゲイン応答が-Rp
dBとなる周波数です。cheby1
では、カットオフ周波数Wn
は、0と1の間の数です。ここで、1はNyquist周波数でラジアン/サンプルに対応しています。通過帯域リップルの値
Rp
を小さくすると、遷移幅が広くなります(ロールオフ特性が浅くなります)。
Wn
が2要素ベクトルWn
= [w1 w2]
の場合、cheby1
は通過帯域w1<
<w2
をもつ2*n
次のバンドパスフィルタを出力します。
[b,a] = cheby1(n,Rp,Wn,
は、ハイパスフィルタまたはバンドストップフィルタを設計します。ここで、'ftype
')
'ftype'
には、つぎの文字列を設定できます。
'
high'
:カットオフ周波数Wn
をもつハイパスディジタルフィルタ'stop'
:Wn
が2要素ベクトルWn = [w1 w2]
の場合、2*n
遮断帯域は、w1
< <
w2
となります。
設定する出力引数の数により、cheby1
は種々の形式のフィルタを実現します。零点-極-ゲイン型を得るには、つぎのように3つの出力引数を使用します。
[z,p,k] = cheby1(n,Rp,Wn)
または、
[z,p,k] = cheby1(n,Rp,Wn,'
は、零点と極を長さftype
')
n
の列ベクトルz
とp
に、またゲインをスカラk
にそれぞれ出力します。
状態空間型を得るには、つぎのように4つの出力引数を使用します。
[A,B,C,D] = cheby1(n,Rp,Wn)
または、
[A,B,C,D] = cheby1(n,Rp,Wn,'
ここで、ftype
')
A
、B
、C
、および D
は、
アナログ領域
は、カットオフ周波数[b,a]
= cheby1(n,Rp,Wn,'
s')
Wn
をもつn
次のローパスアナログChebyshev I型フィルタを設計します。これは、フィルタ係数を、長さ(n+1)
の行ベクトルb
およびa
に、sの次数の降順に出力します。
カットオフ周波数は、フィルタのゲイン応答が -Rp
dBとなる周波数です。cheby1
のカットオフ周波数Wn
は、0より大きくなければなりません。
Wn
がw1
< w2
である2要素ベクトルWn
= [w1 w2]
の場合には、cheby1(n,Rp,Wn,'
s')
は、通過帯域w1
< <
w2
をもつ2*n
次のバンドパスアナログフィルタを出力します。
[b,a] = cheby1(n,Rp,Wn,'
は、ハイパスフィルタまたはバンドストップフィルタを設計します。ftype
','s')
設定する出力引数の数により、cheby1は種々の形式のアナログフィルタを実現します。零点-極-ゲイン型を得るには、つぎのように3つの出力引数を使用します。
[z,p,k] = cheby1(n,Rp,Wn,'s')
または、[z,p,k] = cheby1(n,Rp,Wn,'ftype','
s')
は、零点と極を長さ n
または、 2*n
の列ベクトル z
と p
に、またゲインをスカラ k
にそれぞれ出力します。
状態空間型を得るには、つぎのように4つの出力引数を使用します。
[A,B,C,D] = cheby1(n,Rp,Wn,'s')
または、
[A,B,C,D] = cheby1(n,Rp,Wn,'
ここで、ftype
','s')
A
、B
、C
、および D
は、
例題
サンプリング周波数1000 Hzのデータに対して、通過帯域に0.5 dB以下のリップルをもち、300 Hzのカットオフ周波数をもつ9次のローパスChebyshev I型フィルタを設計します。
[b,a] =
cheby1(9,0.5,300/500);
freqz(b,a,512,1000)
つぎに、100〜200 Hzの通過帯域をもつ10次のバンドパスChebyshev I型フィルタを設計し、そのインパルス応答をプロットします。
n=
10; Rp=
0.5; Wn=
[100 200]/500; [b,a]=
cheby1(n,Rp,Wn); [y,t]=
impz(b,a,101); stem(t,y)
制限
高次フィルタでは、状態空間型が数値的に最も正確であり、ついで零点-極-ゲイン型が正確です。伝達関数係数型は最も精度が劣り、15次程度のフィルタ次数でも数値的な問題が生じる可能性があります。
アルゴリズム
cheby1
は、つぎの5つのステップのアルゴリズムを使用します。
cheb1ap
を使って、ローパスアナログプロトタイプの極、零点、およびゲインを求めます。
cheby1
は、bilinear
を使って、プリワーピング周波数をもつ双1次変換によりアナログフィルタをディジタルフィルタに変換します。周波数を慎重に調整することにより、アナログフィルタとディジタルフィルタが、Wn
あるいはw1
とw2
で同一の周波数応答をもつことが保証されます。
参考
|
Besselアナログフィルタの設計 |
|
Butterworthアナログおよびディジタルフィルタの設計 |
|
Chebyshev I型アナログローパスフィルタのプロトタイプ |
|
Chebyshev I型フィルタの次数選択 |
|
Chebyshev II型フィルタの設計(遮断帯域リップル) |
|
楕円フィルタの設計 |
![]() | chebwin | cheby2 | ![]() |