实验二快速傅立叶变换FFT

实验二快速傅立叶变换FFT

ID:40933009

大小:122.00 KB

页数:6页

时间:2019-08-11

实验二快速傅立叶变换FFT_第1页
实验二快速傅立叶变换FFT_第2页
实验二快速傅立叶变换FFT_第3页
实验二快速傅立叶变换FFT_第4页
实验二快速傅立叶变换FFT_第5页
资源描述:

《实验二快速傅立叶变换FFT》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验二应用FFT对信号进行频谱分析一、实验目的1.加深对离散信号的DTFT和DFT的及其相互关系的理解。2.在理论学习的基础上,通过本次实验,加深对快速傅立叶变换的理解,熟悉FFT算法及其程序的编写。3.熟悉应用FFT对典型信号进行频谱分析的方法。4.了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT。二、实验原理与方法一个连续信号xa(t)的频谱可以用他的傅立叶变换表示为:=如果对该信号进行理想采样,可以得到采样序列:x(n)=Xa(nT)同样可以对该序列进行Z变换,其中T为

2、采样周期:X(z)=当Z=ejω的时候,我们就得到了序列的傅立叶变换:X(ejω)=其中称为数字频率,它和模拟域频率的关系为:式中的fs是采样频率,上式说明数字频率是模拟频率对采样频率fs的归一化。同模拟域的情况相似,数字频率代表了序列值变化的速率,而序列的傅里叶变换为序列的频谱。序列的傅里叶变换和对应的采样信号频率具有下式的对应关系。X(ejω)=即序列的频谱是采样信号频谱的周期延拓。从上式可以看出,只要分析采样序列的频谱,就可以得到相应的连续信号频谱,就可以得到相应的连续信号的频谱。注意:这里的信号必

3、须是带限信号,采样也必须满足Nyquist定理。在各种信号序列中,有限长序列在数字信号处理中占有很重要的地位。无限长的序列也往往可以用有限长序列来逼近。对于有限长的序列我们可以使用离散傅里叶变换(DFT),这一变换可以很好地反映序列的频域特性,并且容易利用快速算法在计算机上实现当序列的长度是N时,我们定义离散傅里叶变化为:X(k)=DFT[x(n)]=其中,它的反变换定义为:x(n)=IDFT[X(k)]=令Z=,则有:==DFT[x(n)]可以得到,是Z平面单位圆上幅角为的点,就是将单位圆进行N等分以后

4、第K个点。所以,X(k)是Z变换在单位圆上的等距采样,或者说是序列福利叶变换的等距采样。时域采样在满足Nyquist定理时,就不会发生频率混淆;同样地,在频率域进行采样的时候,只要采样间隔足够小,也不会发生时域序列的混淆。通过前面的知识,已经知道有限列长为的序列的变换为其逆变换为由于MATLAB软件本身的特点,序列或向量元素下标从1开始记录,而不是从0开始。因此,上述两式在MATLAB中相应的表达式为而下面所讨论使用的快速傅立叶变换并不是与不同的另外一种变换,而是为减少计算次数的一种快速有效的算法。这种快

5、速算法,主要是利用了下面两个特性使长序列的分解为更小点数的所实现的。(1)利用的对称性使运算中有些项合并(2)利用的周期性和对称性使长序列的分解为更小点数的快速傅立叶变换算法正是基于这一基本思想而发展起来的。快速傅立叶变换算法形式很多,但是基本上可以分为两大类,即按时间抽取(Decimation-In-Time,简称)法和按频率抽取(Decimation-In-Frequency)法。在这里,以时间抽取的算法(库利-图算法)为例,简单说明一下算法的算法原理。为了讨论方便,设,其中为整数。如果不满足这个条件

6、,可以认为得加上若干零点来达到。由的定义知其中是列长为的输入序列,把它按的奇偶分成两个序列又由于,则上式表明了一个N点的DFT可以被分解为两个N/2点的DFT。同时,这两个N/2点的DFT按照上式又可以合成为一个N点的DFT。为了要用点数为N/2点的X(k)、X(k)来表达N点的X(k)值还必须要用W系数的周期性,即这样可得即X(同理可得X(另外再加上W的对称性就可以将X(k)的表达式分为前后两个部分:前半部分后半部分由以上分析可见,只要求出区间内各个整数k值所对应的X(k)、X(k)的值,即可求出区间内

7、的全部X(k)值,这一点恰恰是FFT能大量节省计算的关键所在。三、实验内容及步骤MATLAB为计算数据的离散快速傅立叶变换,提供了一系列丰富的数学函数,主要有Fft、Ifft、Fft2、Ifft2,Fftn、ifftn和Fftshift、Ifftshift等。当所处理的数据的长度为2的幂次时,采用基-2算法进行计算,计算速度会显著增加。所以,要尽可能使所要处理的数据长度为2的幂次或者用添零的方式来添补数据使之成为2的幂次。1.Fft和Ifft函数调用方式(1)Y=fft(X)参数说明·如果X是向量,则采用

8、傅立叶变换来求解X的离散傅立叶变换;·如果X是矩阵,则计算该矩阵每一列的离散傅立叶变换;·如果X是(N维数组,则是对第一个非单元素的维进行离散傅立叶变换;(2)Y=fft(X,N)参数说明N是进行离散傅立叶变换的X的数据长度,可以通过对X进行补零或截取来实现。(3)(3)Y=fft(X,[],dim)或Y=fft(X,N,dim)参数说明·在参数dim指定的维上进行离散傅立叶变换;·当X为矩阵时,dim用来指定变换的实施方向:

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

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

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