IIRフィルタと同じ​特性を持つFIRフィ​ルタを設計するにはど​うすればよいですか?

既に作成済みのIIRフィルタと近い特性を持つFIRフィルタを設計する方法を教えてください。

 Accepted Answer

MathWorks Support Team
MathWorks Support Team on 25 Oct 2013

0 votes

下記のいずれかの方法で実現できます。
1. FIRPM, FIRPMORDを利用する方法
例えば、IIRフィルタの特性が、カットオフ周波数1500Hz 、遮断帯域エッジ2000Hz、0.01 の通過帯域リップル、0.1 の遮断帯域リップル、8000Hz のサンプリング周波数をもつローパスフィルタである場合、以下のように設計できます。
[n,fo,mo,w] = firpmord( [1500 2000], [1 0], [0.01 0.1], 8000 );
b = firpm(n,fo,mo,w);
2. IIRフィルタにインパルス応答を与える方法
設計したIIRフィルタにインパルス応答を与えた結果が、そのままFIRフィルタの係数として利用できます。
[bi,ai] = butter(4,0.3);
bf = filter(bi,ai,[1,zeros(1,29)]);
フィルタの特性は、以下のコマンドで確認できます。
fvtool(bi,ai,bf,1)
インパルス応答の長さ(上記ではZEROSの長さ)がFIRフィルタの次数になりますが、次数が少ない場合は近似が荒くなりますので、フィルタ特性を確認しながら次数を決めてください。

More Answers (0)

Products

Release

R2010a

Tags

No tags entered yet.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!