Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 不求平均的功率谱密度计算_Python_Matplotlib_Signal Processing_Spectral Density - Fatal编程技术网

Python 不求平均的功率谱密度计算

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

我一直在用.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,因为他不能运行它,所以他不能调试它。这看起来正确吗?

这是Python 3.x还是2.x?如果2.x,
overlap\u step=len(imag\u array)/128
将是整数除法,那么可以保证len(imag\u array)是128的倍数吗?裸
尝试。。。例外:捕获所有异常的pass
通常被认为是非常糟糕的样式,因为它也会抑制意外异常。它是否用于捕获索引器错误、算术错误、内存错误…?使用异常类型的命名列表。