品易云推流 关闭
文章详情页
文章 > Python基础教程 > python中如何使用scipy.fftpack模块计算快速傅里叶变换?

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

头像

宋雪维

2021-02-19 11:23:485235浏览 · 0收藏 · 0评论

在编程中,快速傅里叶变换是工程中非常有价值的一类算法,它可以将时域和频域的信号相互转化,而在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

以上就是python中使用scipy.fftpack模块计算快速傅里叶变换的过程,希望能对你有所帮助哟~

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图