基于Simulink状态空间建模的系统分析方法程序实现(共16页)_第1页
基于Simulink状态空间建模的系统分析方法程序实现(共16页)_第2页
基于Simulink状态空间建模的系统分析方法程序实现(共16页)_第3页
基于Simulink状态空间建模的系统分析方法程序实现(共16页)_第4页
基于Simulink状态空间建模的系统分析方法程序实现(共16页)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上基于Simulink状态空间建模的系统分析方法程序实现 荆晓莉 (陕西理工学院物电学院电子信息科学与技术1101班,陕西 汉中 ) 指导老师:龙姝明摘要 无论用何种方法求高阶连续系统解析解都是十分棘手的问题。实际上,科学研究和工程应用中更多地需要系统的数值解。调用Matlab的Simulink工具包,可以用模块图标方法来编程,并通过运行系统模型文件的方法直接给出连续系统的数值解,而不需要将连续系统转换为离散系统再求解。对于复杂LTI系统直接写出微分方程再给出状态空间矩阵很困难,我们获得系统状态空间矩阵的方法是:先将系统映射到s 域,列出解(系统输出)函数的像函数满足的

2、代数方程组,解代数方程组给出系统函数H(s),再调用Matlab的函数a,b,c,d=tf2ss(num,den)就得到系统的状态空间矩阵,从而完成系统的描述,再创建系统模型文件,写入状态空间矩阵、输入信号、初值条件及运行相关参数,最后编程调用sim()函数运行模型文件给出连续系统的数值解。 关键字 连续系统;离散化;Simulink;M文件 The implementation of the system analysis method based on Simulink state space modeling Jing Xiaoli (Grade11,Class1,Major Elect

3、ronic Information Science and Technology Department of Physics,Shannxi University of Technology,Hanzhong,) Tutor: Long ShumingAbstract It is a difficult problem for the higher order continuous system to solve the problem. In fact, the numerical solution of the system is more needed for scientific re

4、search and engineering application. Calling Matlab Simulink toolkit can be programmed by using the method of module icon, and the direct method of operation system model file are given continuous system of numerical solution, without the need to convert the continuous system to discrete system, to b

5、e solved. Continuous model, mapped to directly write for complex LTI system differential equations and give the state space matrix is very difficult, we obtain the system state space matrix method is: first the system's domain, a list of solutions (output) function as function satisfies the alge

6、braic equation group, the solution of algebraic equations gives the system function H(s), and then call the Matlab function A, B, C, D=tf2ss(num,den) system state space matrix, thus completing the system description, and then create a system file, write the state space matrix, input signal, the init

7、ial conditions and operating parameters, programming at last call to sim run the model file is system of numerical solutions. Keywords Continuous system,Discrete,Simulink,M file专心-专注-专业目录 最近几年科学不断发展,系统的结构也渐渐复杂。所以系统变成了一个值得研究的话题,系统输出的变化情况与系统内部一些变量的关系也值得研究。本课题基于对信号与信息处理课程中用Matlab/Simulink建模及应用分析实际问题的深入

8、研究。由于Simulink可以对动态系统进行建模,仿真及分析的软件包,依托于Matlab的丰富的仿真资源,可以使用其快速对系统进行仿真,准确分析所描述动态系统1。除此之外,还可用其中的M文件编程以改变系统中参数,更加方便快捷地研究参数对系统的影响,包括求解系统,绘制波形并进行频谱分析等等。在许多情况下,人们不禁关心系统输出的变化情况,而且还要研究与系统内部一些变量有关的问题,比如,系统的客观性和可控性行。系统的最优控制与设计等问题。为适应这一变化,引入了状态变量法,也称内部法。因此,系统的性能必须在设计、制造和使用环节应用先进的可靠性工程技术来提高,在多状态、多阶段理论框架下开展对其可靠性理论

