实验一信号的频谱图一、实验目的1.掌握周期信号的傅里叶级数展开2.掌握周期信号的有限项傅里叶级数逼近3.掌握周期信号的频谱分析4.掌握连续非周期信号的傅立叶变换5.掌握傅立叶变换的性质二、相关知识1周期信号的傅里叶级数设周期信号()ft,其周期为T,角频率为0022fTpwp==,该信号可展开为三角形式的傅里叶级数,即为:()0102010200001()coscos2sinsincossinnnnftaatatbtbtaantbnt¥==++++++=++åLL其中,正弦项与余弦项的系数na和nb成为傅里叶系数,根据函数的正交性,得0000000001()2()cos2()sintTttTnttTntaftdtTaftndtTbftndtTww+++ìïï=ïïïïïï=íïïïïï=ïïïîòòò(2)其中,1,2,n=L。积分区间00(,)ttT+通常取为(0,)T或(,)22TT-。若将(2)式中同频率项合并,可改写为()001()cosnnnftAAntwj¥==++å(3)从物理概念上来说,(3)中的0A即是信号的直流分量;式中的第二项称为信号的基波或者基波分量,它的角频率与原周期信号相同;式中第三项称为信号的二次谐波,他的频率是基波频率的二倍;以此类推。一般而言()0cosnnAntwj+称为信号的n次谐波;n比较大的分量统称为信号的高次谐波。我们还常用到复指数形式的傅里叶。设周期信号()ft,其周期为T,角频率为0022fTpwp==,该信号复指数形式的傅里叶级数为0()jntnnftFew¥=-?=å其中2021(),0,1,TTjntnFftedtnTw-==?òL,称为复指数形式傅里叶级数系数。利用MATLAB可以直观地观察和分析周期信号傅里叶级数及其收敛性。【例1-1】周期方波信号如图所示,画出该信号的傅里叶级数,利用MATLAB编程实现其各次谐波的叠加。图1-1周期方波信号解:从理论上分析可知,已知周期方波信号的傅里叶级数展开为00004111()sinsin3sin5sin7357Afttttt骣÷ç÷=++++ç÷ç÷ç桫L取A=1,T=1,可分别求出1,3,5,11,47项傅里叶级数求和的结果,MATLAB程序为t=-1:0.001:1;omega=2*pi;y=square(2*pi*t,50);plot(t,y),gridon;xlabel('t'),ylabel('周期方波信号');axis([-11-1.51.5])n_max=[1351147];N=length(n_max);fork=1:Nn=1:2:n_max(k);b=4./(pi*n);x=b*sin(omega*n'*t);figure;plot(t,y,'b');holdon;plot(t,x,'r');holdoff;xlabel('t'),ylabel('部分和的波形');axis([-11-1.51.5]);gridon;title(['最大谐波数=',num2str(n_max(k))])end运行后的各项部分和的波形如图图1-2周期方波信号的有限项傅里叶级数逼近很多项的时候,部分和的波形和周期方波信号的波形很接近,但在信号的跳变点附近,却总是存在一个过冲,这就是所谓的Gibbs现象。2周期信号的频谱分析周期信号通过傅里叶级数分解可展开成一些列相互正交的正弦信号或复指数信号分量的加权和。在三角形是傅里叶级数中,各分量的形式为0cos()nnAntwj+;在指数形式的傅里叶级数中,各分量的形式为00njntjjntnnFeFeewqw=。对实信号而言,0jntnFew和0jntnFew-成对出现。对不同的周期信号,它们各个分量的数目、角频率0nw、幅度nF或nA、相位nq或nj不同。傅里叶系数的幅度nF或nA随角频率0nw的变化关系绘制成图形,称为信号的幅度频谱,简称幅度谱。相位nq或nj随角频率0nw的变化关系绘制成图形,称为信号的相位频-1-0.500.51-1.5-1-0.500.511.5t周期方波信号-1-0.500.51-1.5-1-0.500.511.5t部分和的波形最大谐波数=1-1-0.500.51-1.5-1-0.500.511.5t部分和的波形最大谐波数=3-1-0.500.51-1.5-1-0.500.511.5t部分和的波形最大谐波数=5-1-0.500.51-1.5-1-0.500.511.5t部分和的波形最大谐波数=11-1-0.500.51-1.5-1-0.500.511.5t部分和的波形最大谐波数=47谱,简称相位谱。幅度谱和相位谱统称为信号的频谱。信号的频谱是信号的另一种表示,它提供了从另一个角度来观察和分析信号的途径。利用MATLAB命令可对周期信号的频谱及其特点进行观察验证和分析。【例1-2】已知周期矩形脉冲()ft如图所示,设脉冲幅度为A=1,宽度为t,重复周期为T(角频率02Tpw=)。将其展开为复指数形式傅里叶级数,研究周期矩形脉冲的宽度和周期变化时,对其频谱的影响。图1-3周期矩形脉冲信号解:根据傅里叶级数理论可知,周期矩形脉冲信号的傅里叶系数为2()()sin()2nnnnFASaSacTTTpttptttt===各谱线之间的间隔为2TpW=。图画出了1,10Tt==;1,5Tt==和2,10Tt==三种情况下傅里叶系数。为了能在同一时间段对比,第二种情况由于周期T不一样,所以谱线之间的间隔也不一样,因此对横坐标进行了调整,使它与第一种和第三种情况一致。n=-30:30;tao=1;T=10;w1=2*pi/T;x=n*tao/T;fn=tao*sinc(x);subplot(311)stem(n*w1,fn),gridon;title('tao=1,T=10');tao=1;T=5;w2=2*pi/T;x=n*tao/T;fn=tao*sinc(x);m=round(30*w1/w2);n1=-m:m;fn=fn(30-m+1:30+m+1);subplot(312)stem(n1*w2,fn),gridon;title('tao=1,T=5');tao=2;T=10;w3=2*pi/T;x=n*tao/T;fn=tao*sinc(x);subplot(313)stem(n*w3,fn),gridon;title('tao=2,T=10');图1-4周期矩形脉冲信号的傅里叶系数从图中可以看出,脉冲宽度t越大,信号的频谱带宽越小;而周期越小,谱线之间间隔越大,验证了傅里叶级数理论。【练习】1.已知周期三角信号如图所示,试求出该信号的傅里叶级数,利用MATLAB编程实现其各次谐波的叠加,并验证其收敛性。图1-5周期三角信号波形2.试用MATLAB分析上图中周期三角信号的频谱。当周期三角信号的周期和三角信号的宽度变化时,试观察其频谱的变化。3傅里叶变换及其性质在前面讨论的周期信号中,当周期T时,周期信号就转化为非周期信号。当周期T时,周期信号的各次谐波幅度及谱线间隔将趋近于无穷小,但频谱的相对形状保持不变。这样,原来由许多谱线组成的周期信号的离散频谱就会连成一片,形成非周期信号的连续频谱。为了有效地分析非周期信号的频率特性,我们引入了傅里叶变换分析法。信号()ft的傅里叶变换定义为()[()]()jwtFwFftftedt+?--?==ò傅里叶反变换定义为1()[()]()2jwtftFFwFwedtp+?-?==ò傅里叶正反变换成为傅里叶变换对,简记为()()ftFw«。信号的傅里叶变换主要包括MATLAB符号运算和MATLAB数值分析两种方法,下面分别-20-15-10-505101520-101tao=1,T=10-20-15-10-505101520-101tao=1,T=5-20-15-10-505101520-202tao=2,T=10加以探讨。同事,探讨了连续时间信号的频谱图。3.1MATLAB符号运算求解法MATLAB符号数学工具箱提供了直接求解傅里叶变换与傅里叶反变换的函数fourier()以及ifourier()。Fourier变换的语句格式分为三种。(1)F=fourier(f):它是符号函数f的Fourier变换,默认返回关于w的函数。(2)F=fourier(f,n):它返回函数F是关于符号对象n的函数,而不是默认的w,即()()jtFfxedxnn+?--?=ò。(3)F=fourier(f,u,n):是对关于u的函数f进行变换,返回函数F是关于v的函数,即()()jtFfuedunn+?--?=ò。傅里叶反变换的语句也对应有三种。(1)f=ifourier(F):它是符号函数F的Fourier反变换,独立变量默认为,默认返回是关于x的函数。(2)f=ifourier(F,u):它返回函数f是u的函数,而不是默认的x。(3)f=ifourier(F,u,v):是对关于v的函数F进行反变换,返回关于u的函数f。值得注意的是,函数fourier()和ifourier()都是接受由sym函数所定义的符号变量或者符号表达式。【例1-3】用MATLAB符号运算求解法求单边指数信号2()()tfteut-=的傅里叶变换解:ft=sym('exp(-2*t)*Heaviside(t)');Fw=fourier(ft)运行结果为:Fw=1/(2+i*w)【例1-4】用MATLAB符号运算求解法求21()1Fww=+的傅里叶逆变换。symstFw=sym('1/(1+w^2)')ft=ifourier(Fw,t)运行结果为:ft=1/2*exp(-t)*heaviside(t)+1/2*exp(t)*heaviside(-t)3.2连续时间信号的频谱图信号()ft的傅里叶变换()Fw表达了信号在w处的频谱密度分布情况,这就是信号的傅里叶变换的物理含义。()Fw一般是复函数,可以表示为()()()jFFej=。我们把()Fww:与()jww:曲线分别成为非周期信号的幅度频谱与相位频谱,它们都是频率w的连续函数,在形状上与相应的周期信号频谱包络线相同。非周期信号的频谱有两个特点,密度谱和连续谱。我们注意到,采用fourier()和ifourier()得到的返回函数,仍然是符号表达式。若需对返回函数作图,则需应用ezplot()绘图命令。【例1-5】用MATLAB命令绘出例1-3中单边指数信号的幅度谱和相位谱。解:MATLAB源程序为ft=sym('exp(-2*t)*Heaviside(t)');Fw=fourier(ft);subplot(211)ezplot(abs(Fw));gridontitle('幅度谱')phase=atan(imag(Fw)/real(Fw));subplot(212)ezplot(phase);gridontitle('相位谱')图1-5单边指数信号的幅度谱和相位谱3.3MATLAB数值计算求解法fourier()和ifourier()函数的一个局限性是,如果返回函数中有诸如单位冲激函数等项,则用ezplot()函数无法作图。对某些信号求变换时,其返回函数可能包含一些不能直接用符号表达的式子,因此不能对返回函数作图。此外,在很多实际情况中,尽管信号是连续的,但经过抽样所获得的信号则是多组离散的数值量,因此无法表示成符号表达式,此时不能应用fourier()函数对f(n)进行处理,而只能用数值计算方法来近似求解。从傅里叶变换定义出发有,当足够小时,上式的近似情况可以满足实际需要。对于时限信号,或者在所研究的时间范围内让衰减到足够小,从而近似地看成时限信号,则对于上式可以考虑有限n的取值。假设是因果信号,则有傅里叶变换后在域用MATLAB进行求解,对上式的角频率进行离散化。假设离散化后得到N个样值,即-1,因此有。采用行向量,用矩阵表示为。其要点是要正确生成的M个样本向量与向量。当足够小时,上式的内积运算(即相乘求和运算)结果即为()t()ft()fn0()()lim()jtjnFfted