findpeaks
结果。因此,我想知道在频谱上进行此处理是否有好处,或者我没有看到它的不利之处。可以在上一张图片上看到。另外,正如我们在以下两个图像中所看到的,频谱看起来有些失真。 :其中蓝色图是光谱,红色图是后卷积光谱。 />有任何想法吗?
FFT后的卷积是否会引起问题?
是否有任何可以治疗该主题的论文?
#1 楼
实际上,您的建议还有一个弊端:您所显示的信号都非常清楚地分为频率成分,但总的来说,现实生活中的信号往往会比较吵。根据不同的应用,您需要尽可能多的泄漏阻尼(较高的主瓣/变换频谱中信号频率的旁瓣较小),或者,例如,尽可能窄的主瓣。
在您的曲线图中,可以看到用窗口平滑幅度谱的做法与此相反:主波瓣越来越宽,而转换有限时间信号功率增益产生的泄漏产物。如果将其应用于嘈杂的信号,则会产生明显的缺点。
您的建议对于峰识别仍然非常有用!
#2 楼
忠实于主题“通过卷积消除频域中的窗口效应”(尽管OP可能希望实现其他目标或类似目标),我想补充一下我对这个特定主题的个人经验。通常,我必须在频域中删除Hann窗口,在使用Hann窗口帧作为默认设置的STFT框架中进行高级频谱处理,在这种情况下,预期输入光谱应为NON windowed (例如重叠保存卷积或过滤)。
一句话:是的,您可以。尽管从数学上删除了一个窗口(在时域或频域中)都意味着重建了永远丢失的数据,但实际上您可以以最小的损失来实现。
让我们看一下Hann(上升余弦)窗口。它的时域公式为y =(1-cos(pi * x))/ 2,其中x的范围从0到1,直到帧为止。其对应的频域表示为bin0 =(0.5,0i),bin1 =(-0.5,0i)。为了消除其在时域中的影响,您可能只想将信号除以上述窗口函数即可。为了在频域上做同样的事情,您可以简单地将待展开的频谱与所述函数的倒数频谱进行卷积。由于此函数在两端均为零(实际上,除非有舍入误差,否则数学上仅在第一点为零),要避免无穷大,您可以简单地将无穷大交换为10000左右。这种卷积的结果是无窗频谱。通过将其转换回时域,您当然可以检测到影响最开始和最后一点的轻微降级,这是可以预期的,但实际上可以完成该过程。但是,也许您不能删除矩形窗口,因为从理论上讲,通过将大面积信号乘以零而丢失的数据量是不可能恢复的。但是我认为这取决于频谱内容。例如,如果它是普通正弦波的光谱,则通过将函数的光谱卷积去掉矩形窗口图案,该函数在矩形为零时为高值,在矩形为零时为高(即倒数),您仍然可以(实质上)获得正弦波的频谱以重构整个信号。
#3 楼
我很确定其他人也有这个问题,而且很有见识。频域中的反卷积就像是时域中的乘积,如果您要在频域中对Hann窗口的效果进行反卷积,就好比您除以Hann窗口在时域中的效果。在Hann窗口变为零的尾部,除以一个很小的数字就不用担心。通常会保留窗口效果,因为如果要向后转换,您可能希望窗口的在时域中起作用。或者,如果您从不进行转换(这是一种分析或建模算法,而不是修改算法),那么您仅对那些峰特征的参数感兴趣,而只需处理与已知峰进行卷积的已知效果即可。内核,并可能以确定的方式修改提取的参数。然后只需在提取的参数中进行补偿即可。
最后,根据您的操作,您可能需要考虑使用高斯窗口进行分析。具有很少的旁瓣问题,并且在线性条件下(如滤波器),每个开窗正弦波变换回时域时都保持开窗形状。可以撤消该窗口,并在转换回时域后应用Hann窗口。
评论
$ \ begingroup $
原则上,我同意您的发言。不过,OP并不是在讨论反卷积,而是将获得的光谱与汉宁窗的光谱进行卷积。 (即本质上是用汉宁平方窗口进行窗口化)
$ \ endgroup $
–马克西米利安·马特(MaximilianMatthé)
16年12月31日在10:05
$ \ begingroup $
不,OP在谈论删除效果,而不是加倍效果。除法等于乘以倒数。它乘以一个给您结果的数,我们称之为商。因为在一个域中卷积与在另一个域中相乘相同,则反卷积与在特殊确定的内容上进行卷积相同。
$ \ endgroup $
–罗伯特·布里斯托-约翰逊
16 Dec 31 '18:07
$ \ begingroup $
OP正在讨论通过将获得的光谱与窗口光谱进行卷积来消除波纹。这将产生信号与平方窗的乘积(从初始时间乘积开始的一个窗,第二个窗由频率的卷积产生)
$ \ endgroup $
–马克西米利安·马特(MaximilianMatthé)
16年12月31日在20:02
$ \ begingroup $
好吧,不完全是。我对频谱的幅度进行卷积,这与平方窗的乘法产生了不同的结果。我不确定它在数学上代表什么...我将其视为两个频谱幅度之间的互相关(因为窗口频谱是对称的)。
$ \ endgroup $
–Pier-Yves Lessard
17年11月4日,3:15
#4 楼
在分析频谱本身时,通常会使用您用来平滑频谱的技术,并且您并不关心时域中的影响(例如,进行基于频率的信号检测或带宽测量)。甚至没有要求用于平滑的窗口与时域中使用的窗口相同。在DFT之前使用时域窗口的主要原因之一是最大程度地减小了DFT在信号末端所假定的回绕的不连续性(DFT本质上是圆形的)。在频域中进行平滑的目的是促进分析,例如峰值检测或带宽测量。一个窗口的“最佳”窗口可能不是另一个窗口的“最佳”窗口。实际上,我从未见过用于频谱平滑的窗口的DFT。通过使用简单的棚车(矩形)窗口使频谱平滑,我已经看到了合理的结果。评论
$ \ begingroup $
我了解的方式是,我正在与频谱进行互相关,从而在主瓣的中心得到峰值。使用时域窗口似乎是显而易见的选择,我不明白为什么要使用棚车窗口互相关来查找汉宁窗口光谱的位置。除了同一个窗口,我们为什么还要别的东西?
$ \ endgroup $
–Pier-Yves Lessard
17 Mar 29 '17 at 0:57
$ \ begingroup $
是的,您描述的结果是与窗口的自相关的卷积,但这仅仅是与其他窗口的卷积。自相关将在DC处产生非常紧密的峰值。因此,您可以使用非常紧密的低通滤波器有效地对信号频谱进行卷积。该滤波器的频率响应可以为您提供看到的结果,而不是它是自相关的事实。它是自相关的事实是巧合。
$ \ endgroup $
– cas夫
17 Mar 29 '17 at 12:53
评论
您能提供用来绘制图形的代码吗?我认为卷积函数的平滑度只是分辨率的问题。您无法通过在同一窗口上再卷积一次来撤销窗口(您确实需要解卷积,这是rbj的答案所指)。此外,真正的改进将是增加的频率分辨率和/或增加的旁瓣抑制,在此没有实现。两种功能都比较容易找到“正确的”峰。我刚刚编辑了帖子,添加了代码示例。