9、与方法的研究就显得尤为重要2。本课题正是选取高阶典型的连续系统,首先用基本元件仿真,传输函数,状态空间的三种方法对系统建模,设置相应参数,改变输入信号类型,幅度和相位,采样间隔等,观察输出波形,并且编写M文件程序,调用模型分析系统频谱,使信号的各种性能能很好地得到研究。1 状态空间分析方法的概述状态空间法是一种基于解答空间的和求解方法,它是以状态和为基础的。在利用图表示时,从某个初始状态开始,每次增加一个操作符,递增地建立起操作符的试验序列,直到达到目标状态为止。由于状态空间法需要扩展过多的节点,容易出现“组合爆炸”,因而只适用于表示比较简单的问题。系统的实现:根据系统的外部描述构造一个内部结

10、构,要求既保持外部描述的输入输出关系,又要将系统的内部结构确定下来。这是一个复杂的问题,但也是一个非常重要的问题。一方面,描述系统输入输出关系的微分方程或传递函数可以用实验的方法得到,我们可以从输入输出关系描述建立状态空间描述,这是建立状态空间描述的一条途径3-5。一般描述为: (1.1)设状态变量选为 (1.2)则 (1.3)由公式1.2和1.3有因此,系统的状态方程: (1.4)输出方程为y=x1, 由微分方程表达为矩阵形式,如下: (1.5) (1.6)2 快速创建LTI连续系统状态空间模型的方法2.1 创建LTI连续系统传递函数的方法对于一般的低阶电路系统,例如RLC三阶电路(电路),

11、要得到它的系统函数,可以先由把三阶电路系统映射到S域,可以计算出其等效阻抗,再在复频域进行求解,这样比较方便简单。具体做法如下:将电路映射到S域,在频域的电路如1图所示: 图1 三阶 RLC复频域电路利用拉普拉斯变换进行分析:电阻不变,电感L变为Ls,电容C变为1/Cs,由复频域电路图建立复频域代数方程: (2.1)其等效阻抗: (2.2)输出像函数: (2.3)代入R,L,C的值,最后的输出象函数: (2.4)由输出象函数得系统函数: (2.5)2.2 构造描述LTI连续系统的状态空间模型矩阵要由传递函数求解状态空间矩阵的方法,有两种。一种是通过迭代法演算,先将传递函数写成微分(差分)方程,

12、再根据定义或画出流程图进行计算,这种方法只适合低阶系统,高阶系统会变的复杂,繁琐,所以应用不广泛,但不抽象,有利于理解。另一种是通过Matlab编程直接求解,它简单,快捷,但具体算法不明确6。若已求得H(S)的分子、分母系数分别为nu、de,在Matlab里可以调用函数tf2ss进行转换,tf2ss(nu,de)是一个函数,参数为nu、de,函数的返回值有4个7;如二阶连续系统的系统函数为H(s)=(d*s+c)/(s2+a*s+b);nu=d c; de=1 a b;转换为状态空间模型;x=A*x+B*u;y=C*x+D*u;其中的四个矩阵可由A,B,C,D=tf2ss(nu,de);给出对

13、应初值条件;具体做法如下:设 de=1.0000, -4.3244, 5.5678 , -3.3757,2.7467, -2.3446,1.8653 ,-1.4578; nu= -0.0000, 0.0003,0.0053,0.0332, 0.0384, 0.0193,0.0000, 0;运行结果如下:A = 4.3244 -5.5678 3.3757 -2.7467 2.3446 -1.8653 1.4578 1.0000 0 0 0 0 0 0 0 1.0000 0 0 0 0 0 0 0 1.0000 0 0 0 0 0 0 0 1.0000 0 0 0 0 0 0 0 1.0000 0

