利用递推均值滤波算法进行滤波处理

1-实物展示

907b46918fa14775a423a403a3770888.jpg

 图1.1

1f172491ef4d4df3a54238f5c139223c.jpg

图1.2

      图1.1演示为未滤波模拟输入值,可以看出上位机图形演示整体波值较小,但差别极大从1-9不等(可能高于9,但无法演示)。

      图1.2演示为滤波后模拟输入值,可以看出这次演示效果相比之下,波形相对稳定很多,可根据实际做出相应事件。

 

2-算法展示

int data[10];

 

int Algo_average(int in_data)

                                                {

 int sum = 0;

 for(int j=0; j<9; j++)

                                               {

  data[j]=data[j+1];  

  sum = sum + data[j];  

 }

 data[9] = in_data;  

 sum = sum + data[9];  

 return(sum/10);  

}

         注:(该算法有所缺陷,可将整形改为浮点型)

3-代码讲解

                    data[]数组首先收集前10个数据作为和,Algo_averag函数通过第十个以外的数据进行依次收集,并作为data[]数组的前九个值进行加和,并将10个数据求和的平均值进行返回(滤波后数据)。

 

4-使用场景

                  该算法形式简单,可应用于频率较高波形场所。

5-缺陷

                当求和值较大时,有明显的延迟,导致相位之后,但其波形也会更加顺滑。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值