算术平均滤波法适用于对一般的具有随机干扰的信号进行滤波。这种信号的特点是信号本身在某一数值范围附近上下波动 ,如测量流量、液位;
        基本方法:按输入的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

技术
今日推荐
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:766591547
关注微信