如何从FFT计算频谱平坦度?


17

好的,光谱平坦度(也称为维纳熵)定义为光谱的几何平均值与其算术平均值的比值。

Wikipedia和其他参考资料说明了功率谱。那不是傅立叶变换的平方吗?FFT产生一个“振幅频谱”,然后求平方得到“功率频谱”?

基本上,我想知道的是spectrum = abs(fft(signal)),其中哪些是正确的?

  • spectral_flatness = gmean(spectrum)/mean(spectrum)
  • spectral_flatness = gmean(spectrum^2)/mean(spectrum^2)

维基百科的定义似乎直接使用幅度:

其中x(n)代表区间数n的大小。

F升一种ŤñËss=∏ñ=0ñ-1个X(ñ)ñ∑ñ=0ñ-1个X(ñ)ñ=经验值⁡(1个ñ∑ñ=0ñ-1个ln⁡X(ñ))1个ñ∑ñ=0ñ-1个X(ñ)
X(ñ)ñ

SciPy文档将功率谱定义为:

当输入a为时域信号,且为时A = fft(a),np.abs(A)则为幅度谱,np.abs(A)**2为功率谱。

该消息来源同意“功率谱”的定义,并将其称为:小号F(ω)

我们可以定义是在周期T上的信号的傅立叶变换,并定义功率谱如下所示: 小号˚F(ω )= LIM Ť →交通∞ 1FŤ(ω)小号F(ω)=林Ť→∞1个Ť∣FŤ(ω)∣2。

这个来源用定义维纳熵。小号(F)

但是我看不到像这样的方程式的平方,它似乎是基于幅度谱的:

小号F升一种ŤñËss=经验值⁡(1个ñ∑ķ日志⁡(一种ķ))1个ñ∑ķ一种ķ

同样,另一个源根据功率谱定义频谱平坦度,但随后直接使用FFT仓的幅度,这似乎与上述“功率谱”定义相冲突。

“功率谱”对不同的人意味着不同的事情吗?


根据维基百科:光谱平坦度 ak表示面元数k的大小。
— Hamed Gholami,

@endolith,您好,您是否愿意接受一个满意的答案?
— jojek

@jojek不,还没有
— endolith '18

1
@endolith,我相信彼得只是打在了头上;)
— jojek

@jojek我试图在木板上钉钉子。😂
— 彼得·K.

Answers:


4

我能提供的最权威的参考资料来自Jayant&Noll,《波形的数字编码》,(c)贝尔电话实验室有限公司,1984年出版,由Prentice-Hall,Inc.出版。

在第57页上,它们定义了光谱平坦度:

光谱平坦度

并且,在先前的第55页上,它们定义了:小号XX

功率谱的定义

因此,FFT平方版本是您想要的版本。

它看起来像Makhoul&Wolf,《线性预测和语音频谱分析》,Bolt,Beranek和Newman,Inc.。《 1972年技术报告》也可提供。

它具有相同的定义:

在此处输入图片说明

在此处输入图片说明


7

如果平坦度的定义指示您使用了功率谱,则可以,您应该按照SciPy文档中的参考值对幅度进行平方。在您所引用的等式中没有看到平方的方程式中,我认为您无法从中深入了解。它说

小号F升一种ŤñËss=经验值⁡(1个ñ∑ķ日志⁡(一种ķ))1个ñ∑ķ一种ķ

一种ķ


我想这是一个关于定义实际上是什么的问题,那么
— endolith

一种ķ

@HamedGholami请不要再输入您的评论作为答案。您的评论未提供问题的答案,但希望在此处提供帮助。
— 彼得·K

@PeterK。我认为新用户不能发表评论,但可以发表答案。
— endlith

1
@endolith理解了。但是,即使在乔耶克(Jojek)将他的第一个答案移至对该问题发表评论之后,哈默德(Hamed)也重新发布了相同的评论作为答案。那就是我要劝阻的行为:他们的“答案”被移动后再次重新发布。
— 彼得·克

4

定义各不相同,不是吗?首先要解决的是我们是否同意功率谱密度等于功率谱,或者定义我们两者的含义。Proakis和Salehi是它们的同义词。继续讲,我认为差异是由于功率谱之一的信号定义不同而引起的。通常的定义是傅立叶变换数据的幅度平方。在维纳-辛钦定理提供了自相关的通过傅立叶对于WSS信号的功率谱的另一路线变换。根据是否用正方形定义功率谱,可以得到频谱平坦度的正方形。

其他人则使用傅立叶变换的幅度。有人将其称为“功率谱”,并为“功率谱”的导数保留名称“功率谱密度 ”,而另一些人将术语“功率谱”保留为自相关傅里叶变换的积分(其他人称之为功率谱)。如您所见,定义比比皆是;随时发明自己的:)或遵循Wiener-Khinchin标准。

相关问题:功率谱密度,谱功率和功率比之间的区别?


也就是“功率谱”。
— endlith 2012年

1
ಠ_ಠ
— endolith'5

0

这是一个很好的问题,我也想知道自己。频谱平坦度(也称为Weiner熵)仅是向量“峰值”的量度。

该来源似乎表明所考虑的矢量是功率谱密度,在这种情况下,必须平方。如果对幅度谱求平方,那么您在未明显求平方的情况下会加重峰值,我认为这也更直观。

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.