资源描述:
《实验四傅里叶分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验四傅里叶变换一、实验目的傅里叶变换是通信系统、图像处理、数字信号处理以及物理学等领域內的一种重要的数学分析工具。通过傅里叶变换技术可以将吋域上的波形分布变换为频域上的分布,从而获得信号的频谱特性。MATLAB提供了专门的函数fft>ifft、ff(2(即2维快速傅里叶变换)、ifft2以及fftshift用于实现对信号的傅里叶变换。木次实验的目的就是练习使用fftufft以及fftshift函数,对一些简单的信号处理问题能够获取其频谱特性(包插幅频和相频特性)。二、实验预备知识1.离散傅里叶变换(DFT)以及快速傅里叶变换(FFT)简介设兀⑴是给定的时域上的一个波形,则具傅里叶变换
2、为»⑴严叫丫(1)显然X(.f)代表频域上的一•种分布(波形),-•般来说X(.f)是复数。而傅里叶逆变换定义为:呵妙(2)因此傅里叶变换将时域上的波形变换为频域上的波形,反之,傅里叶逆变换则将频域上的波形变换为时域上的波形。由于傅里叶变换的广泛应用,人们自然希望能够使用计算机实现傅里叶变换,这就需要对傅里叶变换(即⑴式)做离散化处理,使之符合电脑计算的特征。另外,当把傅里叶变换应用于实验数据的分析和处理时,山于处理的対象具有离散性,因此也需要対傅里叶变换进行离散化处理。而要想将傅里叶变换离散化,首先要对时域上的波形x(/)进行离散化处理。采用一个时域上的采样脉冲序列:6(t~nT).
3、n=0,1,2,...,N—I:可以实现上述冃的,如图所示。其中N为采样点数,T为采样周期;fs=1/T是采样频率。注意采样时,采样频率成必须大于两倍的信号频率(实际是截止频率),才能避免混迭效应。接卜•來对离散后的时域波形x(t)=x(t)3(t-nT)=x(nT)的傅里叶变换文(/)进行离散处理。与上述做法类似,采用频域上的/脉冲序列:3(f-n/To),n=O,1,2,7V-1;2NT为总采样时间可以实现傅里叶变换乂丁)的离散化,如卜-图示。不难看出,离散后的傅里叶变换其频率间隔(频率轴上离散点的间隔,即频域分辨率)丄=丄—厶T()NTNjqYlf飞二丽二哈归丄—X(f)8(f
4、—n/To)显然H=0的点对应于直流成分。经过以上离散化处理Z后,连续积分的傅里叶变换(1)式转变为如下离散形式:混迭x(九)=£Xge-SZN,兀=0丄2,・・・,N—1(5)"0其中tk=好以=0,1,2,)代表采样点时刻。X(九)一般是复数,因此离散傅里叶变换(DFT)后变成一个N点(釆样点数)的复数序列。X(九)绝对值代表振幅,其幅角代表相位,因此由(5)式可以给出DFT的振幅频谱和相位频谱。(5)式通常乂简写成如卜•形式:N-IX(n)=》>(k)W&77=0,l,2,..・,N—l(6)Jt=0具屮=e~j27llN,x是釆样点数据,它是一个N个点的向量,DFT的结果X是N
5、个点的复数向量。(5)式或(6)式就是对傅里叶变换进行数值计算的基础。一般采样点数N越大,DFT的结果越接近真实的情况,但是当N较大时,(6)式的计算量很大,因为使用计算机求解(6)式时,总共要执行2次复数乘法和Nx(N-l)次复数加法。所以直接用DFT算法(即(5)式)进行谱分析和信号的实时处理是不切实际的。为了减轻计算的压力,人们提岀了一种所谓快速傅里叶变换(FFT)的思想:取首先将N个点的采样数据x=[%“.・.,心J分成两个N/2点的序列:兀]=[兀0,兀2,•••,兀冲_2](偶数序列)(奇数序列)因此要增加分辨率须增加采样点数冃N。频域上每个离散点对应的频率为:这样处理的好
6、处是町以把(6)式分解为两个N/2点的DFT,使计算量降下来。接下来再将N/2点的序列山仿照上述做法进一步分裂成2个N/4点的序列和也,另一序列疋亦做如此处理,分裂成2个N/4点的序列羽和兀6。这样两个N/2点的序列分成了更短的4个N/4点的序列,依次类推,最后的结果是将一个N点的序列x裂成了N个点的单点序列:也山,也,…,xN.lo这样做可以将DFT的运算效率提高1一2个数量级,为数字信号处理技术应用于各种信号的实时处理创造了条件,从而推动数字处理技术的发展。山此可见FFT的思想实质是不断地把长序列的DFT计算分解成若干短序列的DFT,并利用旋转因子(即WQ的周期性和对称性来减少DF
7、T的运算次数。所以FFT就是DFT的快速算法。有关FFT算法的详细介绍和理论推导参见有关的书籍,这里不做进一步介绍。2.FFT的MATLAB实现为了实现快速傅里叶变换,MATLAB提供了fft、ifft、fft2、ifft2以及fftshift函数,分别用于一维和二维离散傅里叶变换(DFT)及其逆变换。借助这些函数可以完成很多信号处理任务。考虑到信号处理包含的领域很广泛,这里只介绍一维傅里叶变换及其逆变换函数。(1)fft函数该函数使用了快速算