誘導目的と判断した日記は削除します。会員規約、ローカルルールを守って平和で活発なコミュニティの維持にご協力ください。

Minimum phaseデジタルフィルタによるPCM1795DAC

日記・雑記
Sponsored Link

[:image5:]
発注していた基板が届いたので組み上げてみました。仕様としては次のとおりです。

CS8422 デジタルレシーバ&サンプルレートコンバータ
PCM1795 DAコンバータ
フルディスクリートI/V変換、差動合成
バランスDCサーボによりDCオフセットなし
デジタル、アナログ、クロック用3系統レギュレータ
HPAはいつもどおり差動合成と兼用

PCM179x系は初制作です。というかそもそもWM8741がDAC初制作だったのでDACチップとしてはまだ2作目ということになります。CS8422とAVR周りは実績のある回路なので新規に回路制作したのはDAC周りとアナログ部分です。

今回の目的はCS8422の内蔵デジタルフィルタがMinimum phaseであることに注目して制作しました。SRCでLinear phaseでないのは珍しいと思います。よく見かける高性能SRCチップであるCS8421もSRC4192もLinear phaseの模様です。

■デジタルフィルタについて

前にもご紹介しましたがデジタルフィルタについてはAyreのPDFを参照してください。

http://www.axiss.co.jp/Ayre/Ayre_MPFilter_Tech.pdf

簡単に言えばオーディオ的にはMinimum Phase型のほうがLinear Phase型よりも高域での滑らかさを多少犠牲にする代わりに立ち上がりが自然で開放感があるサウンドになります。音と音の間がより静かで分離が良いと感じます。

通常PCM179xはLinear phaseフィルタが標準内蔵であって、これを変更するためには外部でデジタルフィルタを別に用意しなければならないわけですが、CS8422を使用することでデジタルレシーバ機能、サンプルレートコンバータによるジッター除去、Minimum phaseデジタルフィルタ、という3役をたった1チップでこなすことができるわけです。(独自で外部デジタルフィルタを用意する大変さに比べたらなんという手軽さ!)

今回はオシロでちゃんとパルス応答もチェックしましたが、プリエコーは全くなかったので意図通りになっている模様です。PCM1795側のデジタルフィルタはOFFにはしていないのですが、やはり前段のフィルタが支配的なのは間違いないようです。

■THDとジッター測定

PhileWebでは大きな画像が用意できないためほとんどのTHDは数字のみです。参考用に1枚のみTHD測定画像はUPします。うしろの周波数表記は録音側のものであって再生側はどのようなレートであってもSRCによりDAC側でアップコンバートされています。

接続は全てアンバランスで、入力レベルはWavespectraのピーク読みで-11.3dBに揃えてあります。ADCの癖のせいか入力レベルが異なるとTHDの出方が変わってしまいます。96kのTHD+Nが大幅に悪化しているのは22k>48kへと帯域増加によりNの絶対量が増えていることが原因です。

・PCM1795
[:image3:]
100Hz THD:0.00062% THD+N:0.00270%(44.1k)
1kHz THD:0.00052% THD+N:0.00272%(44.1k)
10kHz THD:0.00225% THD+N:0.00658%(96k)

[:image2:]
画像はサイズ調整のために編集してあります。両脇の50HzスプリアスはAD固有の特性ですべてのDACで同じように観測されます。これが現状の測定限界です。

・WM8741

100Hz THD:0.00153% THD+N:0.00366%(44.1k)
1kHz THD:0.00081% THD+N:0.00298%(44.1k)
10kHz THD:0.00165% THD+N:0.00587%(96k)

PCM1795は高域が弱く、WM8741は低域が弱いことがわかります。平均的にはPCM1795のほうが優秀ですが、大差というほどでもなく自宅測定上は一長一短に見えます。ただしディスクリートで最適なTHDを出すためには可変抵抗でのバランス調整が必須です。ちょっとでも最適位置からずれると0.0001%程度はすぐに悪化します。ICを使わないとこのような点は大変です。

それはともかくADCの性能がそろそろ限界に近い気がします。特にTHD+Nは0.0025%あたりで頭打ちです。THDの数字も入力ゲインによって変化しすぎるので本当に正しいのか不明です。

■出来上がったDACの音質について

正直WM8741版よりもPCM1795版のほうが開放感は上のようです。測定では大差はないですが、実際の音では一枚ベールを剥いだ音と言って良いでしょう。

WM8741はチューニングのおかげもあってやわらかく独特の雰囲気のある音、それに対しPCM1795は若干硬質で澄んだ音と思います。WM8741も雰囲気において良い部分もあるのですが単純な見通しの良さ、分離では負けているような気がします。

