MATLAB实现信号频谱分析(以余弦信号的FFT为例)
1、产生余弦信号以作频谱分析:余弦信号y=cos(2息遴颞阈π*f*t);信号频率为f=10Hz;时宽:1s采样率为fs=100Hz;MATLAB程序:f=10;fs=100稆糨孝汶;T=1;n=round(T*fs);%采样点个数t=linspace(0,T,n);y=cos(2*pi*f/fs*[0:n-1]);figure;plot(t,y);title('余弦信号时域');xlabel('t/s');ylabel('幅度');运行结果:
2、用fft函数对产生的余弦信号作频谱分析:注意:该步骤得到的是0~fs内的频谱。MATLAB代码:fft_y=fft(y);f=linspace(0,fs,n);figure;plot(f,abs(fft_y));title('余弦信号频谱');xlabel('f/Hz');ylabel('幅度');可以看到10Hz处有峰值,90Hz的峰值是-10Hz的峰值向右频谱搬移fs=100Hz得到的。运行结果:
3、用fftshift函数得到-fs/2~fs/2内的频谱:MATLAB代码:fftshift_y=fftshift(熠硒勘唏fft_y);f=linspace(-fs/2,fs/2,n);figure;plot(f,abs(fftshift_y));title('余弦信号频谱');xlabel('f/Hz');ylabel('幅度');由于实信号频谱幅度关于原点对称,可以看到10Hz与-10Hz处的两个峰值。运行结果:
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:80
阅读量:48
阅读量:51
阅读量:70
阅读量:57