zoukankan      html  css  js  c++  java
  • 递推平均滤波法(又称滑动平均滤波法)

    /*
    A、名称:递推平均滤波法(又称滑动平均滤波法)
    B、方法:
    把连续取得的N个采样值看成一个队列,队列的长度固定为N,
    每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据(先进先出原则),
    把队列中的N个数据进行算术平均运算,获得新的滤波结果。
    N值的选取:流量,N=12;压力,N=4;液面,N=4-12;温度,N=1-4。
    C、优点:
    对周期性干扰有良好的抑制作用,平滑度高;
    适用于高频振荡的系统。
    D、缺点:
    灵敏度低,对偶然出现的脉冲性干扰的抑制作用较差;
    不易消除由于脉冲干扰所引起的采样值偏差;
    不适用于脉冲干扰比较严重的场合;
    比较浪费RAM。
    E、整理:jeffasd
    */
    
    #include <iostream>
    using namespace std;
    
    // 递推平均滤波法(又称滑动平均滤波法)
    #define FILTER_N 5
    
    int Get_AD(void)
    {
        int foo;
        scanf("%d",&foo);
        return foo;
    }
    
    
    int filter_buf[FILTER_N + 1];
    int Filter() 
    {
        int i;
        int filter_sum = 0;
        filter_buf[FILTER_N] = Get_AD();    //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);
    }
    
    //int Filter(); 
    
    
    int main()
    {
        int foo;
        while(1)
        {
            foo = Filter();
            printf("the Filter is %d
    ",foo);
        }
        return 0;
    }
  • 相关阅读:
    数据结构 图的接口定义与实现分析(超详细注解)
    数据结构-优先队列 接口定义与实现分析
    什么是梯度?
    javascript当中火狐的firebug如何单步调试程序?
    给出一个javascript的Helloworld例子
    lvs dr 模型配置详解
    数据库连接池
    JDBC事务管理
    JDBC工具类:JDBCUtils
    详解JDBC对象
  • 原文地址:https://www.cnblogs.com/qiwu1314/p/9200624.html
Copyright © 2011-2022 走看看