Signal Processing Toolbox | ![]() ![]() |
表示
[n,Wn]=
cheb2ord(Wp,Ws,Rp,Rs) [n,Wn]=
cheb2ord(Wp,Ws,Rp,Rs,'s')
詳細
cheb2ord
は、フィルタ設計仕様を満足するディジタルまたはアナログ Chebyshev II型フィルタの最小次数を計算します。
ディジタル領域
[n,Wn] = cheb2ord(Wp,Ws,Rp,Rs)
は、通過帯域で Rp
dB 以下の減衰、遮断帯域で Rs
dB 以上の減衰をもつ Chebyshev II型フィルタの最小次数 n
を出力します。また、対応するカットオフ周波数ベクトル Wn
も出力します。これらの出力引数 n
と Wn
は、関数cheby2
で使用します。
つぎの表に従って、入力引数を選択して、遮断帯域と通過帯域を設定してください。
ユーザのフィルタ仕様に通過帯域でのリップルの許容変化量と遮断帯域でのリップルの許容変化量がお互いに等しくない場合、表の中の設定に従ってローパスフィルタとハイパスフィルタを別々に設計し、2つのフィルタをカスケードに結合します。
アナログ領域
[n,Wn] = cheb2ord(Wp,Ws,Rp,Rs,'s')
は、カットオフ周波数 Wn
を満足するアナログ Chebyshev I型フィルタの最小次数 n
を出力します。表 7-5 "遮断帯域と通過帯域のフィルタパラメータの記述"と同様に周波数 Wp
と Ws
を設定します。この場合、周波数はラジアン/秒でのみ、通過帯域または遮断帯域を無限大に設定することができます。
関数cheb2ord
を使って、表 7-4 "フィルタタイプによる遮断帯域と通過帯域の仕様設定"に記述されているローパス、ハイパス、バンドパス、バンドストップフィルタを設定します。
例題
データサンプル周波数 1000 Hzで、0から40 Hzでリップルの最大変量を3 dB 以内の通過帯域とし、150 HzからNyquist 周波数(500 Hz)で、最低でも60 dB 減衰するローパスフィルタを設計しましょう。
Wp=
40/500; Ws=
150/500; Rp=
3; Rs=
60; [n,Wn]=
cheb2ord(Wp,Ws,Rp,Rs) n = 4 Wn = 0.2597 [b,a]=
cheby2(n,Rs,Wn); freqz(b,a,512,1000); title('n=4 Chebyshev Type II Lowpass Filter')
つぎに、60 Hz から 200 Hz でリップルの最大変量を3 dB 以内の通過帯域とし、両側 50 Hz の遷移部をもち、遮断帯域では、40 dB 以上の減衰をもつバンドパスフィルタを設計しましょう。
Wp=
[60 200]/500; Ws=
[50 250]/500; Rp=
3; Rs=
40; [n,Wn]=
cheb2ord(Wp,Ws,Rp,Rs) n = 7 Wn = 0.1019 0.4516 [b,a]=
cheby2(n,Rs,Wn); freqz(b,a,512,1000) title('n=7 Chebyshev Type II Bandpass Filter')
アルゴリズム
cheb2ord
は、参考文献[1]に記述されているChebyshev ローパスフィルタの次数予測公式を使用します。この関数は、アナログとディジタルのいずれの場合も、アナログ領域で処理を行います。ディジタルの場合には、周波数パラメータをs領域に変換して、次数と固有周波数を推定し、その後でz領域に逆変換します。
cheb2ord
は、まず、希望するフィルタの通過帯域周波数を1ラジアン/秒(ローパスフィルタおよびハイパスフィルタの場合)、または、-1および1ラジアン/秒(バンドパスフィルタおよびバンドストップフィルタの場合)に変換することにより、ローパスフィルタのプロトタイプを作成します。そして、遮断帯域仕様を満たすローパスフィルタに必要な最小次数を計算します。
参考
|
Butterworthフィルタの次数選択 |
|
Chebyshev I型フィルタの次数選択 |
|
Chebyshev II型フィルタの設計(遮断帯域リップル) |
|
楕円フィルタの次数選択 |
|
KaiserウインドウをもつFIRフィルタ設計に対してのパラメータを推定 |
参考文献
[1] Rabiner, L.R., and B. Gold. Theory and Application of Digital Signal Processing. Englewood Cliffs, NJ: Prentice-Hall, 1975. Pg. 241.
![]() | cheb2ap | chebwin | ![]() |