IIRフィルタと同じ特性を持つFIRフィルタを設計するにはどうすればよいですか?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
MathWorks Support Team
le 25 Oct 2013
Réponse apportée : MathWorks Support Team
le 25 Oct 2013
既に作成済みのIIRフィルタと近い特性を持つFIRフィルタを設計する方法を教えてください。
Réponse acceptée
MathWorks Support Team
le 25 Oct 2013
下記のいずれかの方法で実現できます。
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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur デジタル フィルターの設計 dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!