滑动平均较传统平均算法的优势


数据处理过程中,不可避免的遇到数据平滑,降低噪声的情况,传统的平均方法,就是“一把捏”,然后求平均,简单而粗暴,对直流信号这样处理当然没有问题,但对交流信号,这样“一把捏”再平均的方法,会使原始的交流信号“失真”,所以必须考虑滑动平均,给定一个宽度的窗口,跟随数据流同步流动平均,这样既有平均降噪效果,又不损失“交流信号”形状!以图说明:

 

 滑动平均的示范代码如下:

u8 idat[32] ={0};
   s32 tmp=0;

   ...  // 下面完成数组循环赋值

   idat[i]=read_adc();
   i++;
   if(i==32) i=0;
   ...
   
   ///// 下面求平均, 可以包装成一个函数,跟随上面的read_adc同步执行

   for(j=0;j<32;j++)
   {
     tmp+=idat[j];
   }
  
   tmp = tmp>>5;   //产生平均值

 

点击数: 184   打印  添加到收藏   发布时间: 2020-09-27




上一篇:Verilog的带符号数的移位
下一篇:恒压恒流和恒功率驱动的理解





» 相关内容
  二次曲面参数及flashlight效果
  AHP算法之matlab代码
  LVDS需要注意的几个点
  阴阳与男女之区别
  四象限光电探测器的位置公式
  外触发获取数据实现原理
  自定义USB设备供电不足最终解..
  USB设备连接异常现象
  MCU程序中变量过多引发内存不..
  NFC及其爆破思路
  铁电存储器
  MBR引导记录清除方法
  Sqlite关联版本选择
  Macpro更换NVME硬盘特征
  VBNET跨进程调试VCDLL方法