DFT-通过卷积消除光谱域中的窗效应


11

我当时在考虑DFT窗口化主题,然后想到一个想法。DFT将产生与所用窗口频谱卷积的信号频谱,因此具有主瓣和旁瓣。

我认为可以通过再次对信号和窗口频谱幅度进行卷积来消除对信号频谱的窗口效应,而且确实如您在下图中看到的那样工作。

在此处输入图片说明

左边是用汉宁窗生成的原始光谱。右侧是由汉宁窗的DFT卷积的光谱。顶部是Spectrum本身,底部是MATLAB findpeaks结果。

我从未读过任何有关该技术的文章,但是我很确定自己还没有发明任何东西。因此,我想知道从频谱上进行此处理是否有好处,或者我看不到它的不利之处。

据我所知,这可以帮助进行峰值检测,就像我们在上一张图片中看到的那样。同样,正如我们在下面的两幅图像中所看到的,频谱似乎有些失真。:

在此处输入图片说明 在此处输入图片说明

蓝色图是光谱,红色图是后卷积光谱。

  • 有什么想法吗?
  • FFT后的卷积是否会引起问题?
  • 有论文可以治疗这个问题吗?

编辑

您可以在此处找到一个脚本,该脚本将生成以下图形:

在此处输入图片说明


1
您能提供用来绘制图形的代码吗?我认为卷积函数的平滑度只是分辨率的问题。您无法通过在同一窗口上再卷积一次来取消窗口化(您确实需要反卷积,这是rbj的答案所指)。此外,真正的改进将是增加的频率分辨率和/或增加的旁瓣抑制,在此没有实现。两种功能都比较容易找到“正确的”峰。
Matt L.

我刚刚编辑了我的帖子,以添加代码示例。
Pier-Yves Lessard,2013年

Answers:


1

实际上,您的建议还有一个弊端:您所显示的信号都非常清楚地分为频率成分,但总的来说,现实生活中的信号往往比较嘈杂。

根据不同的应用,您希望有尽可能多的泄漏衰减(在变换频谱中信号频率较高的主瓣/较小的旁瓣),或者例如,尽可能窄的主瓣。

在您的曲线图中,可以看到用一个窗口平滑幅度谱的做法与此相反:主波瓣变得越来越宽,而转换有限时间信号的功率增益则产生了泄漏产物。应用于噪声信号,这将产生明显的缺点。

但是,您的建议对于峰识别仍然非常有用!


1

忠实于主题“通过卷积消除频域中的窗口效应”(尽管OP可能希望实现其他目标或类似目标),我想补充一下我对这个特定主题有个人经验的评论。

通常,我有必要在频域中删除Hann窗口,在STFT框架中使用Hann窗口帧作为默认窗口,以进行高级频谱处理,其中输入频谱应改为NON窗口(例如,重叠保存卷积或过滤)。

一句话:是的,您可以。尽管从数学上删除了一个窗口(在时域或频域中)都意味着要重建永久丢失的数据,但实际上,损失可能很小。

让我们看一个Hann(上升余弦)窗口。它的时域公式为y =(1-cos(pi * x))/ 2,其中x的范围从0到1,直到帧为止。其对应的频域表示为bin0 =(0.5,0i),bin1 =(-0.5,0i)。为了消除其在时域中的影响,您可能只想将信号除以上述窗口函数即可。为了在频域上做同样的事情,您可以简单地将要展开的频谱与所述函数的倒数频谱进行卷积。由于此函数的两端均为零(实际上,除非有舍入误差,否则数学上仅在第一点为零),要避免无穷大,您可以简单地将无穷大交换为10000左右。这种卷积的结果是无窗频谱。通过将其转换回时域,

不过,也许您无法删除矩形窗口,因为理论上,通过将信号的大面积乘以零而丢失的数据量是不可能恢复的。但是我认为这取决于频谱内容。例如,如果它是普通正弦波的光谱,则通过将函数的光谱卷积去掉矩形窗口图案,该函数在矩形为零时是一个高值,在矩形为零时是一个高值(即倒数),您也许仍然可以(实质上)获得正弦波的频谱以重构整个信号。


0

我很确定其他人也有这个问题,而且很有见识。在在频域-convolution就像是在时域乘以如果你去卷积在频域中的Hann窗的作用,它就像你的划分由Hann窗的时域的效果。在Hann窗口变为零的尾部,除以一个很小的数字即可担心。

通常会保留窗口效果,因为如果要向后转换,则可能需要时域中的窗口效果。或者,如果您从不进行转换(这是一种分析或建模算法,而不是修改算法),那么您只对那些峰的属性参数感兴趣,而只需处理与已知峰进行卷积的已知效果内核,并且可能以确定的方式修改提取的参数。那么您只需在提取的参数中进行补偿即可。

最后,根据您的操作,您可能需要考虑使用高斯窗口进行分析。具有很少的旁瓣问题,并且在线性条件下(如滤波器),每个带窗正弦曲线在转换回时域时都保留了带窗形状。可以撤消该窗口,并在转换回时域后应用Hann窗口。


6
原则上,我同意你的发言。虽然,OP不是在讨论反卷积,而是将获得的光谱与汉宁窗的光谱进行卷积。(即基本上用
汉宁

1
不,OP在谈论消除效果,而不是加倍效果。除法等于乘以倒数。它乘以一个给您结果的数,我们称之为。在于在一个域卷积是相同的其他域中相乘,然后解卷积相同的,与专门确定的东西进行卷积。
罗伯特·布里斯托

2
OP正在谈论通过执行获得的光谱与窗口光谱的卷积来消除波纹。这将产生信号与平方窗口的乘积(从初始时间乘积开始的一个窗口,从频率乘积中获得第二个窗口)
MaximilianMatthé16

1
好吧,不完全是。我对频谱的幅度进行了卷积,这与平方窗的乘法产生了不同的结果。我不确定它在数学上代表什么...我将其视为两个频谱幅度之间的互相关(因为窗口频谱是对称的)。
Pier-Yves Lessard

0

在分析频谱本身时,通常会使用您用来平滑频谱的技术,并且您并不关心时域中的影响(例如,进行基于频率的信号检测或带宽测量)。甚至没有要求用于平滑的窗口与时域中使用的窗口相同。在DFT之前使用时域窗口的主要原因之一是最大程度地减小了DFT在信号末端所假定的回绕中的不连续性(DFT本质上是圆形的)。在频域中进行平滑的目的是促进分析,例如峰值检测或带宽测量。一个窗口的“最佳”窗口可能不是另一个窗口的“最佳”窗口。实际上,我从未见过用于频谱平滑的窗口的DFT。


我的理解方式是,我正在与频谱进行互相关,从而在主瓣的中心得到峰值。使用时域窗口似乎是显而易见的选择,我不明白为什么要使用棚车窗互相关来查找汉宁窗光谱的位置。除了同一个窗口,我们为什么还要别的东西?
Pier-Yves

是的,您描述的结果是与窗口的自相关的卷积,但这只是与其他窗口的卷积。自相关将导致DC的峰值非常紧密。因此,您可以使用非常紧密的低通滤波器有效地对信号频谱进行卷积。该滤波器的频率响应可以为您提供看到的结果,而不是它是自相关的事实。它是自相关的事实是巧合。
cassman's
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.