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

1 回表示 (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2013 年 10 月 25 日
回答済み: MathWorks Support Team 2013 年 10 月 25 日
既に作成済みのIIRフィルタと近い特性を持つFIRフィルタを設計する方法を教えてください。

採用された回答

MathWorks Support Team
MathWorks Support Team 2013 年 10 月 25 日
下記のいずれかの方法で実現できます。
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フィルタの次数になりますが、次数が少ない場合は近似が荒くなりますので、フィルタ特性を確認しながら次数を決めてください。

その他の回答 (0 件)

タグ

タグが未入力です。

製品


リリース

R2010a

Community Treasure Hunt

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

Start Hunting!