14、 0 0 0 0 0 0 1.0000 0B = 1 0 0 0 0 0 0C = 0.0003 0.0053 0.0332 0.0384 0.0193 0 0D = 0由此,便可由传递函数得到状态空间矩阵。3 用Simulink状态空间建模求解LTI系统数值解的思路3.1 LTI连续系统的描述时间和各个组成部分的变量都具有连续变化形式的系统称为连续系统。连续系统的运动过程常可用一个或一组反映其变量间的相互联系和因果关系的微分方程来描述,通常称这一方程为它的。当微分方程的系数为常数时称为,当系数随时间而变化时则称为。如果连续系统的数学模型具有常微分方程的形式,则该系统属于;而当具有偏微分方程的

15、形式时,相应的连续系统属于8。3.2 创建系统的Simulink状态空间模型在仿真过程中,开始也学习认识到Matlab/Simulink系统建模设计与仿真基础知识,例如Matlab在系统建模中的应用有求取系统传递函数(矩阵),求取幅频特性和相频特性,系统输出响应,求系统状态空间模型,数值分析与函数逼近等等9。数学仿真采用数学模型,用数学语言对系统的特性进行描述,其工作过程是:(1)建立系统的数学模型;(2)建立系统仿真模型,即设计算法,并转化为计算机程序,使系统的数学模型能为计算机所接受并能在计算机上运行;(3)运行仿真模型,进行仿真试验,再根据仿真试验的结果进一步修正系统的数学模型和仿真模型

16、。模型基本结构:一个典型的Simulink 模型包括如下三种类型的元素:信号源模块,被模拟的系统模块,输出显示模块。两种Simulink 运行仿真的方法使用窗口运行仿真;使用Matlab 命令运行仿真。使用窗口运行仿真优点:人机交互性强,不必记住繁琐的命令语句即可进行操作。使用窗口运行仿真主要可以完成以下一些操作。(1)设置仿真参数 (2)应用仿真参数 (3)启动仿真(4)停止仿真 (5)中断仿真(6)仿真诊断状态空间模型是动态时域模型,以隐含着的时间为自变量。状态空间模型在经济时间序列分析中的应用正在迅速增加10。根据以上准备工作,先在Simulink中建模如下,信源选择方波。如图2所示:

17、图2 用状态空间创建仿真模块3.3 模块内部参数设置及数据存储 在模块创建中,各个模块的内部参数设置如下。信号源模块是方波信号,内部设置参数如图3。 状态空间内部参数设置为矩阵A,B,C,D,初始条件为x0.如图4。数据存储即工作空间如图5和图6所示,其中时间为t为结算时间,x表示states,是指输入变量的存储,y表示output,是指输出变量的存储。图3 方信号源内部参数设置图4 状态空间模型内部参数设置图5 数据存储图6 数据存储4 利用Simulink状态空间建模求解LTI系统的优缺点4.1 状态空间建模求解LTI系统的优点在科学研究和工程应用中更多地需要系统的数值解。调用Matlab

18、的Simulink工具包,可以用模块图标方法来编程,并通过运行系统模型文件的方法直接给出连续系统的数值解,而不需要将连续系统转换为离散系统再求解,省时省力。其优点为:可应用范围广,实用性强,可刻画系统的内部特征,用“一阶微分方程组”来描述系统的动态特性。它的主要特点是: (1)利用描述系统内部特性的状态变量替代了仅能描述系统外部特性的系统函数,能完整地揭示系统的内部特性,从而使得控制系统的分析和设计产生根本性的变革。 (2)便于处理多输入多输出系统。 (3)一阶微分(或差分)方程组便于计算机数值计算。4.2 状态空间建模求解LTI系统的缺点 (1)不直观,几何、物理意义不明显:只能给出系统的数

19、值解,没有办法直接给出系统的解析解,只能根据系统的数值解及频谱分析给出近似的解析解。 (2)对数学模型要求很高:而实际中往往难以获得高精度的模型,这妨碍了它推广和应用。 (3)一阶微分(或差分)方程组便于计算机数值计算。 (4)容易推广用于时变系统和非线性系统。5 连续系统Simulink状态空间建模分析方法程序设计的思路5.1 调用模型文件及编程求解系统响应求解响应Matlab程序如下:% 二阶连续系统用Simulink状态空间建模,可分别求0输入和0状态响应% y''(t)+a*y'(t)+b*y(t)=c*f(t)+d*f'(t), y(0)=0, y&#

