SSDAC 動作確認(その2)

COMBO384でUSB経由での動作を確認します。

COMBO384を接続する場合はブリッジ基板との接続ケーブルとJP1のショートピンは必ず外します。信号の再生は問題ないことを確認できましたがコネクタの11ピンから20ピンの配置が逆になっていました。MUTE 信号はジャンパーとパターンカットで修正しましたが他はそのままです。なのでサンプリング周波数のインジケータはその役目を果たしません😊

一通りの動作確認をしましたが、SSDACの特徴についてもう少し詳細にみていきます。

SSDAC の特徴として過渡応答特性があります。トラ技10月号にも波形が掲載されていますがここでも確認してみます。入力はWaveGeneで生成した信号でサンプリング周波数を96kHzの-3dBとしています。比較するために旭化成エレクトロニクスのAK4495SEQを搭載したDAC基板PCM-A4495Sの波形を載せます。尚、AK4495SEQのフィルタ特性はシャープロールオフ・フィルタを選択しています。矩形波を再生させた時のSSDACの波形(左)とAK4495SEQの波形(右)になります。SSDACでは信号の立ち上がり前と立ち上がり後の振動(リンギング)が少ないのがわかります(無くなってはいない)。

次にインパルスを再生させた時の波形も確認してみます。矩形波の再生と同様に振動が少ないのがわかります。

このようにスプライン補間は過渡応答特性が良好ということがわかります。(トラ技記事で明らかなので改めて言うこともないですが)。

では、このような過渡応答特性を得るには他の方法はないのでしょうか。

旭化成エレクトロニクスのAK449xシリーズのDACはシャープロールオフ・フィルタ特性以外にもいくつかのフィルタ特性を持っています。そのうちの一つのスローロールフォフ・フィルタ特性で再生した時の矩形波とインパルスの波形です。

これを見るとSSDACの特性とほぼ同様な特性が得られています。というより少し良い結果のようにも見れます。スローロールオフ・フィルター特性は以下のように緩やかな特性を持っています(AK4495S/95データシートMSI560-J-03より抜粋)。

スプライン補完は一種のデジタルフィルターと言えると思いますので、その特性はスローロースオフ・フィルタのように緩やかな特性を持つと言えるでしょうか。

記事によると、もう一つSSDACの特徴として高域の再現性があります。記事ではサンプリング周波数44.1kHzの信号は、14.7kHz(=44.1kHz/3)が正確に再現できる上限周波数とあります。記事にも波形が掲載されていますが以下はサンプリング周波数44.1kHzで20kHzの正弦波信号を再生した時の波形です。大きく歪んでいるのが確認できます(画像左)。ではサンプリング周波数96kHzの信号は32kHz(=96kHz/3)まで正確に再現できることになるので

# sox 44kHz_16bit_20000Hz_LR_3dB.WAV -D out.wav rate 96000

のように同じ信号を sox で96kHzにリサンプリングした信号を再生してみます。すると歪みのないきれいな波形になります(画像右)。

ん?リサンプリングするということはデジタルフィルターで補完することになるのでSSDACの特徴を消すことになるのでは。以下はリサンプリングした矩形波の過渡応答特性とインパルス応答の波形です。矩形波では振動の周期は異なっていますが、AK4495SEQのシャープロールオフ・フィルタでの再生のように信号の立ち上がり前後に信号が数周期発生しています(画像左)。

このことからSSDACでは96kHzのサンプリング周波数で録音された音源が最もその特長を引き出すことができるということですね。

最後にSSDACの動作確認をしていてちょっと気になる点がありました。と言っても音質的にはあまり気にする事はないと思いますが。それはLCHとRCH間に位相差があるという事です。分かりやすいように44.1kHzのサンプリング周波数の矩形波(左)と20kHzの正弦波を再生した時の波形を見てみます。横軸はひとマス10usとなっていますので約11μsの時間差が出ています。

I2SではデータはLチャネルデータRチャネルデータとも一つのラインでシリアルに伝送されてきます。サンプリング周波数が44.1kHzの場合はその間隔は約11μs(=1/44100*2)になります。この時間差が現れていると思われます。

SSDAC基板を公開された回路図とFPGAソースから作成して動作の確認をしました。量子化された音声データをスプライン関数で補間するという新しい技術を使って、今後さらに進化していくのが楽しみです。まずは24ビットのマルチビットDAコンバーターPCM1704に対応する検討をされているようです。

AK449xシリーズのDACは外部デジタルフィルターとのインターフェースも可能なので、スプライン補間されたデータをAK449xで変換したらどうなるかとか、デジタルフィルタとスプライン補間の合わせ技なんてどうなのかなど勝手に妄想しています。

