Signal Processing Toolbox | ![]() ![]() |
ウィンドウベースの有限インパルス応答フィルタの設計 − 任意応答
表示
b=
fir2(n,f,m) b=
fir2(n,f,m,window) b=
fir2(n,f,m,npt) b=
fir2(n,f,m,npt,window) b=
fir2(n,f,m,npt,lap) b=
fir2(n,f,m,npt,lap,window)
詳細
fir2
は、任意の形状の周波数応答をもつ周波数サンプリングベースのディジタルFIRフィルタを設計します。
b
は、 =
fir2(n,f,m)
n
次のFIRフィルタの( n+1
)個の係数を含んだ行ベクトル b
を出力します。このフィルタの周波数-ゲイン特性は、ベクトル f
および m
によって与えられる特性と一致します。
f
は、0〜1の範囲の周波数点を表すベクトルで、1はサンプリング周波数の1/2(Nyquist周波数)です。f
の最初の点は0、最後の点は1でなければなりません。周波数点は、昇順でなければなりません。 m
は、f
に設定した点での希望のゲイン応答を含んだベクトルです。f
と m
は、同じ長さでなければなりません。フィルタの形状を表示するには、plot(f,m)
を使用します。
b
は、列ベクトル =
fir2(n,f,m,window)
window
で設定されたウィンドウをフィルタ設計に使用します。ベクトルwindow
は、(n+1
)の要素長でなければなりません。ウィンドウが設定されていなければ、fir2
は、長さn+1
のHammingウィンドウ(hamming
を参照)を使用します。
b
、または、 =
fir2(n,f,m,npt)
b = fir2(n,f,m,npt,window)
は、window
の設定の有無に関係なく、fir2
が周波数応答を補間するグリッドの点数npt
を設定します。
b
は、 =
fir2(n,f,m,npt,lap,window)
window
の設定の有無に関係なく、fir2
が、設定する周波数点が重なる部分で、遷移帯をスムーズにするために使用する領域のサイズlap
を設定します。
npt
とlap
の詳細については、"アルゴリズム"の節を参照してください。
アルゴリズム
希望の周波数応答は、長さnpt
の緻密かつ等間隔のグリッド上に補間されます。デフォルトでは、npt
は512です。f
で設定する点が同じ値の場合、lap
点の領域は、必要な周波数応答のスムーズな遷移帯を得るために、この周波数のまわりに設定されます。デフォルトでは、lap
は25です。フィルタ係数は、グリッドに逆高速フーリエ変換を適用し、ウィンドウを乗算することにより得られます。デフォルトでは、これはHammingウィンドウです。
例題
30次のローパスフィルタを設計し、希望の周波数応答と実際の周波数応答を重ねてプロットします。
f=
[0 0.6 0.6 1]; m=
[1 1 0 0]; b=
fir2(30,f,m); [h,w]=
freqz(b,1,128); plot(f,m,w/pi,abs(h)) legend('Ideal','fir2 Designed') title('Comparison of Frequency Response Magnitudes')
参考
|
Butterworthアナログおよびディジタルフィルタの設計 |
|
Chebyshev I型フィルタの設計(通過帯域リップル) |
|
Chebyshev II型フィルタの設計(遮断帯域リップル) |
|
楕円フィルタの設計 |
|
ウィンドウベースの有限インパルス応答フィルタの設計 − 標準応答 |
|
汎用ディジタルButterworthフィルタの設計 |
|
Parks-McClellan最適FIRフィルタの設計 |
|
巡回型ディジタルフィルタの設計 |
![]() | fir1 | fircls | ![]() |