去除非线性信号上的噪声
信息处理
噪音
非线性
2022-02-07 00:33:42
2个回答
您圈出的大部分噪音看起来像脉冲噪音,意味着少量的突然脉冲或尖峰。您可以使用脉冲抑制滤波器可靠地去除它。该滤波器的响应通常定义为
这里,是以样本为中心的窗口的中位数, 和是同一窗口的稳健尺度估计,例如中值绝对偏差 (MAD)。选择 MAD 作为尺度估计在统计文献中也称为Hampel 滤波器,尽管您可以选择其他尺度估计,例如 IQR,,等等
是一个调整参数,指示在将点标记为异常值或脉冲之前允许远离中位数的尺度估计数。如果当前样本小于远离局部中值,过滤器什么也不做。否则,它将用当地中位数替换样本。
在 Matlab 中有一个名为 hampel 的例程可以为您执行此操作。我相信 R 也有类似的功能。
与其他建议(中值滤波器、低通频域滤波器)相比,此滤波器的优势在于,脉冲抑制滤波器仅修改识别为异常值的样本,而其他滤波器将修改信号中的每个样本,无论是否为异常值。
信号右边缘的跳跃将需要不同的方法,具体取决于您要如何处理它。
看起来您正在绘制一个直方图,它基本上是对概率质量或概率密度函数的估计。也许这是不正确的。如果您的 x 轴标签是错误的,并且这确实是作为时间函数的信号,那么您正在寻找的是在给定加性噪声的情况下对实际信号的估计。一个更简单的解决方案是基于频率的低通滤波器。如果人们知道图表中信号的性质,他们可以提供更多答案。
其它你可能感兴趣的问题