ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

ellipord

楕円フィルターの最低次数

構文

[n,Wp] = ellipord(Wp,Ws,Rp,Rs)
[n,Wp] = ellipord(Wp,Ws,Rp,Rs,'s')

説明

ellipord では、一連のフィルター設計仕様を満たすために必要な、デジタルまたはアナログ楕円フィルターの最小次数が計算されます。

デジタル領域

[n,Wp] = ellipord(Wp,Ws,Rp,Rs) では、通過帯域の減衰量が Rp dB 以下で、阻止帯域で少なくとも Rs dB の減衰量をもつ楕円フィルターの最小次数 n が返されます。また、対応するカットオフ周波数のスカラー (または、ベクトル) Wp も返されます。これらの出力引数 nWp は、関数 ellip で使用します。

次の表を参考にして、阻止帯域と通過帯域を指定する入力引数を選択します。

阻止帯域と通過帯域のフィルター パラメーターの説明

パラメーター

説明

Wp

通過帯域コーナー周波数 Wp はカットオフ周波数で、0 ~ 1 の値をもつスカラーまたは 2 要素ベクトルです。ここで、1 は正規化されたナイキスト周波数 π (ラジアン/サンプル) に対応します。

Ws

阻止帯域コーナー周波数 Ws はカットオフ周波数で、0 ~ 1 の値をもつスカラーまたは 2 要素ベクトルです。ここで、1 は正規化されたナイキスト周波数に対応します。

Rp

デシベルを単位とする通過帯域リップル。この値は、通過帯域で許容されるデシベル単位の最大減衰量です。

Rs

デシベルを単位とする阻止帯域の減衰量。この値は、通過帯域の応答に対し、阻止帯域で減衰するデシベル量です。

さまざまなタイプのフィルターを指定するには、次のガイドを参考にしてください。

フィルター タイプによる阻止帯域と通過帯域の仕様

フィルター タイプ

阻止帯域と通過帯域の条件

阻止帯域

通過帯域

ローパス

Wp < Ws、共にスカラー

(Ws,1)

(0,Wp)

ハイパス

Wp > Ws、共にスカラー

(0,Ws)

(Wp,1)

バンドパス

Ws で指定された区間は、Wp (Ws(1) < Wp(1) < Wp(2) < Ws(2)) で指定されたものを含みます。

(0,Ws(1)) および (Ws(2),1)

(Wp(1),Wp(2))

バンドストップ

Wp で指定された区間は、Ws (Wp(1) < Ws(1) < Ws(2) < Wp(2)) で指定されたものを含みます。

(0,Wp(1)) および (Wp(2),1)

(Ws(1),Ws(2))

フィルター仕様において、通過帯域/阻止帯域でのリップルが両側で等しくないバンドパス フィルター/バンドストップ フィルターが必要な場合は、この表の仕様に従ってローパス フィルターとハイパス フィルターを別々に設計し、2 つのフィルターをカスケードに結合します。

アナログ領域

[n,Wp] = ellipord(Wp,Ws,Rp,Rs,'s') は、アナログ フィルターの最小次数 n およびカットオフ周波数 Wp を求めます。周波数 WpWs を上の阻止帯域と通過帯域のフィルター パラメーターの説明の表と同様に設定します。周波数をラジアン/秒で設定し、通過帯域または阻止帯域を無限大に設定できるのは、この場合のみです。

上のフィルター タイプによる阻止帯域と通過帯域の仕様の表で説明したように、関数 ellipord をローパス、ハイパス、バンドパス、およびバンドストップのフィルターに使用します。

すべて折りたたむ

1,000 Hzのデータに対し、0 ~ 40 Hz で定義される通過帯域リップルが 3 dB 未満、150 Hz ~ナイキスト周波数 500 Hz で定義される阻止帯域リップルが少なくとも 60 dB のローパス フィルターを設計します。フィルターの次数とカットオフ周波数を求めます。

Wp = 40/500;
Ws = 150/500;
Rp = 3;
Rs = 60;
[n,Wp] = ellipord(Wp,Ws,Rp,Rs)
n = 4
Wp = 0.0800

2 次セクション型としてフィルターを指定し、周波数応答をプロットします。

[z,p,k] = ellip(n,Rp,Rs,Wp);
sos = zp2sos(z,p,k);
freqz(sos,512,1000)
title(sprintf('n = %d Elliptic Lowpass Filter',n))

次に、60 ~ 200 Hz の通過帯域をもち、リップルが最大限でも 3 dB で、阻止帯域の減衰量が少なくとも 40 dBのバンドパス フィルターを設計します。サンプルレートを 1 kHz に指定します。通過帯域の両側で阻止帯域の幅を 50 Hz にします。フィルターの次数とカットオフ周波数を求めます。

Wp = [60 200]/500;
Ws = [50 250]/500;
Rp = 3;
Rs = 40;

[n,Wp] = ellipord(Wp,Ws,Rp,Rs)
n = 5
Wp = 

    0.1200    0.4000

2 次セクション型としてフィルターを指定し、周波数応答をプロットします。

[z,p,k] = ellip(n,Rp,Rs,Wp);
sos = zp2sos(z,p,k);

freqz(sos,512,1000)
title(sprintf('n = %d Elliptic Bandpass Filter',n))

アルゴリズム

ellipord では、参考文献[1]に記載されている楕円ローパス フィルターの次数予測式が使用されます。この関数は、アナログとデジタルのいずれの場合もアナログ領域で処理を行います。デジタルの場合には、周波数パラメーターが s 領域に変換され、次数と固有周波数が推定され、その後 z 領域への逆変換が行われます。

ellipord では、まず希望するフィルターの通過帯域周波数を 1 rad/s (ローパス フィルターおよびハイパス フィルターの場合)、または、-1 および 1 rad/s (バンドパス フィルターおよびバンドストップ フィルターの場合) に変換することにより、ローパス フィルターのプロトタイプが作成されます。次に、阻止帯域仕様を満たすローパス フィルターに必要な最小次数が計算されます。

参考文献

[1] Rabiner, Lawrence R., and B. Gold. Theory and Application of Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1975.

拡張機能

R2006a より前に導入

この情報は役に立ちましたか?