Skip to content
RFrftools.io
Signal Processing2026年7月20日8分で読める

ADC 量子化ノイズ:データシートではわからないこと

ADC 量子化ノイズ、SQNR、および ENOB を計算します。実際に 12 ビット ADC で有効ビットが 10 ビットしか得られない理由をご覧ください。

目次

ビットと現実のギャップ

すべてのADCデータシートには、ビット単位の分解能が誇らしげに記載されています。12 ビットのコンバーター!4096 レベル!しかし、エンジニアがいつもつまずくのは、解像度と実際のダイナミックレンジは同じではないということです。12ビットADCは、量子化ノイズを考慮すれば、10ビットのコンバータのように振る舞うかもしれません。それは、熱雑音、DNL誤差、その他すべての現実世界のグレムリンが現れる前のことです。

量子化ノイズは基本的なもので、デジタル化プロセス自体に組み込まれています。連続するアナログ信号を強制的に離散レベルにすると、情報が失われてしまいます。その失われた情報はノイズとして現れます。それを理解することが、ADCの選択が実際にアプリケーションにとって理にかなっているかどうかを知るための第一歩です。

量子化ノイズとは実際どのようなものか

ADC は信号をサンプリングするときに、各サンプルを最も近い量子化レベルに丸めます。実際のアナログ値と量子化された出力との差が量子化誤差です。信号の全範囲に対応する適切に設計されたコンバーターの場合、この誤差はLSB2-\frac{LSB}{2}+LSB2+\frac{LSB}{2}の間でほぼ均一に分布します。

LSB (最下位ビット) のサイズは、リファレンス電圧と分解能によって異なります。

LSB=Vref2NLSB = \frac{V_{ref}}{2^N}

3.3V リファレンスを搭載した 12 ビット ADC の場合、これは3.3V4096=805.7muV\frac{3.3V}{4096} = 805.7\\mu Vです。小さく見えますよね?しかし、このエラーはすべてのサンプルで加算され、広帯域ノイズとして現れます。

この量子化ノイズの RMS 値は次のように求められます。

Vq,rms=LSBsqrt12V_{q,rms} = \frac{LSB}{\\sqrt{12}}

そのsqrt12\\sqrt{12}は、一様分布の標準偏差に基づいています。この12ビットの例では、これはRMSノイズの232.7muV232.7\\mu Vです。それほど大きくはありませんが、小さな信号を測定する場合は無視できません。

SQNR: 理論上の上限

信号対量子化ノイズ比 (SQNR) は、量子化だけで達成できる最良の SNR を示します。フルスケールの正弦波入力の場合、導出により以下が得られます。

SQNR=6.02N+1.76 dBSQNR = 6.02N + 1.76 \text{ dB}

これはおそらく聞いたことがある有名な「ビット当たり 6 dB」のルールです。12ビットのADCでは、理論的には6.02×12+1.76=74 dB6.02 \times 12 + 1.76 = 74\text{ dB} SQNRが得られます。16 ビットのコンバーターを使うと 98 dB になります。

ただし、ここではフルスケールの正弦波入力という前提条件に注目してください。信号がレール・トゥ・レールで振れなければ、ダイナミック・レンジは表に残されたままになります。フルスケールから-20 dBの信号?実効SQNR も 20 dB 低下します。

実際の例:オーディオ ADC 設計

具体的なシナリオを見ていきましょう。ポータブルオーディオレコーダーを設計していて、44.1 kSPS (CD 品質のオーディオ) でサンプリングする 2.5 V リファレンスを備えた 16 ビット ADC を検討しています。マイクのプリアンプは、最大約 1.5V のピーク信号を供給します。

まず、LSB のサイズ:

LSB=2.5V65536=38.15muVLSB = \frac{2.5V}{65536} = 38.15\\mu V

量子化ノイズ RMS:

Vq,rms=38.15muVsqrt12=11.01muVV_{q,rms} = \frac{38.15\\mu V}{\\sqrt{12}} = 11.01\\mu V

フルスケール正弦波の理論上の SQNR:

SQNR=6.02×16+1.76=98.08 dBSQNR = 6.02 \times 16 + 1.76 = 98.08\text{ dB}

しかし、ちょっと待ってください。信号が到達するのは 1.5V だけで、2.5V には達しません。これはフルスケールより20log10(1.5/2.5)=4.44 dB20\\log_{10}(1.5/2.5) = -4.44\text{ dB}低い値です。したがって、実際の SQNR は 93.6 dB に近くなります。

次に、ノイズ密度について説明します。量子化ノイズはナイキスト帯域幅 (サンプルレートの半分) 全体に広がるため、次のようになります。

Noise Density=Vq,rmssqrtfs/2=11.01muVsqrt22050=74.2 nV/sqrtHz\text{Noise Density} = \frac{V_{q,rms}}{\\sqrt{f_s/2}} = \frac{11.01\\mu V}{\\sqrt{22050}} = 74.2\text{ nV/}\\sqrt{\text{Hz}}

これは、シグナル・チェーン内の他のノイズ源と比較する場合に便利です。プリアンプが200 nV/sqrtHz200\text{ nV/}\\sqrt{\text{Hz}}の影響を受けている場合、量子化ノイズはほとんど無視できます。デジタル化ではなくアナログノイズによる制限です。

ENOB: 有効ビット数

ENOB は SQNR の方程式をひっくり返します。SNR を測定または計算すると、「完全な」ビット数は何ビットと等しいでしょうか。

