• 快速傅里叶变换(Fast-Fourier Transform,FFT)


    数学定义:

    (详细参考:https://www.baidu.com/link?url=oYAuG2o-pia_U3DlF5n_MJZyE5YKfaVRUHTTDbM1FwM_kDTjGCxKpw_PbOK70jE2geVioprSVyPTTQuLwN-IhMH8NREmWSDnmcfQEY8w0kq&wd=&eqid=8244c46a0009451a000000035c0e2c39)

    有限长序列可以通过离散傅里叶变换(DFT)将其频域也离散化成有限长 序列.但其计算量太大,很难实时地处理问题,因此引出了快速傅里叶变换 (FFT).  1965 年,Cooley 和 Tukey 提出了计算离散傅里叶变换(DFT)的快 速算法,将 DFT 的运算量减少了几个数量级。从此,对快速傅里叶变换(FFT) 算法的研究便不断深入,数字信号处理这门新兴学科也随 FFT 的出现和发 展而迅速发展。根据对序列分解与选取方法的不同而产生了 FFT 的多种算 法,基本算法是基2DIT 和基2DIF。FFT 在离散傅里叶反变换、线性卷积 和线性相关等方面也有重要应用。

    快速傅里叶变换(FFT是计算离散傅里叶变换(DFT快速算法。

    DFT 的定义式为:

    代码示例:

    %fft示例:产生60Hz和150Hz带噪声的信号源,并用傅里叶变换方法查找主频信号
    %产生带噪声的声源信号,并提取离散信号
    t=0:0.001:0.6;
    %噪声信号的主频是60Hz和150Hz
    x=sin(2*pi*60*t)+sin(2*pi*150*t);
    y=x+2*randn(size(t));
    plot(1000*t(1:50),y(1:50))
    title('Signal Corrupted with Zero-Mean Random Noise')
    xlabel('time(ms)')
    grid on;
    
    %进行512点的快速傅里叶变换
    Y=fft(y,512);
    %功率谱测量计算
    Pyy=Y.*conj(Y)/512;
    f=1000*(0:256)/512;
    %绘制频谱图形
    figure;
    plot(f,Pyy(1:257))
    title('Frequency content of y')
    xlabel('frequency(Hz)')
    grid on;
    

      

  • 相关阅读:
    Schema约束
    gitalk报错问题
    SQL语句中单引号、双引号和反引号的区分
    用Eclipse上传项目到github
    git服务器搭建
    使用IntelliJ IDEA和Eclipse导入Github项目
    事务隔离级别的简单理解
    大公司里怎样开发和部署前端代码?
    页面无刷新Upload File
    MVC 文件上传问题
  • 原文地址:https://www.cnblogs.com/Ann21/p/10099331.html
Copyright © 2020-2023  润新知