在保持急剧转换的同时对信号进行去噪的技巧包

信息处理 噪音 小波 去噪 平滑 全变
2022-01-09 23:51:40

我知道这是依赖于信号的,但是当面对一个新的噪声信号时,你有什么技巧可以在保持尖锐过渡的同时尝试对信号进行去噪(例如,任何类型的简单平均,即与高斯卷积,都被淘汰了)。我经常发现自己面临这个问题,并且不觉得我知道我应该尝试什么(除了样条曲线,但它们也可以严重破坏正确的急剧过渡)。

PS 作为旁注,如果您知道一些使用小波的好方法,请告诉我它是什么。似乎他们在这个领域有很大的潜力,但是虽然 90 年代有一些论文有足够的引用表明该论文的方法结果很好,但我找不到任何关于哪些方法最终赢得了最佳候选人的信息其间的几年。当然,从那时起,某些方法通常被证明是“首先要尝试的事情”。

4个回答

L1 范数最小化(压缩感知)在保留边缘方面可以比传统的傅里叶去噪做得更好。

该过程是最小化目标函数

|xy|2+b|f(y)|

其中是噪声信号,是去噪信号,是正则化参数,是一些 L1 范数惩罚。去噪是通过找到这个优化问题取决于噪声水平。xyb|f(y)|yb

为了保留边缘,根据信号,您可以选择不同的惩罚,使得是稀疏的(压缩感知的精神):yf(y)

  • 如果是分段的,则可以是总变异(TV) 惩罚;yf(y)

  • 如果是曲线状的(例如正弦图),可以是相对于curvelets的展开系数。(这是针对 2D/3D 信号,不是 1D);yf(y)y

  • 如果具有各向同性奇点(边),可以是关于小波的展开系数。yf(y)y

是关于某些基函数(如上面的曲波/小波)的展开系数时,解决优化问题相当于对展开系数进行阈值处理。f(y)

请注意,这种方法也可以应用于目标函数变为,其中是卷积算子。|xHy|+b|f(y)|H

您可以考虑各向异性扩散。有许多基于这种技术的方法。一般来说,它是用于图像的。它是一种自适应去噪方法,旨在平滑图像的非边缘部分,并保留边缘。

此外,对于总变异最小化,您可以使用本教程作者还提供了 MATLAB 代码。他们将问题识别为分析先验问题,它在某种程度上类似于使用线性映射(例如时频表示)。但是,他们使用差分矩阵而不是变换。

Boyd 提供了另一种有趣的方法,显示为Trend Filtering这也与 TV 正则化非常相似,但我猜 Boyd 在问题表述中使用了不同的矩阵。D

超黄有一个很好的答案,但我还要补充一点,您可以使用的另一种方法是通过 Haar 小波变换,然后是小波系数收缩,以及返回时域的反 Haar 变换。

Haar 小波变换将您的信号分解为平方和差分函数的系数,尽管是在不同的尺度上。这里的想法是您“强制”新的方形信号表示以最好地匹配您的原始信号,因此最能代表您的边缘所在的位置。

当您执行系数收缩时,这意味着您将 Haar 变换函数的特定系数设置为零。(还有其他更复杂的方法,但这是最简单的)。Haar 变换小波系数是与不同尺度的不同平方/差分函数相关的分数。Haar 变换信号的 RHS 表示最低尺度的平方/差分基数,因此可以在“最高频率”处解释。因此,大部分噪声能量将位于此处,而大部分信号能量将位于 LHS 上。是那些被归零的基系数,然后将结果逆变换回时域。

附件是被严重 AWGN 噪声破坏的正弦曲线示例。目标是找出脉搏的“开始”和“停止”位置。传统的滤波会抹去高频(并且在时间上高度局部化)边缘,因为从本质上讲,滤波是一种 L-2 技术。相反,以下迭代过程将去噪并保留边缘:

(我以为可以在这里附上电影,但我似乎不能。你可以在这里下载我制作的电影)。(右键单击并“将链接另存为”)。

我在 MATLAB 中“手动”编写了这个过程,它是这样的:

  • 创建一个被重 AWGN 破坏的正弦脉冲。
  • 计算上面的包络。(“信号”)。
  • 计算所有尺度的信号的 Haar 小波变换。
  • 通过迭代系数阈值去噪。
  • Inverse Haar 变换收缩系数向量。

您可以清楚地看到系数是如何缩小的,以及由此产生的哈尔逆变换。

然而,这种方法的一个缺点是边缘需要在给定的比例下位于或围绕正方形/差异基数。如果不是,则变换被迫跳到下一个更高的级别,因此失去了边缘的精确位置。有用于解决此问题的多分辨率方法,但它们涉及更多。

一种通常有效的简单方法是应用中值滤波器。