实验四 快速傅里叶变换(FFT)

实验四 快速傅里叶变换(FFT)

ID:39589948

大小:168.07 KB

页数:5页

时间:2019-07-06

实验四 快速傅里叶变换(FFT)_第1页
实验四 快速傅里叶变换(FFT)_第2页
实验四 快速傅里叶变换(FFT)_第3页
实验四 快速傅里叶变换(FFT)_第4页
实验四 快速傅里叶变换(FFT)_第5页
资源描述:

《实验四 快速傅里叶变换(FFT)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验四快速傅里叶变换(FFT)4.1实验目的1)加深对快速傅里叶变换(FFT)基本理论的理解;2)了解使用快速傅里叶变换(FFT)计算有限长序列和无限长序列信号频谱的方法;3)掌握用MATLAB语言进行快速傅里叶变换时常用的子函数。4.2实验原理1)用MATLAB提供的子函数进行快速傅里叶变换从理论学习可知,DFT是唯一在时域和频域均为离散序列的变换方法,它适用于有限长序列。尽管这种变换方法是可以用于数值计算的,但如果只是简单的按照定义进行数据处理,当序列长度很大时,则将占用很大的内存空间,运算时间将很长。快速傅里叶变换是用于DFT运算的高效运算方法的统称,FF

2、T只是其中的一种。FFT主要有时域抽取算法和频域抽取算法,基本思想是将一个长度为N的序列分解成多个短序列,如基2算法、基4算法等,大大缩短了运算的时间。MATLAB中提供了进行快速傅里叶变换(FFT)的子函数,用fft计算DFT,用ifft计算IDFT。2)用FFT计算有限长序列的频谱基本概念:jω一个序号从n到n的时域有限长序列x()n,它的频谱X()e定义为它的离散时间傅里叶变换,12且在奈奎斯特(Nyquist)频率范围内有界并连续。序列的长度为N,则Nnn=−+1。计算x()n的离21散傅里叶变换(DFT)得到的是X()ejω的N个样本点Xe()jωk。

3、其中数字频率为2πω==kk()dωkN式中:dω为数字频率的分辨率;k取对应-(N-1)/2到(N-1)/2区间的整数。在实际使用中,往往要求计算出信号以模拟频率为横坐标的频谱,此时对应的模拟频率为2π2πΩω==/Tkkk()==()DkksNLTs式中:D为模拟频率的分辨率或频率间隔;Ts为采样信号的周期,Ts=1/Fs;定义信号时域长度L=NTs。在使用FFT进行DFT的高效运算时,一般不直接用n从n1到n2的x()n,而是取x()!n的主值区间(n=0,1,…,N-1)的数据,经FFT将产生N个数据,定位在k=0,1,…,N-1的数字频率点上,即对应[

4、0,2π]。如果要显示[-π,π]范围的频谱,则可以使用fftshift(X)进行位移。频谱的显示及分辨率问题:例1:已知有限长序列x()n=[1,2,3,2,1],其采样频率Fs=10Hz。请使用FFT计算其频谱。MATLAB程序如下:Fs=10;xn=[1,2,3,2,1];N=length(xn);D=2*pi*Fs/N;%计算模拟频率分辨率k=floor(-(N-1)/2:(N-1)/2);%频率显示范围对应[-π,π]X=fftshift(fft(xn,N));%作FFT运算且移位πsubplot(1,2,1);plot(k*D,abs(X),'o:'

5、);%横轴化成模拟频率作幅度谱title('幅度频谱');xlabel('rad/s');subplot(1,2,2);plot(k*D,angle(X),'o:');%横轴化成模拟频率作相位谱title('相位频谱');xlabel('rad/s');由运行结果可知,当有限长序列的长度N=5时,频谱的频率样本点数也为5,如图上用“。”表示的点位。频率点之间的间距非常大,即分辨率很低。即使使用了plot命令的插值功能,显示出的曲线仍是断断续续的,与真实曲线有较大的误差。改变分辨率的基本方法是给输入序列补零,即增加频谱的密度。注意,这种方法只是改善了图形的视在分辨

6、率,并不增加频谱的细节信息。将上述有限长序列x()n=[1,2,3,2,1]末尾补0到N=1000点,将程序改为:Fs=10;N=1000;xn=[1,2,3,2,1];Nx=length(xn);xn=[1,2,3,2,1,zeros(1,N-Nx)];(下同,略)此时程序执行结果可以看出,图形的分辨率提高,曲线几乎是连续的频谱了。实偶序列如何补0问题:例2:已知一个矩形窗函数序列为⎧⎪15n≤x()n=⎨⎪⎩05n>采样周期Ts=0.5s,要求用FFT求其频谱。解:由于该序列是一个实的偶序列,因而补0时需要仔细分析。假定按N=32补0,则主值区域在n=0~3

7、1,FFT的输入应为xn()[ones(1,6),zeros(1,=−N11),ones(1,5)]即原来n=[-5:-1]的前五个点移到n=[27:31]中去了。下面考虑分别用N=32,64,512,观察不同N值代入对频谱的影响。程序如下:Ts=0.5;C=[32,64,512];%输入不同的N值forr=0:2;N=C(r+1);xn=[ones(1,6),zeros(1,N-11),ones(1,5)];%建立x(n)D=2*pi/(N*Ts);k=floor(-(N-1)/2:(N-1)/2);X=fftshift(fft(xn,N));subplot(

8、3,2,2*r+1);p

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

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

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