自分でサンプリングとDSPについて学んでいます。量子化誤差がノイズになる原因を理解するのに苦労しています。基本的な理解が欠けていると思いますが、それが何かはわかりません。では、量子化誤差はどのようにノイズを生成するのでしょうか?
自分でサンプリングとDSPについて学んでいます。量子化誤差がノイズになる原因を理解するのに苦労しています。基本的な理解が欠けていると思いますが、それが何かはわかりません。では、量子化誤差はどのようにノイズを生成するのでしょうか?
回答:
マルチトーン信号があると仮定します(6つのキャリア、サンプリング周波数の±1/1000、±2/1000および±7/1000)。
x = (1:1000);
wave = sin(x/1000*2*pi) + sin(x/1000*2*pi*2) + sin(x/1000*2*pi*7);
これは14ビットADCを使用して量子化されます
wave_quant = round(wave * 16384) / 16384;
違い
wave_qnoise = wave_quant - wave;
量子化誤差を与える
対応するスペクトル
wave_qnoise_freq = mag(fftshift(fft(wave_qnoise)) / sqrt(1000));
は、スペクトル全体で生成されたノイズフロアを示しています。
これは、量子化誤差がバイアスを導入しないことを前提としています。ADCが常に低い値を選択する場合
wave_quant_biased = floor(wave * 16384) / 16384;
ゼロを中心としない量子化エラーが発生します
wave_qnoise_biased = wave_quant_biased - wave;
DCビンのFFTに明確なスパイクがあります
wave_qnoise_biased_freq = mag(fftshift(fft(wave_qnoise_biased)) / sqrt(1000));
これは、たとえば、直交振幅変調で実際の問題となり、復調信号のDCオフセットは、復調周波数での正弦波に対応します。
この文脈での「ノイズ」とは、信号に不要なものが追加されていることを指します。ガウスノイズ、ホワイトノイズ、またはよく説明されているランダムなプロセスであるとは限りません。
量子化の文脈では、それは純粋に代数的な議論です。量子化は、元の信号と量子化信号の差に等しい不要な信号(「ノイズ」)の追加と見なすことができます。この定量化ノイズはランダムではなく、入力信号と相関していることに注意してください。たとえば、信号が周期的である場合、それを量子化するときに導入される量子化ノイズも周期的です。
ピシェネットの発言をさらに詳しく説明するには、0.01ボルトの解像度しかないD / Aコンバーターによってデジタル化されているオーディオ信号があるかどうかを検討してください。ある特定の瞬間に、オーディオ信号が7.3269ボルトである場合、7.33ボルトに丸められるか、7.32ボルトに切り捨てられます(コンバーターの設計によって異なります)。最初のケースでは、7.33〜7.3269ボルト、つまり0.0031ボルトの「ノイズ」を追加しました。2番目のケースでは、7.32〜7.3269ボルト、または-0.0069ボルトの「ノイズ」を追加しました。
もちろん、コンバーターは間違いなく無限に正確ではなく、おそらくその精度と同等の精度を持っているため、追加のノイズが追加されます。
基本的なポイントを理解するためのより基本的な説明を次に示します。
それらの数を数千に丸めて、ここに投稿します。ここで、他の人々はあなたが投稿した内容に基づいて元の数を推測する必要があります。
他の人々はあなたが提供した丸められた数に基づいて正確な数を確実に推測することはできません。それはデータ損失です。この場合(丸めを使用したため)、これは量子化誤差と呼ばれます。