日記
I2S通信での信号劣化(続き)
2019年08月26日
(同期式シリアル通信ではエラーのレベルを予測できない)
デジタルでの値の大きさは 1 と 0 を並べてその桁ごとに重み付けをした2進数で値を表現します。I2S を含む同期式シリアル通信では、クロック信号のタイミングを利用して2進数(I2S では最大 32bit)をやり取りします。(詳細は前回の日記で。)全部の bit を渡すまでに時間がかかることになります。
注目したいのは、「ある瞬間の 1 は大きさが 1 という意味ではない」ということです。1bit 目なら 1、8bit目なら 128、16bit目なら 32768 を意味します。
ノイズは信号に同期しませんから、渡したい値が 1 でも 16bit 目でノイズが乗ると 32768 の大きさのエラーが混入したことになります。こわいですね。
(デジタルフィルタの働き)
渡ったデータ個体(I2S では32bit)で正しいかどうかの判定ができないので、過去何回分かのデータと平均を取るなどの補正をかけます。つまり、異常なデータ変化をつぶせる代わりに正しくて急峻なデータ変化もつぶされることになります。
また、一度異常なデータが観測されて過去データに組み込まれてしまうと過去データ群から外れるまでのあいだ異常の後遺症が残ることになるので、厄介です。
音の変化としては、フィルタをかけすぎるとぐにゃぐにゃした音質に、かけ足りないとガサガサした音質になります。
いい感じにフィルタがかかったとしても、原音よりつぶれたおとなしい音になるでしょう。ノイズ混入の度合いにもよりますが、音質が劣化することは否めないです。
おかしくなったデータをフィルタで元に戻すことはできない(影響を低減するのみ)のですが、ノイズが混入しないように部品を選んだり回路を作るより、IC 内にフィルタを入れるほうが安いので、そのほうが正しい選択になる場合が多いのです。電子工作で音質を向上できるポイントと言えます。
(オーバーサンプリングの効果)
ノイズが低く(デジタルの場合には頻度)抑えられた場合には、オーバーサンプリングを入れると音質は向上します。劣化した音データにオーバーサンプリングをかけるのは逆効果と言えるでしょう。
NOS DAC にしたら音が良くなったという記事を見かけますが、ありえないと思っている人は多いでしょう。「現象には必ず理由がある」のでは。音源側でオーバーサンプリングした、バッテリー駆動の NOS DAC は今後試してみたいです。実はこれが最強かもしれません。
私の耳は正弦波なら 16kHz がせいぜいなんですが、ハイレゾ音源はCDより気持ちよく聴けます。時間軸上の音の変化の頻度が上がったことを鼓膜で感じているのでしょうね。プラシーボフィルタ類は、それほどないかと。
(今回の結論)
ノイズ混入をなかったことにはできないので、乗らないように作らないといけないです。飛んでくるやつと、伝わるやつ。
伝わるやつへの対策は、電源を綺麗にするのが効きます。
飛んでくるやつは、地味にブロックします。
レス一覧
-
こんにちは お初にお目にかかります
I2Sは基本的ながらも分かりやすく解説されたものが無いのでとても勉強になります。
折しもsfzやsoulnoteがNOSモードに対応してきまして一部で流行の兆しが見え隠れ。私も音源データをオーバーサンプリングのNOSDAC再生が最強だろうと夢想しております。PCM1704を代替できる時代がやっと来た感じ?。16kHzは優秀な耳ですねぇ・・私は15.4kHzまで落ちてきました。
高周波をばら撒くイメージの⊿ΣやらDSDはどーも好きになれません。
bynightwish_daisu at2019-08-26 17:21
-
こんにちは。
私の場合はSDカードプレーヤー(SDTrans384)とDACユニット間は
HDMI伝送をしています。
DACユニット内はHDMIレシーバーとDAI間、DAIとR-2R_DAC間はI2S
伝送ですがフラットケーブルを8センチくらいの最小限に
しています。またDACユニット内の電源、SDカードプレーヤー内の
電源はできるだけローノイズといことでTPS7A4700で定電圧化を
したあとLT3045でさらにローノイズ化にしています。
いずれにしてもI2S伝送部のケーブルと各種電源のローノイズ化
は必須だと思っています。
言われていることには同感です、具体的対応方法も教えて頂け
ないでしょうか。DACユニット内の基板のレイアウトなども
ノウハウがあるのですかね。
byマイペース at2019-08-26 19:02
-
I2Sの実装は私も興味があります。
製品から勉強すると相互干渉を避けるために[SDOUT][LRCK][SCK][MCLK]の配線は2mm以上離すのがよさそうです。パターンは密着させずに少し離してありました。そして極力等長パターンで極力短く。
フラットケーブルの場合、配線と配線の間にGNDをサンドイッチしたくなります(1本おきにGND)。でも試したこともないですし見た事もないのでそこまでの配慮は不要なのかもしれませんが、パソコンでその昔ATA-33がATA-66に切り替わったときにはケーブル芯数が約2倍になってGNDサンドイッチになりました。
あと、環境によると思いますが地味にダンピング抵抗の値にその環境なりの最適値がありそうです。中華DACで同じ製品なのに音が違って、原因を色々調べていくとI2Sのダンピング抵抗47Ωと22Ωの違いだったことが・・・。その時は22Ωの方が音が良かったです。
bynightwish_daisu at2019-08-26 19:34
-
nightwish_daisuさん
コネクター接続ですので2mm以上は離すのは無理です(笑
フラットケーブルを使っていますが、GNDと信号は1本おきです。
シールド効果があるのですかね、銅箔テープで巻いてみましたが
フレキシブル性がなくなり断念(笑
ダンピング抵抗は重要のようです、私の場合やなさん、お気楽さん
の基板を使いますがトラブルがあったときは掲示板で質問して
います。その都度やなさんやお気楽さん、あるいはベテランの方
からアドバイスがあります。
byマイペース at2019-08-26 19:46
-
マイペースさん
マイペースさんも十分にベテランです。私なんてキットですら人に見せられる作品はありませんので;^_^)
さきほどの基板パターンの2mm幅の件ですが、今思うと単にダンピング抵抗を実装するためにあけられた間隔で、相互干渉とか深い意味はなかったのかもしれません(汗)
bynightwish_daisu at2019-08-26 20:20
-
レスをくださった皆様
いい音を手に入れるために日々行動と検証を重ねておられる皆様にはいつも感心しています。
ご自分で実行され、良くなったと感じられたときに、before のどこに原因があって、after がどのような筋道で良くなったかを理論的に把握できれば、気のせいとかプラシーボとかの言葉で自身の結論を曇らせてしまうことがなくなり、より楽しい研究になるのではないかと思い、少しお手伝いがしたくなって、このような日記を書いています。
最近は、1960年代の録音のリマスター版ハイレゾ音源に感動しています。テープのノイズや、マイクの集音特性の限界に苦しみながら、よくぞここまで入れたなという素晴らしい録音が数多く手に入るようになりました。
皆様の研究結果が、誰かの感動に繋がりますように。
byhirofukuya at2019-08-27 01:53
レスを書く