学习:通用软件滤波算法-算术平均滤波法

一、处理思想

连续采集N组数据,进行算术平均值计算,作为本次数据有效值

二、算法实现

 
#define TARGET_tYPE int
 
 
#define N 10
TARGET_tYPE ADDER = 0;
 
TARGET_tYPE Arithmetic_mean_FILTER()
{
	for(int i = 0; i < N; i++)
	{
    	    ADDER = ADDER + get_data();
	}
        return (ADDER/N);
}
三、滤波效果

DS18B20温度传感器滤波效果

四、优缺点

优点

算术平均数能较好的过滤随机干扰(使正负干扰的期望相互抵消)

缺点

不适用于测量较慢的数据

不适用于实时控制

 

ps:补充一个小技巧:可将N设置为2的整数幂,再利用移位操作来代替除法以提高运行效率。

例如ADDER/2也可以这样写:

return ADDER >> 1;

若考虑到负数的情况,则该方法仍需完善

以 ADDER/(2^N)为例:

return (ADDER + 2^N - 1) >> N;          //(ADDER + 2^N - 1)须小于0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值