現状の私の目的は開放感を限界まで高めることですから、ディスクリートオペアンプを採用している理由もこのためです。ICオペアンプはなめらかな音は出ますが一線を越える開放感がでません。ディスクリートでICのような滑らかさを出すのは難しいですが圧倒的な開放感を手に入れるにはディスクリートしか無いと思います。

音楽性についてはともかく開放感という目的においてWM8741は敗北していると言わざるを得ません。原因についてははっきりしたことは言えないですが、仮説として考えられるのはI/V変換段の設計差です。WM8741は電圧出力ですから、DAC内部でI/V変換しているはずです。対してPCM1795は電流出力でディスクリートオペアンプによるI/V変換です。

このI/V用オペアンプが内蔵ということが、結果として音の差になったと考えるのが、確証はないものの妥当なのではないかと思っているところです。

SAYA社のDACコラム(リンク)によるとAK4399もWM8741同様電圧出力みたいですが、内部でスイッチドキャパシタを使用したI/Vとあります。確かにWM8741も歪率は良くないので同じような設計なのかもしれません。(しかしAK4399については当方のPCM1795よりも優秀な測定データもあったりしますが…)

■ボリュームカーブ

今回試験的にボリュームカーブを変更してみました。内蔵のデジタルボリュームはdB単位のものなのですが-120~0dBといっても実際に多用するのは-40dB程度までなので残り80dBはあまり使わないのが実状です。以前店頭でFostexのHP-A8を触った時にボリュームの数字で変化量が変わる(音量が低い時は大きく動き、高い時は少し動く)のを見つけたので似たようなことを実装してみようということです。

数式をグラフ化してくれるサイト(http://graph.tk/)があったので次のようなカーブを作ってみました。
[:image1:]
要するに反比例を切り取った形ですが一番の利点は演算が軽いことです。X軸としてVolのAD変化量0~1023、Y軸は送信するボリューム段階数255として近似させています。実際にはグラフを見ながら数字をいじって調整するだけなのですが。

このようなカーブなら本当はexpを使用した曲線が一番良いのかと思うのですが、8bitのAVRで演算させることを考えるとできるだけ軽い演算のほうが良いわけです。浮動小数点の標準関数を組み込むととたんにプログラムサイズが大きく重くなってしまいますが、その点ただの反比例なら割り算一発なので余裕です。

試行錯誤で詰めたので使用感はそれなりになりました。目的は十分に達成しているかとおもいます。数字を見て直線を切り替えて無理やり近似するよりは綺麗な実装かなと個人的には思います。

■PCM1792との比較

PCM1795とPCM1792はピンコンパチなのでそのまま載せ替えできるみたいです。もう一枚制作するときはPCM1792を使ってみようかとも思っていますが、よくよくPCM1792について調べてみるとPCM1795との差は微妙なところだったりします。

・出力電流の量(PCM1795:3.9mA PCM1792:7.8mA)
・デジタルフィルタが強力(PCM1795:-98dB PCM1792:-130dBリップルも少ない)
・ダイナミックレンジが大きい(PCM1795:123dB PCM1792:127dB)
・歪率が小さい(PCM1795:0.0005% PCM1792:0.0004%)

このスペックだけ見ると確かにPCM1792のが上ですが、PCM1792だけ192kHzで歪率が悪化するというデータがあり、SRCで再生する場合には性能面での制約になってしまいます。その上DAC内蔵のデジタルフィルタは使用しないわけですから、PCM1792を使うよりもPCM1795をパラで使用したほうが最終的には良い結果が出る気がします(基板は再設計しないといけないですが)

2パラにすることで電流量はPCM1792と同等になり、ダイナミックレンジと歪率は3dB良くなる可能性があるので、デジタルフィルタが同じと考えるとほぼ同じくらいのスペックになりそうです。2個で値段もちょうど同じくらいかもしれません。

■ヘッドフォンアンプとしての能力

差動回路を前回同様ヘッドフォン駆動可能なディスクリートオペアンプとしていますが、今回はじめて歪率を測定してみました。

・出力端子にて、2.55Vrms、47Ω負荷、1kHzのとき
[:image4:]
THD:0.00128% THD+N:0.00340% 電圧降下:-0.02dB

このときの計算値は約0.14Wなので、このあたりの負荷までならば問題なく駆動できそうです。同じ出力レベルだと22Ω負荷で歪率大幅悪化でしたので、これ以上性能を上げるには出力バッファ部を強化しないといけないですが、0.1Wいければ実用面では現状で問題ない気はします。

今回はこれで終わりです。
次はデジタル領域での音の変化について書いてみたいと思います。

コメント ※編集/削除は管理者のみ

タイトルとURLをコピーしました