工程师看海
认证:优质创作者
所在专题目录 查看专题
过采样系列一:采样定理与过采样率
过采样系列二:傅里叶变换与信噪比
过采样系列三:量化误差与过采样率
过采样系列四:实例提高ADC分辨率(终篇)
作者动态 更多
系统性学习多重要!用信号的知识,分析晶振输出异常
2星期前
不是,电容ESR寄生电阻并不是越低越好!
11-20 20:01
仪表放大器高通滤波的陷阱!
10-17 18:28
你知道吗:怎么选择RC低通滤波阻容值?
08-27 14:38
PWM+低通,天才般的设计思想:伪DAC
07-25 20:03

过采样系列四:实例提高ADC分辨率(终篇)

大家好,很高兴和各位一起分享我的第23篇原创文章,喜欢和支持我的工程师,一定记得给我点赞、收藏、分享哟。

欢迎加我的微信一起讨论:chunhou0820

这应该是过采样系列的最后一篇文章,经常有同学在使用FPGA、单片机或者DSP进行过采样时没有正确设计代码,导致结果异常,有些结果看似正常,而实际却没有意义

这篇文章涉及到简单的整型数据和算术运算,希望能有所帮助,仅供参考。

举栗子,理想的8 bit ADC,编码范围是0-255,在参考电压是255mV的情况下,分辨率是1mV

对一个理想的9.6mV直流电压进行采样,ADC无法分辨小数点后的0.6mV,采样结果会被编码为10,即10mV。

过采样有效是有前提条件的,在这里是对9.6mV的直流电压加随机噪声。

过采样

对叠加噪声后的信号进行4次采样,理论上应该得到[9.8, 9.6, 10.4, 9.6]4个离散的样本点,而受到ADC分辨率的限制,实际只能得到[10, 10, 10, 10]4个编码样本,所有样本点都只能分布在。。。8、9、10。。。整数上。

接下来就对这4个样本点详细介绍,直观的感受过采样的原理。

假设信号带宽为B,我们分别分析采样频率F为2B sps/S和8B sps/S两种情况。

当采样频率为2B时,过采样率OSR1=F/(2B)=1;

当采样频率为8B时,过采样率OSR4=F/(2B)=4;

OSR4/OSR1=4,即过采样率提高了4倍(注意:是提高了4倍),其分辨率应该会增加1bit。

过采样系列一:采样定理与过采样率

继续以上面采样9.6mV信号举栗子。

当以采样频率F=1采样时,采集的结果是[10, 10,10, 10]中的任意一个,对应二进制(0000 1010)。

当以采样频率F=4采样时,采集的结果是[10, 10,10, 10]4个序列。

下面对F=4的4个数据进行下抽处理(降采样),可以减少计算量增加分辨率。

抽取

ADC是8bit的分辨率,但是在过采样计算时,不能定义并初始化一个8bit的整形数据如果初始化8bit的数据,计算过程会溢出最终结果的位宽还是8bit,并没有增加分辨率,在这里我们定义一个16bit的数据,预留了足够的buffer。

对采样得到的4个8bit数据求和运算,需要计算最大位宽,求和后的最大位宽为8+2=10bit,相当于左移了2bit,变为10bit。

如果只是简单的求平均,求和后的结果再除以采样个数4的话,则数据其实是右移2bit,又变回原来的8bit位宽,并没有增加分辨率。

在这里我们选择下抽方法是求和后除以2,即右移1bit,则数据从10bit变为9bit,相比于原始的8bit,增加了1bit分辨率(过采样容易理解,更重要的是下抽)。

过采样系列三:量化误差与过采样率

过采样率为4时,采样的4个数据序列[10, 10,10, 10]求和后是40,对应二进制(00 0010 1000),右移1bit后变为20,对应二进制(0 0001 0100)

255mV参考电压下,原始的8bit ADC,分辨率为1mV,采集的数据是9(0000 1001),即9mV;

过采样率增加4倍后:

255mV参考电压下,9bit ADC,分辨率为0.5mV,采集的数据是20(0 0001 0100),即10.0(9.98)mV;

过采样率增加4倍的前提下,只提高了1bit分辨率,效果不是很明显,继续在9.6mV基础上添加随机噪声,这次过采样率再增加4倍,达到16倍,即采样速率F=16,对16个采样序列进行计算举例。

对采样得到的16个8bit数据求和运算,最大位宽是8+4=12bit。

求和:10*8+9*7+11=154,对应二进制是(0000 1001 1010),再右移2bit,则变为10bit的38(00 0010 0110),(再次强调,不能简单的求和然后求平均)。

9.6mV加噪信号:

1、255mV参考电压下,原始的8bit ADC,分辨率为1mV,采集的数据是9(0000 1001),即9mV

2、过采率为4后:

255mV参考电压下,9bit ADC,分辨率为0.5mV,采集的数据是20(0 0001 0100),即10.0(9.98)mV;

3、过采率为16后:

255mV参考电压下,10bit ADC,分辨率为0.25mV,采集的数据是38(00 0010 0110),即9.47mV;

从列举的例子可以看出,过采样率是可以提高分辨率的,但是提高采样速率来提高分辨率的代价是巨大的牛顿第三定律:得到点东西时总要舍弃点什么^_^

感谢转发、赞赏、分享。分享,让知识更简单。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
本篇所含全部资料,点击此处留下邮箱我会发给你
资料明细:过采样.zip
觉得内容不错的朋友,别忘了一键三连哦!
赞 6
收藏 10
关注 677
成为作者 赚取收益
全部留言
0/200
  • 梁闪光 2021-04-14 20:39
    老师,能不能发我一下资料,谢谢! 14****@****.com
    回复 1条回复
  • oysliang 2021-04-13 23:35
    老师,能不能发我一下资料,谢谢! 10****@****.com
    回复 1条回复
  • 希音的设计笔记 2021-04-13 22:18
    11
    回复