0

所以我有一个 adc 将模拟信号转换为无符号的 16 位量,我如何能够将这个 16 位值转换回原始输入?

例如,我有一个介于 -5v 和 5v 之间的输入电压,它被转换为 16 位无符号数,我试图设置一个公式将其转换回原始值。

所以在这里我只有10v的范围,据我所知,我只需将16位值转换为十进制并减去范围的一半以获得原始值吗?

所以我的方程会是这样的

original value = [(digital value * 10) / 2^16] - 5

其中 10 是电压范围,2^16 是我的数字代码数,-5 是我的偏移量,但这似乎太简单了,我几乎肯定它不正确,这是 adc 的工作方式吗?

我一直在参考我在 google 上找到的这个 powerpoint

http://class.ece.iastate.edu/arun/Cpre381_Sp06/lectures/adc.ppt

谢谢

4

1 回答 1

0

您使用的是哪个 ADC,请参阅它的手册,它将有详细信息。你确定它给出了无符号的 16 位吗?你能检查一下这个数据表吗?另外,如果您有一些串行 uart 或其他东西,我建议您将 16 位打印在终端上,然后您可以看到。这就是我确定我的 ADC 的确切输出格式的方式。有时您必须根据 ADC 输出更改乘数(* 10 或 5),但这只能在查看数据表后才能清除。在一般情况下,您的公式是正确的。

于 2014-03-20T10:50:47.030 回答