20、39;(0)=0% A=-a -b;1 0;B=1;0;C=d c;D=0;x0=q;p;% x'(t)=A.x(t)+Bft;x(0)=x0;y(t)=C.x(t);% 6个常数a,b,c,d,p,q完全描述了二阶连续系统clc;clear all;close all;% 方波信源的幅度u,周期T,高电平宽度百分比数hwu=5; T=10; hw=5;% 二阶连续系统结构数据a,b,c,d及初值数据p,qa=1.6; b=8*pi; c=1;d=4;p=2;q=5;% 定步长求解,步长为Ts, 求解时区为 TspTs=0.01;tf=20; L=round(tf/Ts); Tsp=0

21、,(L-1)*Ts;% =0输入响应yzi(t) =u=0; A=-a -b;1 0; B=0;0; C=0 1; D=0; x0=q;p;t,x,y=sim('jxl00',Tsp);xin=y(:,1); % 输入信号采样放在y的第一列yzi=y(:,2); % 0输入响应yzi(t)放在y的第二列%=0状态响应yzs(t)=u=5; A=-a -b;1 0; B=1;0; C=d c; D=0; x0=0;0;t,x,y=sim('jxl00',Tsp);yzs=y(:,2); % 0状态响应yzi(t)放在y的第二列% =全响应y(t) =yt=yzi+

22、yzs;%=绘制波形=subplot(311);plot(t,yzi,'b-'); xlabel('t'); ylabel('yzi(t)');title('二阶连续系统在周期方波激励下的0输入响应');subplot(312);plot(t,yzs,'r-'); xlabel('t'); ylabel('yzs(t)');title('二阶连续系统在周期方波激励下的0状态响应');subplot(313);plot(t,yt,'g-'); xlabe

