单片机滤波平滑累加处理简单用法 (使用定时器)

本文详细介绍了软件实现的一阶低通滤波原理及应用,通过加权平均的方法实现信号平滑,有效减少噪声干扰,适用于各种信号处理场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一阶滤波,又叫一阶惯性滤波,或一阶低通滤波。是使用软件编程实现普通硬件RC低通滤波器的功能。 

一阶低通滤波的算法公式为:

X(n) = get_ad(); 
Y(n) = αX(n) + (1-α)Y(n-1); 

  式中:α=滤波系数;X(n)=本次采样值;Y(n-1)=上次滤波输出值;Y(n)=本次滤波输出值。 
一阶低通滤波法采用本次采样值与上次滤波输出值进行加权,得到有效滤波值,使得输出对输入有反馈作用。

 

现在开一个10ms定时器

void timer_10ms{
    X(n) = get_ad(); 
    Y(n) = αX(n) + (1-α)Y(n-1); 

    if( fabs(Y(n)-X(n)) < 0.001 ){
        TIMER_DISABLE();
    }
}

通常a=0.9-0.999 

一开始Y会非常小,之后会逐渐靠近X,最后关闭定时器,平滑滤波完成。

实际应用过程中,我们不断读取Y的值就可以得到平滑的数据了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值