打印
[其他ST产品]

AD过采样提高采样精度

[复制链接]
1937|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
过采样技术是一种以牺牲采样速度来提高ADC分辨率的技术。如果STM32的12位AD,每秒采集10个数据,即采样率为:10/秒。根据过采样技术,每提高1位ADC分辨率,需要增加4倍的采样率。从12位AD提高到14位AD,一共提高了2位,所以需要把采样率提高2 * 2 * 2 * 2 = 16倍。原来在100mS之内只采集一个数据,现在需要在100mS之内采集16个数据了。然后,我们把这16个数据累加,再把累加值右移2位,这样就得到STM32过采样之后的14位ADC。

需要注意的是,过采样技术会限制输入信号的频率。根据采样定律,采样率最少是输入信号的2倍才能将信号还原。当需要提高n位的ADC分辨率时,采样率又得提高4*n倍。STM32的12位ADC的最高采样率为1MHz,如果要达到14位的ADC分辨率,那么输入信号的频率就不能超过:1M/2/15 = 31.25KHz。

最后提醒:分辨率的提升到14位并不是精度也能提升14位。我自己试过提升到16位的分辨率,但是精度大概只有13、14位的样子。

使用特权

评论回复
沙发
hehhehee|  楼主 | 2023-5-30 23:54 | 只看该作者
STM32的精度不可能提高的太多,要提高只能在分辨率上想办法,提高分辨率间接提高精度,但是这是由一个度的,跟你的要采样的外部信号的频率、CPU的处理速度等等都是有关系的。 过采样只能提高分辨率,精度不是随便可以提高的。要不然0832不就能替代所有的AD芯片了。

精度通常是指准确度。指测量值与实际值的差异性。影响精度的因素很多。如分辨力,线性度等。

分辨率可以通过分辨力来理解。8bit的分辨力为1/256,10bit时为1/1024,但实际还要通过量程转换成具体的值,不能没有量纲或单位(量纲与单位是不同的概念)。

分辨率通常用百分比来表示,而分辨力则用绝对值来表示。“5/256 =0.01953125V”指的是分辨力而不是分辨率。而这样的分辨能力仅仅是指理论能力而不是实际能力。因为实际能力还要包括非线性因素引起“干扰”。

总结:分辨率容易提升到24位,但是精度能到24位的要求就很高了。市面上的16、24位AD转换芯片一般指的是分辨率,而不是精度。

使用特权

评论回复
板凳
hehhehee|  楼主 | 2023-5-30 23:54 | 只看该作者
STM32的ADC如果要使用在精度要求高的地方,如3级电子称、精准计量仪表的话,STM32就比较勉强了。建议换外置的ADC。

到底怎样使用过采样法来提高AD采样精度?以下的思路使用于任何单片机:

比如设个定时器每个10us触发下STM32的ADC的采用,采到256个后将256个数据累加求和,如果当12位ADC用就除以256,13位用除以128,14位用除以64,15位用除以32,16位用除以16。得到结果后存放缓冲区中,再增加一段软件滤波程序就OK了!

使用特权

评论回复
地板
hehhehee|  楼主 | 2023-5-30 23:55 | 只看该作者
例如下面这段程序:

#define  VccTmpAdcVal   16384//14位ADC

VREF_VAL=VccVal*ADC_FilterChannel[inrefv]/VccTmpAdcVal ; //内部参考电压对应的电压值  VREF_VAL=3.3*内部基准电压的十六进制ADC值/16384

使用特权

评论回复
5
hehhehee|  楼主 | 2023-5-30 23:55 | 只看该作者
例如下面这段程序:

#define  VccTmpAdcVal   16384//14位ADC

VREF_VAL=VccVal*ADC_FilterChannel[inrefv]/VccTmpAdcVal ; //内部参考电压对应的电压值  VREF_VAL=3.3*内部基准电压的十六进制ADC值/16384

使用特权

评论回复
6
albertaabbot| | 2023-6-7 13:49 | 只看该作者
ad芯片采样率和采样精度怎么计算

使用特权

评论回复
7
MessageRing| | 2023-6-7 23:11 | 只看该作者
albertaabbot 发表于 2023-6-7 13:49
ad芯片采样率和采样精度怎么计算

这个应该是不会变的吧

使用特权

评论回复
8
jackcat| | 2023-6-8 13:17 | 只看该作者
如何使用过采样技术用八位AD采集十位数据

使用特权

评论回复
9
hearstnorman323| | 2023-6-8 14:06 | 只看该作者
提高单片机控制的AD采样频率有哪些方法

使用特权

评论回复
10
wangdezhi| | 2023-6-8 22:56 | 只看该作者
在进行AD转换时,重复对同一信号进行多次采样,以获得多个采样值。

使用特权

评论回复
11
cashrwood| | 2023-6-14 09:58 | 只看该作者
在使用AD过采样提高采样精度时,需要考虑相关的系统噪声、滤波等因素,以避免对采样精度的影响。

使用特权

评论回复
12
belindagraham| | 2023-6-14 15:44 | 只看该作者
根据实际应用需求,选择合适的过采样倍数,通常建议使用4倍或8倍过采样。

使用特权

评论回复
13
pixhw| | 2023-6-14 15:56 | 只看该作者
为什么慢速ad能够实现对高速信号的高精度波形采样

使用特权

评论回复
14
averyleigh| | 2023-6-14 19:08 | 只看该作者
stm32 怎么提高ad采样率              

使用特权

评论回复
15
MessageRing| | 2023-6-14 22:38 | 只看该作者
增加两位精度是不就要采样16次才可以

使用特权

评论回复
16
qiufengsd| | 2023-6-19 10:17 | 只看该作者
AD过采样?能达到什么精度               

使用特权

评论回复
17
jkl21| | 2023-6-19 11:43 | 只看该作者
AD过采样是一种将多次采样数据进行平均或累加,从而提高ADC采样精度的方法。

使用特权

评论回复
18
houjiakai| | 2023-6-19 13:47 | 只看该作者
如何实现高精度电流采样?               

使用特权

评论回复
19
Henryko| | 2023-6-19 23:14 | 只看该作者
能不能提高采样率啊?

使用特权

评论回复
20
LOVEEVER| | 2023-6-20 11:02 | 只看该作者
wangdezhi 发表于 2023-6-8 22:56
在进行AD转换时,重复对同一信号进行多次采样,以获得多个采样值。

这个是均值采样算法,一般经常用到

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

934

帖子

0

粉丝