ラズパイプレーヤーのノイズ退治

実はノイズが入ってた
Raspberry piでミュージックプレーヤー 8

前回、割と急いで特性を測定して「まあ、こんなもの」と思っていたんですが、 ノイズフロアが想定よりも高かったのが少々気になり、インターフェースのゲインを上げて調べなおしてみたら、「ボボボボボボボ」というモーターボーティング様のノイズが乗っていることに気づきました。
レベルとしては-90dBオーダーで、フルボリュームにしてスピーカーに近づかないとわからない程度ではありますが、原因は特定しておきましょう。

まずは、電源が低域発振していないか確認しましたが、問題なし。
余分な回路(ES9023DAC基板とPCM5122のアナログ回路)を切り離したところ変化なし。
続いてPCM5122を切り離してみましたが、これも変化なし。
デジタル系で何かが違うわけないと思いつつ、MPDをVolumio2からLightMPDにしてみたところ、LightMPDだとノイズが消えました。

はて?

Volumio2とLightMPDでは機能に違いはあれど、I2S出力自体に何か差分があるわけでもない筈です。
VolumioにあってLightMPDにないもの。。。

あ。もしかして。。

大きな違いに気づき、Volumio2の設定でWiFi接続とWiFiスポット機能を停止してみたところ「ビンゴ」。
この2つの機能を止めたところ、見事にノイズが消えました。
特に、WiFiスポットの機能はSSIDを広告するため常時信号が出ていて、これがモーターボーティングのような「ボボボボボボ」という音の元でしたが、WiFiクライアント機能も通信を始めると不定期にボツ・・ボツとノイズが出ます。

アナログ回路への無線の飛び込みが原因とわかりましたので、改善するにはアンテナを遠ざけるのが一番ですが、RaspberryPi3はアンテナがオンボードで外出しにできません。
アンテナとアナログ回路の距離がやたらと近く、ケースの蓋を閉めてても部屋の外でSSIDが拾えるほどの出力がすぐそばにあるわけですから、アナログ回路へのシールドもどれだけやれば良いのか疑問が残ります。
本質的には、無線系の品質が問題なければアナログ回路側での対策も必要なのですが、回路構成だったり部品配置、配線の取り回しが重要になるところ、現状のアナログ回路といえばDAC〜I/V変換はキットの流用、バッファは別基板でコネクタ付きの配線で結線してる状況では出来る事が限られてしまいます。

というわけで、今回はノイズの元を断つように無線機能をOFFにする事で対策としたいと思います。

で、
改めてデータを取りました。
(表示方法も少し改善)

まずは、無音時のノイズレベル。

今度こそノイズレベルはFA-66の入力ショートとほとんど差がないくらいになりました。(苦笑)

1kHz -60dB (44.1kHz/16bit)

ラズパイプレーヤーの出力が大きく、FA-66のインプットトリマを下げ切ってもこのレベル(-54dB)なので、表示より6dBくらい低く読むと良さそうです。
20kHz以下のノイズフロアが持ち上がるのは、16bitファイルの限界(ダイナミックレンジ)が96dBですので、理屈どおりです。
(16bitファイルでは-96dB以下のレベルは再現できません。)

-20dB (44.1kHz/16bit)

-10dB (44.1kHz/16bit)

-6dB (44.1kHz/16bit)

-3dB (44.1kHz/16bit)

0dB (44.1kHz/16bit)

FA-66のピークランプが点灯してる中、二次高調波が-84dBくらい、三次高調波が-90dBくらいとなかなか頑張っています。

1kHz -90dB (192kHz/24bit)

このレベルでも歪みが出ないのは24bitファイルならではですね。(便所の100W的な性能ですが。。)
それより16bitファイルと大きく異なるのは、ノイズフロアの持ち上がりがないことです。
16bitファイルだとノイズフロアが持ち上がりますが、24bitファイルではそのようなことが起きません。
24bitファイルのダイナミックレンジは144dBですので、FA-66自身のノイズフロアより低く観測できていません。
なお、もっと高性能なインターフェースだと元のノイズフロアをもっと下げられて24bitファイルのノイズフロアが見られるのかというと、残念ながらリニアなアナログ回路では144dBのDレンジが実現できませんので、より高精度な観測はできても24bitファイルのノイズフロアの観測は困難です。

-60dB (192kHz/24bit)

-20dB (192kHz/24bit)

-10dB (192kHz/24bit)

-6dB (192kHz/24bit)

-3dB (192kHz/24bit)

0dB (192kHz/24bit)

こちらもFA-66のピークランプが点灯してる中、二次高調波が-84dBくらい、三次高調波が-90dBくらいと歪みのレベルは16bitファイル同様なかなか頑張っています。

LightMPDだとスッキリなのに、Volumio2だとザラついた感じのサウンドになるのが気になっていましたが、今回の対処でスッキリ解消しました。
なお、Volumio2とLightMPDのサウンドの違いは依然として感じます。