有很多关于如何使用Python计算功率谱的示例,例如使用Python绘制功率谱:
from __future__ import division
import numpy as np
import matplotlib.pyplot as plt
data = np.random.rand(301) - 0.5
ps = np.abs(np.fft.fft(data))**2
time_step = 1 / 30
freqs = np.fft.fftfreq(data.size, time_step)
idx = np.argsort(freqs)
plt.plot(freqs[idx], ps[idx])
但是,你如何计算功率谱的95%或99%显著性水平(零假设:白噪声)?我发现 scipy.stats.chisquare,但它测试的是分类数据具有给定频率的零假设。