zoukankan      html  css  js  c++  java
  • 滑动窗口滤波算法

    滑动窗口协议:在TCP通讯中的一种流量控制协议。先握手确定每次发2条记录,在网络拥堵时,接收方反馈调整接收的大小,发送方按照这个新调整的大小来发数据。

    滑动(递推)平均算法:维护一定长队列,每在队尾插入一个元素就在队列头部删除一个元素,然后对其求出均值。

    滑动窗口滤波算法:

    方法一:前提先要获得一组数据,大小排序去除明显无效的数据,然后指定一个宽度为4的滑块从做向右滑动,计算滑块最右端和最左端的差值,该差值应小于预设阈值(否则丢弃),找出差值最小的4个数据然后求平均输出。缺点:如果源数据由于(距离)某种原因,数据产生的速度变化较大。很长时间才来一个数据就不太合适

    算法过程:
    测距算法流程如图5-15所示。主控制器读取TDC内部数据,并将数据进行从小到大排序,并删除溢出值,设置宽度为4的滑动窗口,如图5-2所示,从排序好的数据最前端,从左向右进行滑动,并记录窗口尾部与头部的差值,如图所示,即为第7个数据与第4个数据的差值,保留差值最小的数据簇。此时,该组数据即为这组测量过程中,最集中的一组数据。将该差值与预先设定好的阈值进行比较,当满足阈值规定,则认为该组数据有效,若不满足,即表明该组数据离散程度太高,无法保证数据的有效性。设定滑动窗口大小为4,如果窗口大小过小,则无法保证数据是否处于有效值范围内,窗口大小过大,增大了对原始数据的要求,特别是当测量环境不佳的情况下,有效值本身的数量较少,过大的窗口限制了测量的适用性。阈值设定的作用是防止数据过于离散,甚至可能出现所有数据都非有效值的情况,阈值设定过大,则容易导致误差较大,阈值设定过小,限制了测量的量程。窗口大小以及阈值大小的设定,通过实验经验设置,取得了较好的测量效果。该算法在常见的平均取值法上,增加了滑动窗口的概念,以及阈值比较的想法,与平均取值法相比,有了更坚实的理论基础。

    方法2:维护一个奇数长度(5)的窗口,根据预测和众数(数据重复的次数或者误差在一定范围内出现的次数)的方法来决定输出那个数据,次数小于一半的不输出,即5个数据中最少有2个相同的才输出该值(或这三个值的平均值),不同的值一定要留下,5个元素中离新值差异最大的值丢弃。

    概率统计方法知识:

    1 均值、中位数、众数:均值无法消除偶发异常值,平均值相同的2组数据离散程度可能不同所以均值不能完全反映数据的好坏要用标准差;中位数就是从小到大排序后的中间位置的那个数;众数就是一组数据中重复出现次数最多的数据(若出现几率相等则众数是多个)

    2 权值:就是一组数据中各数据所占的比例。

    3 期望、方差、标准差:期望就是均值;方差是改组数据中每个数据与均值差值的平方和,然后在求平均值,但在样本估计总体中,是差值平方和/n-1,而不是除以n,方差能衡量离散程度,但其量纲单位与源数据不一致所以对方差求2次平方根就是标准差。标准差越大说明数据离散程度大。

    4正态分布:由期望和方差组成的锺型曲线。可据此计算数据出现在某个范围的概率。

      

  • 相关阅读:
    Spark完成wordCount
    Spark介绍
    分库分表介绍
    rpc学习
    xgboost应用
    ElasticSearch 批量增加索引
    乡愁
    java futureTask的使用
    ElasticSearch 例子
    Matlab实现线性回归和逻辑回归: Linear Regression & Logistic Regression
  • 原文地址:https://www.cnblogs.com/jieruishu/p/9680627.html
Copyright © 2011-2022 走看看