デジタルオーディオあれこれ

半田ごての人。紙と鉛筆だけではちょっと。

究極のADC。CTSDというやつ。

 DACディスクリートの2bitDSMという獣道路線で決着したので、少し気になっていたCTSD型ADCのAD7134の試作基板を作った。今のADCはほとんどがDTSD型。SARも少しはあるけれど、性能的にはデルタシグマ系が有利だと思う。両方作ってみた経験として。そのデルタシグマ系にも二つあってDTSD(Discrete Time)とCTSD(Continuous Time)。と言っても、CTSDはAD7134だけでないかと思う。

 

 今流行のchatGTPに聞いてみると知らないとは言わないので、勿論知ってますよああだこうだとか言い出す。基本的なアルゴリズムとして、あれは確率的につながる可能性の高い単語をずらずらと並べていくらしい。筋は通っているんだけど、間違いは多い。違うよと言えば、すいません間違えましたおっしゃる通りと言ってから、もう少しありそうな話を語り始める。

 

 何度も話してる間にかなり内容は良くなる。三回ぐらい会話すれば、普通に検索して出て来るような話以上の中身になって行く。その後は違う人から聞かれた場合でもその内容で答えるだろうから、どんどんと回答は改善されていく。僅かな期間で一気に正確になると思う。キレる事は無いし、生半可な知った積りで分かっていない人間よりはずっと優秀。

 

 但し、AD7134以外のCTSDを教えてくれと言うと、頓珍漢な答しか返ってこない。普通のDTSDばっかり平気で上げてくる。何度違うと言ってもダメ。多分、今はまだ他にはないのだろうと思う。かもしれないという想定であれこれ上げて来るだけで、ハッキリとSARと書いてあるのまで出してくる。データシートを見てはいない。矛盾している質問に対してはボロが出てしまうみたい。

 

 CTSDの利点は、理論的背景は分からないのだが、サンプリング周波数の近辺であってもデジタル的なアンチエイリアシングが100dBぐらいかかる事。普通は全く効かないのでアナログ的なフィルターで不要な周波数を落とすしかない。これが出来るのはCTSDだけ。更に、入力にはS/Hが不要。入力は6kΩ程度の抵抗負荷で、チャージ用のコンデンサに急激な充電電流が流れる事は無い。

 

 だいたい片チャンネルに4個ぐらいのADCをパラにするので、ステレオだと8個。これが一気に充電電流を流すので、ADCのドライブは大変。ローノイズで且つ低歪みで5Vppぐらいまで振らないといけない。現実として、ADCの性能を決めてしまうのはそっちの方。1個のADCならば問題なくドライブできても、8個となると大抵はこける。CTSDのような抵抗負荷にでもして貰わないと、8個のドライブはきつい。

 

 更にAD7134はASRCを内蔵しているので、オーディオ用の44.1kHzとか48kHz系での読み出しも簡単。普通のDTSDのAD7768だと、元々のクロックを合わせないとダメ。餅は餅屋なので、ADCやDAC専業のADの方がESSとかAKMよりは最先端。ADの唯一つの難点は48kHz系とのインターフェースだったけど、それも解決。なのでスペック的には天下無双で無敵。こんな基板。

 

 AD7134は4個のADCなのでステレオ用として二個必要。ADC自体の入力は5Vppが標準。入力感度としては、5Vrmsと2Vrmsぐらいが必要。このぐらいの低ノイズADCの場合、抵抗の分圧器は既に鬼門。ADC自体の残留ノイズよりも抵抗の熱雑音が主体になってしまう。なので分圧などは考えず、あっさりと二種類の感度のを作る方が簡単で高性能になる。市販品では禁じ手だろうけど。現実として、高性能の抵抗分圧器ほど難しいものはない。

 

 2Vrmsの残留ノイズは-128dBを超える。8ADCのパラ。一個でも-120dBは超えるので八個ならば-129dBとなるのが普通なんだけど、opアンプのノイズが含まれるのでそこまでは落ちない。抵抗が入ると更に悪くなる。-128.23dBは驚異的。AD7768でも八個パラならばこれぐらいになるだろうけれど、THDは理想的にはならない。S/Hの充電電流が悪さするようで四個パラが限界。 

 信号を入れるとこんな感じ。入力はDIYの2bit-DSMの出力で2Vrms。残留ノイズが-128.23dBでも、入れてる信号が-120dBぐらいのノイズレベルだと少しの補正は必要。実際は120.5dBぐらいかなと思う。入れてる信号が-128.23dBでも測定値は-125.23ぐらいにしかならないので。補正ゼロのためにはADCの残留ノイズをゼロにする必要がある。

 APの測定器であれば、ドライバーの中でFFTして補正しているんでないかと思う。そこまでは無理なので可能な限り残留ノイズを小さくして、-120dB以下のDAC相手でも1dB以下の補正で済むようになってれば、まあまあ良いのでなかろうか。一昔前は、ノッチフィルターで基本波を落としたりしてたけど、特定の周波数にしか使えないし残留ノイズは一気に悪化すると思う。今ならばCTSDが正解。

 

 これは最初の試作基板でアナログ回路に少しジャンパーで修正が入ってる。その影響か少しだけTHDが悪い。二次で悪化しているので、微妙なプラス側とマイナス側のアンバランスかと思う。でも歪の出方が前のとほぼ同じで、たぶん正しい。大抵の場合、同じに作ったはずの二枚の基板でも、-120dB以下のTHDはあんまり一致しない。その場合は恐らく両方とも不正確。二枚で一致している時はかなり信用できる。

 最初の基板をステレオで使うとこれ。理想的には、LとRの数字には一致してほしい。今までの経験として、SARやDTSDで-120dB以下のTHDがLとRで一致する事は無い。APの測定器でも怪しいと思う。これはモノラルの八個パラと高次の歪の傾向が同じで、S/Nだけが少し悪いのでとても優秀。LとRのずれもほとんどなし。CTSDならではの特性。 こんなのは初めて。

  5VrmsはAK4499EQ版のD90で。THDはもうちょっと良いのかもしれない。-130dBぐらいまで行く時も過去にはあった。誤差の範囲だとは思うけど。こっちもS/Nはたぶん121.5dBぐらい。

  ステレオにすると、少しLとRで差が出る。こっちはドライバーに入ってくるレベルが高いのでその辺りの影響かなと思うD90は出力抵抗が100Ωでそれも関係してる感じ。AD4898はソースの出力抵抗に少し敏感。その問題がなければ、ADC自体は同じく5Vpp振れてるので二次の歪はもう少し小さくなる可能性は高い。でもTHDの傾向は同じなので悪くはない。

 5Vrmsの設定だと、残留ノイズは少し悪くなる。opa1632を経由するのでその残留ノイズと抵抗の熱雑音の影響。反転アンプでは必ず抵抗が入るので熱雑音的には不利。2Vrmsの場合は、非反転アンプのみで熱雑音的には有利。液体窒素で冷やすとかしないともう無理なレベルまで、最新のADCの残留ノイズは低くなってる。

 世の中には、S/Nを測る人は現実としてほとんどいない。多くの人はフリーソフトのREWを使っていて、おそらくはデフォルトになってるdBFSで使ってる。あれは何故かS/Nを測るようにはなっていない。S/Nは名前の通りで、信号とノイズの比率。REWは常に0dBFSを基準にするので、信号レベルを下げてもS/Nはそのままで変化なし。確かにNと書いてあるだけでS/Nではないので嘘ではないのかもだが、変。

 

 普通にS/Nと言う場合は、縦軸をdBcにするしかない。そうすると信号レベルに連動するようにはなるが、-10dBにしても表示は0dBFSの所に張り付いたままで感覚として変。要は、常に0dBFSを基準にしてしまう仕様。Nの計算も以前の版では明らかに変だった。最新版にしてからは他のソフトと同じような数字になったようだけど、FFT表示がちょっと粗いしステレオ表示もできないみたい。普通にS/Nを測るには不向き。

 

 AudioTesterもS/Nが変な数字になる事はあって、基本波の除去をどこまでするかとかで変わるのかなと思う。アナログの120dB前後の数字だと間違いはないようだけど、デジタルの140dBぐらいになるとchatGPTみたいになる事はある。FFTの表示から大体の数字は予想できるので、ああまたか程度で致命的ではない。APとかはさてどうなのか。

 

 ところが不思議な事に、現状では最善と思われるAD7134が何故か保守品種になっている。新規採用には非推薦の扱い。なのでいずれ廃盤になるはず。新しいのに切り替わるのか、はたまた闇の彼方に消えるのか。従来品とは一線を画す性能なので、軍事用のみで民生用にはもう出さないよ、という意味なのかなどと考えてしまう。いまはまだたくさんの在庫がデジキーとかにあるんだが。