Matlab中的FFT使用说明

Matlab中的FFT使用说明

ID:46391923

大小:54.66 KB

页数:4页

时间:2019-11-23

Matlab中的FFT使用说明_第1页
Matlab中的FFT使用说明_第2页
Matlab中的FFT使用说明_第3页
Matlab中的FFT使用说明_第4页
资源描述:

《Matlab中的FFT使用说明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、FFT是FastFourierTransform(快速傅里叶变换)的简称,FFT算法在MATLAB中实现的函数是Y=fft(x,n)。刚接触频谱分析用到FFT时,几乎都会对MATLAB的fft函数产生一些疑惑,下面以看一个例子(根据MATLAB帮助修改)。Fs=2000;%设置采样频率T=1/Fs;%得到采用时间L=1000;%设置信号点数,长度1秒t=(0:L-1)*T;%计算离散时间,%两个正弦波叠加f1=80;A1=0.5;%第一个正弦波100Hz,幅度0.5f2=150;A2=1.0;%第2个正弦波150Hz,幅度1.0A3

2、=0.5;%白噪声幅度;x=A1*sin(2*pi*f1*t)+A2*sin(2*pi*f2*t);%产生离散时间信号;y=x+A3*randn(size(t));%叠加噪声;%时域波形图subplot(2,1,1)plot(Fs*t(1:50),x(1:50))title('SinusoidsSignal')xlabel('time(milliseconds)')subplot(2,1,2)plot(Fs*t(1:50),y(1:50))title('SignalCorruptedwithZero-MeanRandomNoise'

3、)xlabel('time(milliseconds)')NFFT=2^nextpow2(L);%设置FFT点数,一般为2的N次方,如1024,512等Y=fft(y,NFFT)/L;%计算频域信号,f=Fs/2*linspace(0,1,NFFT/2+1);%频率离散化,fft后对应的频率是-Fs/2到Fs/2,由NFFT个离散频点表示%这里只画出正频率;%Plotsingle-sidedamplitudespectrum.figure;plot(f,2*abs(Y(1:NFFT/2+1)));%fft后含幅度和相位,一般观察幅度

4、谱,并把负频率加上去,title('Single-SidedAmplitudeSpectrumofy(t)')xlabel('Frequency(Hz)')ylabel('

5、Y(f)

6、')运行结果时域波形图如图所示:幅度谱如下:由图可见,80Hz的信号幅度为0.4762,频率为80.08,150Hz的信号频率为150.4,幅度0.9348,存在误差。去掉白噪声后,结果为:可见幅度精度提高了,但频率任然有误差。如果修改Fs为2048,L为4096,此时没有补0产生的复查,也没有噪声污染,结果如下:可见结果与信号完全一致。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。