• 検索結果がありません。

分解能と精度

ドキュメント内 Linuxデバイスドライバチュートリアル (ページ 38-41)

第 5 章 アナログ入力 37

5.1.3 分解能と精度

アナログをデジタルに変換することは、連続した量を不連続な値に変換することを意味します。

ここで、0~1.0Vの電圧値を2ビットのデジタル値に変換するとします。

2ビットで表現できる値は、「00」「01」「10」「11」の4つとなります。従って、電圧をアナログ量からデジタル量に変換するに は、これら4つのデジタル値のうちいずれか1つに変換しなければなりません。つまり、0~1.0Vまでの範囲を4で割った値 (=0.25V)がデジタル値1つ分の幅となります。

2つの電圧値V1とV2がこの幅(0.25V)を越えると、デジタル値が変化しV1とV2の差が区別できるようになります。

V1 V2 V1

V2

アナログ値 アナログ値

デジタル値 デジタル値

0.25V 0.25V

2 つのアナログ値が 0.25V範囲外

デジタル値に差が出る 2つのアナログ値が

0.25V範囲内

デジタル値が同じ

この区別できる電圧の範囲、言い換えれば最小単位の1ビットに対するアナログ量を分解能といい、LSB(Least Significant Bit)として表現されます。一般的には分解能nビットといった具合に表現されています。入力電圧が0~5Vで分解能12ビッ トの時は、

5 ÷ 4096 ≒ 0.00122(V)

が、1LSBとなります。

AD変換されたデジタル値は、1LSBを単位とした離散値になります。このように、それ以上分割できない最小の単位(この 場合LSB)に分割することを量子化といいます。

また、量子化することによって、連続した量が不連続な値になる際、誤差が必ず含まれてしまいます。この誤差のことを量 子化誤差といいます。

上記の場合、精度が±1LSBならば、-1.22mV~+1.22mVの範囲で誤差があることを示しています。したがって、誤差がも っとも大きい場合、測定値+1.22mVまたは測定値-1.22mVとなります。

-1.22mV +1.22mV 最大誤差

測定値

分解能をnビットと表現する場合、本来の分解能はフルスケール(FSR:Full Scale Range)を2のビット数乗で割った値となり ます。入力電圧が0~+5Vの場合はFSR=5、入力電圧が-5V~+5Vの場合はFSR=10となります。

n

LSB FSR 1 = 2

12ビットのAD変換では、最小値0, 最大値4095(FFFh)となり、精度±0.04%FSRの場合、入力電圧が0~+10Vならば、FSR

の±0.04%、つまり-0.004V~+0.004Vの範囲内で誤差があることを意味します。

★レンジの上限値

変換データのデジタル値の最大値に相当する電圧は、レンジの上限になりません。

例えば、12ビット分解能,±5Vレンジの時は4095が最大値となり、それに相当する電圧は 10÷4096×4095-5≒4.9975V となります。

★量子化誤差

高分解能のA/Dコンバータを使えば、より高精度のAD変換が可能です。

入力電圧が0~+5Vの時、12ビット分解能と16ビット分解能では、以下の違いが生じます。

12ビット分解能:5÷4096 ≒0.00122V(1.22mV) 16ビット分解能:5÷65536≒0.00007629V(76μV)

ただ、高分解能のA/Dコンバータは比例して高価なので、計測に要求される精度に合わせて選択する必要があります。

ドキュメント内 Linuxデバイスドライバチュートリアル (ページ 38-41)