zoukankan      html  css  js  c++  java
  • 两正弦加一噪声信号的频谱分析

    《MATLAB R2016a完全自学一本通》455页,例14-19,下面的命令对一个以50Hz和120Hz为主要成分的信号进行傅里叶变换。

    代码如下:

    Fs=1000;
    T=1/Fs;
    L=1000;
    t=(0:L-1)*T;
    x=0.7*sin(2*pi*50*t)+sin(2*pi*120*t);
    y=x+2*randn(size(t));
    subplot(121);
    plot(Fs*t(1:50),y(1:50));
    title('原始信号');
    xlabel('time (ms)');
    NFFT=2^nextpow2(L);
    Y=fft(y,NFFT)/L;
    f=Fs/2*linspace(0,1,NFFT/2+1);
    subplot(122);
    plot(f,2*abs(Y(1:NFFT/2+1)));
    title('幅值谱');
    xlabel('Frequency (Hz)');
    ylabel('|Y(f)|');
    

      结果图如下:

    注释:

    快速傅氏变换的点数n要取最接近数据长度的2的整数次方。命令是2^nextpow2(N),其中N是实际数据长度,因为这样的n可以使fft更快。比如N=1021,执行n=2^nextpow2(N)后,n=2^10=1024。

    第二幅图中,因为要画单边幅值,所以×2。

  • 相关阅读:
    求树的重心
    牛客多校第七场B题
    高精度
    hdu 6763 Total Eclipse 并查集+思维
    substr用法
    置换群
    快速幂
    Winform+Mysql登录
    Rider C#连接MySQL
    C# winform组件
  • 原文地址:https://www.cnblogs.com/zhangziyan/p/8797255.html
Copyright © 2011-2022 走看看