量子化誤差の概念を理解したら、次に気になるのはその具体的な計算方法ではないでしょうか。
実際の設計現場や学習の場面では、最大誤差・RMS(二乗平均平方根)誤差・平均二乗誤差といった指標を数式で求めることが求められます。
ビット数やLSBとの関係を正確に把握することで、ADCの性能評価や適切なビット数の選定が可能になります。
本記事では、量子化誤差の計算公式と求め方を体系的に解説します。
数式が苦手な方でも理解できるよう、具体的な数値例を交えながら丁寧に説明していきます。
量子化誤差の計算の基本:LSBとビット数の関係を押さえよう
それではまず、量子化誤差の計算の基礎となるLSBとビット数の関係について解説していきます。
すべての計算の出発点となる基本概念をしっかり理解することが、正確な誤差評価への近道です。
LSB(最下位ビット)とは何か
LSB(Least Significant Bit:最下位ビット)は、ADCが識別できる最小の電圧変化量を表します。
フルスケールレンジ(FSR)をVfsとし、ビット数をnとすると、LSBは次の式で求められます。
LSB = Vfs ÷ 2ⁿ
例:Vfs = 5V、n = 8ビットの場合
LSB = 5 ÷ 256 ≒ 0.01953V(約19.5mV)
このLSBが量子化誤差の計算においてすべての基準となります。
ビット数が増えるほどLSBは小さくなり、より細かい分解能で信号を表現できるようになります。
ビット数と量子化レベル数の関係
nビットのADCが表現できる量子化レベル数は2ⁿ個です。
ビット数と量子化レベルの関係を整理すると以下のようになります。
| ビット数 | 量子化レベル数 | 5V系でのLSB |
|---|---|---|
| 4ビット | 16段階 | 約312.5mV |
| 8ビット | 256段階 | 約19.5mV |
| 12ビット | 4,096段階 | 約1.2mV |
| 16ビット | 65,536段階 | 約76μV |
| 24ビット | 16,777,216段階 | 約0.3μV |
ビット数が1増えるごとに量子化レベルが2倍になり、LSBは半分になることがわかります。
これは量子化誤差が毎ビット増加で半減することを意味しています。
フルスケールレンジと誤差の関係
フルスケールレンジとは、ADCが扱える入力電圧の最大範囲です。
同じビット数であっても、フルスケールレンジが広いほどLSBは大きくなり、量子化誤差も大きくなります。
精度を高めるには、入力信号の範囲に合わせてフルスケールレンジを適切に設定することが重要です。
入力信号がフルスケールの一部しか使わない場合、ゲイン調整によって実効的な分解能を向上させるテクニックも有効です。
最大量子化誤差の計算方法
続いては、最大量子化誤差の計算方法を確認していきます。
設計上の最悪ケースを把握するために、最大誤差の計算は必須の知識です。
丸め処理における最大誤差
丸め処理(四捨五入型)の場合、最大量子化誤差は次の式で表されます。
最大量子化誤差(丸め)= ±LSB/2 = ±Vfs ÷ (2 × 2ⁿ)
例:Vfs = 5V、n = 8ビットの場合
最大誤差 = ±5 ÷ (2 × 256) = ±9.77mV
この値は正負両方向に等しく分布するため、平均的なバイアス誤差はゼロになります。
丸め処理はバランスの良い誤差分布を持つため、精度重視の設計では丸め処理を採用することが推奨されます。
切り捨て処理における最大誤差
切り捨て処理の場合、最大量子化誤差は次の通りです。
最大量子化誤差(切り捨て)= 0 ~ -LSB = 0 ~ -Vfs ÷ 2ⁿ
例:Vfs = 5V、n = 8ビットの場合
最大誤差 = 0 ~ -19.53mV
切り捨て処理では常に負の方向に誤差が生じ、平均誤差は-LSB/2となります。
このバイアスが蓄積すると、長時間の計測や積算処理において系統的な誤差の原因となります。
相対誤差としての表現
最大量子化誤差をパーセントで表す場合、フルスケールに対する割合で示します。
相対誤差(%) = (最大誤差 ÷ Vfs) × 100
8ビット丸め処理の場合:(9.77mV ÷ 5V) × 100 = 0.195%
16ビット丸め処理の場合:約0.00076%
高精度システムでは相対誤差0.1%以下が要求されることも多く、必要な精度から逆算して最低限のビット数を決定する設計アプローチが標準的です。
RMS誤差(二乗平均平方根誤差)の計算方法
続いては、RMS誤差の計算方法を確認していきます。
最大誤差は最悪ケースを示しますが、実際の性能評価では統計的な指標であるRMS誤差が広く使われます。
RMS誤差とは何か
RMS誤差(Root Mean Square Error:二乗平均平方根誤差)は、誤差の二乗の平均値の平方根であり、誤差の実効値を表します。
量子化誤差が-LSB/2から+LSB/2の間で一様に分布すると仮定した場合(これを量子化雑音モデルといいます)、RMS誤差は解析的に求めることができます。
RMS量子化誤差 = LSB ÷ √12 = Vfs ÷ (2ⁿ × √12)
例:Vfs = 5V、n = 8ビットの場合
RMS誤差 = 19.53mV ÷ √12 ≒ 19.53 ÷ 3.464 ≒ 5.64mV
この√12という係数は、一様分布の標準偏差から導出されたものです。
平均二乗誤差(MSE)との関係
平均二乗誤差(MSE:Mean Squared Error)はRMS誤差の二乗に相当します。
MSE = (LSB)² ÷ 12 = (Vfs)² ÷ (12 × 2²ⁿ)
例:Vfs = 5V、n = 8ビットの場合
MSE = (19.53mV)² ÷ 12 ≒ 31.8 × 10⁻⁶ V²
MSEはフィルタ設計や信号処理アルゴリズムの評価において重要な指標となり、最小二乗法などの最適化手法と組み合わせて活用されます。
SNR(信号対雑音比)との関係
量子化誤差をRMSで評価する最大の目的の一つが、SNR(Signal-to-Noise Ratio)の計算です。
理論的SNR(dB)= 6.02n + 1.76(dB)
nはビット数
8ビットの場合:SNR = 6.02 × 8 + 1.76 ≒ 49.9 dB
16ビットの場合:SNR = 6.02 × 16 + 1.76 ≒ 98.1 dB
ビット数が1増えるごとにSNRは約6dB向上します。
この関係式はオーディオエンジニアにとってよく知られた公式であり、必要なビット数を決定する際の重要な設計指針となります。
量子化誤差の計算において最も重要な公式をまとめると、最大誤差は±LSB/2(丸め処理の場合)、RMS誤差はLSB÷√12、SNRは6.02n+1.76dBとなります。これらの公式を使いこなすことで、設計要件に合ったADCのビット数選定が的確に行えます。
まとめ
本記事では、量子化誤差の計算方法について、LSBとビット数の関係から最大誤差・RMS誤差・MSE・SNRまでを体系的に解説しました。
計算の基本はLSB = Vfs ÷ 2ⁿという式であり、ここからすべての誤差指標が導出されます。
設計の目標精度から必要なビット数を逆算するアプローチが実務では特に重要です。
RMS誤差やSNRの公式を活用することで、より科学的な根拠に基づいたADC選定と信号処理システムの設計が可能になるでしょう。