信号与系统实验指导书(matlab软件仿真)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

信号与系统实验指导书(MATLAB仿真)1目录实验一MATLAB基本应用...................................................................................................2实验二信号的时域表示.......................................................................................................7实验三连续信号卷积.........................................................................................................11实验四典型周期信号的频谱表示...................................................................................18实验五傅立叶变换性质研究...........................................................................................23实验六离散信号分析.......................................................................................................26实验七离散系统的Z域分析...........................................................................................29Matlab相关符号及函数说明...............................................................................................372实验一MATLAB基本应用一、实验目的:学习MATLAB的基本用法,了解MATLAB的目录结构和基本功能以及MATLAB在信号与系统中的应用。二、实验内容:例一已知x的取值范围,画出y=sin(x)的图型。参考程序:x=0:0.05:4*pi;y=sin(x);plot(y)例二计算y=sin(/5)+4cos(/4)例三已知z取值范围,x=sin(z);y=cos(z);画三维图形。z=0:pi/50:10*pi;x=sin(z);y=cos(z);plot3(x,y,z)xlabel('x')ylabel('y')3zlabel('z')例四已知x的取值范围,用subplot函数绘图。参考程序:x=0:0.05:7;y1=sin(x);y2=1.5*cos(x);y3=sin(2*x);y4=5*cos(2*x);subplot(2,2,1),plot(x,y1),title('sin(x)')subplot(2,2,2),plot(x,y2),title('1.5*cos(x)')subplot(2,2,3),plot(x,y3),title('sin(2*x)')subplot(2,2,4),plot(x,y4),title('5*cos(2*x)')连续信号的MATLAB表示1、指数信号:指数信号Aeat在MATLAB中可用exp函数表示,其调用形式为:y=A*exp(a*t)(例取A=1,a=-0.4)参考程序:A=1;a=-0.4;t=0:0.01:10;ft=A*exp(a*t);plot(t,ft);gridon;4注:gridon是一个函数,表示在画图的时候添加网格线。2、正弦信号:正弦信号Acos(w0t+)和Asin(w0t+)分别由函数cos和sin表示,其调用形式为:A*cos(w0t+phi);A*sin(w0t+phi)(例取A=1,w0=2,=/6)参考程序:A=1;w0=2*pi;phi=pi/6;t=0:0.001:8;ft=A*sin(w0*t+phi);plot(t,ft);gridon;3、抽样函数:抽样函数Sa(t)在MATLAB中用sinc函数表示,其定义为:sinc(t)=sin(t)/(t)其调用形式为:y=sinc(t)参考程序:t=-3*pi:pi/100:3*pi;ft=sinc(t/pi);plot(t,ft);gridon;4、矩形脉冲信号:在MATLAB中用rectpuls函数来表示,其调用形式为:y=rectpuls(t,width),用以产生一个幅值为1,宽度为width,相对于t=0点左右对称的矩形波信号,该函数的横坐标范围由向量t决定,是以t=0为中心向左右各展开width/2的范围,width的默认值为1。例:以t=2T(即t-2T=0)为对称中心的矩形脉冲信号的MATLAB源程序如下:(取T=1)t=0:0.001:4;T=1;ft=rectpuls(t-2*T,3*T);plot(t,ft);gridon;axis([-0.54-0.11.5]);5、周期性矩形波(方波)信号在MATLAB中用square函数来表示,其调用形式为:y=square(t,DUTY)用以产生一个周期为2、幅值为1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。例如频率为30Hz的周期性方波信号的MATLAB参考程序如下:5t=-0.0625:0.0001:0.0625;y=square(2*pi*30*t,75);plot(t,y);axis([-0.06250.0625-1.51.5]);gridon;三、实验练习:1、编写代码实现如下图矩形脉冲信号(利用rectpuls函数)。-2-1.5-1-0.500.511.52-0.500.511.5t=-2:0.001:2;T=1;ft=rectpuls(t,2*T);plot(t,ft);gridon;axis([-22-0.51.5]);2、编写代码实现一个频率50Hz,占空比为50%的周期矩形波(方波)信号(利用square函数)。6-0.06-0.04-0.0200.020.040.06-1.5-1-0.500.511.5t=-0.065:0.0001:0.065;y=square(2*pi*50*t,50);plot(t,y);axis([-0.06250.0625-1.51.5]);gridon7实验二信号的时域表示实验目的:利用MATLAB实现信号的时域表示以及图形表示题目一:连续信号的MATLAB描述设计要求:列出单位冲激函数、单位阶跃函数、复指数函数的MATLAB表达式。一、建模:1、单位冲激函数(t)无法直接用MATLAB描述,可以把它看作是宽度为(程序中用dt表示),幅度为1/的矩形脉冲,即x1(t)=(t-t1)=1/t1tt1+0其余表示在t=t1处的冲激。2、单位阶跃函数:在t=t1处跃升的阶跃可写为u(t-t1)。定义为x2(t)=u(t-t1)=1t1tt1+0t03、复指数函数x3(t)=e(u+j)t若=0,它是实指数函数,如u=0,则为虚指数函数,其实部为余弦函数,虚部为正弦函数。本例u=-0.5,=10。8二、参考程序:clear,t0=0;tf=5;dt=0.05;t1=1;t=[t0:dt:tf];st=length(t);n1=floor((t1-t0)/dt);%返回小于或者等于指定表达式的最大整数x1=zeros(1,st);x1(n1)=1/dt;subplot(2,2,1),stairs(t,x1),gridonaxis([0,5,0,22])x2=[zeros(1,n1-1),ones(1,st-n1+1)];subplot(2,2,3),stairs(t,x2),gridonaxis([0,5,0,1.1])alpha=-0.5;w=10;x3=exp((alpha+j*w)*t);subplot(2,2,2),plot(t,real(x3)),title('Re(x3(t))'),gridonsubplot(2,2,4),plot(t,imag(x3)),title('Img(x3(t))'),gridon程序运行结果:如图2-1。90240510152002400.510246-1-0.500.51Re(x3(t))0246-1-0.500.51Img(x3(t))图2-1程序运行结果题目二:LTI系统的零输入响应设计要求:描述n阶线性时不变(LTI)连续系统的微分方程为:a1(dny/dtn)+a2(dn-1y/dt)+…+an(dy/dt)+(an+1)y=b1(dmu/dtm)+…+bm(du/dt)+(bm+1)u,已知y及其各阶导数的初始值为y(0),y(1)(0),…,y(n-1)(0),求系统的零输入响应。参考程序:a=input('输入分母系数向量a=[a1,a2......]=');n=length(a)-1;Y0=input('输入初始条件向量Y0=[y0,Dy0,D2y0,....]=');p=roots(a);V=rot90(vander(p));c=V\Y0';dt=input('dt=');tf=input('tf=')t=0:dt:tf;y=zeros(1,length(t));fork=1:ny=y+c(k)*exp(p(k)*t);end10plot(t,y),gridon;holdon运行此程序并输入:a=[3,5,7,1];dt=0.2;tf=8;Y0取[1,0,0];[0,1,0];[0,0,1],三种情况,运行结果如图2-2。图2-2程序运行结果11实验三连续信号卷积实验目的:掌握使用MATLAB实现信号的卷积运算、卷积的可视化题目一:卷积的计算设计要求:某LTI系统的冲激响应h(t)=e-0.1t,输入u(t)如图3-1(a)所示,初始条件为零,求系统的响应y(t)。参考程序:clearuls=input('输入u数组u=(例如ones(1,10))');lu=length(uls);hls=input('输入h数组h=(例如exp(-0.1*[1:15]))');lh=length(hls);lmax=max(lu,lh);iflulhnu=0;nh=lu-lh;elseiflulhnh=0;nu=lh-lu;elsenu=0;lh=0;enddt=input('输入时间间隔dt=(例如0.5)')lt=lmax;u=[zeros(1,lt),uls,zeros(1,nu),zeros(1,lt)];t1=(-lt+1:2*lt)*dt;12h=[zeros(1,2*lt),hls,zeros(1,nh)];hf=fliplr(h);%反褶y=zeros(1,3*lt);fork=0:2*ltp=[zeros(1,k),hf(1:end-k)];%h(k-t)y1=u.*p*dt;yk=sum(y1);y(k+lt+1)=yk;subplot(4,1,1);stairs(t1,u)axis([-lt*dt,2*lt*dt,min(u),max(u)]),holdonylabel('u(t)')subplot(4,1,2);stairs(t1,p)axis([-lt*dt,2*lt*dt,min(p),max(p)])ylabel('h(k-t)')subplot(4,1,3);stairs(t1,y1)axis([-lt*dt,2*lt*dt,min(y1),max(y1)+eps])ylabel('s=u*h(k-t)')subplot(4,1,4);stem(k*dt,yk)axis([-lt*dt,2*lt*dt,floor(mi

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功