zoukankan      html  css  js  c++  java
  • 一阶滤波算法

    1. 一阶滤波算法的原理 

      一阶滤波,又叫一阶惯性滤波,或一阶低通滤波。是使用软件编程实现普通硬件RC低通滤波器的功能。 

      一阶低通滤波的算法公式为:

                  Y(n)=αX(n) + (1-α)Y(n-1) 

      式中:α=滤波系数;X(n)=本次采样值;Y(n-1)=上次滤波输出值;Y(n)=本次滤波输出值。 一阶低通滤波法采用本次采样值与上次滤波输出值进行加权,得到有效滤波值,使得输出对输入有反馈作用。

    fL=a/2Pit pi为圆周率3.14… fL为采样频率

       式中 a——滤波系数;

    , t——采样间隔时间;

    例如:当t=0.5s(即每秒2次),a=1/32时;

    fL=(1/32)/(2*3.14*0.5)=0.01Hz

    2. 一阶滤波算法的程序(适用于单个采样)

     
    #define a   0.01                // 滤波系数a(0-1) 
    
    char filter(void)
    {
        baroOffset  = get_ad(); 
        baro = a * baroOffset  + (1.0f - a) * baroAlt;
        baroAlt = baro;
        return baro;  
    }
     

    3. 一阶滤波算法的不足 

       滤波系数越小,滤波结果越平稳,但是灵敏度越低;滤波系数越大,灵敏度越高,但是滤波结果越不稳定。

      一阶滤波无法完美地兼顾灵敏度和平稳度。有时,我们只能寻找一个平衡,在可接受的灵敏度范围内取得尽可能好的平稳度。而在一些场合,我们希望拥有这样一种接近理想状态的滤波算法。即:当数据快速变化时,滤波结果能及时跟进(灵敏度优先);当数据趋于稳定,在一个固定的点上下振荡时,滤波结果能趋于平稳(平稳度优先)。

  • 相关阅读:
    CMD 常用命令
    CMD 删除脚本
    HAproxy 介绍
    HAproxy 配置参数详解
    HAproxy 源码包安装
    lvs keepalived 安装配置详解【转】
    linux下负载均衡(LVS安装与配置)【转】
    CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡【转】
    Linux负载均衡软件LVS之二(安装篇)[转]
    Mysql + keepalived 实现双主热备读写分离【转】
  • 原文地址:https://www.cnblogs.com/huangyangquan/p/10942838.html
Copyright © 2011-2022 走看看