实验二 应用FFT对信号进行频谱分析
- 格式:doc
- 大小:358.00 KB
- 文档页数:9
20090401310074 海南大学实验二 应用FFT 对信号进行频谱分析一、实验目的1、进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法, 所以FFT 的运算结果必然满足DFT 的基本性质)。
2、学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。
二、实验原理i.模拟信号频率Ω和采样得到的数字信号频率ω的关系:/s T f ω=Ω=Ωii. DTFT 与对应的理想采样信号的频谱之间的对应关系为:|^()()jwa T X j X eω=ΩΩ=即DTFT 与FT 的关系为:12()[()]j a r X eX j r TTTωωπ∞=-∞=-∑就是说,只要知道了采样序列的频谱,就可以得到相应的连续信号的频谱。
(满足耐奎斯特采样定理)iii.DFT 是对离散时间序列的频域采样,是对ZT 上单位圆上的均匀采样,或者是DTFT 上[0,2]π的等间距采样。
当满足频域的采样定理时,便可以由频域的采样值恢复ZT 或者是DTFT 。
所以能用DFT 对信号进行频谱分析。
当采样的点数足够时,便能用它的包络作为模拟信号的近似谱。
近似的过程中,可能会有混叠现象,泄露现象和栅栏效应这三种误差。
iv.离散傅立叶变换DFT :1()(),0,1,2...,1N nkNn X k x n Wk N -===-∑[]11()()(),0,1,2...,1N nk Nn x n ID FT X k X k Wn N N--====-∑反变换与正变换的区别在于N W 变为1-N W ,并多了一个N 1的运算。
因为N W 和1-N W 对于推导按时间抽取的快速傅立叶变换算法并无实质性区别,因此借助FFT 来实现IFFT.三、实验内容和结果:1. 高斯序列的时域和频域特性:高斯序列的时域表达式:2(),015()0,n p q a e n x n -⎧⎪≤≤=⎨⎪⎩其它i. 固定参数p=8,改变参数q 的值,记录时域和频域的特性如下图。
图 1结论:从时域图中可以看到,q 参数反应的是高斯序列能量的集中程度:q 越小,能量越集中,序列偏离中心衰减得越快,外观上更陡峭。
同时,随着q 的增大,时域序列总的能量是在增大的。
频域上,对应的,随着q 的增加,由于时域序列偏离中心的衰减的缓慢,则高频分量也就逐渐减,带宽变小:时域上总的能量增大,故也可以看到低频成分的幅度都增大。
ii. 固定参数q ,改变参数p ,记录时域和频域的特性如下图 2.图 2结论:p 是高斯序列的对称中心,p 的变化在时域表现为序列位置的变化。
由于选取的矩形窗函数一定,p 值过大时,会带来高斯序列的截断。
并且随着p 的增大,截断的越来越多。
对应地,看频域上的变化:截断的越多,高频的成分也在增多,以至发生谱间干扰,泄露现象变得严重。
从图中可以看到,在p=13时,已经有混叠存在。
当p=14时,混叠进一步加大,泄露变得更明显。
2. 衰减正弦序列的时域和幅频特性:sin(2),015()0,n b e fn n x n απ-⎧≤≤=⎨⎩其它改变参数f ,记录时域和幅频特性如下图3.图 3结论:随着f 的增大,时域上可以看到,序列的变化明显快多了。
从幅度谱上看,序列的高频分量逐渐增多,低频分量逐渐减小,以至于发生严重的频谱混叠。
当f 增大到一定的程度,从图中可以看到,f=0.4375和f=0.5625时的幅度谱是非常相似的,此时已经很难看出其幅度谱的区别。
3. 三角序列的时域表达式和对应的时域和幅频特性如图 4:c 1,03()8,470,n n x n n n n +≤≤⎧⎪=-≤≤⎨⎪⎩其它图 4结论:随着fft 取点数的增多,能够看到的幅度谱的频率分量变得丰富,得到的是高密度更高的谱,也就是减轻了栅栏效应。
但是这种截断后补零的方法不能提高物理频率的分辨率。
因为截断已经使频谱变模糊,补零后使采样间隔减小,但得到的频谱采样的包络任然是已经变模糊的频谱,所以频谱的分辨率没有提高。
因此,要提到频率的分辨率,就必须对原始信号截取的长度加长,也就是增加采样时间0T 的长度。
另外,可以看到,三角序列的频谱几乎集中在低频区,旁瓣的幅度非常小。
4. 反三角序列的时域表达式和对应的时域和频域特性如图 5:4,03()3,470,d n n x n n n n-≤≤⎧⎪=-≤≤⎨⎪⎩其它图 5结论:同样,随着fft 取点数的增多,能够看到的幅度谱的频率分量变得丰富,得到的是高密度更高的谱,减轻了栅栏效应。
另外,可以看到,求8点的fft 时,三角序列和反三角序列的幅频特性是一样的。
原因在于:反三角序列()d x n 可以看成是三角序列x ()c n 的4点圆周移位,即x ()((4))()d c N N n x n R n =-,根据DFT 的圆周移位性质,则有4()()kd N c X k W X k =.由于=8N ,所以4k k W =-N (1),即()(1)()kd c X k X k =-,故()()d c X k X k =.不过,当补零之后,能够看到的频率成分增多,可以发现,反三角序列的频谱较宽,旁瓣的分量很多。
四、调用fft 函数计算ifft 的函数原理:11x ()[(k)]()N nk Nk n ifft X X k WN--===∑变换上式有:1**1()[()]N nk N k x n X k W N-==∑于是,可以调用fft 模块,即**1()[(()]x n fft X k n=相应的程序清单如下:function [x]=myifft(y) N=length(y); y1=conj(y); x1=fft(y1); x=conj(x1)/N;验证:>> x=[1 2 3 5 7] x =1 2 3 5 7 >> y=fft(x,6) y =Columns 1 through 418.0000 -8.0000 + 1.7321i 0 - 5.1962i 4.0000 Columns 5 through 60 + 5.1962i -8.0000 - 1.7321i >> a=myifft(y) a =1 2 3 5 7 0可以看到,a 只是在x 的末尾补了一个0,原因在于在y 是x 的6点fft,即在调用fft 的过程中有给x 的末尾补0的过程。
所以,在回调的过程中,补充的0还在。
五、思考题1、在N=8时, c ()x n 和d ()x n 的DFT 幅频特性会相同吗? 为什么? N=16呢? 在N=8时,c ()x n 和d ()x n 的幅频特性相同。
N=16时不同。
原因如下: 当N=8时,}{c c 1,03()8,47()1,2,3,4,4,3,2,10,n n x n n n x n n+≤≤⎧⎪=-≤≤=⎨⎪⎩,即其它,}{d d4,03()3,47,x n 4,3,2,1,1,2,3,40,n n x n n n n-≤≤⎧⎪=-≤≤⎨⎪⎩即()=其它, 谱分析时,[]∑-===1)()()(N n knN Wn x n x FFT k X ,其中NjN eW π2-=。
当N=8时,4πjN eW -=,此时∑∑-===7470)()()(knjn knNen x Wn x k X π,代入,有:0123456744444444()12+3+4+4321jkjkjkj kjkjkjkjkc X k ee e e e e e eππππππππ--------=++++(1) 0123456744444444()43+2+1+1234jk jk jk jk jk jk jkjkd X k eeeeeeeeππππππππ--------=++++(2)调整顺序,有 4567012344444444()1234+43+2+1jkjkjkjkjkjkjkjkd X k eeeeeeeeππππππππ--------=++++(3)(1)式和(3)式相对照,且21j k e π±=,故有k k kd c X X ()=(-1)(),即有c k k dX X =()()。
故N=8时,x2(n)和x3(n)的幅频特性相同。
或者像在实验结论中运用DFT 圆周移位的性质来说明,不再重复。
而当N=16时,8πjN eW -=。
此时∑∑=-===7n 8150)()()(knjn knNen x Wn x k X π,易知)()(32k X k X ≠。
即N=16时,k c X ()和k dX ()的幅频特性不同。
2、实验中的信号序列c ()x n 和d ()x n ,在单位圆上的Z 变换频谱e j c X ω()和j dX ω(e )会相同吗?哪一个的低频分量多,说明原因?e j c X ω()和j d X ω(e )是不同的,三角序列e j cX ω()的低频分量更多。
可以这样解释: ()[]=()j j nn X e D TFT x x n eωω+∞-=-∞=∑(n ),并且频谱的分布反映时域变化的快慢程度。
就是说,时域信号变化的越剧烈,频域的高频分量便较多,对应的,时域的信号较平缓,则频域的低频分量较多。
可以看到,在c ()x n 和d ()x n 的非零域内,c ()x n 和d ()x n 的变换程度是相当的,变化量都是1(增加1或者减小1)。
不过在零域和非零域的分界处,c ()x n 的变化量是1,而d ()x n 的变化量是4,要大得多,也就是变化的剧烈的多,就不奇怪d ()x n 的高频分量要多了。
3、对于一个有限长序列进行离散傅里叶变换(DFT )时,等价于将该序列周期延拓后进行傅里叶级数(DFS )展开。
因为DFS 也只是取一个周期来运算,所以FFT 在一定的条件下也可以用以分析周期信号序列。
如果实正信号sin(2),0.1fn f π=,用16点的FFT 来做DFS 运算,得到的频谱是信号的真实谱吗?不是的,该实正信号的周期N=10,只有当进行N 的整数倍的FFT 时,才能得到真实的频谱。
六、实验总结数字低频是0ω=,数字高频是ωπ=.当满足耐奎斯特采样定理: 2s c f f ≥时, c s 2/c f f ωππ=≤,当且仅当2s c f f =时, c ωπ=.也就是说,数字频率中的高频π对的是模拟频率1/2f s .当在DTFT 的e j X ω()的[0,2]π内采样N 个点时,第N/2条谱线就代表着数字最高频率π,也即代表着模拟频率1/2f s 。
一般的小于1f 2s 的频率f ,可以用0f s f k F kN==来计算对应的谱线位置。