电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

matlab中fft的用法及注意事项VIP免费

matlab中fft的用法及注意事项_第1页
1/6
matlab中fft的用法及注意事项_第2页
2/6
matlab中fft的用法及注意事项_第3页
3/6
matlab 的 FFT 函数相关语法:Y=fft(X)Y=fft(X,n)Y=fft(X,[],dim)Y=fft(X,n,dim)定义如下:相关的一个例子:Fs=1000;%采样频率T =1/Fs;%采样时间L=1000;%总的采样点数t =(0:L-1)*T;%时间序列(时间轴)%产生一个幅值为0.7频率为50HZ正弦+另外一个信号的幅值为1频率为120Hz的正弦信号x=0.7*sin(2*pi*50*t)+sin(2*pi*120*t);y=x+2*randn(size(t));%混入噪声信号plot(Fs*t(1:50),y(1:50))%画出前50个点title('SignalCorruptedwithZero-MeanRandomNoise')xlabel('time(milliseconds)')NFFT = 2^nextpow2(L); % 求得最接近总采样点的2^n,这里应该是2^10=1024Y = fft(y,NFFT)/L;%进行 fft 变换(除以总采样点数,是为了后面精确看出原始信号幅值)f = Fs/2*linspace(0,1,NFFT/2+1);%频率轴(只画到 Fs/2即可,由于 y 为实数,后面一半是对称的)% 画出频率幅度图形,可以看出50Hz 幅值大概0.7,120Hz 幅值大概为1.plot(f,2*abs(Y(1:NFFT/2+1)))title('Single-Sided Amplitude Spectrum of y(t)')xlabel('Frequency (Hz)')ylabel('|Y(f)|')主要有两点注意的地方:1、从公式上看,matlab 的 fft 序号是从1到 N,但是绝大多数教材上是从0到 N-1。2、2、Y=fft(x )之后,这个 Y 是一个复数,它的模值应该除以(length(x )2),才能得到各个频率信号实际幅值。fftshiftfftshift作用:将零频点移到频谱的中间用法:Y=fftshift(X)Y=fftshift(X,dim)描述:fftshift 移动零频点到频谱中间,重新排列 fft,fft2和 fftn 的输出结果。将零频点放到频谱的中间对于观察傅立叶变换是有用的。示例:clf;fs=100;N=256; %采样频率和数据点数n=0:N-1;t=n/fs; %时间序列x =0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号y1=fft(x,N); %对信号进行快速 Fourier 变换y2=fftshift(y1);mag1=abs(y1); %求得 Fourier 变换后的振幅mag2=abs(y2);f1=n*fs/N; %频率序列f2=n*fs/N-fs/2;subplot(3,1,1),plot(f1,mag1,'r'); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('图1:usual FFT','color','r');grid on;subplot(3,1,2),plot(f2,mag1,'b'); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('图2:FFT without fftshift','color','b');grid on;subplot(3,1,3),plot(f2,mag2,'c'); %绘出随频率变化的振幅xlabel('频率/Hz');ylabel('振幅');title('图3:FFT after fftshift','color','c');g...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

matlab中fft的用法及注意事项

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部