この信号を認識しますか?


20

神秘的なDAC信号

このシグナルのストーリーは次のとおりです。統合MDC DACモジュールを搭載したNAD C 356BEEアンプを購入しました。光学およびUSB入力を備えています。光は問題ありませんが、DACをUSBでPCに接続すると、指定された時間にクリック/ポッピングノイズが発生します。クリック頻度は、信号のサンプルレートに何らかの関係があります。たとえば、96 kHzでは2.5秒ごとにポップしますが、48 kHzでは30秒でポップします。

サイン波を再生し、ノイズを記録し、波形を拡大しました。約0.008秒の非常に短い信号です。それが何であるか考えていますか?

ノイズ信号の振幅は、テスト信号よりもはるかに大きくなります。ノイズ信号の長さはランダムですが(非常に短く、クリック音だけが聞こえます)、同じテスト信号の波形は常に同じです。

テスト周波数が異なると、エラー信号も異なります。エラー信号は元のものの何らかの変換のようです。

ここに画像の説明を入力してください


2
2の補数部分に2の補数以外のデータが供給されているように見えます。
マットヤング

1
うわー、それは狂気の対称性であり、逆さまでも逆向きでも同じです...
Grady Player

@matt若いまたは間違ったバイト順
Grady Player

回答:


30

これは、y軸がラップされた正弦波のように見えます。これを再作成する試みを次に示します。

包まれた正弦波

これは、関数プロットです。を最も近い整数に丸めます。ラウンドX X1.25t円形1.25t円形バツバツ

おそらく、あなたの信号の最上位ビットがカットされていますか?そのような波形が生成される可能性が高いと思われます。


うわー、あなたは素晴らしいです。エラー信号の形状がテスト信号に関連していることに気づき、波形を超えたときに効果のあるサインでテストしました。
csadam

3
これがまさに答えです。マイクロコントローラーに接続されたD / Aコンバーターで正弦波を生成しようとしたときに、この正確な信号を生成しました。これは、コンバータの最大値よりも大きい値を誤って入力したために発生し、上記の波に見られるような種類のラップアラウンドが発生しました。
ライトイヤーバズ

8

実際に私はそれを見たことがあります。私はADSP-21xxプロセッサーで作業していました。オーディオCODECは、受信データを符号付き2の補数形式に変換します。その特定の日、私は、符号なしバイナリを期待していたマルチチャネルMaxim DACにデータを送信していました。周りの誰もがバットマンの耳を笑っていたので、数行のコードを追加して、署名のないバイナリに戻しました。

これを修正するには、さらに多くの情報が必要になります。オーバーフローの問題があるようです。


生成された正弦波のようなさまざまな制御信号で試して、その動作を確認します。発生時間とサンプルレートの関係について知っていますか?多分それはオーバーフローしてそれ自体をリセットする内部バッファを持っていますか?
csadam

他のいくつかのサンプリングレートを試すことはできますか?
マットヤング

サンプリングレートを変更しても波形は変わりませんが、テスト信号の周波数または波形は変わります。私は、その鋭い信号を得たという幸運を持っていました、他の周波数ははるかに歪んでいます。
csadam

96kHz、72kHz、60kHz、30kHz、15kHzでは常に2.5秒。時々、いくつかのポップが「欠落」し、その後のポップは次の2.5秒のラスタではなくランダムに開始されます。ただし、2回のクリックの間は常に2.5秒が最短時間です。
csadam

7

これは非常に興味深いです。正弦波シーケンスの最上位ビットを失うという概念を調べることにしました。サイン波の半サイクルでそれをしましたが、実際に元のポスターの質問の波形につながります。

ここに画像の説明を入力してください

作成したスプレッドシートは、sin()関数の引数を0.00から3.14にステップします。次に、サイン値の範囲を0〜255の範囲でスケーリングして、バイト値の範囲に対応させます。最後に、バイト値の範囲の上位ビットが削除されました。

画像の作成に使用したスプレッドシートは、Excelの.xlsxファイルとしてhttps://docs.google.com/file/d/0BxTbL_E1KhGvbTYtY1k1WTNxT1U/edit?usp=sharingから入手でき ます。


確かに似たような波になりますが、波全体にこれを拡張すると、すべてが正の半サイクルと、すべてが負の半サイクルになり、OPの波とは異なります。
gwideman

@gwideman-MSB-1ビットが欠落していて、データが2の補数である場合ではありません!
コナーウルフ

2

これまでの手がかり:1.問題の波形は、高ビットの逆極性のサインのように見えるか、少なくとも異なるベースラインへのシフトを引き起こしています。2.問題の波形は、テスト中の波形に似ていますが、指定された変換があります。3.問題の周期は非常に長く(秒)、サンプリングレートによって異なるようです。

システムのどこかにバッファオーバーランがあることをお勧めします。これにより、サンプルレートの影響を受ける一定の間隔でバイトが失われ、数値の境界がオフになります。たとえば、16ビットの数値の場合、D / AはH1 L1を期待していますが、代わりにL1 H2、または同様のものを受信して​​います。(Gradyの提案に似ています)。そのため、信号には意図した信号を連想させる特徴がありますが、もちろん間違った場所の間違ったバイトによって歪んでいます。

csadamはUSB信号がPCによってどのように生成されるかについて言及していませんが、おそらく興味深いでしょう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.