すでに知っている人も多いと思うので情報としての価値は低いと思うが、オーディオメーカなどの宣伝文句をなんだかよく分からないと思いつつ良さげなことをやっているであろうオーディオ DAC の話である。たいした内容ではない。

デジタルオーディオ再生システムで欠かせないのが本題の主役オーディオ DAC である。ことの是非はさておき収録されたオーディオ信号をデジタルに変換して CD や配信でデジタルデータとして送るのが一般的な今日、その伝送経路でのデータエラーはまずない、というのが今の技術なので、そうするとそのデジタル信号をアナログ信号に変換するところがデジタルオーディオでの最も重要なのは想像つく。他のところはアナログ伝送~アナログ再生でも同じことなので、デジタルオーディオ固有の問題はあまりない。厳密に言うとデジタル信号がシステムに存在する時点で別の問題が発生するが、最近はピュアなアナログオーディオシステムを組んだところでデジタル信号がそこら中に飛び交っているので、必要あれば何かやらなくてはいけないという事情はあまり変わらない。

何はさておいてもデジタルデータをその値に従って忠実にアナログ信号に変換する責務を負っているのが DAC である。ところが世の習いでそう簡単に理想的な DAC は実現出来ない。色々な工夫してそこに近づけるわけだが、どんな障壁が横たわっているのか考えてみる。

まずデジタルデータに含まれているものはレベル軸方向の値である。これを忠実にアナログ信号としてレベル方向の値に変換するわけだが、オーディオの場合その階調は 2 ^ 16 = 65,536 である。仮に最大信号振幅 ±1V でアナログ信号を生成したとすると、一階調辺り 30.517578125 uV になる。なかなか凶悪な細かさである。まあこのくらいは現在の技術を持ってすればなんとかしたとする。問題は DAC からその精度で本当に出力出来るか、ということだ。

昔から有るマルチビット型 DAC について考えてみる。そもそもデジタルデータはどんな形をしているかというとこれは PCM といって、16 ビットならば 16 桁の重み付けをされたデータとして構成されている。話が面倒になるので符号を考えないと、一番上の桁(LSB と呼ぶ)が 2 ^ 15 の値を表しており、一番下の桁(MSB と呼ぶ)は 2 ^ 0 = 1 を表している。従ってそれぞれの桁からそれに合った重み付けをした電圧を生成して、全部の桁からの電圧を加算して出力すれば良い。が、なんといっても最上位と最下位の比が 32,768 である。その分解能を精度良く実現しようとするとなかなか大変そう、というイメージを持ってもらって構わない。実際大変なのだ。仮にその重み付けを抵抗比乗算で行おうとした場合、一番大きな抵抗値の絶対精度が一番小さな抵抗値並みでないといけないことになる(実際は逆数になるようにするので違うとは思うが)。なので R - 2R ラダー抵抗方式のような相対精度が取れていれば精度が確保出来る、というような方式を使って IC 化しやすいようにする。それにしても抵抗の精度がそのまま歪みに影響を与えるので、性能は IC のチップの出来如何というところだろう。
さらに DAC の歪み要素として、参照電圧の変動がある。先ほどの重み付けの基準となる電圧または電流が変動すると、これは如何に重み付けが精度良く出来ていようと歪みつながる。ただここは電気回路や基板の設計でかなりなところまで追い込めているのではないかと思う。
もう一つ重要な管理項目として、出力タイミングを決めるクロックがある。サンプリング周波数が 44.1KHz で標本化されたデジタルデータなら 44.1KHz の安定なクロックのタイミングで DAC からアナログ信号を出力しなくてはいけない。ここが揺らげば歪みになる。もっとも揺らぐ周波数によって音質劣化の歪みと感じるか、ピッチズレと感じるか、ワウフラッタのような変調と感じるかが変わる。これは水晶発振子と発振回路の設計、基板実装で変わるが、今はいい部品もありあまり心配いらないのではないかと思う。
ということでマルチビット型 DAC での一番の懸念事項は重み付けのところにありそうだ。時間軸とレベル軸で簡単に表してみた。
イメージ 1

では今主流となっている 1 ビット DAC ではどうか。
1 ビット DAC では量子化レベルと時間軸方向で表現するようにしたもので、レベル軸は 'H' と 'L' の 2 つしかない。先ほどの参照電圧とグランドレベルと云うことだ。その代わり時間軸方向にそれだけの分解能を持たせて出力し、フィルタで滑らかにすることで精度のよいアナログ信号を得ようというものである。たとえばサンプリング周波数のタイミングから 'H' を出力し、カウンタでそのタイミングで出力したい値まで計数し、到達すれば 'L' に落とす。これで PWM と同等の信号を生成しフィルタで高域成分を除去することで実現出来る。この場合だと精度の確保は参照電圧とクロックの安定性を考慮すれば良い。いずれも先ほど説明したように比較的容易な技術で実現出来る。よって 1 ビット DAC が現在主流になっている。
主流となっている...主流となっている...。え?いや一応。何か問題が?

今の説明通りにやると、44.1KHz のタイミングごとに 65,536 まで計数するカウンタを作ってそこにクロックを入れることになるのだが、そのクロックはなんと 44.1KHz x 65,536 で 2.8901376 GHz になってしまう!ほとんど携帯無線の周波数である。いくら何でもこの周波数をオーディオ歪みを伴わないレベルの周波数の揺らぎに抑えるのは現実的ではなさそうである。さらにハイレゾなどというもっと高い周波数でビット数の多いデジタルデータではとんでもないことになりそうだ。
ということで 1 ビット DAC を今やったとおりにやろうとするとビット数を削らざるを得ず、とてもオーディオファンを納得させるものではない。果たしてどうなっているのだろうか。

多くの諸兄はカラクリをご存知だと思うが、この謎解きは別の書庫で行うことにする。

知っておきたいのは 1 ビット DAC がパーフェクトな解とは云いがたいということで、実際に視聴テストなどでは良く出来たマルチビットタイプの方が音が良い、という結果が出ているようである。もちろん好みの問題で異論は無制限認める。

イメージ 2 ← にほんブログ村「科学」-「技術・工学」へ
 ↑ クリックをお願いします。