2022年信号与系统实验指导书_第1页
2022年信号与系统实验指导书_第2页
2022年信号与系统实验指导书_第3页
2022年信号与系统实验指导书_第4页
2022年信号与系统实验指导书_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.精选文档精选文档.精选文档?信号与系统?实验指导书重庆科技学院 电气与信息工程学院2021年3月目 录实验一 连续时间信号的MATLAB表示实验二 连续时间LTI系统的时域分析实验三 连续时间LTI系统的频率特性及频域分析实验四 连续时间LTI系统的零极点分析实验五 典型离散信号及其MATLAB实现实验一 连时间信号的MATLAB表示实验目的1掌握MATLAB语言的根本操作,学习根本的编程功能;2掌握MATLAB产生常用连续时间信号的编程方法;3观察并熟悉常用连续时间信号的波形和特性。实验原理1. 连续信号MATLAB实现原理从严格意义上讲,MATLAB数值计算的方法并不能处理连续时间信号。

2、然而,可用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB处理,并且能较好地近似表示连续信号。MATLAB提供了大量生成根本信号的函数。比方常用的指数信号、正余弦信号等都是MATLAB的内部函数。为了表示连续时间信号,需定义某一时间或自变量的范围和取样时间间隔,然后调用该函数计算这些点的函数值,最后画出其波形图。2. 典型信号的MATLAB表示(1) 实指数信号:,式中K,a为实数。在MATLAB中可以利用exp()函数实现,其语句格式为:y=K*exp(a*t)。(2) 正弦信号:或,其中K为振幅,是角频率;是初相位。在MATLAB中

3、可以利用sin()或cos()函数实现,其语句格式为K*sin(*t+phi),K*cos(*t+phi)。(3) 单位阶跃信号:单位阶跃信号定义为,单位阶跃信号在MATLAB中用“( t =0)产生。MATLAB表达式“y = ( t =0)的含义就是t 0时y =1,而当t =0);保存为uCT.m后,就可以调用该函数。 自定义函数注意,在此定义的uCT函数是阶跃信号数值表示方法,因此在数值计算中我们将调用uCT函数。而在MATLAB的MAPLE内核中,将Heaviside函数定义为阶跃信号符号表达式,在符号运算过程中,假设要调用它必须用sym定义后,才能实现。(4) 复指数信号:,其中,

4、s=+j是复变量;、为实数。在MATLAB中可以利用exp()函数表示复指数信号,MATLAB中默认变量i为虚部单位,求取实部用real()函数,求取虚部用imag()函数,求取模用abs()函数,求取相角用angle()函数。 (5) 抽样信号:,在MATLAB中用与Sa(t)类似的sinc(t)函数表示,定义为。(6) 矩形脉冲信号:在MATLAB中可用rectpuls()函数产生,其语句格式为y=rectpuls(t,width),该函数用于产生一个幅度为1、宽度为width,且以t=0为对称轴的矩形脉冲信号,width的默认值为1。周期性矩形波信号或方波在MATLAB中可用square

5、函数产生,其语句格式为square(t,DUTY)。该函数用于产生一个周期为、幅值为的周期性方波信号,其中,DUTY参数用来表示信号的占空比DUTY%,即在一个周期内脉冲宽度正值局部与脉冲周期的比值。占空比默认值为0.5。(7) 三角波脉冲信号:在MATLAB中可用tripuls()函数产生,其语句格式为y=tripuls(t,width,skew),该函数用于产生一个幅度为1、宽度为width,且以t=0为中心左右各展开width/2大小、斜度为skew的三角波。width的默认值为1,skew的取值范围在-1+1之间。一般最大幅度1出现在t=(width/2)skew的横坐标位置,默认时s

6、kew=0,此时产生对称三角波。(8) 下面的函数也可以产生特定的信号y=fliplr(t)信号的翻转;y=sawtooth(t,width)产生锯齿波信号。实验内容1. 实例分析与验证根据以上典型信号的MATLAB函数,分析与验证以下典型信号MATLAB程序,并实现各信号波形图的显示,连续信号的图形显示使用连续二维图函数plot()。(1) 正弦信号:用MATLAB命令产生正弦信号,并会出时间0 t 3的波形图。程序如下:K=2;w=2*pi;phi=pi/4;t=0:0.01:3;ft=K*sin(w*t+phi); plot(t,ft),grid on; axis(0,3,-2.2,2.

7、2)title(正弦信号)(2) 抽样信号:用MATLAB中的sinc(t)函数命令产生抽样信号Sa(t),并会出时间为的波形图。程序如下:t=-6*pi:pi/100:6*pi;ft=sinc(t/pi);plot(t,ft),grid on;axis(-20,20,-0.5,1.2)title(抽样信号)(3) 矩形脉冲信号:用MATLAB中y=rectpuls(t,width)函数命令画出以下矩形脉冲信号的波形图程序如下:t=-0.5:0.01:3;t0=0.5;width=1;ft=2*rectpuls(t-t0,width);plot(t,ft),grid on;axis(-0.5,

8、3,-0.2,2.2)title(矩形脉冲信号)(4) 单位阶跃信号:用MATLAB命令“y=(t=0)绘出-1 t 5单位阶跃信号(t)。程序如下:t=-1:0.01:5;ft=(t=0);plot(t,ft),grid on;axis(-1,5,-0.5,1.5);title(单位阶跃信号)也可通过定义阶跃函数来实现,function f=uCT(t);f=(t=0);保存为uCT.m文件,上面实现阶跃信号的程序变为t=-1:0.01:5;ft=uCT(t);plot(t,ft),grid on;axis(-1,5,-0.5,1.5);title(单位阶跃信号)2. 实践编程(1) 复指数

