zoukankan      html  css  js  c++  java
  • 限幅滤波调试成功

    2018-01-1822:20:53

    网上的限幅滤波教程,明显他是设置了一个初始量,明显满足不了动态哦的限幅滤波,即传感器传来数据,这边把高波过滤掉的效果下一篇就是我的代码----加密文档

    传送门

     1 /*
     2 A、名称:限幅滤波法(又称程序判断滤波法)
     3 B、方法:
     4     根据经验判断,确定两次采样允许的最大偏差值(设为A),
     5     每次检测到新值时判断:
     6     如果本次值与上次值之差<=A,则本次值有效,
     7     如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值。
     8 C、优点:
     9     能有效克服因偶然因素引起的脉冲干扰。
    10 D、缺点:
    11     无法抑制那种周期性的干扰。
    12     平滑度差。
    13 E、整理:shenhaiyu 2013-11-01
    14 */
    15  
    16 int Filter_Value;
    17 int Value;
    18  
    19 void setup() {
    20   Serial.begin(9600);       // 初始化串口通信
    21   randomSeed(analogRead(0)); // 产生随机种子
    22   Value = 300;
    23 }
    24  
    25 void loop() {
    26   Filter_Value = Filter();       // 获得滤波器输出值
    27   Value = Filter_Value;          // 最近一次有效采样的值,该变量为全局变量
    28   Serial.println(Filter_Value); // 串口输出
    29   delay(50);
    30 }
    31  
    32 // 用于随机产生一个300左右的当前值
    33 int Get_AD() {
    34   return random(295, 305);
    35 }
    36  
    37 // 限幅滤波法(又称程序判断滤波法)
    38 #define FILTER_A 1
    39 int Filter() {
    40   int NewValue;
    41   NewValue = Get_AD();
    42   if(((NewValue - Value) > FILTER_A) || ((Value - NewValue) > FILTER_A))
    43     return Value;
    44   else
    45     return NewValue;
    46 }
    @青山不移,文笔不息。学习,坚持,梦想青春!
  • 相关阅读:
    数据库系统理论概念
    SQL常用函数
    Android中几种常见的定时刷新方式
    Android Resource介绍和使用
    Android 使用Loader示例
    Android框架浅析之锁屏(Keyguard)机制原理
    Android Power Management
    Android中蓝牙的基本使用
    分组ListView使用技巧
    使用CursorLoader异步加载数据
  • 原文地址:https://www.cnblogs.com/pengwenzheng/p/8313339.html
Copyright © 2011-2022 走看看