Numpy FFT冻结脚本

时间:2012-01-05 09:10:05

标签: python numpy fft

我有一个脚本,它接受一个包含2列和多行作为输入的文本文件(时间序列的x和y值),并计算y值的傅里叶变换。

当计算FFT时,即当前形式的脚本挂起 - 即在'计算FFT ...'打印语句之后。在IDLE或Linux shell中执行时,不会给出错误消息。

当我使用ctrl-C来中断脚本时,“振幅光谱输出文件”已成功创建并包含光谱数据。在为下一个文件计算FFT时,循环仅继续挂起......

有人能解释一下这个问题吗?

for file in os.listdir(dir_name):
    if fnmatch.fnmatch(file, '*.slice'):
        infile = genfromtxt(dir_name+file, unpack=False, delimiter=',')
        y = infile[:,1]
        n = len(y)   
        k = arange(n)
        T = n/Fs
        frq = k/T # two sides frequency range
        frq = frq[range(n/2)] # one side frequency range

        print 'Computing FFT...'
        Y = fft(y)/n # fft computing and normalization
        print 'Computed FFT...'
        Y = Y[range(n/2)]
        print 'Normalised FFT range...'

        print 'Creating amplitude spectra outfile...'
        specarray = column_stack((frq,abs(Y))) 
        savetxt(dir_name+file+'.spectra', specarray, fmt='%f', delimiter=',')

0 个答案:

没有答案