python中如何使用scipy.fftpack模块计算快速傅里叶变换?

在编程中,快速傅里叶变换是工程中非常有价值的一类算法,它可以将时域和频域的信号相互转化,而在python中SciPy提供fftpack模块,可让用户计算快速傅立叶变换,本文介绍python中使用scipy.fftpack模块计算快速傅里叶变换的过程。

1、使用scipy.fftpack.fftfreq()函数将生成取样频率

因为功率结果是对称的,仅仅需要使用谱的正值部分来找出频率:

In[48]:pidxs=np.where(sample_freq>0)
In[49]:freqs=sample_freq[pidxs]
In[50]:power=np.abs(sig_fft)[pidxs]

2、使用scipy.fftpack.fft()将计算快速傅里叶变换

>>>a=np.arange(1,5)
>>>a
array([1,2,3,4])
>>>b=fft(a)
>>>b
array([10.+0.j,-2.+2.j,-2.+0.j,-2.-2.j])
>>>b[1]
(-2+2j)
>>>b[1].real-2.0
>>>b[1].imag2.0
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。