如何擦除波形中的微妙跳跃?

时间:2016-02-16 15:19:58

标签: c#

这里需要一盏灯。 我有一个float []并且在这个数组中的浮点数之间有一些突然出现波动的值,就像图像的下半部分一样。 enter image description here

我想要的是将第一部分变成类似于第二部分的功能。此外,我尝试了衍生方法,它的工作几乎没问题,问题是有时像正弦波一样,它只是没有给我正确的结果。不需要为我编码,只需要推动。提前谢谢。

2 个答案:

答案 0 :(得分:3)

我建议您使用低通滤波器或卡尔曼滤波器。

答案 1 :(得分:2)

  1. 计算以前X个节点的平均值。
  2. 确定您的最大减少/增加波动百分比是多少。
  3. 如果节点超过此阈值,请将其替换为包含波动值的平均值。
  4. 例如。采取以下顺序。

      

    40,39,41,42,42,43,44,43,42,43,44,45,46,45,44,46,47,的 33,32,33,34 ,44,45,46,47

    假设 33,32,33,34 都超过我们的门槛,我们平均前10个参赛作品。

    将超过阈值的所有值替换为此计算的值,其中Y是超过阈值的值。

    (Previous Average + Y) / X + 1
    

    在我们的示例中,33将被(445 + 33)/11 = 43.45等替换。