デジタルオーバーサンプリングフィルターによって導入される遅延の増加を許可することにより、フィルターの他の特性である通過帯域と阻止帯域のリップルと遷移帯域幅を改善して、任意にゼロに近づけることができます。オーバーサンプリング係数を増加して阻止帯域を拡大し、アナログフィルタリングの要件を緩和することができます。その結果、計算が複雑になりますが、フィルターによって導入される遅延時間は大幅に増加しません。
オーディオDACには通常、低遅延(レイテンシ)フィルターと鋭い周波数応答のロールオフフィルターの間で選択可能なデジタルオーバーサンプリングフィルターがあります。低遅延フィルターは、最小位相フィルター、または低分散(一部の周波数は他よりも遅延している)と低実効遅延の間の音響心理学的に調整された妥協であるかもしれません。シャープなロールオフフィルターは通常、対称的なインパルス応答と、通過帯域と阻止帯域に指定された最大リップルを備えた線形位相フィルターです。この種の仕様は、データシートで簡単に表現でき、システム設計に組み込むことができます。同等の等リップル線形位相フィルターをOctaveで設計できますremez
。ここでは、通過帯域と阻止帯域リップルの重みが等しくなっています。
pkg load signal
x2x = []; x4x = [];
for n = [16:86]
b2x = remez(2*n, [0, 20/44.1, (44.1-20)/44.1, 1], [1, 1, 0, 0], [1, 1], "bandpass", 128);
b4x = remez(2*n, [0, 20/(44.1*2), (44.1-20)/(44.1*2), 1], [1, 1, 0, 0], [1, 1], "bandpass", 128);
[h2x, w2x] = freqz(b2x); [h4x, w4x] = freqz(b4x);
x2x = [x2x; (length(b2x)-1)/2/2, 20*log10(abs(h2x(end)))];
x4x = [x4x; (length(b4x)-1)/2/4, 20*log10(abs(h4x(end)))];
endfor
plot(x2x(:,1), x2x(:,2), "x", x4x(:,1), x4x(:,2), "x", 29.2, -100, "x", 39.5, -110, "x", 43.3828125, -110, "x")
xlabel("group delay / f_s");
ylabel("stop band ripple (dB)");
text(29.2-2, -100-4, "AK4499");
text(39.5-2, -110+4, "CS43198");
text(43.3828125-2, -110-4, "AD1955");
grid on
このスクリプトはremez
、0〜20 kHzの通過帯域と24.1 kHzから始まる阻止帯域のさまざまな次数フィルター(数値の問題なしで処理できるものによって制限されます)を設計し、2倍と4倍のオーバーサンプリングサンプリング周波数の小さな選択で動作します。 44.1 kHzのサンプリング周波数とプロット(図1)は、旭化成(AK4499)、アナログデバイス(AD1955)、およびCirrus Logic(CS43198)のフラグシップオーディオDACの同等のオーバーサンプリングデジタルフィルターのストップバンドリップル特性と共に示します。
図1. 2x(青)と4x(オレンジ)のオーバーサンプリングのremez
阻止帯域と通過帯域のリップル-通過帯域と阻止帯域の重みが等しい、設計された線形位相ローパスデジタルフィルター。 14.1サンプリング周波数の44.1 kHzでのサンプリング周期。また、対応する通過帯域リップルがAK4499の8倍オーバーサンプリングデジタルフィルターで5×10 ^ -3 dB、デジタルとCS43198のアナログフィルター、およびAD1955の8倍オーバーサンプリングデジタルフィルターの場合は2×10 ^ -4 dB。ここで比較されるすべてのフィルターには、同じ遷移帯域境界があります:20 kHzから24.1 kHz。
44.1 kHzサンプリング周波数の場合、図1は、通過帯域リップルと阻止帯域リップルが等しく重み付けされている場合に、フィルターによって導入される遅延の関数として、線形位相オーバーサンプリングデジタルフィルターのパフォーマンスの下限を示します。この限界は、オーバーサンプリング比に大きく依存しません。DAC製造元は、AK4499の場合のように、通過帯域リップルを増やすことで、たとえば阻止帯域リップルを低くするために、異なる重み付けを選択できます。また、厳密な等リップル以外の基準でフィルターを最適化する場合もあります。たとえば、フィルタには、アナログ回路(ゼロ次ホールド、RCフィルタなど)による高周波の減衰の補償が含まれる場合があり、フィルタの遅延特性は、計算効率の高いマルチレートの実装を使用すると影響を受ける場合があります。
図1のremez(2*86, [0, 20/44.1, (44.1-20)/44.1, 1], [1, 1, 0, 0], [1, 1], "bandpass", 128)
インパルス応答(図2)と周波数応答freqz
(図3)をプロットすることで、図1の最も高性能なフィルターを詳しく見ることができます。
図2.からの最高パフォーマンスの線形位相2xオーバーサンプリングフィルターのインパルス応答remez
。
図3.の最高性能の線形位相2xオーバーサンプリングフィルターの周波数応答remez
。
8xオーバーサンプリングフィルターを見る方が興味深いでしょうが、ではremez
失敗しerror: remez: insufficient extremals--cannot continue
ます。