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