9、信号:用MATLAB命令画出0 t 3复指数信号的实部、虚部、模及相角随时间变化的曲线,并观察其时域特性。程序如下:t=0:0.01:3;k=2;a=-1.5;b=10;ft=k*exp(a+i*b)*t);subplot(2,2,1);plot(t,real(ft);title(实部);axis(0,3,-2,2);grid on;subplot(2,2,2);plot(t,imag(ft);title(虚部);axis(0,3,-2,2);grid on;subplot(2,2,3);plot(t,abs(ft);title(模);axis(0,3,0,2);grid on;subplot

10、(2,2,4);plot(t,angle(ft);title(相角);axis(0,3,-4,4);grid on;(2) 用MATLAB中y=square(t,DUTY)产生频率为10Hz、占空比为30%的周期方波信号。程序如下:t=0:0.001:3;y=square(2*pi*10*t,30);plot(t,y);grid on;axis(0,0.3,-1.2,1.2);title(周期方波信号)(3) 用上面定义的uCT阶跃函数实现幅度为1、宽度为1的门函数。程序如下:t=-1:0.01:1;ft=uCT(t+0.5)-uCT(t-0.5);plot(t,ft);grid on;axi

11、s(-1,1,-0.2,1.2)title(门函数)实验分析观察实验结果,掌握、分析典型的连续时间信号波形特点。实验总结总结实验认识、过程、效果、问题、收获、体会、意见和建议。实验二 连续时间LTI系统的时域分析实验目的1运用MATLAB符号求解连续系统的零输入响应和零状态响应; 2运用MATLAB数值求解连续系统的零状态响应;3运用MATLAB求解连续系统的冲激响应和阶跃响应;4运用MATLAB卷积积分法求解系统的零状态响应。实验原理1. 连续时间系统零输入响应和零状态响应的符号求解LTI连续系统可用线性常系数微分方程描述,即MATLAB符号工具箱提供了dsolve函数,可实现常系数微分方程

12、的符号求解,其调用格式为dsolve(eq1,eq2,cond1,cond2,v)其中,参数eq1,eq2、表示各微分方程,它与MATLAB符号表达式的输入根本相同,微分或导数的输入是用Dy、D2y、D3y、来表示y的一阶导数、二阶导数、三阶导数、;参数cond1、cond2、表示各初始条件或起始条件;参数v表示自变量,默认为是变量t。可利用dsolve函数来求解系统微分方程的零输入响应和零状态响应,进而求出完全响应。2. 连续时间系统零状态响应的数值求解实际工程中用的较多求解微分方程的方法是数值求解。零输入响应的求解可通过函数initial来实现,initial函数中的参量必须是状态变量所描

13、述的系统模型。对于零状态响应,MATLAB控制系统工具箱提供了对LTI系统的零状态响应进行数值仿真的函数lsim,该函数可求解零初始条件下微分方程的数值解,语句格式为y=lsim(sys,f,t)其中,t表示计算系统响应的时间抽样点向量;f是系统的输入信号向量;sys表示LTI系统模型,用来表示微分方程、差分方程或状态方程。在求解微分方程时,sys是由MATLAB的tf函数根据微分方程系数生成的系统函数对象,其语句格式为sys=tf(b,a)其中,b和a分别为微分方程右端和左端的系数向量。注意,如果微分方程的左端或右端表达式中有缺项,那么其向量a或b中的对应元素应为0,不能省略不写,否那么会出

14、错。3. 连续时间系统冲激响应和阶跃响应的求解在MATLAB中,对于连续LTI系统的冲激响应和阶跃响应的数值解,可分别用控制系统工具箱提供的函数impulse和step来求解。其语句格式为y=impulse(sys,t)y=step(sys,t)其中,t表示计算系统响应的时间抽样点向量,sys表示LTI系统模型。4. 利用卷积积分法求系统的零状态响应由卷积积分公式可以得到,LTI系统对于任意输入信号的零状态响应,可由系统的单位冲激响应与输入信号的卷积积分得到。预先建立连续时间信号卷积运算的函数ctsconv.m,其MATLAB源程序为functionf,t=ctsconv(f1,f2,t1,t

15、2,dt) % f1和f2分别是参与计算的两个时间信号f=conv(f1,f2); % t1,t2是两信号时间变量,dt为时间采样间隔f=f*dt;ts=min(t1)+min(t2);te=max(t1)+max(t2);t=ts:dt:te;subplot(221)plot(t1,f1);grid on;axis(min(t1),max(t1),min(f1)-abs(min(f1)*0.2),max(f1)+abs(max(f1)*0.2)title(f1(t);xlabel(t)subplot(222)plot(t2,f2);grid on;axis(min(t2),max(t2),m

16、in(f2)-abs(min(f2)*0.2),max(f2)+abs(max(f2)*0.2)title(f2(t);xlabel(t)subplot(212)plot(t,f);grid on;axis(min(t),max(t),min(f)-abs(min(f)*0.2),max(f)+abs(max(f)*0.2)title(f(t)= f1(t)* f2(t);xlabel(t)在实际计算中,调入即可应用。实验内容1. 实例分析与验证(1) 连续时间系统零输入响应和零状态响应的符号求解试用MATLAB命令求解微分方程,当输入,起始条件为、时系统的零输入响应、零状态响应及完全响应。源

17、程序为:eq=D2y+3*Dy+2*y=0;cond=y(0)=1,Dy(0)=2;yzi=dsolve(eq,cond); yzi=simplify(yzi)运行结果:yzi = -3*exp(-2*t)+4*exp(-t)eq1=D2y+3*Dy+2*y=Dx+3*x;eq2=x=exp(-3*t)*Heaviside(t);cond=y(-0.001)=0,Dy(-0.001)=0;yzs=dsolve(eq1,eq2,cond);yzs=simplify(yzs.y)运行结果:yzs = heaviside(t)*(-exp(-2*t)+exp(-t) yt=simplify(yzi+

18、yzs)运行结果: yt = -3*exp(-2*t)+4*exp(-t)-exp(-2*t)*heaviside(t)+exp(-t)*heaviside(t) subplot(311)ezplot(yzi,0,8);grid on;xlabel(t)title(零输入响应)subplot(312)ezplot(yzs,0,8);grid onxlabel(t)title(零状态响应)subplot(313)ezplot(yt,0,8);grid onxlabel(t)title(完全响应)(2) 连续时间系统零状态响应的数值求解试用MATLAB数值求解微分方程,当输入时系统的零状态响应。源

19、程序为:ts=0;te=8;dt=0.01;sys=tf(1,3,1,3,2);t=ts:dt:te;f=exp(-3*t).*uCT(t);y=lsim(sys,f,t);plot(t,y),grid on;axis(0 8 -0.02 0.27)xlabel(t(s),ylabel(y(t)title(零状态响应)(3) 连续时间系统冲激响应和阶跃响应的求解某LTI系统的微分方程,试用MATLAB命令绘出范围内系统的冲激响应h(t)和阶跃响应s(t)。源程序为:t=0:0.001:4;sys=tf(1,16,1,2,32);h=impulse(sys,t);s=step(sys,t);su

20、bplot(211);plot(t,h),grid onxlabel(t(s),ylabel(h(t)title(冲激响应)subplot(212);plot(t,s),grid onxlabel(t(s),ylabel(s(t)title(阶跃响应)(4) 利用卷积积分法求系统的零状态响应某LTI系统的微分方程,其中,。试用MATLAB卷积积分方法绘出系统零状态响应y(t)的波形图。程序如下:dt=0.01;t1=0:dt:4;f1=exp(-2*t1);t2=t1;sys=tf(1,16,1,2,32);f2=impulse(sys,t2);t,f=ctsconv(f1,f2,t1,t2,

21、dt);2. 实践编程(1) 系统的微分方程和鼓励信号为,试用MATLAB命令绘出系统零状态响应的时域仿真波形图。源程序为:ts=0;te=8;dt=0.01;sys=tf(1,3,1,4,4);t=ts:dt:te;f=exp(-t).*uCT(t);y=lsim(sys,f,t);plot(t,y),grid on;xlabel(t(s),ylabel(y(t)title(零状态响应)(2) 系统的微分方程为,试用MATLAB命令求系统冲激响应和阶跃响应的数值解,并绘出冲激响应和阶跃响应的时域仿真波形图。源程序为:t=0:0.001:4;sys=tf(1,1,3,2);h=impulse(

22、sys,t);s=step(sys,t);subplot(211)plot(t,h),grid onxlabel(t(s),ylabel(h(t)title(冲激响应)subplot(212)plot(t,s),grid onxlabel(t(s),ylabel(s(t)title(阶跃响应)实验分析观察实验结果,掌握、分析连续时间系统零状态响应和零输入响应的求解方法。实验总结总结实验认识、过程、效果、问题、收获、体会、意见和建议。实验三 连续时间LTI系统的频率特性及频域分析实验目的1运用MATLAB分析连续系统的频率特性;2运用MATLAB进行连续系统的频域分析。实验原理1. 连续时间LT

23、I系统的频率特性一个连续时间LTI系统的数学模型通常用常系数线性微分方程来描述,即对上式两边取傅里叶变换,并根据傅里叶变换的时域微分特性,得到系统的频率响应为MATLAB信号处理工具箱提供的freqs函数可直接计算系统的频率响应的数值解,其语句格式为H=freqs(b,a,w)其中,b和a分别表示H(w)的分子和分母多项式的系数向量;w为系统频率响应的频率范围,其一般形式为w1:p: w2,w1为频率起始值,w2为频率终止值,p为频率取样间隔。H返回w所定义的频率点上系统响应频率响应的样值。注意,H返回的样值可能为包含实部和虚部的复数。因此,如果想得到系统的幅频特性或相频特性,还需利用abs和

24、angle函数来分别求得。2. 连续时间LTI系统的频域分析连续LTI系统的频域分析法,也称为傅里叶变换分析法。该方法是基于信号频谱分析的概念,讨论信号作用于线性系统时在频域中求解响应的方法。傅里叶分析法的关键是求系统的频率响应。傅里叶分析法主要用来分析系统的频率响应特性,或分析输出信号的频谱,也可用来求解正弦信号作用下的稳态响应。对于周期信号鼓励而言,可首先将周期信号进行傅里叶级数展开,然后求系统在各傅里叶级数分解的频率分量作用下系统的稳态响应分量,再由系统的线性性质将这些稳态响应分量叠加,从而得出系统总的响应。该方法的理论根底是基于正弦信号作用下系统的正弦稳态响应。对于正弦鼓励信号,当经过

25、系统,其稳态响应为实验内容1. 实例分析与验证(1) 一个连续时间LTI系统的微分方程为求系统的频率响应,并用MATLAB绘出其幅频特性和相频特性图。解:对微分方程取傅里叶变换,得因此,频率响应为MATLAB源程序:w=-3*pi:0.01:3*pi;b=13,7;a=1,10,8,5;H=freqs(b,a,w);subplot(211)plot(w,abs(H),grid onxlabel(omega(rad/s),ylabel(|H(omega)|)title(H(w)的频率特性)subplot(212)plot(w,angle(H),grid onxlabel(omega(rad/s)

26、,ylabel(phi(omega)|)title(H(w)的相频特性)(2) 如图为RC低通滤波器电路,在输入端参加矩形脉冲u1(t)。利用傅里叶分析法求输出端电压u2(t)。Ru2(t)u1(t)tt(2)120kRu(C10Fu) 解:RC低通滤波器的频率响应为 其中鼓励信号的傅里叶变换为 因此,响应的傅里叶变换为MATLAB源程序:w=-6*pi:0.01:6*pi;b=5;a=1,5;H1=freqs(b,a,w);plot(w,abs(H1),grid onxlabel(omega(rad/s),ylabel(|H(omega)|)title(RC低通滤波电路的幅频特性)u1t=s

27、ym(Heaviside(t)-Heaviside(t-1);U1w=simplify(fourier(u1t);figuresubplot(221),ezplot(u1t,-0.2,2),grid ontitle(矩形脉冲信号)xlabel(Time(sec),ylabel(u1(t)subplot(222),ezplot(abs(U1w),-6*pi 6*pi),grid ontitle(矩形脉冲的频谱)xlabel(omega(rad/s),ylabel(X(omega)U2w=sym(5*(1-exp(-i*w)/(5*i*w-w2);u2t=simplify(ifourier(U2w

28、);subplot(223),ezplot(u2t,-0.2 2),grid ontitle(响应的时域波形)xlabel(Time(sec),ylabel(u2(t) subplot(224),ezplot(abs(U2w),-6*pi 6*pi),grid ontitle(响应的频谱)xlabel(omega(rad/s),ylabel(U2(omega)2. 实践编程设系统的频率响应为 QUOTE ,假设外加鼓励,用MATLAB求其稳态响应。解:MATLAB源程序:t=0:0.1:20;w1=1;w2=10; H1=1/(-w12+j*3*w1+2);H2=1/(-w22+j*3*w2+2);f=5*cos(w1*t)+2*cos(w2*t);y=5*abs(H1)*cos(w1*t+angle(H1)+2*abs(H2)*cos(w2*t+angle(H2);subplot(211);plot(t,f);grid onylabel(f(t),xlabel(Time(sec)title(输入信号的波形)subplot(212);plot(t,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论