负功率谱

2024-05-29 02:48:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一组超过65年的780个月的温度异常,我想分析这些异常的频率。我用光谱软件包来做这个,我在分析之前和之后包括了这个系列的图片。在

from spectrum import *

p = Periodogram(anomalies, sampling=1/12)
p.run()
plt.title('Power Spectrum of Monthly Temperature Anomalies')
p.plot(marker='.')
plt.show()

由此产生的光谱有几个明显的负尖峰。现在我明白了Db中的负值实际上不是负绝对值,但是为什么会发生这种情况呢?这是否意味着我的数据中缺少某些特定的频率?因为正尖峰意味着有人在场。在

另外,为什么大多数频率显示为负值?作为放大倍数的Db的参考值是多少?在

我的一部分人认为我应该取这个光谱的绝对值,但我想知道为什么如果是这样的话。另外,我把采样值设为1/12,因为数据点是每月的,所以希望频率标度是每年?在

非常感谢,这是我在这里的第一篇文章,所以如果我需要更清楚地了解任何事情,请让我知道。在

负能量

正在分析的系列


Tags: 数据fromimportdb图片plt光谱温度
1条回答
网友
1楼 · 发布于 2024-05-29 02:48:14

如图所示,在y轴上,单位是dB(分贝,https://en.wikipedia.org/wiki/Decibel)。所以我们看到的不是原始数据(在频域中),而是类似于10*log10(数据)的东西。这解释了负值的存在,这是完全正常的。在

这里有正值和负值,但通常情况下,您会将数据规范化(按最大值),以便所有值都为负值,最高值设置为0。这可以使用:

p.plot(norm=True)

您可以绘制原始数据(不使用log函数),但需要使用原始数据(在频域中)。例如,要重现p.plot函数的行为,可以使用:

^{pr2}$

因此,如果您不想使用分贝单位,请使用:

from pylab import plot
plot(p.frequencies(), p.psd)

免责声明:我是光谱(http://pyspectrum.readthedocs.io/)的主要作者。在

相关问题 更多 >

    热门问题