DAC 用 ディジタル・フィルタの特性測定 (1)

単体の (単純な) DAC と組み合わせてオーバーサンプリング DAC を構成するための、単体のディジタル・フィルタ IC の特性を測定してみました。
対象は YAMAHA の YM3434 で、昔の AV 機器 (MUSE-NTSC コンバータ) から外してきたものです。
昔、秋月で YM3434 と PCM58 のセットを購入した覚えがあるのですが、こちらの方は現在行方不明です。
YM3434 は 8 倍または 4 倍のオーバーサンプリング・ディジタル・フィルタで、特性としては高級な方に属しており、理論値で

  • 通過域内リプル ±0.0001 dB 以内
  • 阻止域レベル -100 dB 以下

となっています。
周波数特性の測定方法としては、単純にフィルタ入力にインパルス (列) を加え、フィルタ出力からインパルス応答をキャプチャして FFT を施し求めることにしました。
YM3434 は、PCM56、PCM58、AD1860 といった世代の「データ」、「クロック」、「ラッチ」の 3 本の信号でインターフェースする DAC と組み合わせて使用するようになっています。
8 倍オーバーサンプリング・モードでは、前記のようなモノラル DAC を 2 個使用します。
フィルタ入力は、いわゆる「標準フォーマット」になっているので、マイコンの内蔵 I2S モジュールを使用して接続できますが、フィルタ出力側からは WS (Word Select) / LRCK (LR ClocK) は出力されていないので、外部回路なしでは I2S モジュールを使っての出力データ・キャプチャはできません。
また、YM3434 では、出力側のビットクロックが 16 ビット出力モードの場合には 17 パルス、18 ビット出力モードの場合には 19 パルス出力されるという変則的な仕様になっています。
そういうわけで、フィルタ出力データはサンプル・ワードの境界を気にせず SPI モジュールを使用してで単なるビット・ストリームとしてキャプチャし、PC に取り込んだ後にプログラムでデータ境界を整列することにしました。
また、「測定回路」を製作せず、ブレッドボード上の「配線」だけで済ますために、このところ使用している PSoC5LP Prototyping Kit ではなく、久しぶりに Nucleo F401RE に「ブレッドボード・シールド」を組み合わせて使用しました。
ブロック・ダイアグラムを下に示します。

フィルタへの出力は I2S3 モジュール、フィルタ出力のキャプチャには SPI1 モジュールを使用しています。
PC との接続は ST-Link/V2-1 の USB シリアル機能を利用しており、USART2 モジュールを経由して、テキスト・データとして PC 上のターミナル・ソフトでキャプチャします。
データの入出力には DMA を利用しており、フィルタ入力に対しては「サーキュラー・モード」で繰り返しインパルス列を出力しています。
インパルス応答の「すそ」が重ならないように、余裕を見て、1024 サンプルごとにインパルスを発生させています。
フィルタ出力のキャプチャにも DMA を利用しており、SRAAM 上の DMA バッファに 2 周期分 (2048 サンプル分) 以上のデータを取り込んだ後に、テキスト・データとして PC に送信しています。
PC 上でデータ・ワード境界を整列して得たインパルス応答を下に示します。

インパルス応答のピークを 1.0 として正規化してあります。
出力がゼロ以外の数値となる範囲をタップ長と見なすと、8 fs のサンプル単位で 879 タップでした。
FFT をかけて求めた、全体の周波数応答を下に示します。 元のサンプリング周波数 fs を 1 とする正規化周波数で表示してあります。

データシートにある「理論値」のグラフでは、阻止域のゲインのピークが 1.5 fs 付近で-100 dB 程度になっていますが、測定結果では全体的に -100 dB より悪化しており、-90 dB の程度となっています。
「理論値」というのがフィルタ係数を量子化せず十分な精度を持った状態での結果と仮定すると、この悪化はフィルタ係数の量子化によるものと考えられます。
通過域の周波数特性を下に示します。

「理論値」ではリプルは ± 0.0001 dB 以下となっていますが、測定結果では ± 0.0003 dB 程度となっています。
別の昔の MUSE-NTSC コンバータから外した「普及型」のディジタル・フィルタ IC、パイオニア PD00601 (阻止域減衰量 53 dB、通過域リプル ±0.05 dB、フィルタ係数 13 ビット量子化、SOP 16 ピン) も持っているので、こちらの方もそのうち測定してみたいと思っています。