1/31实验三连续信号的频域分析一、实验目的掌握周期信号的频谱分析方法一-傅里叶级数及其物理意义。深人理解信号频谱的概念,掌握典型信号的频谱以及Fourier变换的主要性质。二、实验原理及方法在“信号与系统”课程中详细讨论了信号的Fourier分析方法,包括周期信号的频谱分析一-Fourier级数和非周期信号的频谱分析—Fourier变换的理论。1.周期信号的三角形式的傅里叶级数由Fourier级数的理论可知:任何周期信号只要满足Dirichlet条件就可以分解成许多指数分量之和(指数Fourie:级数)或直流分量及许多正弦、余弦分量之和,即其中,为直流分量,是信号f(t)在一个周期内的平均值;Ancos(n,(n+n)为n次谐波。一般来说,任意周期信号表示为Fourier级数时需要无限多项才能完全逼近原信号。但在实际应用中,经常采用有限项级数来代替无限项级数,即用式(3-2)来逼近f(t)显然,所选项数越多,有限项级数越逼近原信号,其方均误差越小、对一定的周期T,实验图3-2说明取不同项数(即谐波次数)时,有限项级数fN(t)逼近信号f(t)的情况。2/31实验图3一中的4幅图分别是3项、9项、21项和45项傅里叶级数逼近的结果。由此可见,当选取傅里叶级数的项数越多,所合成的波形fN(t)中的峰起越靠近.f(})的不连续点。从理论上讲,当所选取的项数N越大时,该峰极值趋于一个常数,大约等于跳变值的9%,并从不连续点开始以起伏振荡的形式逐渐衰减下去,此即Gibbs现象。2.周期信号的指数形式的傅里叶级数利用欧拉公式有式(3-1)可表示为将式(3-5)第3项中的n用-n代换,并考虑An是n(或nΩo)的偶信号,An=A-n是n(或Ωo)的奇信号,。则上式可写成3/31式(3-6)表明,任意周期信号.f(t)可分解为无穷多项不同频率的复指数,的加权和,其各分量的复数幅度或相量(或称为复加权系数)为计算机不能计算无穷多个系数,假设需要计算的谐波次数为N,则总的系数个数为2NTA。在确定了时间范围和时间变化的步长即T和·dt之后,对某一个系数,式(3-7)可以近似为其中,时间变量的变化步长dt的大小对傅里叶级数系数的计算精度影响非常大,do越小,精度越高,但计算机计算所花的时间越长。同时,原信号可以用有限项谐波成分来近似合成,即3.周期信号的频谱为了直观地表示信号所含各分量的振幅,以频率(或角频率)为横坐标,以各谐波的振幅A。或虚指数信号的幅度IFnI为纵坐标,作出的线图称为幅度谱。其中A。一鸣为单边谱,IFnI一可几为双边谱。从幅度谱中可清楚直观地看出各分量的相对大小。连接各谱线4/31顶点的曲线称为包络线(一般用虚线表示),它反映各分量的幅度变化情况。类似地,也可画出粼皆波初相角}P。一刀乌的线图,称为相位谱。以实验图3-1所示的周期矩形脉冲为例,其单边谱、双边谱、单边相位谱、双边相位谱分别如实验图3-3a,b,。、d所示。4,非周期信号的傅里叶变换把上述理论推广到非周期信号中去,就可导出傅里叶变换。对于非周期信号f(t),其傅里叶变换及其反变换式定义如下式中,F(jΩ)是原信号f(t)的傅里叶变换,称为频谱函数,它是一个复函数,可以写成。它的模量IF(jΩ)」是频率Ω的函数,对大小;相角φ(n)也是频率Ω的函数,表示频率分量的相位。为了与周期信号的频谱相一致,人们习惯上IF(jΩ)|~Ω与φ(n)~n曲线分别称为非周期信号的幅度频谱和相位频谱。5/31MATLAB实现傅里叶变换有两种方法,一种是利用符号运算方法,另一种是数值计算方法。(1)利用符号运算的方法实现MATLAB的SymbolicMathToolbox提供了能直接求解傅里叶变换与反变换的函数fourier()及ifourier()。调用格式如下:F=fourier(f):它是符号函数f的傅里叶变换,默认返回函数F是关于Ω的函数;F=four'ier(f,v):它的返回函数F是关于符号对象v的函数,即F=fourier(f,u,v):它是对关于u的函数f进行变换,而返回函数F是二的函数,即6/31f=ifourier(F):它是函数F的傅里叶反变换,默认的独立变量为Ω,默认返回是关于x的函数,如果F=F(x),则ifourier(F)返回关于t的函数;f=ifourier(F,u):它的返回函数f是u的函数,而不是默认的x的函数;f=ifourier(f,v,u):它是对关于v的函数F进行变换,而返回关于u的函数f。这里要注意的是,在调用上述两个函数之前,先要用syms命令对所用到的变量(如t、U、v、Ω)等进行定义,将这些变量定义为符号变量。对于fourier()中的函数f或ifourier()中的F,也要用syms将f或F定义为符号表达式。另外,采用fourier()及ifourier()得到的返回函数,仍然是符号表达式。若需要对返回函数作图时,只能用ezplot()绘图命令,而不能用plot()命令。如果返回函数中含有s(,}z)等项,用ezplot()也无法作图。fourier()函数的局限性:用fourier()对某些信号求反变换时,其返回函数可能会包含一些不能直接表达的式子,甚至可能会出现一些屏幕提示为“未被定义的函数或变量”的项;另外,在许多情况下,信号f(t)尽管是连续的,但却不可能表示成符号表达式;函数fourier()也不可能对离散信号f(n}进行处理。(2)用数字计算的方法实现用数值训算的方法计算连续时间信号的傅里叶变换需要信号是时限信号,也就是当时间Itl大于某个给定时间时,其值衰减为零或接近于零,计算机只能处理有限大小和有限数量的数。采用数值计算方法的理论依据是若信号为时限信号,当时间间隔T取得足够小时,式(3-11)可演变为式(3-12)用MATLAB表示为7/315.傅里叶变换性质及其MATLAB实现在理论课讲授中,已经熟悉了傅里叶变换的基本性质,这些性质有线性、奇偶性、对称性、尺度变换特性、时移频移特性、微分积分特性、时域频域卷积特性等。这些性质反映了信号在时域和频域的对应变化关系,也就是,信号在一个域有某种变化,在另一个域中必然有相应的变化。这些变化归纳起来主要有4种:平移、反转、尺度变换、信号相乘。因此,傅里叶变换性质的MATLAB实现主要有两种方法:一是利用傅里叶变换的性质,如果知道信号在一个域的变化,在另一个域将对应信号进行相应的运算即可。上面指出的4种运算是信号的基本运算与变换,在实验一中专门研究了这些运算的方法及编程;二是将信号变化的参数直接代到相应的信号中,然后进行傅里叶变换或反变换的运算,最后即可得到另一个域中信号的变化,这种方法比较简单。三、实验内容及步骤1.求实验图3一所示周期信号(T=2,T=1)的傅里叶级数,用MAZL,AB作出其前3,9,21、45项谐波的合成波形并与原信号作比较,作出其单边幅度谱和相位谱。自定义函数:functiony=fu(m,t)%定义傅里叶级数函数表达式%y=1/4;forn=1:my=y+4/(n*n*pi*pi)*(1-cos(n*pi/2)).*cos(n*pi.*t);EndS1a:t=-6:0.01:6;8/31d=-6:2:6;fxx=pulstran(t,d,'tripuls');f1=fu(3,t);f2=fu(9,t);f3=fu(21,t);f4=fu(45,t);figure(1)plot(t,fxx,'r',t,f1,'b');gridonaxis([-66-0.11.1])title('N=3')figure(2)plot(t,fxx,'r',t,f2,'b');gridonaxis([-66-0.11.1])title('N=9')figure(3)plot(t,fxx,'r',t,f3,'b');gridonaxis([-66-0.11.1])title('N=21')9/31figure(4)plot(t,fxx,'r',t,f4,'b');gridonaxis([-66-0.11.1])title('N=45')10/3111/31代码:n=1:10;a=zeros(size(n));a(1)=0.5;forii=2:10a(ii)=abs(4/((ii-1)*(ii-1)*pi*pi)*(1-cos((ii-1)*pi/2)));endn=0:pi:9*pi;stem(n,a,'fill','linewidth',2);axis([0,30,-0,0.6])gridontitle('单边幅度谱')xlabel('Ω=nΩ0')12/31ylabel('An')S1c:代码:n=1:10;a=zeros(size(n));fori=1:10a(i)=angle(4/(i*i*pi*pi)*(1-cos(i*pi/2)));endn=0:pi:9*pi;stem(n,a,'fill','linewidth',2);axis([0,9*pi,-0.2,0.2])gridontitle('单边相位谱')13/31xlabel('Ω=nΩo')ylabel('Ψn')2.求实验图3-6所示的单个三角脉冲(=1)的傅里叶变换,并作出其幅度谱和相位谱。t=-6:0.01:6;f=tripuls(t,1);%三角脉冲以t为时间轴,1为脉宽dw=0.1;w=-12*pi:0.1:12*pi;F=f*exp(-1i*t'*w)*0.01;F1=abs(F);phaF=angle(F);%计算复角14/31figure(1)plot(t,f)axis([-6601])boxonxlabel('t')ylabel('f(t)')title('单个三角脉冲的波形图')gridonfigure(2)plot(w,F1)gridon;xlabel('\Omega')ylabel('幅度')title('单个三角脉冲的幅度谱')figure(3)plot(w,phaF)gridon;xlabel('\Omega')ylabel('相位')title('单个三角脉冲的相位谱')15/3116/313.求不同占空比下,周期矩形脉冲的幅度谱和相位谱,例如代码:m=input('请输入占空比m:');n=-20:20;F=zeros(size(n));forii=-20:20F(ii+21)=sin(ii*pi*m)/(ii*pi+eps);endF(21)=m;F1=abs(F);phaF=angle(F);17/31subplot(2,1,1)stem(n,F1,'fill')title('\it周期矩形脉冲的幅度谱(τ/T=m)')xlabel('\fontsize{14}\bfn\rightarrow')ylabel('\fontsize{14}\bf|Fn|\rightarrow')subplot(2,1,2)stem(n,phaF,'fill')title('\it周期矩形脉冲的相位谱(τ/T=1/4)')xlabel('\fontsize{14}\bfn\rightarrow')ylabel('\fontsize{14}\bfΨn\rightarrow')占空比M=0.25占空比M=0.12518/314.验证傅里叶变换的性质,如1)时移性质:选取f(t)和f(t-b),幅频曲线相同,只有相位不同。代码:T=0.01;t=-6:0.01:6;dw=0.1;w=-4*pi:dw:4*pi;F1=rectpuls(t)*exp(-1i*t'*w)*T;F2=rectpuls(t-4)*exp(-1i*t'*w)*T;a1=abs(F1);phaF1=angle(F1);a2=abs(F2);19/31phaF2=angle(F2);figure(1)subplot(2,1,1)plot(w,a1);title('f(t)幅度谱')xlabel('fw')ylabel('|Fn|')gridonsubplot(2,1,2)plot(w,a2);title('f(t-4