ENOB=SNR1.766.02ENOB = \frac{SNR - 1.76}{6.02}

93.6 dB SQNR のオーディオ例では、有効ビット数は 15.26 ビットです。悪くありません。フルスケールでない信号による損失は 1 ビット未満です。

しかし、実際の ADC には他にもノイズ源があります。一般的な 16 ビット・オーディオ ADC は、実際には 90 dB の SNR を仕様としている場合があり、ENOB は 14.67 ビットです。16 と 14.67 の間のギャップは?それ以外は、リファレンスの熱ノイズ、コンパレータのノイズ、クロックのジッターなど、何でもかまいません。

エンジニアがやけどする場所

フルスケール信号を想定

これは大きなものです。6.02N + 1.76 の式では、信号が ADC の全範囲を使用することを前提としています。ほとんどの実際の信号はそうではありません。オーディオエンジニアはクリッピングを避けるためにヘッドルームを離れます。通常の状態では、センサー信号は基準電圧の 10% しか振れていない可能性があります。

信号がフルスケールより 20 dB 低い場合は、SQNR から 20 dB を引いてください。-20 dBFS で信号を測定する 12 ビット ADC は、事実上、その信号の 9 ビットコンバーターのように動作します。これは常に人々を魅了します。

解像度とダイナミックレンジがわかりにくい

24 ビット ADC では 144 dB のダイナミックレンジは得られません。できません。それよりずっと前から、アナログ・フロントエンドの熱ノイズによって制限がかかっていました。ほとんどの 24 ビット・コンバータは、実際のダイナミック・レンジは 110 ~ 120 dB 程度です。余分なビットは、オーバーサンプリングの利点と、量子化ノイズを熱ノイズ以下に埋めるためのもので、実際には1,600万の異なる電圧レベルを解析しているからではありません。

ナイキスト帯域幅を無視すると

量子化ノイズ密度はサンプルレートに依存します。サンプルレートを 2 倍にすると、同じ合計ノイズパワーが 2 倍の帯域幅に分散され、ノイズ密度が 3 dB 減少します。オーバーサンプリングが役立つのはこのためです。そうすれば、余分な帯域幅を除外して、ある程度の SNR を回復できます。

しかし、この計算ツールでは、ナイキスト帯域幅全体を想定したときのノイズ密度が示されています。オーディオ周波数 (20 kHz) のみを対象とし、サンプリングが 1 MSPS の場合、実際の帯域内ノイズは未処理の数値が示す値よりはるかに低くなります。

DC 信号と動きの遅い信号

DC 信号や非常にゆっくりと変化する信号では、ノイズ分布が均一であるという仮定は成り立ちません。入力の量子化レベルが 1 つだけであれば、ノイズは発生せず、誤差が一定になるだけです。2 つのレベルの間でディザリングすると、遷移周波数で矩形波になります。これが、一部の高精度ADCが意図的にディザを追加する理由です。直感に反するように聞こえますが、少量のノイズを加えると、ゆっくりと変化する信号のリニアリティが実際に向上します。

ゲイン・ステージングを忘れる

エンジニアが 16 ビット ADC を選択し、その前面に 60 dB の SNR しか供給しないゲイン段を配置するのを見たことがあります。このADCは完全にやり過ぎです。12ビットの製品でも同様に動作し、コストも抑えられます。コンバータだけでなく、シグナル・チェーン全体を常に解析してください。

ビット数を増やしても役に立たない場合

ADC の分解能を追加しても、システムの改善が止まってしまう点があります。アナログ・フロントエンドが 72 dB の SNR を提供する場合は、12 ビット ADC (74 dB SQNR) が適しています。16 ビットにしても、アナログノイズが支配的であるため、ほとんど何も得られません。

経験則としては、SQNR がアナログノイズフロアよりも 6~10 dB 高い ADC を選びます。それ以上に、シリコン (そして通常は電力) が無駄になります。これより少ないということは、デジタル化中に信号が劣化しているということです。

実用的な設計上のトレードオフ

分解能が高いADCは、動作が遅く、高価で、消費電力も大きくなる傾向があります。24 ビットのシグマ・デルタ・コンバータは 10 kSPS しか処理できないかもしれませんが、10 ビット SAR は 10 MSPS に達することがあります。高周波アプリケーションでは、理論上必要な分解能が得られないことがよくあります。

そこで役立つのがオーバーサンプリングです。低解像度のADCでサンプリングを高速化してから、デジタルフィルター処理とデシメーションを行います。オーバーサンプリングが 4 倍になるごとに、SNR が約 6 dB (有効ビット 1 ビット) 向上します。12 ビット ADC で 16 倍のオーバーサンプリングを行うと、信号帯域幅の性能が 14 ビットに近づくことがあります。これはエンジニアリング上の適切なトレードオフである場合もあります。

試してみてください

実際の数値を ADC 量子化ノイズ計算ツールを開く に入力して、自分の立ち位置を確認してください。理論上の SQNR をアナログノイズバジェットと比較してください。ADC が全ノイズパワーの 10% 未満を占めていれば、おそらく問題ありません。量子化ノイズが支配的である場合は、解像度を上げるか、オーバーサンプリングするか、制限を受け入れるかのいずれかを行ってください。

計算ツールはLSBサイズ、SQNR、ENOB、ノイズ密度といった面倒な計算を行うので、その数値が実際にアプリケーションにとって意味があるかどうかに集中できます。なぜなら、結局のところ、シグナル・チェーンが供給できなければ、データシート上のビットは何の意味もないからです。

関連記事