AD変換・量子化誤差 体験ツール
理想量子化器の量子化誤差と、コード幅のずれから生じるDNL(微分非直線性)/INL(積分非直線性)をグラフで確認するWebツールです。 ビット数、入力範囲、入力電圧を動かしながら、アナログ値がどのコードへ割り当てられるかを見られます。
ADCの条件
3 bit / 8 codes変換特性
入力電圧 → 出力コード量子化誤差
入力 - 理想量子化器のコード中心DNL / INL
微分非直線性 / 積分非直線性コード幅
先頭8コード| code | 幅 | DNL | INL |
|---|---|---|---|
| 0 | 1.1846 LSB | +0.1846 LSB | +0.1846 LSB |
| 1 | 1.0965 LSB | +0.0965 LSB | +0.2811 LSB |
| 2 | 0.9955 LSB | -0.0045 LSB | +0.2766 LSB |
| 3 | 1.0443 LSB | +0.0443 LSB | +0.3209 LSB |
| 4 | 0.943 LSB | -0.057 LSB | +0.2638 LSB |
| 5 | 0.7421 LSB | -0.2579 LSB | +0.0059 LSB |
| 6 | 0.8519 LSB | -0.1481 LSB | -0.1421 LSB |
| 7 | 1.1421 LSB | +0.1421 LSB | - |
このツールは学習用の簡易モデルです。実際のADCでは、ノイズ、オフセット誤差、ゲイン誤差、基準電圧、サンプリング回路、測定方法も関係します。
要望やバグ報告はお問い合わせフォームからどうぞ。
使い方
まずは「理想3bit」を選ぶと、AD変換の階段状の変換特性と量子化誤差が見やすくなります。 ビット数を増やすとコード数が増え、1 LSBは小さくなります。
「コード幅のばらつき」を上げると、各コードの幅が理想的な1 LSBからずれます。 このずれをDNL(微分非直線性)として表示し、遷移点の累積的なずれをINL(積分非直線性)として表示します。
AD変換と量子化誤差
AD変換は、連続的なアナログ電圧を有限個のデジタルコードへ割り当てる処理です。 このページでは、連続的な入出力の目安を「理想直線」、DNL/INLのない階段状の変換特性を「理想量子化器」と呼び分けます。 入力範囲(フルスケール範囲、FSR)を \(V_{\mathrm{FSR}}\)、ビット数を \(N\) とすると、1 LSBは次のように表せます。
\[ q = \frac{V_{\mathrm{FSR}}}{2^N} \]
入力を \(x\)、理想量子化器のコード中心を \(Q(x)\) とすると、量子化誤差は次の差です。
\[ e = x - Q(x) \]
理想量子化器では、丸め方や端点を除けば、量子化誤差はおおむね \(\pm 1/2\) LSBの範囲に入ります。 十分に多くのコードをまたぐ信号では、量子化誤差を一様分布として近似し、rms値を \(q/\sqrt{12}\) とみなすことがあります。
DNL(微分非直線性)とは
DNL(微分非直線性)は Differential Non-Linearity の略で、各コード幅が理想的な1 LSBからどれだけずれているかを表します。
\[ \mathrm{DNL}[k] = \frac{W[k] - q}{q} \]
ここで \(W[k]\) はコード \(k\) の実際の幅、\(q\) は理想コード幅です。 DNLが正ならそのコード幅は広く、負なら狭くなります。 単調性を持つADCなら \(\mathrm{DNL} \geq -1\) LSB が境界条件です。\(-1\) LSBではコード幅が0になり、ミッシング・コードになります。\(-1\) LSBを下回る場合は遷移順が崩れ、非単調なモデルになります。
INL(積分非直線性)とは
INL(積分非直線性)は Integral Non-Linearity の略で、実際のコード遷移点が理想直線からどれだけずれているかを表します。
このツールでは、入力範囲の両端を合わせた簡易的なend-point line基準で、内部遷移点のずれをLSB単位で表示しています。 実際のデータシートでは、end-point line基準かbest-fit line基準かでINLの見かけが変わるため、比較するときは基準線の定義を確認する必要があります。
微分非直線性と積分非直線性の違い
DNL、つまり微分非直線性は「各ステップの幅」を見ます。 INL、つまり積分非直線性は「遷移点が理想直線からどれだけずれたか」を見ます。 量子化誤差が理想量子化器でも生じる誤差なのに対して、DNL/INLは実デバイスの静的直線性を表す誤差です。
| 項目 | 見るもの | このページでの扱い |
|---|---|---|
| 量子化誤差 | 入力値と理想コード中心の差 | 理想量子化器の誤差波形として表示 |
| DNL | 各コード幅のずれ | コード幅を1 LSBと比較 |
| INL | 遷移点の累積的なずれ | end-point基準の簡易モデル |
実務での注意
実際のADC評価では、量子化誤差、DNL/INL、ノイズ、オフセット誤差、ゲイン誤差、クロック、基準電圧を分けて考えます。 DNL/INLは静的直線性の指標であり、SNRやTHD+Nのような動的特性とは別の見方です。
音声ADCではDNL/INLよりSNRやTHD+Nが主指標になりやすく、精密計測や画像、制御ではミッシング・コードなしであることやINLが重要になることがあります。 「何bitか」と「そのbit数ぶんの精度があるか」は同じではありません。
関連ツール
時間方向のサンプリングで起きる折り返しを確認したい場合は、エイリアシング体験ツールも使えます。 このページでは振幅方向の量子化を扱い、エイリアシング体験ツールでは時間方向のサンプリングを扱います。