===========
著作権
===========
・SSDAC24642ソースプログラムは 小林芳直 が著作権を持っています。
・個人の研究目的には、修正、改造など自由に使用できます。
・発表される際はこの著作権表示部分を表示してください。
・このプログラムの全部もしくは一部を製品に組み込んだり販売するなどの商業的利用はおやめください。
・本製品SSDACに使用されているデータ補間技術は、小林芳直により発明されSLDJ合同会社により現在特許出願中です。
・本キットに含まれる回路、ソースコードは個人的使用に限り自由に修正、改造ができます。
・本キットに含まれる回路、ソースコードの商業的利用については別途契約が必要です。higon@nifty.comまでご連絡ください。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. yseki118 より:

    SSDACのレポートありがとうございます。首を長くして待っていました。
    AmaAmaAudioVisual(http://ama-audio.seesaa.net/)さんもSSDACで音出しをされていました。それによると、

    >かなり定位が明確で、バイオリンやバスドラまで、低域から高域まで各楽器の付帯音がなくかなりクリアでかなり聞きやすくなった印象です。
    クリアな分、低域の量感が足りない印象ですが、時間とともにかなり戻ってきました。

    とのことです。それ以外にもネットには
    >ワンポイント録音が素晴らしい音場で再現される。スプラインとフルエンシーを聞き比べると、フルエンシーの音が平板に聞こえる。
    といったことが書かれていました。

    一方、SSDACに批判的な意見もあるようで、
    >もともとスプライン関数は、平面上のn個の点を滑らかな曲線で結ぶためのものである。 時間変化する関数に適用を試みると、末端の処理を考えなければならない。 再帰的に無限回の計算を試みるのは、無茶である。 PCMは有限個のデータ列なので、上手に扱えば末端から一意にスプライン関数が決まる。
    PCM のデータ列 D0, D1, D2, D3, …が与えられたとする。 スプライン関数は3次方程式で、左右の区間との接続において関数値、1階微分値、2階微分値が一致するものとする。
    方式考案者の計算方式は、区間 j=n を求めるために2区間 j=n-1, j=n+1のスプライン関数を必要とし、その前段階として3区間 j=n-2, j=n, j=n+2のスプライン関数を必要としていた。 再帰的であると同時に、前処理に次ぐ前処理を重ねていくと、無限個のスプライン関数を事前に求めておかなくてはならない。 漸化式と前処理の有限回数での打ち切りにより、計算量を限定していた。
    新規に別の計算方式を提案する。 PCMのデータ列に新たに1個のデータ D(j=-1) = 0 を追加する。 また、区間 j=-1 のスプライン関数を f(j=-1)( x ) = D0 x ^ 3 と定義する。 すると、区間 j=0 のスプライン関数は接続条件から一意に定まり、 f(j=0)( x) = (D1 – 10D0)x^3 + 6D0 x^2 + 3D0 x + D0 となる。 j が1以上の区間も同様で、接続条件と次のサンプルデータ D{j+1} を用いて fj(x) がもとまってゆく。 もはや区間 j を求める際に、未来のデータ D{j+2}, D{j+3}, D{j+4}, … を必要としなくなる。
    新規の計算方式は、スプライン関数の次数が4以上でも有効である。
    http://www.nakata-jp.org/computer/howto/audio/toragi/Oct2018.html

    何かの参考になれば……

    • ryusai より:

      yseki118さん、コメントありがとうございます。

      あまり聴きこんではいませんが、第一印象は「おとなしい音だな」でした。特にドラムなどの打楽器が顕著に感じます。確かにクリアで聴きやすいですが、もう少し力強いと良いなぁと。これはあくまで今回作成した基板での印象です。オリジナルの基板とは違うので。

      リンクの記事を興味深く読みました。トラ技の記事の内容についての指摘は同意するところが少なくはないですが・・・。

      • yseki118 より:

        お返事、ありがとうございます。
        SSDACの解説の中に、デジタルデータで直接スピーカーを駆動することもできるようなことが書いてあったように記憶しています。以前、Spresenseの時にも同じようなことを書いたのですが、デジタルデータで直接SPを駆動したらどんな音になるか興味があります。
        これは、全く個人的な理由なのですが、パワーアンプの具合が悪く、いつかは買い替えなければならないのですが、それだったらデジタルデータで直接SPを駆動するシステムも面白いなと思っているからです。
        デジタルデータでSPを駆動すると言うと、以前、SONYを退職された方が作られたアンプが有名ですが、それの現代版といったところでしょうか。
        可能でしたら、ぜひ実験していただきたいと思います。

        良いお年をお迎えください。