Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

アナログの IIR ローパス フィルターの比較

カットオフ周波数 2 GHz をもつ 5 次のアナログ バタワース ローパス フィルターを設計します。2π 倍にして周波数を秒あたりのラジアン単位に変換します。4096 点でのフィルターの周波数応答を計算します。

n = 5;
fc = 2e9;

[zb,pb,kb] = butter(n,2*pi*fc,"s");
[bb,ab] = zp2tf(zb,pb,kb);
[hb,wb] = freqs(bb,ab,4096);

同じエッジ周波数と通過帯域リップル 3 dB をもつ 5 次のチェビシェフ I 型フィルターを設計します。その周波数応答を計算します。

[z1,p1,k1] = cheby1(n,3,2*pi*fc,"s");
[b1,a1] = zp2tf(z1,p1,k1);
[h1,w1] = freqs(b1,a1,4096);

同じエッジ周波数と阻止帯域の減衰量 30 dB をもつ 5 次のチェビシェフ II 型フィルターを設計します。その周波数応答を計算します。

[z2,p2,k2] = cheby2(n,30,2*pi*fc,"s");
[b2,a2] = zp2tf(z2,p2,k2);
[h2,w2] = freqs(b2,a2,4096);

同じエッジ周波数、通過帯域リップル 3 dB および阻止帯域の減衰量 30 dB をもつ 5 次の楕円フィルターを設計します。その周波数応答を計算します。

[ze,pe,ke] = ellip(n,3,30,2*pi*fc,"s");
[be,ae] = zp2tf(ze,pe,ke);
[he,we] = freqs(be,ae,4096);

同じエッジ周波数をもつ 5 次のベッセル フィルターを設計します。その周波数応答を計算します。

[zf,pf,kf] = besself(n,2*pi*fc);
[bf,af] = zp2tf(zf,pf,kf);
[hf,wf] = freqs(bf,af,4096);

減衰をデシベルでプロットします。周波数をギガヘルツで表します。フィルターを比較します。

plot([wb w1 w2 we wf]/(2e9*pi), ...
    mag2db(abs([hb h1 h2 he hf])))
axis([0 5 -45 5])
grid
xlabel("Frequency (GHz)")
ylabel("Attenuation (dB)")
legend(["butter" "cheby1" "cheby2" "ellip" "besself"])

Figure contains an axes object. The axes object with xlabel Frequency (GHz), ylabel Attenuation (dB) contains 5 objects of type line. These objects represent butter, cheby1, cheby2, ellip, besself.

バタワース フィルターおよびチェビシェフ II 型フィルターには平坦な通過帯域と広い遷移帯域幅があります。チェビシェフ I 型フィルターおよび楕円フィルターは速くロールオフしますが、通過帯域リップルがあります。チェビシェフ II 型設計関数に対する周波数入力は、通過帯域の末尾ではなく阻止帯域の始点を設定します。ベッセル フィルターは、通過帯域に沿って定数近似群遅延をもちます。

参考

| | | | |