自作DAC Version2の検討

icon 項目のみ表示/展開表示の切り替え

概要

自作アンプがとりあえず4出力化されバイアンプ駆動により、音質がアップした。高音がきれいに出るようになった。
現在、なぜかこの部屋にはCDプレーヤーが無く、パソコンのディジタル出力に自作DACを接続している。パソコンの音源はAD1985ですべての信号は48kHzに変換されて出力される。さらに妙なことにAD1985のデジタル出力とDACを接続し、DACの出力のレベルを測定してみると低域でレベルが下がっている。このシステムはアナログ部は直結なので、首を傾げてしまった。ふとジャンク箱をあさっていたら秋月のDACキットを組み立てたものが出てきたので、同様に測定したところ同じことが起こる。どうやらマザーボードのチップのせいのような気がしてきた。アコースティック環境の設定とかをいじると出力される波形が違ってくる。だが、低域のレベルが下がっていることには変わりがない。
違うサウンドカード又はCDプレーヤーで測定する必要がありそうだ。ということで、エゴシステムズのPRODIGY192VEを購入した。デジタル出力のサンプルレートを変えることができるのが特徴だ。ただし、リアパネル以外に従来のカードにあったアナログ系の入力端子がない。CDとかはデジタルでつなげということらしい。夜に接続して試したところ、低域のレベル差もなく、きれいな正弦波が見られた。マザーオードのサウンドチップの特性はいまいち理解できない。別の機会にいろいろな設定をためそう。普通に考えればわざと低域を下げているとしか思えない。
音質はジッタの影響を受けるそうである。今後CDプレーヤを導入しDAC側に高精度クロックを積みCDプレーヤに供給すること。
デジタル出力機器とDACのクロックの周波数が合っていないと(別々にクロックをもつ)、その周波数の差によりいずれ取りこぼしが出る。1クロック分遅れたり進んだりすることがある。FIFOをつめば取りこぼしする時間の間隔を伸ばすことができる。究極的には、デジタル出力機器の全曲分のデーターをすべてFIFOに入れてしまえば、DAC側の高精度のクロックで再生できる。しかもサーボ等のノイズの影響を受けずに。限りなくシリコンプレーヤに近くなるが。ちなみに50倍速のCD-ROMドライブがあるが、2分もあれあば、単純計算でCDの全データーをFIFOに読み込むことができる計算である。要は高音質なメモリプレーヤが市販されていれば良いのであるが。インターネットで調べていたら、ハードディスクにいったん読み出して再生するシステムが見つかった。(IKEON PCM-S1)
 一番、簡単なのは、DAC側に高精度クロックを搭載し、デジタル機器に供給してやる。伝送系の波形の立ち上がりや遅延で発生するジッタは、高精度クロックによってリクロックすれば完璧のはずである。デジタル出力機器側で改造可能な機種は、クロックの同期を取ることにする。
 一方、簡単に改造できなさそうな音源チップの場合、簡単にクロックをデジタル出力機器に供給できないので、DAC側の高精度クロックでリクロックするといずれ、タイミングがクロック以上ずれることがありうる。
block1.svg

タイミング

CS8412

 出力フォーマットは、右詰16bitとする。

 M2=1 M1=0 M0=1

SM5843

 LR交互 後詰 16bit

 INFIN=L IWN1=H IW2N=H

FIFO入力

fifo1.svg

fifo2.svg

下図は74ACシリーズで算定、実際には一部のICがHCでしか手に入らなかったので、タイミングが異なってくる。 

 t1.svg

 t2.svg

 t3.svg

 t4.svg

FIFO回路

 fifoc.svg

フィルター

サンプリング周波数44.1kHzで正弦波4.41kHzをサンプルした場合の波形を下記に示す。

サンプリング周波数*整数倍±信号の雑音が生じるのでローパスフィルタを必要とする。

信号が560mVpでサンプリング周波数の2倍の成分の±信号の成分が約50mVpあるので問題である。

これを、DACの最小分解能以下にするには2^15=32768以下(17μV)、2926分の1に減衰させなければならない。

21.05kHzをカットオフ周波数のLPFを用いるとlog(2926)/log(2)=12次のローパスフィルタを用いる必要がある。

12次のアナログフィルタは下図のような特性となる。とても使いたくないフィルタである。

20kHzを44.1kHzでサンプリングした場合(下図)、2.05kHz(44.1kHz/2-20kHz)の低域成分が発生してしまっている。アパーチャ効果が生じている。

下図は46kHzを44.1kHzでサンプルした場合の周波数特性である。46kHz成分も残っていることがわかる。

あらかじめ信号の周波数がわかっている場合は、フィルタで抽出可能である。

オーバーサンプリング

これらの雑音等から逃れるにはサンプル周波数を上げて信号と雑音の周波数の間隔を広げてLPFで雑音を除去する。

8倍サンプリングの場合、基本的には、元のサンプリングされたデータ1個に対して7個の0データーを挿入して、デジタルLPFを通せば完了である。

では、デジタルLPFを通す前のデータを直接DACに入れて、アナログフィルタを使えば同じと思うかもしれないが、そうでないところが味噌である。たとえばSM5843を見習って適当にデジタルフィルタを設計した。

FIR型デジタルフィルタ

SM5843は、2倍オーバーサンプリングを3回行って8倍オーバーサンプリングを実現している。

フィルタ特性は2通り選べ、緩やかな方は、25次,29次,17次のフィルタを使用している。

デジタルフィルタは周波数によらず遅延を一定にすることができるメリットがある。