《离散傅里叶变换(DF).ppt》由会员分享,可在线阅读,更多相关《离散傅里叶变换(DF).ppt(95页珍藏版)》请在三一办公上搜索。
1、1,2.1 离散傅里叶变换(DFT)2.2 快速傅里叶变换(FFT)2.3 离散卷积2.4 FFT应用,第2章 离散傅里叶变换(DFT),2,2.1 离散傅里叶变换(DFT),2.1.1 DFT定义2.1.2 DFT推导2.1.3 DFT性质2.1.4 DFT的矩阵计算,3,2.1.1 离散傅里叶变换的定义,1.定义 设x(n)是一个长度为N的有限长序列,则定义x(n)的N点离散傅里叶变换为,X(k)的离散傅里叶逆变换为,(3.1.2),式中,N称为DFT变换区间长度,通常称(3.1.1)式和(3.1.2)式为离散傅里叶变换对。,4,证明IDFTX(k)的唯一性。证明:把(3.1.1)式代入(
2、3.1.2)式有,为整数,为整数,所以,在变换区间上满足下式:IDFTX(k)=x(n),0nN-1 由此可见,(3.1.2)式定义的离散傅里叶逆变换是唯一的。,5,例 3.1.1 x(n)=R4(n),求x(n)的8点和16点DFT。解:设变换区间N=8,则,设变换区间N=16,则,n,6,2.DFT的隐含周期性 前面定义的DFT变换对中,x(n)与X(k)均为有限长序列,但由于 的周期性,使(3.1.1)式和(3.1.2)式中的X(k)隐含了周期性,且周期为N。对任意整数m,总有,均为整数,所以(3.1.1)式中,X(k)满足,同理可证明(3.1.2)式中 x(n+mN)=x(n),7,实
3、际上,任何周期为N的周期序列 都可以看作长度为N的有限长序列x(n)的周期延拓序列,而x(n)则是 的一个周期,即,为了叙述方便,将(3.1.5)式用如下形式表示:,(3.1.7),8,图 3.1.2 有限长序列及其周期延拓,9,2.1.2 DFT推导,1.由Z变换推导 由Z变换可知,非周期序列x(n)的Z变换为 对于有限长序列x(n)(n=0,N-1),X(z)的收敛区域总包括单位圆。若在单位圆的N个均分点上计算Z变换,得周期序列为,10,上式两边乘以,再对k从0N-1求和,得 这说明,长度小于或等于N的有限时宽序列可以用它的Z变换在单位圆上的N个取样精确地表示,或有限时宽序列的DFT相当于
4、其Z变换在单位圆等间隔点上的取样。,11,图 3.1.1 X(k)与X(e j)的关系,X(z)X(ej)X(k),12,2.由离散傅里叶级数推导 如果x(n)的长度为N,且,则可写出 的离散傅里叶级数为,(3.1.8),(3.1.9),式中,(3.1.10),13,3.由连续傅里叶变换推导设xa(t)与Xa(j)构成傅立叶变换对,则(1)时域采样:将xa(t)离散化其频谱为X(ej),是以2为周期的周期函数,即,14,(2)时域截断:将xa(nT)由无限变为有限时宽x(n)x(n)=xa(nT)w(t)其中 且N=T0/T也即此时频谱为 X(ejT)*W(j),是的连续周期函数。,15,(3
5、)频域采样:将频谱离散化 为周期序列,其时域函数为 显然,是以T0(T0=NT)为周期的序列,故其一周内恰好为原信号xa(t)的N个采样值。,16,将上述 求解,得令显然 完全由X(k)确定,而X(k)是以N为周期的序列,且在0N-1区间上xa(nT)可用x(n)表示,于是,17,同样,可推导出 显然,当时域采样满足时域采样定理时,频域不会发生混叠,这时,在0N-1区间上定义的X(k)恰好表示Xa(j)在带限区域内的采样值;而当频域采样满足频域采样定理时,时域才不会发生混叠,在0N-1区间上定义的x(n)才能代表x(t)的有效采样值。上述推导说明,离散傅立叶变换与连续傅立叶变换有密切关系。,1
6、8,2.1.3 DFT性质,DFT有许多性质与连续、序列傅里叶变换相似,但也有其独特性,这主要源于它所隐含的周期性,即循环性。1.线性性 如果x1(n)和x2(n)是两个有限长序列,长度分别为N1和N2 y(n)=ax1(n)+bx2(n)0nN-1 式中a、b为常数,N=maxN1,N2,则y(n)的N点DFT为 Y(k)=DFTy(n)=aX1(k)+bX2(k),0kN-1(3.2.1)其中X1(k)和X2(k)分别为x1(n)和x2(n)的N点DFT。该性质说明,DFT适用于离散线性系统。,19,2.循环位移性质 若x(n)X(k)成立,则 x(n-n0)X(k)称为时间位移性(1)或
7、 x(n)X(k-k0)称为频率位移性(2)(1)说明时域信号的加载时刻,对信号DFT的幅度不产生任何影响,只在频域引入一线性相移。(2)说明用特定频率的余弦(或正弦)对信号进行调制,其结果是信号的频谱发生了位移(以调制频率为中心)。由于x(n)与X(k)的周期性,使DFT的位移呈现循环特性。,20,图 3.2.1 循环位移过程示意图,21,3.对称性 若x(n)X(k)成立,则 x*(n)X*(-k)(复共轭序列的DFT)或 x*(-n)X*(k)或(1/N)X(n)x(-k)说明DFT的时域与频域具有对偶关系。,22,证明:根据DFT的唯一性,由X(k)的隐含周期性,有X*(N-k)=X*
8、(-k),X(N)=X(0)。用同样的方法可以证明 DFTx*(N-n)=X*(k)(3.2.8),23,4.DFT的共轭对称性 如同任何实函数都可以分解成偶对称分量和奇对称分量一样,任何有限长序列x(n)也可以表示成其共轭对称分量和共轭反对称分量之和,即 x(n)=xep(n)+xop(n),0nN-1(3.2.11)将式中的n换成N-n,并取复共轭,得到 x*(N-n)=x*ep(N-n)+x*op(N-n)=xep(n)-xop(n)(3.2.12)xep(n)=1/2x(n)+x*(N-n)(3.2.13)xop(n)=1/2x(n)-x*(N-n)(3.2.14),24,(1)如果
9、x(n)=xr(n)+jxi(n)其中 xr(n)=Rex(n)=1/2x(n)+x*(n)jxi(n)=jImx(n)=1/2x(n)-x*(n)则 DFTxr(n)=1/2DFTx(n)+x*(n)=1/2X(k)+X*(N-k)=Xep(k)DFTjxi(n)=1/2DFTx(n)-x*(n)=1/2X(k)-X*(N-k)=Xop(k)由DFT的线性性质可得 X(k)=DFTx(n)=Xep(k)+Xop(k)(3.2.16)其中 Xep(k)=DFTxr(n),X(k)的共轭对称分量 Xop(k)=DFTjxi(n),X(k)的共轭反对称分量,25,(2)如果 x(n)=xep(n)
10、+xop(n),0nN-1(3.2.17)其中 xep(n)=1/2x(n)+x*(N-n),x(n)的共轭对称分量 xop(n)=1/2x(n)-x*(N-n),x(n)的共轭反对称分量 则 DFTxep(n)=1/2DFTx(n)+x*(N-n)=1/2X(k)+X*(k)=ReX(k)DFTxop(n)=1/2DFTx(n)-x*(N-n)=1/2X(k)-X*(k)=jImX(k)因此 X(k)=DFTx(n)=XR(k)+jXI(k)(3.2.18)其中 XR(k)=ReX(k)=DFTxep(n)jXI(k)=jImX(k)=DFTxop(n),26,有限长实序列DFT的共轭对称性
11、说明:设x(n)是长度为N的实序列,且X(k)=DFTx(n),则(1)X(k)共轭对称,即 X(k)=X*(N-k),0kN-1(3.2.19)(2)如果 x(n)=x(N-n),则X(k)实偶对称,即 X(k)=X(N-k)(3.2.20)(3)如果x(n)=-x(N-n),则X(k)纯虚奇对称,即 X(k)=-X(N-k)(3.2.21),27,利用DFT的共轭对称性,通过计算一个N点DFT,可以得到两个不同实序列的N点DFT。设x1(n)和x2(n)为两个实序列,构成新序列x(n)如下:x(n)=x1(n)+jx2(n)对x(n)进行DFT,得到 X(k)=DFTx(n)=Xep(k)
12、+Xop(k)由(3.2.16)式、(3.2.13)式、(3.2.14)式得到 Xep(k)=DFTx1(n)=1/2X(k)+X*(N-k)Xop(k)=DFTjx2(n)=1/2X(k)-X*(N-k)所以 X1(k)=DFTx1(n)=1/2X(k)+X*(N-k)X2(k)=DFTx2(n)=-j1/2X(k)-X*(N-k),28,2.1.4 DFT的矩阵计算,DFT计算也可以采用矩阵计算法,这样可以利用计算机中的矩阵乘法子程序。,29,1.DFT的矩阵计算 根据DFT定义有 用一组线性方程表示为,30,令 x(n)=x(0),x(1),x(2),x(N-1)T X(k)=X(0),
13、X(1),X(2),X(N-1)T则方程组可用矩阵表示为 X(k)=ANx(n),31,2.IDFT的矩阵计算 根据IDFT定义有 类似地,可将逆变换表示为 其中AN*是AN的共轭矩阵,即,32,显然,当N确定时,AN与AN*为常数矩阵,只要给定x(n)或X(k)就可以通过矩阵计算出X(k)或x(n)。用计算机程序实现时,可以事先将AN与AN*存储在内存中。AN与AN*中各元素由旋转因子 组成,利用旋转因子的周期性,可将AN与AN*简化。即AN与AN*中实际只包含N个不相同的元素:,或,因此,只要确定出上述N个值,即可确定AN或AN*。,33,有两种确定方法:(1)定义计算(2)几何计算 将单
14、位圆从正实轴开始N等分,等分点在Z平面上的坐标即确定了 的值。对于AN,按i=0N-1在单位圆上顺时针取点;对于AN*,按i=0N-1在单位圆上逆时针取点。,34,以N=8为例计算AN与AN*。显然有,,35,于是,36,例:计算x(t)=cos(2t)的频谱。解:(1)对x(t)采样 根据采样定理,余弦信号一周至少采3个点,取N=4,则 x(n)=1,0,-1,0T(2)求X(k)(3)将X(k)的观察区间位移到-N/2N/2-1,得 X(-2)=0,X(-1)=2,X(0)=0,X(1)=2,(4)离散频谱与连续频谱的对比 频域采样间隔f=1/T0=1/TP=1 由图中可看出 X(f)=(
15、1/N)X(k)(f=kf)该结论证明略。,37,时域 频域 非周期,连续 x(t)X(j)或X(f)非周期,连续 无限长序列 x(n)X(ej)周期,连续周期N(T0),序列 x(n)X(k)周期N(1/T=fs),离散 时域采样间隔T t=nT f=k(1/T0)频域采样间隔1/T0=kf f X(f)=(1/N)X(k)(f=kf)=2f=T,38,2.2 快速傅里叶变换(FFT),频谱分析作为信号处理的基本工具已在多学科领域得到应用。然而DFT运算量大,使应用受到限制。1965年,库利图基(Cooley-Tukey)发表了快速计算DFT的方法,使DFT得到实际应用,并由此发展成为称之为
16、快速傅立叶变换(FFT)的一类算法。FFT仅是DFT的一类特殊计算方法。它的价值在于:将DFT的计算时间减少12个数量级(甚至性能改善达100倍之多)。它的重要性在于:明显地证明了采用数字方法进行频谱分析较之用模拟方法更经济。,39,2.2.1 FFT原理 长度为N的有限长序列x(n)的DFT为 考虑x(n)为复数序列的一般情况,对某一个k值,直接按(4.2.1)式计算X(k)值需要N次复数乘法、(N-1)次复数加法,N点DFT的复乘次数为N2,复加次数为N(N-1)。,(4.2.1),40,FFT的基本原理是:把N点序列的DFT逐次分解为若干个较短序列DFT的线性组合。分解的效果是:DFT的
17、乘法和加法次数大大减少。分解的方法不同,导致不同的FFT算法。在FFT算法中,普遍利用了旋转因子WNm的周期性和对称性。即周期性为 对称性为,(4.2.2),41,以一种序列分解法-时间抽取法为例说明FFT原理。设N为合数,即N=ML,则N点序列可分解为M个L点的新序列,即x(n)=x(0),x(1),x(2),x(N-1)分解为 x(iM)=x(0),x(M),x(2M),x(L-1)M)x(iM+1)=x(1),x(M+1),x(2M+1),x(L-1)M+1)x(iM+M-1)=x(M-1),x(2M-1),x(3M-1),x(L-1)M+M-1),42,由此,DFT可写为式中,复数乘法
18、次数:ML2+NM=N(M+L)复数加法次数:ML(L-1)+N(M-1)=N(M+L-2)当L、M均大于1时,有 N(M+L)N2 N(M+L-2)N(N-1)即分解减少了计算次数。,43,若L也为合数的话,则上述分解可继续,从而使计算次数进一步降低。当N=P1P2 P3 Pk时,按上述逐次分解方法可得计算次数为 复数乘法:N(P1+P2+P3+Pk)复数加法:N(P1+P2+P3+Pk-k)当Pi各不相同时,按上述逐次分解方法得到的FFT算法称为混基FFT;当Pi=r(即N=rk)时,得到的FFT算法称为基r FFT;当r=2时,得到常用的基2 FFT。,44,2.2.2 基2 FFT1.
19、时间抽取法 设序列x(n)的长度为N,且满足按n的奇偶把x(n)分解为两个N/2点的子序列,为自然数,45,则x(n)的DFT为其中,kr,46,由于X1(k)和X2(k)均以N/2为周期,且所以X(k)又可表示为,图4.2.1 蝶形运算符号,47,图4.2.2 N点DFT的一次时域抽取分解图(N=8),48,与第一次分解相同,将x1(r)按奇偶分解成两个N/4长的子序列x3(l)和x4(l),即 那么,X1(k)又可表示为 同理,由X3(k)和X4(k)的周期性和Wm N/2的对称性得:,1,(4.2.9),(4.2.10),49,用同样的方法可计算出其中,(4.2.11),50,图4.2.
20、3 N点DFT的第二次时域抽取分解图(N=8),51,图4.2.4 N点时域抽取FFT运算流图(N=8)蝶形运算,同址计算,序列倒序,系数WNr确定,52,算法复杂度:设P(N)表示N点DFT所需复数乘法计算次数,Q(N)表示N点DFT所需复数加法计算次数,则按时间抽取法得到 当将DFT最终分解为2点时,P(2)=1,Q(2)=2。将此初始条件带入上式递归求解得 取N=1024,基2FFT速度 比DFT提高200倍。,53,图4.2.5 FFT算法与DFT定义计算之间乘法次数比较曲线,54,2.频率抽取法 设序列x(n)长度为N=2M,首先将x(n)前后对半分开,得到两个子序列,其DFT可表示
21、为如下形式:,55,将X(k)分为偶数与奇数组,当k取偶数(k=2r,r=0,1,N/2-1)时当k取奇数(k=2r+1,r=0,1,N/2-1)时,56,将x1(n)和x2(n)分别代入(4.2.14)和(4.2.15)式,可得,(4.2.16),图4.2.10 DIFFFT蝶形运算流图符号,57,图4.2.12 DIFFFT二次分解运算流图(N=8),58,图4.2.13 DIFFFT运算流图(N=8),59,3.DFT程序#include#include#include#include msp.hvoid mcmpdft(complex x,complex y,int n,int isi
22、gn)/*-Routinue mcmpdft:Directly to Compute the DFT/IDFT of Complex Data x(n)By DFT definition.If ISIGN=-1:For Forward Transform;ISIGN=1:For Inverse Transform.-*/,complex t,ts,z;float pi2;int m,k;pi2=8.*atan(1.);t.real=0.;t.imag=isign*pi2/n;ts.real=0.0;for(m=0;mn;m+)ym=x0;for(k=1;kn;k+)ts.imag=t.imag
23、*k*m;z=cexp(ts);ym.real+=xk.real*z.real-xk.imag*z.imag;ym.imag+=xk.real*z.imag+xk.imag*z.real;if(isign=1)ym.real/=n;ym.imag/=n;,60,4.FFT程序#include#include#include#include msp.hvoid mcmpfft(complex x,int n,int isign)/*-Routine mcmpfft:to obtain the DFT of Complex Data x(n)By Cooley-Tukey radix-2 DIT
24、Algorithm.input parameters:x:complex array.input signal is stored in x(0)to x(n-1).n:the dimension of x and y.isign:if ISIGN=-1 For Forward Transform if ISIGN=+1 For Inverse Transform.output parameters:x:complex array.DFT result is stored in x(0)to x(n-1).Notes:n must be power of 2.-*/,complex t,z,c
25、e;float pisign;int mr,m,l,j,i,nn;for(i=1;i16)printf(N is not a power of 2!n);return;z.real=0.0;pisign=4*isign*atan(1.);mr=0;for(m=1;m=n)l=l/2;mr=mr%l+l;if(mr=m)continue;,61,t.real=xm.real;t.imag=xm.imag;xm.real=xmr.real;xm.imag=xmr.imag;xmr.real=t.real;xmr.imag=t.imag;/*-*/l=1;while(1)if(l=n)if(isig
26、n=-1)return;for(j=0;jn;j+)xj.real=xj.real/n;xj.imag=xj.imag/n;return;,for(m=0;ml;m+)for(i=m;in;i=i+2*l)z.imag=m*pisign/l;ce=cexp(z);t.real=xi+l.real*ce.real-xi+l.imag*ce.imag;t.imag=xi+l.real*ce.imag+xi+l.imag*ce.real;xi+l.real=xi.real-t.real;xi+l.imag=xi.imag-t.imag;xi.real=xi.real+t.real;xi.imag=x
27、i.imag+t.imag;l=2*l;,62,2.2.3 利用FFT计算IDFT DFT和IDFT的运算公式为:由于 对上式两边同时取共轭,得 可见,利用FFT也可计算IDFT。,63,2.3 离散卷积,由于卷积运算可以描述线性时不变系统,因此它在信号处理中具有重要作用。离散系统中的卷积用离散卷积计算。2.3.1 定义 若x1(n)与x2(n)是宽度为N的有限时宽序列,则 定义为x1(n)与x2(n)的离散卷积,记作x1(n)*x2(n)。因为离散信号(有限时宽序列)被看作周期序列,因此y(n)也具有周期特性,且周期为N,故离散卷积又称作循环卷积。,64,2.3.2 循环卷积定理若x1(n)
28、X1(k),x2(n)X2(k),则 x1(n)*x2(n)X1(k)X2(k)或 x1(n)x2(n)1/N(X1(k)*X2(k)。卷积定理指出了相乘与卷积运算的关系,同时给出了卷积运算的另一途径,即由卷积定理也可以推论出x1(n)*x2(n)的周期为N。,65,2.3.3 循环卷积与线性卷积的关系设x1(n)与x2(n)是宽度分别为N1、N2的有限时宽序列,则循环卷积:线性卷积:其中,循环卷积长度 N3=maxN1,N2 线性卷积长度 N4=N1+N2-1 显然,N3 N4可以证明也即循环卷积是线性卷积以循环卷积长度进行周期化并叠加(时域混叠)的结果。,66,2.3.4 利用循环卷积求解
29、线性卷积 实际信号处理中,特别是分析处理模拟系统时,我们经常需要获得线性卷积,而利用计算机这类数字设备只能实现循环卷积,所以需要解决用循环卷积求解线性卷积的问题。,67,两个有限长序列的线性卷积 从循环卷积与线性卷积的关系可知,如果将循环卷积的长度定义为线性卷积有效结果的长度,即取 N3N4=N1+N2-1 则循环卷积一个周期内的序列值与线性卷积完全相同。这样,通过周期扩展,就可以用循环卷积的计算结果表示线性卷积,称此为扩展周期法。这可以理解为:将时域x1(n)与x2(n)补零至N4长度,导致其频谱采样间隔变小,采样精度提高,从而减小(消除)了由频谱X1(k)X2(k)确定的时域卷积序列x1(
30、n)*x2(n)中的混叠现象,使得循环卷积与线性卷积结果一致。,68,因此,对两个有限长序列计算线性卷积的方法为:.确定循环卷积的计算长度,即 NN1+N2-1 其中,N1与N2分别为序列x1(n)与x2(n)长度(即周期);.将x1(n)与x2(n)分别补零至长度为N;.对x1(n)与x2(n)分别求出N点的DFT为X1(k)与X2(k);.计算X1(k)X2(k);.求X1(k)X2(k)的N点IDFT为x1(n)*x2(n),该结果即为线性卷积。注:算法中的DFT与IDFT均可利用FFT求解;也可以通过直接计算N长度的离散卷积所替代。,69,例:已知h=1,2,-1,1,x=1,1,2,
31、1,2,2,1,1,求y=h*x。解:y=1,3,3,5,3,7,4,3,3,0,1 Ly=8+4-1=11,70,71,图 3.4.2 线性卷积与循环卷积,72,2.4 FFT应用,DFT快速算法FFT的出现,使DFT在数字通信、语言信号处理、图像处理、功率谱估计、仿真、系统分析、雷达理论、光学、医学、地震以及数值分析等各个领域都得到广泛应用。,73,2.4.1 利用FFT进行分段卷积 在实际信号处理中,被卷积的两个序列之一可能是无限长序列或长度比另一序列长很多。利用扩展循环卷积周期的方法,可能不是有效的和实际的。.扩展周期法意味着,整个较长的序列在进行卷积之前必须完全出现;.由于整个序列完
32、全出现之前不进行卷积处理,导致输出有较长的延迟;.如果N1+N2-1太大,因需要大量的存储单元及对FFT算法实际的考虑,使卷积计算已不现实;如果N1+N2-1无穷大,卷积计算已不可能。,74,有两种方法用来解决上述问题:重叠相加法,重叠保留法。重叠相加法设序列h(n)长度为N,x(n)为无限长序列。将x(n)均匀分段,每段长度取M,则于是,h(n)与x(n)的线性卷积可表示为,(3.4.4),k=0,75,若每段卷积yi(n)按线性卷积长度计算,则yi(n)结果相加即为线性卷积y(n)。该方法归纳为:.将序列x(n)以M为长度顺序分段为xi(n)(M的经验选择:MN且与N数量级相同);.对h(
33、n)与xi(n)分别作L(N+M-1)点的DFT,得到H(k)与Xi(k);(用FFT).对H(k)Xi(k)求出L点IDFT得h(n)*xi(n)=yi(n);(用FFT).对各段卷积求和,即注:该方法中,各段yi(n)是以线性卷积计算的。,76,图 3.4.4 重叠相加法卷积示意图,77,重叠保留法仍然采用分段求卷积再组合的方法。该方法与重叠相加法的区别为:.对序列x(n)以M为长度重叠分段为xi(n),其后段与前段有N-1个重叠点;.每段以M为周期计算循环卷积;(用FFT).将每段得到的循环卷积结果的前N-1个点去掉(这是循环卷积中的混叠部分),然后将各段剩余部分(对应线性卷积结果)首尾
34、衔接起来,即得到最终结果。,78,重叠保留法卷积示意图,79,2.4.2 利用FFT对连续信号作频谱分析 所谓信号的谱分析就是计算信号的傅里叶变换。连续信号与系统的傅里叶分析显然不便于直接用计算机系统实现,使其应用受到限制。DFT(FFT)是一种时域和频域均离散化的变换,适合数值运算,成为分析离散信号和系统的有力工具。作为DFT的重要应用之一,就是利用FFT对连续信号作频谱分析。,80,实现流程为:频率采样间隔为 模拟域 f=1/T0=1/NT(T为时域采样周期)=2/(NT)数字域=2/N所以,频率分辨率即为 f=1/NT,f越小分辨率越高。,81,利用FFT分析连续信号频谱的好处是可以用计
35、算机进行高速频谱计算,但有可能造成误差,主要有三方面原因:1.混叠失真 利用抗混叠模拟低通滤波器进行预滤波,使xa(t)频谱中最高频率分量不超过fh。设S/H或A/D的采样频率为fs,为了不产生频域混叠,按照采样定理,必须满足 fs2 fh 否则将产生频谱混叠,称为混叠失真。消除混叠误差是以引入频谱截断误差为代价的。,82,由频率分辨率 f=1/NT2fh/N可看出,信号最高频率fh(又称高频容量)与频率分辨率f是相互矛盾的。在N一定时,增加fh,使f增加,即分辨力下降;提高分辨力(即减小f),则需减小高频容量fh。所以,对fh和f,保持一个不变而提高另一个性能的唯一方法是增加采样点数N。增加
36、采样点数N的有效途径:(1)增加观察窗口宽度(记录长度)T0,当T不变时,N=T0/T增加;(2)在一定记录长度T0内,提高采样频率(减小T),使N=T0/T增加。,83,例:用频谱分析仪对模拟信号进行谱分析,要求谱分辨率f5Hz,信号最高频率fh=2.5kHz,试确定最小记录时间T0min,最低采样频率fsmin,最少采样点数Nmin。如果fh不变,要求谱分辨率提高一倍,最少采样点数和最小记录时间是多少?解:T0=1/f1/5=0.2(s),T0min=0.2s fs2fh=22.5=5(kHz),fsmin=5kHz N2fh/f=22.5103/5=103,Nmin=103 频率分辨率提
37、高一倍,即f=5Hz/2,则 Nmin=2fh/f=5103/2.5=2103 T0min=1/f=1/2.5=0.4s,84,2.频谱泄露 对时宽无限或长时宽信号的DFT(FFT)处理,一般需在时域加窗将其转换成有限时宽信号。x(n)w(n)X(ej)*W(ej)频域卷积造成:窗谱主瓣使信号频谱加宽,窗谱旁瓣使信号频谱出现波纹(皱波),这种现象称为频谱泄露。泄露使被截信号频谱与原信号频谱之间出现误差,只要加窗,泄露就不可避免,这是原理性误差。泄露导致频谱扩展,使fh可能超过奈奎斯特频率(fs/2),进一步加剧混叠失真。为了减小泄露影响,必须选择合适的窗函数(窗口宽度,窗口形状)。,85,图
38、3.4.11 矩形窗函数的幅度谱,86,图 3.4.12 加矩形窗前后的频谱,87,3.栅栏效应 用DFT(FFT)计算的频谱可以看作是连续信号频谱的采样值,我们只能在离散采样点上看到真实的频谱,就好象通过栅栏看一幅图像一样,这就是栅栏效应。栅栏效应可能会造成连续频谱的某些峰值、谷值或细微变化被“栅栏”遮挡,使我们不能观察(检测)到,造成分析或恢复的不准确性。减小这种效应的方法是,在被加窗后的信号数据末端补若干零值,使FFT计算点数N增加,又不改变原有的记录数据(相当于窗宽不变)。这样就可以在保持原频谱形状不变的情况下,增加谱线密度,即频域采样点数增加,使原来看不见的频谱分量变得可见。,88,
39、除以上三方面外,CFT与DFT还有两点不同:(1)DFT是周期的,CFT是非周期的 DFT一个周期 CFT(k=-N/2N/2-1)(2)DFT幅值与CFT幅值不同 X(k)=NX(j)=2k/(NT)或 X(k)=NX(f)f=k/(NT),89,2.4.3 用FFT作频谱计算(分析、测量)1.对较长信号作频谱测量 由DFT与Z变换关系得 若实际信号x(n)长度无限或为L(LN),当希望获得有限频率点N上的频谱测量时,如何实现?设x(n)的Z变换为 则x(n)的N点DFT为,90,由X(k)可确定出有限长序列xp(n),91,该式说明,对L点或无限长信号要实现N个频率点的频谱测量,应先对时间
40、序列以N为周期进行拓展,当LN时,周期化的结果xp(n)无混叠,否则xp(n)含有混叠。令时域样本数L满足 L=NM 其中N为希望的频率样本数,M为大于1的整数,则希望的频谱为 上式也说明,频域较大的采样间隔会造成时域信号混叠。,92,2.对较短信号作频谱测量 设x(n)为长度是N的有限序列,若希望在单位圆上L(LN)个等间隔频率点上计算序列的频谱,则实现方法为:定义 则,93,用增加零值样本来充实有限长序列这种简单的方法,使我们能在环绕单位圆的一组等间隔频率点上,以任意的频率分辨率计算序列的频谱,因而无论多高的频率分辨力都能达到。非常有用的方法!3.在单位圆内的某圆上作等间隔频率点的频谱测量 设x(n)为长度是N的有限序列,欲作频谱测量的圆半径为 r,则 即将信号预先乘以 r-n,再作FFT。,94,图 3.4.7 单位圆与非单位圆采样,95,4.周期序列的DFT设x(n)为周期序列,周期N,其N点的DFT为 X(k)=XN(k)(1)截取有限长度M=mN,m为正整数,则(2)截取有限长度MmN时,XM(k)与X(k)无关联,可通过使截取长度逐次加倍计算XM(k),直至相邻两次计算在允许误差范围内为止。,