滤波算法 | 算术平均滤波法

本文详细介绍了算术平均滤波法的基本原理及其在信号处理中的应用,尤其适合于有随机干扰的信号滤波。文章通过具体实例展示了如何编写算术平均滤波法的程序,并提供了完整的代码实现。

        算术平均滤波法适用于对一般的具有随机干扰的信号进行滤波。这种信号的特点是信号本身在某一数值范围附近上下波动 ,如测量流量、液位;
        基本方法:按输入的N 个采样数据,寻找这样一个 Y ,使得 Y 与各个采样值之间的偏差的平方和最小。
        编写算术平均滤波法程序时严格注意:
                一、为了加快数据测量的速度,可采用先测量数据存放在存储器中 ,测完 N 点后 ,再对 N 个数据进行平均值计算;
                二、选取适当的数据格式,也就是说采用定点数还是采用浮点数。

其程序如下所示:

#include <stdio.h>

// 定义滤波数据类型
typedef	int filter_type;
// 函数声明
filter_type filter(filter_type value_buf[], int num);
// 算术平均滤波函数
filter_type filter(filter_type value_buf[], int num)
{
	int sum, i;

	sum = 0;
	for(i=0; i<num; i++)
		sum += value_buf[i];

	return (filter_type)(sum/num);
}
//打印测试
void main()
{
	filter_type ave;
	filter_type a[5]= {55, 44, 88, 99, 11};

	ave = filter(a, sizeof(a)/sizeof(filter_type));
	printf("%d", ave);
}


输出结果:(55+44+88+99+11)/5 = 59.4

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式逍遥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值