matlab零状态、零输入响应
- 格式:doc
- 大小:175.50 KB
- 文档页数:7
信号与信号实验MATLAB 部分实验一:基本信号在MATLAB 中的表示和运算 一、 实验目的;1、学会用MATLAB 表示常用连续信号的方法;2、学会用MATLAB 进行信号基本运算的方法;3、学会用MATLAB 实现连续时间信号的卷积的方法。
二、 实验内容:1、绘出下列信号的时域波形(1)f(t)=(2-e-2t)u(t) (2)f(t)=cos(πt)[u(t)-u(t-1)] (3)f(t)=u(-3t+2) (4)f(t)= -(1/2)tu(t+2) 解:t1=0:0.01:5; y1=(2-exp(-2*t1)).*(t1>0); subplot(221);plot(t1,y1);grid; title('f(t)=(2-e-2t)u(t)'); t2=0:0.01:5; y2=cos(pi*t2).*((t2>0)-(t2>1)); subplot(222);plot(t2,y2);grid; title('f(t)=cos(πt)[u(t)-u(t-1)]'); t3=-2:0.01:5; y3=(-3*t3+2>0); subplot(223);plot(t3,y3);grid; title('f(t)=u(-3t+2)'); t4=-3:0.01:5; y4=(-1/2)*t4.*(t4>-2); subplot(224);plot(t4,y4);grid; title('f(t)=-(1/2)tu(t+2)');00.511.52f(t)=(2-e-2t)u(t)图 1-1f(t)=cos(πt)[u(t)-u(t-1)]图1-200.51f(t)=u(-3t+2)图1-3f(t)=-(1/2)tu(t+2)图 1-42、用MATLAB 绘出下列信号的卷积积分f1(t)*f2(t)的时域波形(1) f1(t)=tu(t), f2(t)=u(t) (2) f1(t)=u(t)-u(t-4), f2(t)=sin(πt)u(t) (3) f1(t)= e-2t u(t), f2(t)= e-t u(t) (4) f1(t)= e-t u(t), f2(t)=u(t) 解:(1)fs=1000; t=-1:1/fs:4; x1=stepfun(t,0); x2=x1.*t; y=conv(x1,x2)/fs; n=length(y1); tt=(0:n-1)/fs-2; subplot(311),plot(t,x1),grid; title('f1(t)=tu(t)'); subplot(312),plot(t,x2),grid; title(' f2(t)=u(t)'); subplot(313),plot(tt,y),grid on; title('f1(t) * f2(t)');(2)fs=1000; t=-1:1/fs:4; x1=(t>0)-(t>4); x2=sin(pi*t).*(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-2; subplot(311);plot(t,x1);grid; title('f1(t)=u(t)-u(t-4))'); subplot(312);plot(t,x2);grid; title('f2(t)=sin(πt)u(t)'); subplot(313);plot(tt,x);grid; title('f1(t) * f2');(3)t=0:1/fs:4; x1=exp(-2*t).*(t>0); x2=exp(-t).*(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-0; subplot(311);plot(t,x1);grid; title('f1(t)= e-2t u(t)'); subplot(312);plot(t,x2);grid; title('f2(t)= e-t u(t)'); subplot(313);plot(tt,x);grid; title('f1(t) * f2(t)');(4)t=0:1/fs:2; x1=exp(-2*t).*(t>0); x2=(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-0; subplot(311);plot(t,x1);grid; title(' f1(t)= e-t u(t))'); subplot(312);plot(t,x2);grid; title('f2(t)=u(t)'); subplot(313);plot(tt,x);grid; title('f1(t)*f2(t)');0.51 1.52 2.53 3.540.51 1.52 2.53 3.5412345678-1 -0.5 00.51 1.52 2.53 3.54? 2-1 -1 -0.5 00.51 1.52 2.53 3.54? 2-2 -2-112 3 4 5678? 2-3实验二:连续时间LTI 系统的时域分析一、实验目的:学会用MATLAB 求解连续系统的零状态响应、冲击响应和阶跃响应。
信号与系统MATLAB第一次实验报告一、实验目的1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。
2.学会运用MATLAB表示常用连续时间信号的方法3.观察并熟悉一些信号的波形和特性。
4.学会运用MATLAB进行连续信号时移、反折和尺度变换。
5.学会运用MATLAB进行连续时间微分、积分运算。
6.学会运用MATLAB进行连续信号相加、相乘运算。
7.学会运用MATLAB进行连续信号的奇偶分解。
二、实验任务将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。
三、实验内容1.MATLAB软件基本运算入门。
1). MATLAB软件的数值计算:算数运算向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。
2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。
矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开;矩阵的不同行之间必须用分号”;”或者ENTER分开。
2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。
3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。
举例:计算一个函数并绘制出在对应区间上对应的值。
2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名”2.MATLAB软件简单二维图形绘制1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y)2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p)3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin])4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’)5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’)6).输出:grid on举例1:举例2:3.matlab程序流程控制1).for循环:for循环变量=初值:增量:终值循环体End2).while循环结构:while 逻辑表达式循环体End3).If分支:(单分支表达式)if 逻辑表达式程序模块End(多分支结构的语法格式)if 逻辑表达式1程序模块1Else if 逻辑表达式2程序模块2…else 程序模块nEnd4).switch分支结构Switch 表达式Case 常量1程序模块1Case 常量2程序模块2……Otherwise 程序模块nEnd4.典型信号的MATLAB表示1).实指数信号:y=k*exp(a*t)举例:2).正弦信号:y=k*sin(w*t+phi)3).复指数信号:举例:4).抽样信号5).矩形脉冲信号:y=square(t,DUTY) (width默认为1)6).三角波脉冲信号:y=tripuls(t,width,skew)(skew的取值在-1~+1之间,若skew取值为0则对称)周期三角波信号或锯齿波:Y=sawtooth(t,width)5.单位阶跃信号的MATLAB表示6.信号的时移、反折和尺度变换:Xl=fliplr(x)实现信号的反折7.连续时间信号的微分和积分运算1).连续时间信号的微分运算:语句格式:d iff(function,’variable’,n)Function:需要进行求导运算的函数,variable:求导运算的独立变量,n:求导阶数2).连续时间信号的积分运算:语句格式:int(function,’variable’,a,b)Function:被积函数variable:积分变量a:积分下限b:积分上限(a&b默认是不定积分)8.信号的相加与相乘运算9.信号的奇偶分解四、小结这一次实验让我能够教熟悉的使用这个软件,并且能够输入简单的语句并输出相应的结果和波形图,也在一定程度上巩固了c语言的一些语法。
nGDOU-B—11—112广东海洋大学学生实验报告书(学生用表)课程名称课程号学院(系)信息学院专业班级学生姓名学号实验地点04002 实验日期实验一连时间信号的MATLAB表示和连续时间LTI系统的时域分析一、实验目的1.掌握MA TLAB产生常用连续时间信号的编程方法,并熟悉常用连续时间信号的波形和特性;2.运用MATLAB符号求解连续系统的零输入响应和零状态响应;3.运用MATLAB数值求解连续系统的零状态响应;4.运用MATLAB求解连续系统的冲激响应和阶跃响应;5.运用MATLAB卷积积分法求解系统的零状态响应。
二、实验原理1. 连续信号MATLAB实现原理从严格意义上讲,MA TLAB数值计算的方法并不能处理连续时间信号.然而,可用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB处理,并且能较好地近似表示连续信号.MATLAB提供了大量生成基本信号的函数.比如常用的指数信号、正余弦信号等都是MATLAB的内部函数。
为了表示连续时间信号,需定义某一时间或自变量的范围和取样时间间隔,然后调用该函数计算这些点的函数值,最后画出其波形图.三、实验内容1.实例分析与验证根据以上典型信号的MA TLAB函数,分析与验证下列典型信号MA TLAB程序,并实现各信号波形图的显示,连续信号的图形显示使用连续二维图函数plot().(1)正弦信号:用MA TLAB命令产生正弦信号2sin(2/4)ππ+,并会出时间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.2])title (’正弦信号’)(2) 抽样信号:用MA TLAB 中的sinc(t)函数命令产生抽样信号Sa(t),并会出时间为66t ππ-≤≤的波形图。
matlab求解零状态零输入响应在控制系统理论中,零状态零输入响应是关于一个特定系统的动态响应的一种模型。
这种响应是指在输入信号为零的情况下,考虑到初始状态对系统的影响而产生的响应。
对于多数控制问题,除非考虑到开始时就有输入信号的情况,否则零状态零输入响应会是我们更加感兴趣的一种状态,因为它考虑到了初值的影响并且可以帮助我们得到一个特定时间内的系统响应。
在这里,我们将主要介绍如何使用MATLAB软件包来解决零状态零输入响应问题。
考虑到这种响应是一个关于时间的函数,我们将讨论如何利用MATLAB的功能包来创建一个时间序列并生成相应的输出结果。
在MATLAB中,我们可以使用过渡矩阵法(State Transition Matrix)来求解零输入响应。
该方法是将系统的状态空间描述通过定义一个从时间t1到t2的矩阵转换,输入输出关系描述为超前作用器(feedforward action),并依次解决零输入和零状态响应的问题。
因此,我们可以将求解零状态零输入响应的问题转换为一个简单的线性代数问题。
在MATLAB中,我们需要定义一个描述系统的状态空间模型,并使用矩阵乘法来表示状态空间方程和状态转换。
在MATLAB中,有两种常用的方法可以解决零输入响应问题:直接使用转移矩阵法或使用MATLAB中的laplace变换。
1. 直接使用转移矩阵法在MATLAB中,我们可以使用矩阵操作命令来实现求解零输入响应时的状态转移过程。
具体步骤如下:a. 首先,需要定义系统的状态空间模型,包括矩阵A,B,C和D。
b. 接着,我们需要使用MATLAB中的expm命令来计算过渡矩阵。
c. 最后,利用在MATLAB中定义的C和D矩阵来计算响应。
例如,在以下控制系统中:x' = Ax + B1u1 + B2u2y = Cx + Du其中,A,B1,B2,C和D由以下矩阵给出:A = [0 1 0;0 0 1;0 0 0]B1 = [0;0;1]B2 = [1;0;0]C = [1 1 1]D = 0我们可以使用以下MATLAB命令来计算系统响应:%计算过渡矩阵t = 0:0.1:10;phi = expm(A*t);plot(t,y)2. 使用MATLAB中的laplace变换另一个解决零输入响应问题的方法是使用MATLAB中的laplace变换。
题目:用MATLAB 对RC 、RL 电路进行分析摘要: MATLAB 是美国Mathworks 公司开发的大型软件包,是MATrix LABoratory 的缩略语。
目前,MATLAB 广泛应用于线性代数、高等数学、物理、电路分析、信号与系统、数字信号处理、自动控制等众多领域,是当前国际上最流行的科学与工程计算的工具软件。
MATLAB 功能强大并且同其它高级语言相比具有语法规则简单、容易掌握、调试方便等特点。
Simulink 是MATLAB 软件的扩展,它是实现动态系统建模和仿真的一个软件包。
MATLAB 具有强大的图形处理功能、符号运算功能和数值计算功能。
其中系统的仿真(Simulink )工具箱是从底层开发的一个完整的仿真环境和图形界面。
在这个环境中,用户可以完成面向框图系统仿真的全部过程,并且更加直观和准确地达到仿真的目标。
本次主要介绍基于MATLAB 的一阶动态电路特性分析。
关键字:MATLAB ;仿真;图形处理;一阶动态电路。
一. RC 串联电路1.1 RC 串联电路的零输入响应动态电路中无外施激励电源,仅由动态元件初始储能所产生的响应,称为动态电路的零输入响应。
在图1所示的RC 电路中,开关S 打向2前,电容C 充电,U u u C R =+。
当开关S 打向2后,电压C R u u =,电容储存的能量将通过电阻以热能的形式释放出来【2】。
图1 RC 电路的零输入响应电路分析:由图可知 t RC o e R U i 1-=, t RC o C R e U u u 1-== t RC o R e R U R I p 222-==,t RC o C C e R U iu p 22-== 在MATALAB 的M 文件编写以下程序:U0=40;R=10;C=0.5; %输入给定参数U1=10;R1=5;C1=0.5; %输入给定参数t=[0:0.1:10]; %确定时间范围Uc1=U0*exp(-t/(R*C));Uc2=U1*exp(-t/(R*C)); %电容电压值Ur1=U0*exp(-t/(R*C));Ur2=U1*exp(-t/(R*C)); %电阻电压值I1=U0/R*exp(-t/(R*C));I2=U1/R*exp(-t/(R*C)); %计算电流值Pc1=U0^2/R*exp(-2*t/(R*C));Pc2=U1^2/R*exp(-2*t/(R*C)); %电容功率值 Pr1=U0^2/R*exp(-2*t/(R*C));Pr2=U1^2/R*exp(-2*t/(R*C)); %电阻功率值 figuresubplot(5,1,1);plot(t,Uc1,t,Uc2); title('Uc(t)的波形图')subplot(5,1,2);plot(t,Ur1,t,Ur2); title('Ur(t)的波形图')subplot(5,1,3);plot(t,I1,t,I2); title('I(t)的波形图')subplot(5,1,4);plot(t,Pc1,t,Pc2); title('Pc(t)的波形图')subplot(5,1,5);plot(t,Pr1,t,Pr2); title('Pr(t)的波形图')波形仿真图:图2 RC 串联电路零输入响应特性曲线蓝线表示U0=40;R=10;C=0.5情况下的特性曲线绿线表示U1=10;R1=5;C1=0.5情况下的特性曲线1.2 RC 串联电路的直流激励的零状态响应零状态响应就是电路在零初始状态下(动态元件初始储能为零)由外施激励引起的响应。
信号与系统MATLAB平时作业学院:电子信息工程学院班级::学号:教师:钱满义MATLAB 习题M3-1 一个连续时间LTI系统满足的微分方程为y ’’(t)+3y ’(t)+2y(t)=2x ’(t)+x(t)(1)已知x(t)=e -3t u(t),试求该系统的零状态响应y zs (t); (2)用lism 求出该系统的零状态响应的数值解。
利用(1)所求得的结果,比较不同的抽样间隔对数值解精度的影响。
解:(1) 由于''()3'()2()2'()(),0h t h t h t t t t δδ++=+≥则2()()()t t h t Ae Be u t --=+ 将()h t 带入原方程式化简得(2)()()'()2'()()A B t A B t t t δδδδ+++=+所以1,3A B =-=2()(3)()t t h t e e u t --=-+又因为3t ()()x t e u t -= 则该系统的零状态响应3t 23t 2t ()()()()(3)()0.5(6+5)()zs t t t y t x t h t e u t e e u t e e e u t ----=*=*-+=-- (2)程序代码 1、ts=0;te=5;dt=0.1;sys=tf([2 1],[1 3 2]);t=ts:dt:te;x=exp(-3*t).*(t>=0);y=lsim(sys,x,t)2、ts=0;te=5;dt=1;sys=tf([2 1],[1 3 2]);t=ts:dt:te;x=exp(-3*t).*(t>=0);y1=-0.5*exp(-3*t).*(exp(2*t)-6*exp(t)+5).*[t>=0];y2=lsim(sys,x,t)plot(t,y1,'r-',t,y2,'b--')xlabel('Time(sec)')legend('实际值','数值解')用lism求出的该系统的零状态响应的数值解在不同的抽样间隔时与(1)中求出的实际值进行比较将两种结果画在同一幅图中有图表 1 抽样间隔为1图表 2 抽样间隔为0.1图表 3 抽样间隔为0.01当抽样间隔dt减小时,数值解的精度越来越高,从图像上也可以看出数值解曲线越来越逼近实际值曲线,直至几乎重合。
MATLAB课程设计任务书(-)一、名称:MATLAB编程简介二、目的熟悉MATLAB编程环境,掌握Help 命令、基本的变量类型、矩阵的基本运算、基本的绘图函数和M-file的建立。
三、内容(一)例题例1、Help 命令help coshelp plothelp abshelp exphelp +例2、变量和矩阵运算(1) Matrix——The basic variable typeM=3M=[1 2 6]M=[1 2 6; 4 6 7]M13=M(1,3)size(M)(2) The Colon Operator ( : )%Creating Array and Vector% v = start: skip: endx1=0:2:10x2=0:1:10 (or x=0:10)t=-1:0.2:1%Accessing MatrixA=[1 2 3;4 5 6;7 8 9]A(2:3,1:2)x2(4:8)(3) Matrix Operations (A±B)A=[2 3 4; 6 9 8]B=[1 2 3; 5 8 7]C1=A+BC2=A-BC3=A-4(4)Matrix Operations (A*B A.*B)% A*BA=[2 3 4; 6 9 8]B=[1 2; 3 5; 8 7]A*B% A.*BA=[2 3 4; 6 9 8]B=[1 2 3 ;5 8 7]A.*B(5)Matrix Operations (B/A ,A\C, B./A ,A.\B)% B/A —— B*inv(A)% A\C —— inv(A)*C%B./A —— B(i,j)/A(i,j)%A.\B ——B(i,j)/A(i,j)(6) Matrix Operations ( ^ and .^)% ^ OperationA=[1 2 3; 4 5 6; 7 8 9]b=A^2% .^ OperationA=[1 2 3; 4 5 6; 7 8 9]b=A.^2(7)Matrix Operations ( A′and A. ′)% A′共轭转置a=[1+2i 3+4i; 3+2i 5+5i]a′% A.′非共轭转置a.′例3 、绘图函数plot(x,y) ,stem(k,y)% plot(x,y)x=0:0.01:2;y=sin(2*pi*x);plot(x,y)% stem(k,y)k=0:50;y=exp(-0.1*k);stem(k,y)例4、M file% y(t)=sin(2t) + sin(5t) -2pi ≤t ≤2pit =-2*pi:0.02:2*pi;y=sin(2*t) + sin(5*t);plot(t,y)(二)练习题1、基本命令help plothelp colonhelp opshelp zeroshelp onespi*pi-10sin(pi/4) ans^2 zz=3+4i; conj(zz)abs(zz) angle(zz) real(zz) imag(zz)2、Array Indexingxx=[ones(1,4),[2:2:11],zeros(1,3)] xx(3:7) length(xx)xx(2:2:length(xx)) xx(3:7)=pi*(1:5)3、 用以下语句建立M-file t=-2:0.05:3;y=sin(2*pi*0.789*t); plot(t,y), grid ontitle('TEST PLOT of SINUSOID') xlabel('TIME(sec)')4、 画出以下信号的波形1t 2≤≤(-)(用M-file 实现) 1()2cos(230)x t t π=+︒ 2()4cos(260)x t t π=-︒四、要求学生对实验练习题编写MATLAB 程序并运行,在计算机上输出仿真结果。
matlab求差分方程的单位阶跃响应差分方程的单位阶跃响应是指在单位阶跃输入下,系统的响应情况。
差分方程是一种用于描述离散时间系统的数学模型,是离散时间系统理论中的重要内容之一。
在信号与系统、数字信号处理等领域中,差分方程被广泛应用。
差分方程的单位阶跃响应可以用于分析系统的稳定性、动态特性以及系统对不同输入信号的响应情况。
在计算机编程中,差分方程的单位阶跃响应可以用于模拟系统的行为,实现数字滤波等功能。
单位阶跃信号通常被定义为在时间 t=0 处突变,其数学表达式为:u(t)= {0,t<0,1,t≥0}差分方程的单位阶跃响应可以通过求解差分方程的递归关系来得到。
例如,考虑一个一阶线性时不变系统,其差分方程可以表示为:y(n) = a*y(n-1) + b*u(n)其中,y(n) 是系统的输出信号,u(n) 是系统的输入信号,a 和b 是常数。
对于单位阶跃输入 u(n),即 u(n) = 1,可以得到递推关系为:y(n) = a*y(n-1) + b为了求解递推关系,需要指定初始条件 y(0)。
常见的初始条件有 y(0) = 0(零输入响应),y(0) = 1(零状态响应)等。
通过不断迭代递推关系,可以得到差分方程的单位阶跃响应的离散序列。
可以将这些序列绘制成图形,从而得到离散系统的单位阶跃响应曲线。
除了通过求解递推关系,还可以使用其他方法来计算差分方程的单位阶跃响应。
例如,可以通过计算差分方程的传递函数来得到单位阶跃响应。
传递函数是系统的输入输出关系的拉普拉斯变换形式,在离散时间系统中可以表示为 Z 变换。
通过求解传递函数的单位阶跃响应,可以得到差分方程的单位阶跃响应的解析表达式,从而可以更直观地分析系统的特性。
除了差分方程的单位阶跃响应,还可以对差分方程的零状态响应、零输入响应进行研究。
零状态响应是指在输入信号为零的情况下系统的响应,零输入响应是指在初始状态为零的情况下系统的响应。
通过分析这些响应,可以更全面地了解差分方程所描述的离散时间系统的特性。
一、课程设计题目:信号系统的时域分析二、课程设计目的:1、学习MATLAB 软件的使用。
2、使学生掌握利用工具软件来实现信号系统基本概念、基本原理的方法。
3、通过编程对matlab软件的具体应用有了更好的了解,进一步加强了对函数卷积,零输入,零响应状态这三种函数状态的理解。
二、基本原理1、卷积信号的卷积是数学上的一种积分运算,两个信号的卷积定义为:信号的卷积运算在系统分析中主要用于求解系统的零状态响应。
一般情况,卷积积分的运算比较困难,但在MATLAB中则变得十分简单,MATLAB中是利用conv函数来实现卷积的。
Conv函数功能:实现二个函数和的卷积。
格式:说明:表示二个函数,表示两个函数的卷积结果。
例:已知两信号f1(t)= ε(t+1)+ε(t-2) f2(t)=ε(t-3)+ε(t-8)求卷积MATLAB程序如下:t1=-1:0.01:2;f1=ones(size(t1)); %高度为一的门函数,时间从t=-1到t=2t2=3:0.01:8;f2=ones(size(t2)); %高度为一的门函数,时间从t=3到t=8g=conv(f1,f2); %对f1和f2进行卷积t3=2:0.01:10;subplot(3,1,1),plot(t1,f1),title(‘f1’);grid %画f1的波形subplot(3,1,2),plot(t2,f2) ,title(‘f2’);grid %画f2的波形subplot(3,1,3),plot(t3,g) ,title(‘f1*f2’);grid %画g的波形其中p 1,p 2,…,p n 是特征方程a 1λn +a 2λn-1+…+a n λ+a n =0的根,它们可以用root(a)语句求得。
各系数 由y 及其各阶导数的初始值来确定。
对此有写成矩阵形式为: P 1n-1C 1+ P 2n-1C 2+…+ P n n-1C n =D n-1y 0 1012201111120111n n n n n n n C y p p p C Dy p p p C D y ----⋅⋅⋅⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⋅⋅⋅⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⋅⋅⋅⎣⎦⎣⎦⎣⎦A A A A A A 即 V•C=Y 0 其解为:C=V\Y 0 式中V 为范德蒙矩阵,在matlab 的特殊矩阵库中有vander 。
一、课程设计题目:信号系统的时域分析二、课程设计目的:1、学习MATLAB 软件的使用。
2、使学生掌握利用工具软件来实现信号系统基本概念、基本原理的方法。
3、通过编程对matlab软件的具体应用有了更好的了解,进一步加强了对函数卷积,零输入,零响应状态这三种函数状态的理解。
二、基本原理1、卷积信号的卷积是数学上的一种积分运算,两个信号的卷积定义为:信号的卷积运算在系统分析中主要用于求解系统的零状态响应。
一般情况,卷积积分的运算比较困难,但在MA TLAB中则变得十分简单,MA TLAB中是利用conv函数来实现卷积的。
Conv函数功能:实现二个函数和的卷积。
格式:说明:表示二个函数,表示两个函数的卷积结果。
例:已知两信号f1(t)= ε(t+1)+ε(t-2) f2(t)=ε(t-3)+ε(t-8)求卷积MATLAB程序如下:t1=-1:0.01:2;f1=ones(size(t1)); %高度为一的门函数,时间从t=-1到t=2t2=3:0.01:8;f2=ones(size(t2)); %高度为一的门函数,时间从t=3到t=8g=conv(f1,f2); %对f1和f2进行卷积t3=2:0.01:10;subplot(3,1,1),plot(t1,f1),title(‘f1’);grid %画f1的波形subplot(3,1,2),plot(t2,f2) ,title(‘f2’);grid %画f2的波形subplot(3,1,3),plot(t3,g) ,title(‘f1*f2’);grid %画g的波形2、零输入,零状态响应一般的连续时间系统分析有以下几个步骤: ①求解系统的零输入响应; ②求解系统的零状态响应; ③求解系统的全响应; ④分析系统的卷积;⑤画出它们的图形. 下面以具体的微分方程为例说明利用MATLAB 软件分析系统的具体方法.2.1.连续时间系统的零输入响应描述n 阶线性时不变(LTI )连续系统的微分方程为:已知y 及各阶导数的初始值为y(0),y (1)(0),… y(n-1)(0), 求系统的零输入响应。
实验二连续时间系统的时域分析一、实验目的通过使用MATLAB 软件对连续时间线性非时变系统的时域特性进行仿真分析,熟悉IT 系统在典型激励下的响应及特征,熟悉相应MATLAB 函数的调用格式和作用,熟悉井掌握用MATLAB 函数求解冲激响应、阶跃响应、零输入响应、零状态响应及全响应的方法。
二、实验原理(一)连续时间系统的时域分析方法 连续时间线性非时变系统(LTI )的输入()t f 与输出()t y 可以用线性常系数微分方程来描述:()()()()()()()()()()t f b t f b t fb t y a t y a t y a t y a m m n n n n 0'10'111++=++++--如果已知系统的输入信号()t f 及系统的初始条件为()()()()()-----0,,0,0,01'''n y y y y ,就可以利用解析方法求出系统的响应。
线性系统的全响应由零输入响应分量和零状态响应分量组成。
零输入响应是指当输入为零时仅由t=0的初始条件产生的系统响应,零状态响应是当初始条件(在t=0)假定为零时仅由0≥t 时的输入产生的系统响应分量。
零输入响应(单极点时)为:()∑==+++=nk t k tn ttx k n e c ec ec ec t y 12121λλλλ f式中,n c c c 、、、 21为任意待定常数,由初始条件确定。
零状态响应为:()()()τττd t h f t y f -=⎰∞∞-此式是对任意输入()t f ,用单位冲激响应()t h 形式表示的零状态响应()t y f 的公式。
已知()t h 就可确定任意输入()t f 的零状态响应()t y f ,即系统对任意输入的响应都可以用单位冲激响应确定。
系统总响应为:()()()()()τττλd t h f ec t y t y t y tnj j f x j -+=+=⎰∑∞∞-=1对于高阶系统,手工计算非常繁琐。
目录摘要 (1)1 任务与要求 (2)2 程序设计与实验仿真结果图 (4)3 仿真结果分析 (17)参考文献 (19)信号与系统课程设计报告摘要本实验任务与意义,是掌握信号经过LTI系统的时域分析方法:进一步理解零输入响应、零状态响应。
学会用Matlab并用它对连续时间系统信号时域进行分析,用Matlab编程绘制连续时间系统的零输入响应、零状态响应、卷积积分、卷积和的图形曲线,仿真曲线,并对它们进行分析。
用MATLAB进行形象,直观的计算机模拟与仿真实现,从而加深对信号与系统、数字信号处理学科相关的基本原理,方法与应用的理解,从基本理论过渡到实际应用。
通过本实验的学习,掌握信号与系统的时域、变换域分析方法,理解各种变换(傅里叶变换、拉普拉斯变换、Z变换)的基本内容、性质与应用,学会分析信号的波形、信号的频谱与系统频率特性曲线的绘制,写出符合要求的实验报告,加深理解与巩固理论教学知识,为以后深入学习相关专业知识打下必要的基础。
关键字:Matlab编程 LTI系统的时域分析仿真曲线零输入响应零状态响应卷积积分卷积和1 任务与要求(1).典型信号的描述及运算a.试用MATLAB 绘制两正弦序列f 1(k)=cos(k π/8),f 2(k)=cos(2k)的时域波形,观察它们的周期性,并验证是否与理论分析结果相符?b.已知)]4()()[4()(1--+-=t u t u t t f 及信号)2sin()(2t t f π=,用MATLAB 绘出满足下列要求的信号波形。
(1)311()[(2)()]f t f t f t =--+ (2)423()()()f t f t f t =⨯ (3)512()()()f t f t f t =⨯ (4)612()(2)()f t f t f t =-+ c. 绘制f(t)=错误!未找到引用源。
的时域图 (2).连续时间信号卷积及MATLAB 实现已知两连续时间信号如下图所示,试用MATLAB 求f(t)=12()*()f t f t ,并绘出f(t)的时域波形图。
基于Matlab 的信号与系统实验指导实验一 连续时间信号在Matlab 中的表示一、实验目的1、学会运用Matlab 表示常用连续时间信号的方法2、观察并熟悉这些信号的波形和特性二、实验原理及实例分析1、信号的定义与分类2、如何表示连续信号?连续信号的表示方法有两种;符号推理法和数值法。
从严格意义上讲,Matlab 数值计算的方法不能处理连续时间信号。
然而,可利用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能被Matlab 处理,并且能较好地近似表示连续信号。
3、Matlab 提供了大量生成基本信号的函数。
如:(1)指数信号:K*exp(a*t)(2)正弦信号:K*sin(w*t+phi)和K*cos(w*t+phi)(3)复指数信号:K*exp((a+i*b)*t)(4)抽样信号:sin(t*pi)注意:在Matlab 中用与Sa(t)类似的sinc(t)函数表示,定义为:)t /()t (sin )t (sinc ππ=(5)矩形脉冲信号:rectpuls(t,width)(6)周期矩形脉冲信号:square(t,DUTY),其中DUTY 参数表示信号的占空比DUTY%,即在一个周期脉冲宽度(正值部分)与脉冲周期的比值。
占空比默认为0.5。
(7)三角波脉冲信号:tripuls(t, width, skew),其中skew 取值范围在-1~+1之间。
(8)周期三角波信号:sawtooth(t, width)(9)单位阶跃信号:y=(t>=0)三、实验内容1、验证实验内容直流及上述9个信号2、程序设计实验内容(1)利用Matlab 命令画出下列连续信号的波形图。
(a ))4/3t (2cos π+(b ))t (u )e 2(t -- (c ))]2()(u )][t (cos 1[--+t u t π(2)利用Matlab 命令画出复信号)4/t (j 2e)t (f π+=的实部、虚部、模和辐角。
课题一:连续时间信号和系统时域分析及MATLAB实现课题要求:深入研究连续时间信号和系统时域分析的理论知识。
利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间信号和系统时域分析的仿真波形。
课题内容:一、用MATLAB实现常用连续时间信号的时域波形(通过改变参数,分析其时域特性)。
1、单位阶跃信号,2、单位冲激信号,3、正弦信号,4、实指数信号,5、虚指数信号,6、复指数信号。
二、用MATLAB实现信号的时域运算1、相加,2、相乘,3、数乘,4、微分,5、积分三、用MATLAB实现信号的时域变换(参数变化,分析波形变化)1、反转,2、使移(超时,延时),3、展缩,4、倒相,5、综合变化四、用MATLAB实现信号简单的时域分解1、信号的交直流分解,2、信号的奇偶分解五、用MATLAB实现连续时间系统的卷积积分的仿真波形给出几个典型例子,对每个例子,要求画出对应波形。
六、用MATLAB实现连续时间系统的冲激响应、阶跃响应的仿真波形。
给出几个典型例子,四种调用格式。
七、利用MATLAB实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。
给出几个典型例子,要求可以改变激励的参数,分析波形的变化。
课题二:离散时间信号和系统时域分析及MATLAB实现。
课题要求:深入研究离散时间信号和系统时域分析的理论知识。
利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现离散时间信号和系统时域分析的仿真波形。
课题内容:一、用MATLAB绘制常用信号的时域波形(通过改变参数分析其时域特性)1、单位序列,2、单位阶跃序列,3、正弦序列,4、离散时间实指数序列,5、离散时间虚指数序列,6、离散时间复指数序列。
二、用MATLAB实现信号的时域运算1、相加,2、相乘,3、数乘。
三、用MATLAB实现信号的时域变换(参数变化,分析波形的变化)1、反转,2、时移(超时,延时),3、展缩,4、倒相。
1. 已知离散时间系统的差分方程为:2y(n) - y(n-1) - 3y(n-2)=2x(n) - x(n-1)x(n)= 0.5nu(n) , y(-1)=1,y(-2)=3 , 试用filter 函数求系统的零输入响应、零状态响应和全响应.解:将差分方程Z 变换得:12112()[()(1)]3[()(1)(2)]2()[()(1)]Y z z Y z y z Y z z y y X z z X z x -----+--+-+-=-+- (1)依题意有:x(-1)=0,x(-2)=0,y(-1)=1,y(-2)=3 ,X(z)=1110.50.5z z z -=-- 将上式变形如下: 1211(23)()[(1)3(1)3(2)](2)()z z Y z y z y y z X z --------+-+-=- ………..(2) 1211(23)()(2)()[(1)3(1)3(2)]z z Y z z X z y z y y ------=-+-+-+-1211(23)()(2)()[103]z z Y z z X z z ------=-++ (3)易得系统函数为H(z)= 12122222323z z z z z z z -----=---- ① 零输入时零输入时,x(n)=0,差分方程右边为0,z 变换后应为121(23)()103z z Y z z-----=+ 112103()23z Y z z z ---+=-- =2210323z z z z +-- =71835152z z z z ++- 将Y(z)进行Z 反变换,得到其零输入响应为: y(n)= 7183[(1)()]()552n n u n -+ ② 零状态时零状态时,将y(-1)=0,y(-2)=0代入上面的式(2)中,得Y(z)= 112223z z z ------X(z)= 112223z z z ------1110.5z --=22223z z z --=233 5152 z z z z++-将其Z反变换,得到零状态响应为:y(n)=233 [(1)()]() 552n n u n -+③全响应与上面同理,y(-1)=1,y(-2)=3 将上面式(3)变形得:Y(z)=2212323z zz z+--=92135152z zz z++-Z反变换得全响应为Y(n)=921[]()35152z zu n z z++-程序代码:%第二章Z变换第2.12题程序clear all;close all;num=[2 -1 0]; %系统函数分子的系数den=[2 -1 -3]; %系统函数分母的系数n=0:50;nl=length(n);%求零输入响应y01=[1 3]; %y的初始状态x01=[0 0]; %x 的初始状态x1=zeros(1,nl);zi1=filtic(num,den,y01,x01); %为filter函数准备初始值y1=filter(num,den,x1,zi1); %求零输入响应subplot(311);stem(n,y1,'r.');title('零输入响应');grid on;%求零状态响应y02=[0 0];x02=[0 0];x2=0.5.^n;zi2=filtic(num,den,y02,x02);y2=filter(num,den,x2,zi2);subplot(312);stem(n,y2,'r.');title('零状态响应');grid on;%求全响应y03=[1 3];x03=[0 0];x3=0.5.^n;zi3=filtic(num,den,y03,x03);y3=filter(num,den,x1,zi3);subplot(313);stem(n,y3,'r.');title('全响应');grid on;运行结果如下:2. 已知离散系统的系统函数分别为(1) 2321()21z z H z z --=- (2) 31()1z H z z +=- (3) 2322()2241z H z z z z +=+-+ (4) 332()0.20.30.4z H z z z z =+++ 试用MATLAB 实现下列分析过程:① 求出系统的零极点位置;② 绘出系统的零极点图,根据零极点图判断系统的稳定性;③ 绘出系统单位响应的时域波形,并分析系统稳定性与系统单位响应时域特性的关系。
解:程序代码如下:%%第二章Z变换第2.13题程序clear all;close all;%题(1)a1=[2 0 0 -1]; %系统函数分母的系数b1=[0 2 -2 -1]; %系统函数分子的系数p1=roots(a1), %求极点pa1=abs(p1), %求极点到坐标原点的距离,看它是否大于1,若有一个大于1, %则系统不稳定;若所有的都小于1,则系统稳定q1=roots(b1), %求零点h1=impz(b1,a1); %求单位响应subplot(421);zplane(b1,a1);%画零极点图title('(1)的零极点图');subplot(425);stem(h1,'.'); %单位响应的时域波形grid on;title('(1)的单位响应的时域波形');%题(2)a2=[3 0 0 -1];b2=[0 0 1 1];p2=roots(a2),pa2=abs(p2),q2=roots(b2),h2=impz(b2,a2);subplot(422);zplane(b1,a1);title('(2)的零极点图');subplot(426);stem(h2,'.');grid on;title('(2)的单位响应的时域波形');%题(3)a3=[1 2 -4 1];b3=[0 1 0 2];p3=roots(a3),pa3=abs(p3),q3=roots(b1),h3=impz(b3,a3);subplot(423);zplane(b3,a3);title('(3)的零极点图');subplot(427);stem(h3,'.');grid on;title('(3)的单位响应的时域波形');%题(4)a4=[1 0 0 0];b4=[1 0.2 0.3 0.4];p4=roots(a4),pa4=abs(p4),q4=roots(b4),h4=impz(b4,a4);subplot(424);zplane(b1,a1);title('(1)的零极点图');subplot(428);stem(h4,'.');grid on;title('(1)的单位响应的时域波形');运行结果如下:3. 已知描述离散系统的差分方程为:y(n) - y(n-1) - y(n-2)=4x(n) - x(n-1) - x(n-2)试用MATLAB绘出系统的零极点分布图,并绘出系统的幅频和相频特性曲线,分析该系统的作用解:程序代码如下:clear all;close all;num=[4,-1,-1];den=[1 -1 -1];[H,w]=freqz(num,den);subplot(311);zplane(num,den);subplot(312);plot(w/pi,abs(H));grid on;title('幅频响应曲线')subplot(313);plot(w/pi,angle(H));title('相频响应曲线');grid on;运行结果如下:4. 已知因果(单边)离散序列的Z 变换分别如下所示,试用MATLAB 求出其Z 反变换(1) 221()2z z F z z z ++=+- (2) 23221()12z z F z z z z-+=++(3) 2()F z = (4) 3243221()32321z z z F z z z z z +++=++++解:程序代码如下:clear all;close all;F1=sym('(z^2+z+1)/(z^2+z-2)');f1=iztrans(F1),F2=sym('(2*z^2-z+1)/(z^3+z^2+z/2)');f2=iztrans(F2),F3=sym('(z^2)/(z^2+sqrtm(2)*z+1)');f3=iztrans(F3),F4=sym('(z^3+2*z^2+z+1)/(3*z^4+2*z^3+3*z^2+2*z+1)');f4=iztrans(F4)运行结果如下:f1 =(-2)^n/2 - kroneckerDelta(n, 0)/2 + 1δ注:kroneckerDelta(n, 0)=()nf2 =2*kroneckerDelta(n - 1, 0) - 6*kroneckerDelta(n, 0) + 3*(-1)^n*2^(1 - n)*i*(i + 1)^(n - 1) - 3*(-1)^n*2^(1 - n)*i*(1 - i)^(n - 1)f3 =2*(-1)^n*cos(n*acos(sqrtm(2)/2)) + ((-1)^n*(sqrtm(2)/2 + (sqrtm(2)^2/4 - 1)^(1/2))^(n - 1))/(2*(sqrtm(2)^2/4 - 1)^(1/2)) - ((-1)^n*(sqrtm(2)/2 - (1/4*sqrtm(2)^2 - 1)^(1/2))^(n - 1))/(2*(sqrtm(2)^2/4 - 1)^(1/2))f4 =sum(-(r3*r3^n + r3^n + 2*r3^2*r3^n + r3^3*r3^n)/(2*r3^3 + 6*r3^2 + 6*r3 + 4), r3 in RootOf(z1^4 + (2*z1^3)/3 + z1^2 + (2*z1)/3 + 1/3, z1)) + kroneckerDelta(n, 0)sum( -(r3*r3^n + r3^n + 2*r3^2*r3^n + r3^3*r3^n)/(2*r3^3 + 6*r3^2 + 6*r3 + 4), r3 in RootOf(z1^4 + (2*z1^3)/3 + z1^2 + (2*z1)/3 + 1/3, z1) ) + kroneckerDelta(n, 0)注:r3 in RootOf(z1^4 + (2*z1^3)/3 + z1^2 + (2*z1)/3 + 1/3, z1)就是说r3是关于Z1的方程z1^4 + (2*z1^3)/3 + z1^2 + (2*z1)/3 + 1/3=0的根。