Python 不求平均的功率谱密度计算
我一直在用.wav文件计算功率谱密度。我已经向我的主管展示了它,他不希望计算Pxx的平均值: 每段的| FFT(i)| ^2取平均值以计算Pxx 他建议我使用PSD,但每次手动重叠一帧,而不是传递整个数据数组。我已经尝试过了,它看起来是这样的:Python 不求平均的功率谱密度计算,python,matplotlib,signal-processing,spectral-density,Python,Matplotlib,Signal Processing,Spectral Density,我一直在用.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(ima
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,因为他不能运行它,所以他不能调试它。这看起来正确吗?这是Python 3.x还是2.x?如果2.x,overlap\u step=len(imag\u array)/128
将是整数除法,那么可以保证len(imag\u array)是128的倍数吗?裸尝试。。。例外:捕获所有异常的pass
通常被认为是非常糟糕的样式,因为它也会抑制意外异常。它是否用于捕获索引器错误、算术错误、内存错误…?使用异常类型的命名列表。