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

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

 채택된 답변

MathWorks Support Team
MathWorks Support Team 2013년 10월 25일

0 개 추천

下記のいずれかの方法で実現できます。
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!