Signal Processing Toolbox    
cheby1

Chebyshev I型フィルタの設計(通過帯域リップル)

表示

詳細

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' には、つぎの文字列を設定できます。

設定する出力引数の数により、cheby1は種々の形式のフィルタを実現します。零点-極-ゲイン型を得るには、つぎのように3つの出力引数を使用します。

[z,p,k] = cheby1(n,Rp,Wn) または、

[z,p,k] = cheby1(n,Rp,Wn,'ftype') は、零点と極を長さnの列ベクトルzpに、またゲインをスカラkにそれぞれ出力します。

状態空間型を得るには、つぎのように4つの出力引数を使用します。

[A,B,C,D] = cheby1(n,Rp,Wn) または、

[A,B,C,D] = cheby1(n,Rp,Wn,'ftype') ここで、ABC、および D は、

であり、u は入力、x は状態ベクトル、y は出力です。

アナログ領域

[b,a] = cheby1(n,Rp,Wn,'s') は、カットオフ周波数Wnをもつn次のローパスアナログChebyshev I型フィルタを設計します。これは、フィルタ係数を、長さ(n+1)の行ベクトルbおよびaに、sの次数の降順に出力します。

カットオフ周波数は、フィルタのゲイン応答が -Rp dBとなる周波数です。cheby1のカットオフ周波数Wnは、0より大きくなければなりません。

Wnw1 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') ここで、ABC、および D は、

であり、uは入力、 xは状態ベクトル、yは出力です。

例題

サンプリング周波数1000 Hzのデータに対して、通過帯域に0.5 dB以下のリップルをもち、300 Hzのカットオフ周波数をもつ9次のローパスChebyshev I型フィルタを設計します。

フィルタの周波数応答は、つぎのようになります。

つぎに、100〜200 Hzの通過帯域をもつ10次のバンドパスChebyshev I型フィルタを設計し、そのインパルス応答をプロットします。

制限

高次フィルタでは、状態空間型が数値的に最も正確であり、ついで零点-極-ゲイン型が正確です。伝達関数係数型は最も精度が劣り、15次程度のフィルタ次数でも数値的な問題が生じる可能性があります。

アルゴリズム

cheby1は、つぎの5つのステップのアルゴリズムを使用します。

  1. 関数cheb1apを使って、ローパスアナログプロトタイプの極、零点、およびゲインを求めます。
  2. 極、零点、およびゲインを状態空間型に変換します。
  3. 状態空間変換を使って、ローパスフィルタを希望するカットオフ周波数をもつバンドパス、ハイパス、またはバンドストップフィルタに変換します。
  4. ディジタルフィルタ設計の場合には、cheby1は、bilinearを使って、プリワーピング周波数をもつ双1次変換によりアナログフィルタをディジタルフィルタに変換します。周波数を慎重に調整することにより、アナログフィルタとディジタルフィルタが、Wnあるいはw1w2で同一の周波数応答をもつことが保証されます。
  5. 必要に応じて、状態空間フィルタを伝達関数または零点-極-ゲイン型に逆変換します。

参考
besself
Besselアナログフィルタの設計
butter
Butterworthアナログおよびディジタルフィルタの設計
cheb1ap
Chebyshev I型アナログローパスフィルタのプロトタイプ
cheb1ord
Chebyshev I型フィルタの次数選択
cheby2
Chebyshev II型フィルタの設計(遮断帯域リップル)
ellip
楕円フィルタの設計


 chebwin cheby2