• 技术文章 >Python技术 >Python基础教程

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

    宋雪维宋雪维2021-02-19 11:23:48原创4717

    在编程中,快速傅里叶变换是工程中非常有价值的一类算法,它可以将时域和频域的信号相互转化,而在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模块计算快速傅里叶变换的过程,希望能对你有所帮助哟~

    专题推荐:python基础
    品易云
    上一篇:python中最小二乘法如何理解? 下一篇:python中numpy.fft如何使用?

    相关文章推荐

    • python中scipy.special模块如何使用?• python中如何使用scipy.linalg模块计算矩阵的行列式?• python如何求解线性方程组?• python中scipy.linalg.inv()功能是什么?• python中计算矩阵特征向量的方法• python中最小二乘法如何理解?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网