极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14465|回复: 1

求助滑动平均滤波函数

[复制链接]
发表于 2016-5-13 21:15:58 | 显示全部楼层 |阅读模式
double SumQueue = 0.0f;//滤波函数
    if(ISvoutArrayFull == false)
   {
    for(int i = 0; i < QUEUESIZE; i++) //QUEUESIZE值控制平滑点数
    {
      voutArray[i] =  v_out;
   
    }
    ISvoutArrayFull = true;
    }

     voutArray[voutArrayIndexCover] = v_out;
      
      for(int j = 0; j < QUEUESIZE; j++)
     {
      
        SumQueue += voutArray[j];
     
     }

      voutArrayIndexCover++;
      if(voutArrayIndexCover == QUEUESIZE )
      {
        voutArrayIndexCover = 0;
        for(int i=0;i<QUEUESIZE;i++)
        {voutArray[i] =  voutArray[i+1];
        }
       }
   //Serial.print("PM2.5ok");
    double SmoothValue  = SumQueue/QUEUESIZE;
这个函数有问题吗,求大神,还是网上那个
#define FILTER_N 12
int filter_buf[FILTER_N + 1];
int Filter() {
  int i;
  int filter_sum = 0;
  filter_buf[FILTER_N] = Get_AD();
  for(i = 0; i < FILTER_N; i++) {
    filter_buf[i] = filter_buf[i + 1]; // 所有数据左移,低位仍掉
    filter_sum += filter_buf[i];
  }
  return (int)(filter_sum / FILTER_N);
怎么用求指点
回复

使用道具 举报

 楼主| 发表于 2016-5-14 09:16:41 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-17 02:59 , Processed in 0.037195 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表