去除非线性信号上的噪声

信息处理 噪音 非线性
2022-02-07 00:33:42

该信号表示绘制的线。由于某种原因,设备出现如下图所示的干扰: 在此处输入图像描述 问题是:如何去除干扰,使信号尽可能连续?

有什么建议么?

2个回答

您圈出的大部分噪音看起来像脉冲噪音,意味着少量的突然脉冲或尖峰。您可以使用脉冲抑制滤波器可靠地去除它。该滤波器的响应通常定义为

yk={xk,|xkmk|tSkmk,|xkmk|>tSk
这里,mk是以样本为中心的窗口的中位数xk, 和Sk是同一窗口的稳健尺度估计,例如中值绝对偏差 (MAD)。选择 MAD 作为尺度估计在统计文献中也称为Hampel 滤波器,尽管您可以选择其他尺度估计,例如 IQR,Sn,Qn等等

t是一个调整参数,指示在将点标记为异常值或脉冲之前允许远离中位数的尺度估计数。如果当前样本小于t远离局部中值,过滤器什么也不做。否则,它将用当地中位数替换样本。

在 Matlab 中有一个名为 hampel 的例程可以为您执行此操作。我相信 R 也有类似的功能。

与其他建议(中值滤波器、低通频域滤波器)相比,此滤波器的优势在于,脉冲抑制滤波器仅修改识别为异常值的样本,而其他滤波器将修改信号中的每个样本,无论是否为异常值。

信号右边缘的跳跃将需要不同的方法,具体取决于您要如何处理它。

看起来您正在绘制一个直方图,它基本上是对概率质量或概率密度函数的估计。也许这是不正确的。如果您的 x 轴标签是错误的,并且这确实是作为时间函数的信号,那么您正在寻找的是在给定加性噪声的情况下对实际信号的估计。一个更简单的解决方案是基于频率的低通滤波器。如果人们知道图表中信号的性质,他们可以提供更多答案。