1
$\begingroup$

I have a $14$-$\textrm{bit}$ ADC which can take $-10\textrm{ V}$ to $10\textrm{ V}$ as input. So, $0$ to $16383$ (digital) represents the voltage from $-10$ to $10$. If I want to get the actual voltage from the digital values I am getting, what should I do? i.e. if $8192$ is coming then my program should identify it as $0\textrm{ V}$.

Please help me out. If my understanding is wrong, please correct me.

$\endgroup$
1
$\begingroup$

Your understanding is right. First subtract the bias, and then apply scaling to get analog actuality.

$\endgroup$
1
$\begingroup$

You have to make sure that you know the output format of the ADC. If the coding is Bipolar Offset Binary (BOB), then you're right and the coded voltage is given by

$$V_c=n\frac{V^+-V^-}{2^{14}}+V^-,\quad 0\le n<2^{14}\tag{1}$$

where $n$ is the digital code word, and in your case $V^+=10\,\text{V}$ and $V^-=-10\,\text{V}$.

Note, however, that there are also other formats like Complementary Offset Binary (COB), or Two's Complement. This document has an overview of common coding schemes for data converters.

$\endgroup$
  • $\begingroup$ output voltage of ADC ? $\endgroup$ – Fat32 Jun 19 '16 at 20:56
  • $\begingroup$ @Fat32: Indeed a very unfortunate choice; edited. Thanks for pointing it out. $\endgroup$ – Matt L. Jun 20 '16 at 7:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.