[资料分享]

用于清除数据噪声的简单数字滤波器

[复制链接]
652|20
手机看帖
扫描二维码
随时随地手机跟帖
Plantt|  楼主 | 2020-1-22 22:55 | 显示全部楼层 |阅读模式
用于清除数据噪声的简单数字滤波器

很多系统都用一个ADC对温度和压力传感器产生的模拟数据进行采样。有时候,系统噪声或其它因素会使原本缓慢波动的数据乱跳起来。为了降低高频噪声,设计师经常会在传感器和模/数转换器级之间接一个模拟RC(电阻器-电容器)低通滤波器。但是,这种方法并不总是很理想或很实用。例如,要获得分钟级的时间常数,就需要非常大的R、C值。

图1显示的是一个模拟RC低通滤波器以及它的设计公式。去除ADC线性范围内的噪声信号还有另一种方法,即使用模拟RC低通滤波器的数字等式。该滤波器的软件只有两行C代码:


201422716305874707_副本.jpg


LPOUT=LPACC/K,式中滤波器的输出值为LPACC除以一个常数。 LPACC=LPACC+LPIN-LPOUT,式中增加了输入与输出之间的差值以更新LPACC。所有变量均规定为整数。

模/数转换每获得一个新的输入采样LPIN时,软件都产生一个输出值LPOUT,它由一个经低通过滤的输入采样组成。常数K值的计算要根据系统的采样速率以及滤波器所需时间常数:K=T×SPS,其中K>1,而SPS是系统的采样速率。例如,对于一个采样速率为200次采样/秒的系统,所需时间常数为30秒时,常数K等于6000次采样。程序输入加上一个步长变化需要6000次采样,才能在输出端达到最终值的63%左右。

低通累加器LPACC对大的时间常数和大输入值而言可以增长到很大。它会增长到K与LPIN最大可能值的乘积。在这些情况下,需要保证LPACC不会溢出,并可能需要设定一个较大的数据类型来放置LPACC。为避免起动时长久的稳定时间,在开始采样循环以前,可以将LPACC初始化到K乘以电流输入值。

还可以扩充这个基本的滤波器概念,采用顺序执行多个滤波器代码段,使之适合于更高阶的滤波器,从而有更好的高频抑制性能。另外,还可以对LPACC使用数组变量,并用一组对应滤波器信号的常数K值乘以各通道采集的数据。



使用特权

评论回复

相关帖子

kkzz| | 2020-1-23 22:17 | 显示全部楼层
如何设计一个简单的数字低通滤波器?

使用特权

评论回复
hudi008| | 2020-1-23 22:18 | 显示全部楼层
比较模拟滤波器与数字滤波器的优缺点  

使用特权

评论回复
lzmm| | 2020-1-23 22:18 | 显示全部楼层
数字滤波上关于概率论与数理统计的学习推荐

使用特权

评论回复
minzisc| | 2020-1-23 22:18 | 显示全部楼层
matlab数字滤波器的设计  

使用特权

评论回复
selongli| | 2020-1-23 22:18 | 显示全部楼层
Bessel模拟滤波器怎么转为数字滤波器

使用特权

评论回复
fentianyou| | 2020-1-23 22:18 | 显示全部楼层
如何用MATLAB做一个低通滤波器?

使用特权

评论回复
xiaoyaodz| | 2020-1-23 22:18 | 显示全部楼层
FIR数字滤波器设计与软件实现呢?  

使用特权

评论回复
febgxu| | 2020-1-23 22:19 | 显示全部楼层
如何制作截止频率尽量低的低通滤波器

使用特权

评论回复
sdlls| | 2020-1-23 22:19 | 显示全部楼层
MATLAB中FIR滤波器如何设计

使用特权

评论回复
pixhw| | 2020-1-23 22:19 | 显示全部楼层
滤波器的抽头数是什么?

使用特权

评论回复
lzmm| | 2020-1-23 22:19 | 显示全部楼层
滤波器的基本类型是什么?

使用特权

评论回复
kkzz| | 2020-1-23 22:19 | 显示全部楼层
数字滤波器以2π为周期的原因?  

使用特权

评论回复
hudi008| | 2020-1-23 22:19 | 显示全部楼层
C语言数字滤波器难么

使用特权

评论回复
xiaoyaodz| | 2020-1-23 22:19 | 显示全部楼层
时间域上的快速数字滤波方法———递归滤波

使用特权

评论回复
fentianyou| | 2020-1-23 22:19 | 显示全部楼层
Matlab里面模拟滤波器函数怎么使用  

使用特权

评论回复
febgxu| | 2020-1-23 22:19 | 显示全部楼层
数字滤波器能否完全取代模拟滤波器

使用特权

评论回复
sdlls| | 2020-1-23 22:19 | 显示全部楼层
请问切比雪夫滤波器是数字滤波器的一种吗?

使用特权

评论回复
selongli| | 2020-1-23 22:19 | 显示全部楼层
单片机FIR数字滤波器,500hz,怎么写c语言?

使用特权

评论回复
pixhw| | 2020-1-23 22:19 | 显示全部楼层
FIR和IIR滤波器这两种滤波器有什么区别  

使用特权

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

本版积分规则

637

主题

901

帖子

4

粉丝