量子化とADCのノイズ
アナログをデジタルに変換すると必ず量子化ノイズが乗ります。ビットを1増やすと約6dB改善する理由、ディザで歪みをノイズに変える技、オーバーサンプリングで実効分解能を稼ぐ原理を式から押さえます。
- 1.量子化誤差は最下位ビット幅 q を持つ均一乱数とみなせ、その電力は q^2/12。フルスケール正弦波に対する量子化SNRは SQNR = 6.02N + 1.76 dB で、ビットが1増えるごとに約6dB改善する。
- 2.小振幅で量子化誤差が信号と相関すると耳障りな高調波歪みになる。振幅 q 程度のディザ(微小ノイズ)を加えて誤差を白色化すると、歪みが平坦なノイズに化けて可聴的に改善する。
- 3.サンプリング周波数を上げても量子化ノイズ総電力は変わらないが、帯域に薄く広がる。オーバーサンプリング比 OSR を4倍にすると帯域内ノイズが6dB下がり、実効分解能が1ビット増える。ΔΣはこれをノイズシェーピングで加速する。
デジタル化に必ず付く「量子化ノイズ」
連続的なアナログ信号をデジタルにするには、時間方向の標本化(サンプリング)と振幅方向の量子化が要ります。標本化は理論上は情報を失いませんが、量子化は連続的な振幅を有限個の段に丸めるため、原理的に誤差が避けられません。この誤差が量子化ノイズです。ここではその電力・ビット深度との関係・ディザ・変換器の内部動作・オーバーサンプリングを、式を追いながら原理レベルで開けます。数式は LaTeX を使わず、添字つきのプレーンな式で表します。
分解能 N ビットの ADC は、フルスケール電圧 FS を 2^N 段に分割します。1段(最下位ビット、LSB)の幅を量子化ステップ q と呼び、次で定まります。
q = FS / 2^N
例えば FS = 1 V、N = 12 なら q = 1 / 4096 ≒ 244 μV。入力はこの q 刻みの最も近い代表値に丸められ、真値との差が量子化誤差 e になります。
量子化誤差の電力:q^2/12 が核心
四捨五入型の量子化では、誤差 e は -q/2 から +q/2 の範囲に収まります。入力が信号として十分に変化し、量子化ステップをまたいで動くとき、e は区間 [-q/2, +q/2] 上の一様分布の乱数として近似できます(量子化ノイズモデル)。一様分布の分散=ノイズ電力は次のように積分で求まります。
Pq = (1/q) ∫ e^2 de (積分区間 e = -q/2 .. +q/2)
= q^2 / 12
この q^2/12 が量子化ノイズ電力の基本式です。実効値(RMS)でいえば q / √12 ≒ 0.29 q。重要なのは、この電力が入力信号の大きさに依らずステップ幅 q だけで決まる点で、後述の SNR やオーバーサンプリングの議論はすべてここから出発します。
q^2/12 は「誤差が信号と無相関な白色一様ノイズ」という仮定に基づく近似です。入力が直流に近い、振幅が数 LSB 以下、あるいは正弦波の周波数がサンプリング周波数と整数比になる、といった場合は誤差が信号と強く相関し、ノイズではなく決定論的な高調波歪みとして現れます。低振幅ほどこのモデルが破綻しやすい、というのがディザを必要とする理由です。
量子化SNRとビット深度:1ビット=約6dB
信号電力を Ps とすると、量子化SNR(SQNR)は Ps / Pq です。評価の基準として、振幅がフルスケール一杯(ピークで ±FS/2)の正弦波を入れます。この正弦波の電力は (FS/2)^2 / 2 = FS^2 / 8 で、FS = q · 2^N を代入すると次を得ます。
SQNR = Ps / Pq = (FS^2 / 8) / (q^2 / 12)
= (12 / 8) · (2^N)^2
= 1.5 · 2^(2N)
これをデシベルにすると、量子化理論で最も有名な式が現れます。
SQNR[dB] = 10·log10(1.5 · 2^(2N))
= 6.02·N + 1.76 [dB]
係数 6.02 が「1ビットで約6dB」の正体です。log10(2^2) = 2·0.301 = 0.602 を10倍した値で、定数 1.76 dB はフルスケール正弦波という基準の取り方(10·log10(1.5))から来ます。この基準を外れると値が変わる点に注意が必要です。
| ビット深度 N | 理論SQNR(フルスケール正弦波) | 代表的な用途 |
|---|---|---|
| 8 ビット | 約 49.9 dB | 簡易センサ・制御用ADC |
| 12 ビット | 約 74.0 dB | 汎用計測・マイコン内蔵ADC |
| 16 ビット | 約 98.1 dB | 音楽用CD・オーディオ |
| 24 ビット | 約 146.2 dB | ハイレゾ・計測(実効は雑音で頭打ち) |
実際の変換器は熱雑音・非直線性・クロックジッタなどで理論値どおりには動きません。測定した実SNRから逆算した実効分解能を ENOB(有効ビット数)と呼び、ENOB = (SNDR[dB] - 1.76) / 6.02 で求めます。SNDR は歪みを含めた信号対雑音歪み比です。24ビットADCの ENOB が20ビット前後にとどまるのはこのためで、データシートでは公称ビット数より ENOB を見るのが実務の鉄則です。
ディザ:歪みを「聞こえないノイズ」に変える
低振幅信号で量子化誤差が信号と相関すると、耳障りな高調波歪みが生じます。これを避けるのがディザ——量子化する前に振幅 q 程度の微小なランダムノイズをわざと加える手法です。信号に揺らぎを与えることで、量子化のたびに丸め方向がランダムに変わり、誤差が信号と無相関な白色ノイズに化けます。
量子化前: x_dithered = x + d (d は振幅 ~q の乱数)
効果: 信号相関の歪み → 平坦な広帯域ノイズ
歪みの総電力自体はむしろ増えますが、エネルギーが特定の高調波に集中せず全帯域へ均されるため、聴感上・スペクトル上は大きく改善します。人間の聴覚は平坦なノイズより離散的な歪み成分を強く検知するため、オーディオの16ビット化やビット深度削減(24→16ビット等)で標準的に使われます。三角確率密度(TPDF)ディザは、誤差の分散を入力に依存させない性質があり最もよく用いられます。
0.4 を四捨五入すると常に0で、0.4 という情報は完全に失われます。しかし毎回 -0.5..+0.5 の乱数を足してから丸めると、平均40%の確率で1に、60%で0に丸まります。多数回平均すれば期待値0.4が復元される——ディザは「丸めの偏りを乱数で散らし、平均に情報を残す」操作だと理解すると腑に落ちます。
ADC/DACの原理:逐次比較とΔΣ
ADC は連続量を数値に変換します。代表方式が逐次比較型(SAR)で、内蔵DACが生成する参照電圧と入力を比較器で比べ、上位ビットから1ビットずつ二分探索的に確定させます。N ビットで N 回の比較を要し、中速・高分解能・低消費電力で汎用に広く使われます。高速用途では全レベルを同時比較するフラッシュ型、超高分解能では次のΔΣ(デルタシグマ)型が使われます。
DAC はデジタル値をアナログに戻す逆変換で、各ビットに重み付けした電流や電圧を合成(R-2R ラダー等)し、後段のローパスフィルタで階段状の出力を平滑化します。ADC も DAC も、量子化ステップ q の丸めがある限り q^2/12 の量子化ノイズからは逃れられません。
| 方式 | 変換の仕組み | 速度/分解能の傾向 |
|---|---|---|
| フラッシュ型 | 全しきい値を並列比較器で一度に判定 | 最速・低分解能・高消費電力 |
| 逐次比較(SAR)型 | 内蔵DACと比較し上位から二分探索 | 中速・中〜高分解能・低消費電力 |
| ΔΣ型 | オーバーサンプリング+ノイズシェーピング | 低速・超高分解能(オーディオ・計測) |
オーバーサンプリング:帯域を広げてノイズを薄める
量子化ノイズ電力 q^2/12 は総量として固定です。しかしこのノイズは0 から fs/2(ナイキスト周波数)までほぼ平坦に広がるため、サンプリング周波数 fs を上げると、同じ総電力がより広い帯域に薄く延ばされます。信号帯域幅を B、fs / (2B) をオーバーサンプリング比 OSR とすると、後段のデジタルフィルタで帯域外ノイズを除去した後、信号帯域に残るノイズ電力は次のように下がります。
帯域内ノイズ = (q^2 / 12) · (2B / fs) = (q^2 / 12) / OSR
改善量[dB] = 10·log10(OSR)
OSR を4倍にすると帯域内ノイズが6dB下がり、実効分解能が1ビット増える計算です(10·log10(4) ≒ 6.02 dB)。ただし単純なオーバーサンプリングは1ビット稼ぐのに4倍のOSRが要り、効率が悪いのが弱点です。
- 量子化ステップ:
q = FS / 2^N。誤差は[-q/2, +q/2]一様、電力はq^2/12。 - SQNR:フルスケール正弦波で
6.02N + 1.76 dB。1ビット=約6dB を即答。 - ENOB:
(SNDR - 1.76) / 6.02。公称ビット数と実力の差を測る指標。 - ディザ:相関した歪みを白色ノイズ化。総電力は増えるが可聴的に改善。
- オーバーサンプリング:帯域内ノイズは
1/OSR、改善は10·log10(OSR)。OSR 4倍で1ビット。 - ノイズシェーピング:ΔΣで量子化ノイズを高域へ追い出し、少ないOSRで多ビット相当を実現。
ΔΣ変調器はこの原理をさらに推し進め、ノイズシェーピングで量子化ノイズを信号帯域から高域へ積極的に追いやります。帰還ループで量子化誤差を高域通過特性で成形するため、同じOSRでも単純オーバーサンプリングよりはるかに大きな帯域内SNRが得られ、1ビット量子化器でも実効24ビット相当を達成できます。これがオーディオADC/DACの主流がΔΣである理由です。
まとめ
量子化ノイズは変換器の欠陥ではなく、連続を離散に丸める以上必ず生じる原理的な誤差です。要点は、(1) 誤差電力は q^2/12 でステップ幅だけに依存すること、(2) フルスケール正弦波のSQNRは 6.02N + 1.76 dB で1ビットが約6dBに相当すること、(3) 低振幅で相関する歪みはディザで白色ノイズに化けさせ可聴的に改善できること、(4) オーバーサンプリングは帯域内ノイズを 1/OSR に薄め、ΔΣのノイズシェーピングがそれを加速すること。これらは信号のデジタル化を扱うあらゆる場面——電源のフィードバック制御から音声・計測まで——で共通の土台になります。
信号処理・制御 Article
量子化とADCのノイズを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
量子化
比較で見る軸
難易度: advanced / カテゴリ: 信号処理・制御 / タグ数: 5
導入後に効く点
小振幅で量子化誤差が信号と相関すると耳障りな高調波歪みになる。振幅 q 程度のディザ(微小ノイズ)を加えて誤差を白色化すると、歪みが平坦なノイズに化けて可聴的に改善する。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- 信号処理・制御
- タグ数
- 5
判断チェックリスト
- 自社の用途が「量子化 / ADC」に近いか確認する。
- 強みである「量子化誤差は最下位ビット幅 q を持つ均一乱数とみなせ、その電力は q^2/12。フルスケール正弦波に対する量子化SNRは SQNR = 6.02N + 1.76 dB で、ビットが1増えるごとに約6dB改善する。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。