STM8S-Discovery (12)

前回の PCM1716E の通過帯域のゲインの話で、チップ内部に作りこまれた (バイパスできない) カットオフ周波数 100 kHz 程度のアナログ 1 次フィルタの存在を忘れていました。
信号周波数 10 kHz でのゲイン低下を計算すると 0.04 dB 程度になります。 アパーチャ効果の寄与と合計すると 0.1 dB 程度になり、観測結果とほぼ一致します。
BU9480F (ROHM) は、内部に本格的なディジタル・フィルタによる補間回路を持たない「ノン・オーバーサンプリング」に分類される DAC ですが、DAC 出力自体はサンプリング周波数 fS の2倍の周波数 2 fS で更新されます。
サンプリング周期を T とすると、入力データ・サンプル値がそのまま出力されるのは、T/2 の期間だけで、残りの T/2 は隣のサンプル値との相加平均の値が出力されます。
「オーバーサンプリング DAC」であれば、この「補間値」の計算のために (複雑な) ディジタル・フィルタを使うので回路動作のために高い周波数の「システム・クロック」が必要になるのですが、BU9480F では単純な相加平均で代用するため、システム・クロックを必要としません。
その代わりに、通過帯域内のゲインが高域で減少してしまします。
BU9480F のインパルス応答を連続時間で表現したグラフを下に示します。

赤い線が BU9480F のインパルス応答です。 簡単のため、t = 0 を中心にして左右対称な、「未来の値」を含む形にしています。
式で表せば、
\qquad h(t) = \begin{cases}0.0 \qquad\qquad (t\; <\, -3T/4) \\ 0.5 \qquad\qquad (-3T/4\; <\, t\; <\, -T/4) \\ 1.0 \qquad\qquad (-T/4\; <\; t\; <\; T/4) \\ 0.5 \qquad\qquad (T/4\; <\; t\; <\; 3T/4) \\ 0.0 \qquad\qquad (3T/4\; <\; t)\end{cases}
という「階段波形」になります。
上の図で青の線で示してあるのは、各サンプル値を連続的に「線形補間」する場合のインパルス応答で、BU9480F の特性は、この連続値を T/2 間隔でサンプル・ホールドしたものに相当します。
この「階段波形」のインパルス応答に対応する周波数特性ですが、「階段波形」を

  • 高さ 0.5 幅 3T/2
  • 高さ 0.5 幅 T/2

のふたつの (単一) 矩形パルスに分解すれば、それぞれの (単一) 矩形パルスの周波数応答を求めてから和をとれば良いことが分かります。
(単一) 矩形パルスのフーリエ変換は、いわゆる sinc 関数となりますから、(正規化) sinc 関数を
\qquad\qquad {\rm sinc}(x) \, = \, \frac{\large\sin(\pi x)}{\large \pi x}
で定義すれば、BU9480F の出力周波数特性は、
\qquad\qquad H(f)\, =\; \frac{1}{4}\cdot\, {\rm sinc}\left( \frac{f}{2 f_{\rm S}} \right) \;+\; \frac{3}{4}\cdot\, {\rm sinc}\left( \frac{3 f}{2 f_{\rm S}} \right)
になります。 ここで、直流でのゲインが「1」になるように係数を調整してあります。
この特性をリニアスケールでグラフで表すと、下の図の赤い線のようになります。

青い線は参考に示した、単純な 0 次ホールド、つまり、普通の (fs のレートで DAC 出力が更新される) 「ノン・オーバーサンプリング DAC」の特性です。
どちらも、サンプリング周波数 fS の整数倍の周波数でゲインがゼロになります。
次の図は、ゲインを dB 単位で表したものです。

BU9480F のゲインは、0 次ホールドの特性と比べて、必ず同じか下回っており、大きくなることはありません。
ナイキスト周波数 0.5 fS でのゲインを計算して比べると、

  • 0 次ホールド: -3.92 dB
  • BU9480F : -6.93 dB

となり、通過帯域での減衰が大きくなっていることが分かります。
実際に TSP 法で BU9480F の特性を測定した結果を次に示します。

DAC のサンプリング周波数である 24 kHz に鋭いピークがあるのは、信号成分ではなく、BU9480F のアナログ出力に fS 周期の「グリッチ」が乗っている、つまり、サンプリング周波数漏れのためです。
fS から 2 fS までの「サイドローブ」のピーク位置とレベルを見ると、確かに 0 次ホールドの特性よりも、理論的に求めた BU9480F の特性の方に近いことが分かります。
通過帯域内のゲインを詳しく見たグラフを下に示します。

ナイキスト周波数 12 kHz でのゲインが約 -7 dB と、理論値と良く一致しています。