23、l('t'); ylabel('y(t)');title('二阶连续系统在周期方波激励下的全响应');程序运行结果如图7所示: 图7高阶系统在激励下的各种响应5.2 分析系统的频谱与相位程序如下:%=频谱分析=fs=1/Ts;tao=Tspan(2)+Ts;df=1/tao;L=length(t);L2=round(L/2);Y1=fft(yzi)*(2/L);Y1(1)=Y1(1)/2;AY1=abs(Y1(1:L2);Am1=max(AY1);BY1=angle(Y1(1:L2);Bm1=max(BY1);Y2=fft(yzs)*(2/L);

24、Y2(1)=Y2(1)/2;AY2=abs(Y2(1:L2);Am2=max(AY2);BY2=angle(Y2(1:L2);Bm2=max(BY2);F=(0:(L2-1)*df;figure(2);subplot(211);stem(F,AY1,'r.');xlabel('f/Hz');ylabel('A1(f)');title('系统零输入响应频谱');subplot(212);stem(F,AY2,'b.');xlabel('f/Hz');ylabel('A2(f)');ti

25、tle('系统零状态响应频谱');figure(3);subplot(211);stem(F,BY1,'r.');xlabel('f/Hz');ylabel('B1(f)');title('系统零输入响应相位');subplot(212);stem(F,BY2,'g.');xlabel('f/Hz');ylabel('B1(f)');title('系统零状态响应相位');频谱分析如图8所示: 图8 高阶系统的频谱分析6 状态空间分析方法的应用实例6.1

26、 实际连续系统的描述设我们要分析如图9所示的二阶RLC电路, 图9 二阶RLC电路已知:L=1H,C=2F,R=1,求该系统函数。解:其中各元件的伏安关系为 ,,, (6.1) 以为响应,则得到以为响应的微分方程为: (6.2)将电阻电路映射到S域,利用拉普拉斯变换进行分析:电阻不变,电感电感L变为,电容C变为,则求出系统函数: (6.3)代入数据,即可得6.2 在程序中设置参数系统函数的分子nu=0 0 0.5;分母de=1 0.5 0.5;调用函数tf2ss进行转换,A,B,C,D=tf2ss(nu,de);即可求出该函数的状态空间矩阵。部分程序如下:clc;clear all;close

27、 all;a=0.5;b=0.5;c=0;d=0.5;nu=c d e;de=1 a b;A,B,C,D=tf2ss(nu,de)运行结果为:A=-0.5 -0.5;1 0B=1;0C=0 0.5D=06.3 运行程序,求解系统编写完整程序,运行程序,求出系统的数值解,并且描述该数值解。clc;clear all;close all;% 方波波波信源的幅度u,周期Tu=5; T=10; hw=5;% 二阶连续系统结构数据a,b,c,d及初值数据p,qa=0.5;b=0.5;c=0;d=0.5;p=2;q=5;% 定步长求解,步长为Ts, 求解时区为 TspTs=0.01;tf=20; L=ro

28、und(tf/Ts); Tsp=0,(L-1)*Ts;% =0输入响应yzi(t) =u=0; A=-a -b;1 0; B=0;0; C=0 1; D=0; x0=q;p;t,x,y=sim('jxl00',Tsp);xin=y(:,1); % 输入信号采样放在y的第一列yzi=y(:,2); % 0输入响应yzi(t)放在y的第二列%=0状态响应yzs(t)=u=5; A=-a -b;1 0; B=1;0; C=d c; D=0; x0=0;0;t,x,y=sim('jxl00',Tsp);yzs=y(:,2); % 0状态响应yzi(t)放在y的第二列%

29、=全响应y(t) =yt=yzi+yzs;%=画波形=subplot(311);plot(t,yzi,'b-'); xlabel('t'); ylabel('yzi(t)');title('二阶连续系统在周期方波激励下的0输入响应');subplot(312);plot(t,yzs,'r-'); xlabel('t'); ylabel('yzs(t)');title('二阶连续系统在周期方波激励下的0状态响应');subplot(313);plot(t,yt,'

30、;g-'); xlabel('t'); ylabel('y(t)');title('二阶连续系统在周期方波激励下的全响应');运行结果如图10和图11所示: 图10二阶系统在激励下的各种响应 图11高阶系统的频谱分析列举部分y(t)在t时间的数值如表1所示:表1系统在部分t时刻的函数值时间t0.010.020.030.040.050.060.070.080.090.01y(t)5.35.13.20.6-1.0-1.7-1.5-1.0-0.20.2结语现代社会是信息的社会,与人们生活密切相关的都是通信领域,比如决定现代社会发展方向的电脑以及

31、几乎每个同学都拥有的手机等,充分说明了通信系统的重要性。学会Matlab软件,并对通信系统应用和开发的设计思想有了更进一步的了解和掌握。通过这次毕业设计我发现了毕业设计不仅仅是对以前所学知识的检验,也是对自己能力的提高。这次毕业设计使我明白自己很多方面的知识还是比较欠缺,自己要学习的东西还有很多,以前老是有点眼高手低。通过这次毕业设计,我明白了学习是长期积累的过程,无论是在以后的工作还是生活中都应该不断的学习,努力提高自己的知识和综合素质。在设计的过程中我总会遇到这样那样的问题,我有失落过,烦恼过,悲伤过,但我明白这又是我人生中的一大挑战,角色的转换,这除了有较强的适应力和乐观的生活态度外,更

32、重要的是得益于两年的学习积累和技能的培养。在毕业设计里,给我仅是初步的经验积累,对于迈向社会远远不够的,我必须做出更大的努力。在这次毕业设计中,我有发现了自己很多问题。例如,对在课堂上所学过的知识理解得不够深刻,掌握得也不够牢固,自己的实际动手能力和独立思考的能力也需要提高,还应多查资料很好的理解和运用各个元件的功能。致谢虽然在完成毕业设计的过程中有过失落,有过烦恼,但在这次毕业设计中也使我们的同学间的关系更进一步,在此期间同学之间互相帮助,有什么不懂的大家在一起商量,一起讨论,听听不同的看法不同的意见,这使我们能更好的理解知识,透彻知识,运用知识,因此在这里我要非常感谢帮助我的同学和指导老师

33、龙老师,谢谢你们的帮助!在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了很多知识,也经历了很多艰辛,但收获同样巨大。在设计过程中我懂得了很多东西,也培养了我独立自主的能力,树立了信心,相信对今后的学习和工作生活都会有非常重要的影响。而且大大提高了我的动手能力,使我充分体会到了探索的艰难和成功的喜悦。虽然这个设计做的不够完美,但是在设计过程中所学到的东西是最大收获和财富,使我终身受益。这次毕业设计使我懂得了理论与实际相结合是很重要的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正地学到东西,服务于社会。参考文献1 王展.多状态多阶段任

34、务系统可靠性分析方法研究J.电子科技大学学报,2012(06):1-3.2 郭琼.Matlab/Simulink软件及其在电路原理教学中的应用J.青海大学学报,2004(05):3-5.3 高西全,丁玉美.数字信号处理(第三版)M.西安电子科技大学出版社,2008:4-19.2 郭琼.Matlab/Simulink软件及其在电路原理教学中的应用J.青海大学学报,2004(05):3-5.4 吴大正.信号与线性系统M.北京高等教育出版社,2005:84-110.5 韩俊.基于状态空间法的多机系统次同步谐振研究J.浙江大学学报,2011(03):9-11.6 王晋.基于Matlab/Simulin

35、k的建筑环境控制系统的计算机辅助设计与仿真分析J.天津大学学报,2003(12):23-25.7 宋晨,杨超.3种气动弹性状态空间建模方法的对比J.中国航空航天大学学报,2007(11):27-29.8 单泽彪.基于Simulink实现的数模混合控制系统仿真新方法J.吉林大学学报,2014(02):15-18.9 StoneTW,PotterKN.A DNA analysis program designed for computer novices working in an industrial-research.environmentJ. Nucleic Acids Research.1

36、984(14):21-23.10 Marco Fabiani.Rule-based expressive analysis and interactive re-synthesis of music audio recordingsJ. Gemessene Interpretation.2011(09):5-7.附录程序主体部分:% 二阶连续系统用Simulink状态空间建模,可分别求0输入和0状态响应% y''(t)+a*y'(t)+b*y(t)=c*f(t)+d*f'(t), y(0)=0, y'(0)=0% A=-a -b;1 0;B=1;0;C=

37、d c;D=0;x0=q;p;% x'(t)=A.x(t)+Bft;x(0)=x0;y(t)=C.x(t);% 6个常数a,b,c,d,p,q完全描述了二阶连续系统clc;clear all;close all;% 方波信源的幅度u,周期T,高电平宽度百分比数hwu=5; T=10; hw=5;% 二阶连续系统结构数据a,b,c,d及初值数据p,qa=1.6; b=8*pi; c=1;d=4;p=2;q=5;% 定步长求解,步长为Ts, 求解时区为 TspTs=0.01;tf=20; L=round(tf/Ts); Tsp=0,(L-1)*Ts;% =0输入响应yzi(t) =u=0; A=-a -b;1 0; B=0;0; C=0 1; D=0; x0=q;p;t,x,y=sim('jxl00',Tsp);xin=y(:,1); % 输入信号采样放在y的第一列yzi=y(:,2); % 0输入响应yzi(t)放在y的第二列%=0状

温馨提示

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

评论

0/150

提交评论