AD采样后数据如何在FPGA中转化为有符号数

可编程逻辑

1364人已加入

描述

输入系统的有正有负的模拟信号在AD采样前,会加上了直流偏置变成全正信号才输入AD的,所以在AD采样后送给FPGA的信号是无符号数,而我们后续的信号处理是需要对真实的信号进行处理,那么就需要将这个直流偏置去掉,还原出真实的数字信号。

那么怎样去掉这个直流偏置呢,首先要明白AD采样前是怎么加上这个直流偏置的。如果AD转换为16bit,那么AD采样的信号幅度理论上应该为-32768到+32768,所以要变成全正的信号,加上的直流偏置位32768,也就是2^16/2。所以可以将采样得到的数据都前去一个常数32768就可以将AD采样后的无符号数变成有符号数,但是其实还要更简单的办法来实现。

AD转换后的信号为无符号数,需要进行转换后变成有符号数才能进行后续处理。于是在AD转换后将最高位取反,就可以将AD转换后的无符号数变成有符号数。为什么直接取反就可以将无符号数变成有符号数呢。

按前面分析的,如果AD转换后是16位,那么转换时只需减去32768就行,则将最高位取反其实就相当于减去32768。最高位为1,说明无符号数大于32768,最高位取反为0,相当于减去了32768,取反完后还是正数。最高位为0,所以无符号数小于32768,最高位取反为1,也是相当于减去32768,取反完后为负数。即将最高位取反,也就实现了将无符号数转化为有符号数,而对位取反操作在FPGA中是非常容易实现的,而不是需要用一个减法器来实现,浪费资源。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分