1、一、实验目的1、理解用 FFT 对周期序列进行频谱分析时所面临的问题并掌握其解决方法。2、掌握用时域窗函数加权处理的技术。3、理解用 FFT 对非周期信号进行频谱分析所面临的问题并掌握其解决方法。二、实验原理与计算方法、对周期序列进行频谱分析应注意的问题对时间序列作 FFT 时,实际上要作周期延拓(如果取长序列的一段进行计算还要先作截断) 。周期序列是无限长时间序列,如果截断区间刚好就是该序列周期的整数倍,那么在进行周期延拓后,将还原出原来的周期序列,由此可以较精确地计算出的该周期序列的频谱。反之,如果截断区间并不是该序列周期的整数倍,那么在进行周期延拓后,就不可能还原出原来的周期序列,由此计
2、算出的频谱与该周期序列的频谱存在误差,而且误差的大小与截断区间的选取直接相关,如图 1 所示,其中幅度频谱的量值表示为 ,以 dB(分贝)为单位。这种误差是由于周期序列与矩形截断序列)(log20kX相乘在频域产生二者的频谱卷积形成的。矩形窗的频谱是抽样函数序列,如图 2 所示。除了 k = 0 处主瓣内集中了大部分的能量外,fNjef)1()sin(两旁的较小峰值处的旁瓣也分散了一部分能量,它与周期序列频谱卷积的结果使原来集中的频谱展宽,称为频率泄漏。如果对已知周期的信号作频谱分析,在进行时域截断时,完全可以选取其周期的整数倍裁取,从而可以避免这种频率泄漏的发生。不过,通常需要进行频谱分析的
3、信号是周期未知的信号,或随机信号,无法判断它的周期值,为了尽量避免频率泄漏对结果的影响,在作时间截断时,就应选取其频谱的旁瓣较小的截断函数,以减轻泄漏问题。2、时域窗函数的应用作为截断函数,矩形窗在作时间截断时,对所截取区间内的信号不加以任何影响,而其它的窗函数都将对所截取区间内的信号作加权处理。除了在实验二中已经介绍过三角窗、Hanning 窗和 Hamming 窗外,常用的窗函数还有很多,例如 Parzen 窗、Kaiser 窗、Chebyshev 窗、Tukey 窗、Poisson 窗、Caushy 窗、Gaussian 窗和 Blackman 窗等等。本次实验仍是采用实验二中的几种窗函
4、数,但是利用窗函数作时域加权截断。)(kX)(kXk k(a)时域周期整数倍截断 (b)时域非周期整数倍截断图 1 周期函数 的幅频曲线tsin)(kXk图 2 矩形窗的频谱图 3 中给出了采用 Hanning 窗对正弦函数作非整周期的时域加权截断后的波形和频谱,与图 4-1(b)比较,泄漏已明显减少。应该指出,前面所给出的窗函数都是定义为以 0 点为中心、宽度为 N +1 的加权函数,在这里应用时,需要将其右移 ,成为 区间内的加权函数。2N3、对非周期序列进行频谱分析应注意的问题()混叠一般非周期信号作 FFT 之前要进行时域采样和周期延拓(无限长时间信号还应先截断再延拓)。根据 Four
5、ier 变换理论,经等周期 的冲激采样后,离散序sT列 的频谱 是原信号频谱 以 为周)()(txnTTsnssfXTf )(1)( )(fXsT1期的周期延拓。按照 Nyquist 采样定理,由采样引起周期延拓后频谱之间不发生混叠的条件是:(1)原信号应该是有限带宽信号,设其频带宽度为 fm;(2) 频谱的周期 ,即采样周期应满足 Nyquist 条件 。msf2 msfT21由于实际上有限长时间信号 的 FT 是频域的无限函数,因此采样所)(tx)(fX得的离散序列的频谱必定产生混叠,减小采样周期 只能减小而不能消除混叠。s对于时间有限函数,当采样周期较大时,也会在 FFT 得到的频域出现
6、混叠,形成频谱失真,造成频谱分析结果与原信号的实际频谱的差异,也无法恢复出原信号。当然,实际工作中只要采样和截断产生的误差在许可的范围内就行了,但应该认识到混叠是引起频谱分析误差的一个主要原因。还应该注意的是,离散 Fourier 变换的频域也是周期化的,区间内的样点实际上是负频率区的量值,因此如果出现混叠,就将在一1,2N个周期内出现,并发生在 附近的区域,如图 4 所示。要减少混叠,就要尽量2N减小采样周期。()泄漏周期函数截断引起的频率泄漏问题,在非周期函数截断处理后同样存在,这种误差是由于采)(sinw)(kX0 t0 k(a) 正弦函数的加权的非周期时域截断 (b)减小了泄漏的频谱图
7、 3 采用 Hanning 窗加权后的时域截断和频谱)(nueaT )(kX0 n 0 N/2 N(a)时域按周期 Ts 采样 (b)频域一个周期内在 N/2 附近出现混叠图 4 非周期函数 采样后的幅频曲线te样后的离散序列与矩形截断序列相乘在频域造成二者的频谱卷积形成的。矩形窗的频谱是抽样函数序列 ,它与离散序列频谱卷积的结果使原fNjef)1()sin(来集中于每一个样点处的频谱展宽,其影响在高频区(接近 N/2 的样点)特别明显,如图 5 所示。同样,为了尽量避免频率泄漏对结果的影响,在对非周期函数作时间截断时,除尽量增加截断序列的宽度外,也应选取其频谱的旁瓣较小的截断函数,以减轻泄漏
8、问题。在选取了适当的窗函数后,应当使窗函数的宽度与被处理的序列长度相同,如果作变换前还需要补零(例如为了作卷积运算或避免栅栏效应) ,则应将原序列与窗函数相乘后再补零,即补零的样点不用窗函数加权处理。()栅栏效应非周期信号 应具有连续的频谱,在对 作抽样后进行 DFT,得到的是)(tx )(tx离散的频谱。如果排除混叠和泄漏等误差的影响,所得的结果也只是 的连续)(tx频谱上的 个样值。这就象通过栅栏上的等间距缝隙观看到的另一边的景象,12N故此称栅栏效应。被栅栏遮住的景象中有可能存在与显现出的频谱差异较大的变化,即显示信号特征的频谱分量。为了使被栅栏遮住的部分能尽可能地显现出来,可以采用增加
9、频域样点密度的方法,即在不增加信号采样点的情况下,用时域补零加宽变换尺度 N 来实现,称为补零重构。例如原来信号采样得到 12个样点,在其后面再加上 4 个零,使序列的总长度为 16 个样点。这样处理的结果原来信号的采样间隔和频率都没有改变,设采样频率为 ,经补零重构之后,sf采样频率仍然为 ,但是原来频域样点间宽度为 /12,经补零重构之后频域样sf sf点间宽度为 /16。这就使补零重构之后频域样点密度增加,而且显示出原来没有显露的一些频率位置的频谱。三、实验内容(1)将余弦函数 cos(2t)以 Ts=1/53 s 抽样,对余弦序列做样点数为 N=128的 FFT,画出频谱曲线,观察并记
10、录频率泄漏现象,然后用 Hamming 窗和三角窗作加权截断,观察并记录泄漏的衰减。n=0:1:127;N=128;Ts=1./53;t=n.*TsXn=cos(2.*pi.*t)w=hamming(N)c=bartlett(N)H=Xn.*wB=Xn.*c)(nweaT )(kX0 n 0 N/2 N(a)时域截断 (b)频域一个周期内在 N/2 附近出现泄漏图 5 函数 采样后作截断的幅频曲线tesubplot(3,2,1);plot(t,Xn,r);title(X曲线)subplot(3,2,2);plot(abs(fft(Xn,N),r);title(幅频曲线)subplot(3,2,
11、3);plot(t,H,r);title(hamming窗加权曲线)subplot(3,2,4);plot(abs(fft(H,N),r);title(hamming窗加权幅频曲线)subplot(3,2,5);plot(t,B,r);title(三角窗加权曲线)subplot(3,2,6);plot(abs(fft(B,N),r);title(三角窗加权幅频曲线)(2)将幅度为 1,周期为 2 的方波信号,按 Ts=1/37 s 的间距抽样,做样点数 N=128 的 FFT,画出频谱曲线,然后用 Hamming 窗和三角窗作加权截断,观察并记录作不同的加权截断引起的频谱差异。n=0:1:12
12、7;N=128;Ts=1./37;t=n.*TsXn=square(1.*pi.*t,50)w=hamming(N)c=bartlett(N)H=Xn.*wB=Xn.*csubplot(3,2,1);plot(t,Xn,r);title(方波曲线)subplot(3,2,2);plot(abs(fft(Xn,N),r);title(方波频谱曲线)subplot(3,2,3);plot(t,H,r);title(方波hamming加窗曲线)subplot(3,2,4);plot(abs(fft(H,N),r);title(方波hamming加窗频谱曲线)subplot(3,2,5);plot(t
13、,B,r);title(方波Bartlett加窗曲线)subplot(3,2,6);plot(abs(fft(B,N),r);title(方波Bartlett加窗频谱曲线)(3)将单边指数函数 x(t)=e-tu(t)抽样截断后作 FFT,首先选取不同的抽样周期 Ts=0.05,0.1,0.5 s,并取 N = 128,观察频谱混叠。然后作不同宽度的截断,选取矩形窗宽为 4,8,32 等,并保持 N = 128,观察频谱泄漏。N=128;n=0:3;Ts=0.05;t=n.*Tsx=exp(-t).*u(t)w=boxcar(4)R=x.*wsubplot(321);plot(t,abs(ff
14、t(x);title(Ts=0.05)subplot(322);plot(abs(fft(R,N);title(矩形窗宽为4 )n=0:7Ts=0.1t=n.*Tsx=exp(-t).*u(t)w=boxcar(8)R=x.*wsubplot(323);plot(t,abs(fft(x);title(Ts=0.1 )subplot(324);plot(abs(fft(R,N);title(矩形窗宽为8 )n=0:31;Ts=0.5t=n.*Tsx=exp(-t).*u(t)w=boxcar(32)R=x.*wsubplot(325);plot(t,abs(fft(x);title(Ts=0.5
15、 )subplot(326);plot(abs(fft(R,N);title(矩形窗宽为32 )(4)计算下面三个正弦函数的组合的频谱 )(2sin()si()2sin() 321 tuftftftx 其中频率 f1=6.3,f 2=9.7, f3=15.3,令 t=nTs,抽样周期 Ts=1/64。分别取N=32,64,128 将其截断后作 FFT,观察和记录混叠和泄漏形态。分别采取补零加宽和增加截取时间宽度的方法作出频谱图,了解栅栏效应和频率分辨力的意义。N=32;n=0:31;Ts=1./64;t=n.*Tsx=(sin(2.*pi.*6.3.*t)+sin(2.*pi.*9.7.*t)
16、+sin(2.*pi.*15.3.*t).*u(t)subplot(321);plot(abs(fft(x,N);title( 补零加宽)subplot(322);plot(t,abs(fft(x);title(增加截取时间宽度)N=64;n=0:64;Ts=1./64;t=n.*Tsx=(sin(2.*pi.*6.3.*t)+sin(2.*pi.*9.7.*t)+sin(2.*pi.*15.3.*t).*u(t)subplot(323);plot(abs(fft(x,N);title( 补零加宽)subplot(324);plot(t,abs(fft(x);title(增加截取时间宽度)N=128;n=0:128;Ts=1./64;t=n.*Tsx=(sin(2.*pi.*6.3.*t)+sin(2.*pi.*9.7.*t)+sin(2.*pi.*15.3.*t).*u(t)subplot(325);plot(abs(fft(x,N);title( 补零加宽)subplot(326);plot(t,abs(fft(x);title(增加截取时间宽度)