我一直在使用psd()来计算 .wav 文件上的功率谱密度。我已经把它展示给我的主管,他不希望它平均来计算 Pxx:
每个段的|FFT(i)|^2 被平均以计算Pxx
他建议我使用 PSD,但每次手动将其重叠一帧,而不是传递整个数据数组。我已经尝试过了,它看起来像这样:
def spec_draw(imag_array):
overlap_step = len(imag_array) / 128
temp = []
values = []
for x in range(0, len(imag_array), overlap_step-overlap_step/2):
try:
for i in range(0, overlap_step):
temp.append(imag_array[x+i])
except:
pass
values.append(psd(temp, sides='onesided'))
temp = []
print values
imag_array
波形文件中的数据数组在哪里。我已经把它发给他了,他对 Python 不是很了解,因为他不能运行它,所以他不能调试它。这看起来正确吗?