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