从线性信号中去除噪声

信息处理 过滤器 噪音
2022-02-08 11:10:10

该信号表示实验装置中的距离。由于速度是恒定的,信号应该是线性的(直到它下降)。但是,由于某种原因,设备出现了如下图所示的干扰:

在此处输入图像描述

问题是如何消除这种高幅度干扰,使信号尽可能线性?

我已经尝试过巴特沃斯过滤器并阅读了一些关于切比雪夫的信息,但我认为它不适用。

有什么建议么?

2个回答

您可以尝试一些简单的事情:

  • 具有适当窗口大小的滑动窗口中值滤波
  • 滑动窗口中的线性回归
  • 如果您足够了解信号持续时间等,则对总信号进行稳健的线性回归

编辑:OP对另一个答案发表评论后的进一步想法

由于您希望 160000 处的斜率与以前相同(即信号中没有平坦部分),您可以使用稳健的线性回归技术(例如 RANSAC)和适当数量的样本点来分析/过滤您的数据。

正如@Fat32 所述,非线性或非最小能量似乎是一个关键。

如果您想首先去噪,滑动加权中值(具有正权重)可以帮助您消除脉冲噪声,同时保持比纯中值更准确的转换位置。Matlab 实现在这里如果这还不够,我会选择更通用的排名过滤器。中位数是一种等级1/2. 如果脉冲噪声太大,amax过滤器(朝向等级)可能更好地遵循斜率。min10

如果您想要遵循明显的(局部)斜率大约 ,那么加权中值导数或滑动稳健线性回归(稳健的 LOWESS)可以在没有事先过滤的情况下产生局部导数。160000