LSB{(Least Significant Bit)least(最も少ない)、significant(重要な)}は「最下位ビット」という意味で、分解能を語るときには特に アナログ-デジタル変換(ADC)やデジタル-アナログ変換(DAC) の文脈でよく使われる言葉である。
LSBが意味すること
LSBはその変換器が識別できる最小の値の単位。
たとえば、10ビットのADCで、測定できる電圧範囲が0〜5Vだった場合:
ビット数が10ビット → 2¹⁰ = 1024段階
1 LSB = 5V / 1024 ≈ 4.88mV
1LSBを4.88mVにすることで5Vを10ビット分の1024分割することができる。
Offset=ゼロ点補正
例えば、ADCの「0」が現実の「0V」じゃなく「0.2V」に相当するのがオフセット
LSBとオフセット(Offset)の関係は、ADCやセンサからの値を現実世界の単位(Vや℃など)に変換するときに超重要である。
変換式で見ると関係がわかりやすい
ADCのデジタル値(例:adc_val)を実際の電圧(real_voltage)に変換するには:
real_voltage=LSB×adc_val+Offset
プログラミングにおいて負の数を用いると符号ミスやオーバーフローによるバグの原因になりやすいため、オフセットを用いる。
計算問題例
①10ビットADC(0〜5V)を使って電圧を測定しています。
ADCの出力値が「600」のとき、入力電圧は何Vと推定される?
real_voltage=LSB×adc_val+Offset=4.88mV×600=2.928V
②ある温度センサは、出力電圧0.5V〜4.5Vで、温度-50℃〜+150℃を表すものとする。
このセンサの出力がADC(10ビット、0〜5V)を通して「512」と出たとき、温度は何℃か?
temp=(voltage−0.5V)× 4.0/200 =(2.5−0.5)×50=2.0×50=100℃
voltage−0.5Vは0点調整 real=LSB×adcが基本
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme