离散连续详解_第1页
离散连续详解_第2页
离散连续详解_第3页
离散连续详解_第4页
离散连续详解_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、matlab/simulink/simpowersystem 中连续 vs 离散!1.连续系统vs离散系统连续系统是指系统状态的改变在时间上是连续的,从数学建模的角度来看, 可以分为连续时间模型、离散时间模型、混合时间模型。其实在simpowersystem 的库中基本所有模型都属于连续系统,因为其对应的物理世界一般是电机、电源 电力电子器件等等。离散系统是指系统状态的改变只发生在某些时间点上,而且往往是随机的, 比如说某一路口一天的人流量,对离散模型的计算机仿真没有实际意义,只有统 计学上的意义,所以在simpowersystem中是没有模型属于离散系统的。但是在 选取模型 以及仿真算法的选

2、择时,常常提到的discrete model、discrete solver、 discrete simulate type等等中的离散到底是指什么呢?其实它是指时间上的离 散,也就是指离散时间模型。下文中提到的连续就是指时间上的连续,连续模型就是指连续时间模型。离 散就是指时间上的离散,离散模型就是指离散时间模型,而在物理世界中他们都 同属于连续系统。为什么要将一个连续模型离散化呢?主要是是从系统的数学模 型来考虑的,前者是用微分方程来建模的,而后者是用差分方程来建模的,并且 差分方程更适合计算机计算,并且前者的仿真算法(simulationsolver)用的是 数值积分的方法,而后者则是采

3、用差分方程的状态更新离散算法。在simpowersystem库中,对某些物理器件,既给出的它的连续模型,也给 出了它的离散模型,例如:离散模型一个很重要的参数就是采样时间sampletime,如何从数学建模的角度将一个连续模型离散化,后面会有介绍。在simpowersystem中常用powergui这个工具来将系统中的连续模型离散以便采用discrete算法便于计算机计算。7 -ExtraLibrary:Control Blocks Discrete Control Blocks.M 已 isurements2.连续模型的数学建模vs离散模型的数学建模, Phasor LibraryiAS1e

4、 t B4J -lbNote:这里的连续和离散都是指时间上的连续和离散,无关乎现实世界的连续系统和离散系统。所谓数学建模就是用什么样的数学语言来描述模型,连续系统的数学模型通常可以用以下几种形式表示:微分方程、传递函数、 状态空间表达式,这三中形式是可以相互转换的,其中又以状态空间表达式最有 利于计算机计算。微分方程:一个连续系统可以表示成高阶微分方程,即传递函数上式两边取拉普拉斯变换,假设y及u的各阶导数(包括零阶)的初值均为零,则有肖(占)+角广一顷(占)+盘卜函(2 +顼(占)=勺妒一切仙)+勺-T U(矽+上_日以可于是便得微分方程的传递函数描述形式如下:13:: =。1尸勺苔一4勺.

5、仲+气 .:. 6 i占”十的十疽亦 十茸抽占十(3用状态空间表达式线性定常系统的状态空间表达式包括下列两个矩阵方程:(7-1)y(/)=以&)十函(r)- 、(7-2)式(7-1)由n个一阶微分方程组成,称为状态方程;式(7-2)由l个线性代方程组称为输出方程因此获得如下的状态方程与输出方程(令a0=1 ):离散模型假定一个系统的输入量、输出量及其内部状态量是时间的离散函数,即为一个时间序列:飒&7.却*邛-如化邛,其中T为离散时间间隔,其实T也就是上文中的sample time。Note :再强调一次,这里的离散模型是指离散时间模型,与现实世界中的离散事件模型没有任何关系,在simpowe

6、rsystem中所讲的离散都是指时间上的离散与我们在信号中学的那个离散概念没有关系。离散时间模型有差分方程、离散传递函数、权序列、离散状态空间模型等形式。差分方程差分方程的一般表达式为:y玲 +击)+(3训(,+上一 1) +盘M、*)=上住(用+ - 1) !%就*)同样差分方程可以转换成后面那些表达形式。3.连续模型的离散化正如7.1.连续系统vs离散系统中截图所示的那样,如何由一个连续模型得到它的离散模型,(RMSdiscrete RMS value),以及powergui是通过什么方法将连续模型离散化的,即simulator 是如何将微分方程转换成差分方程的。假设连续系统的状态方程为x

7、 = Ax+Ei#现在人为地在系统的输入及输出端加上采样开关,同时为了使输入信号复员 为原来的信号在输入端还要加一个保持器,如图所示。现假定它为零阶保持器, 即假定输入向量的所有分量在任意两个依次相连的采样瞬时为常值,比如,对第 n个采样周期u(t)=u(nt),其中T为采样间隔。由采样定理可知,当采样频率Ws和信号最大频率Wmax满足可2可响的条件时,可由采样后的信号唯一地确定原始信号。把采样后的离散信号通过一个低通滤波器,即可实现信号的重构。值得注意的是,图所示的采样器和保持器实际上是不存在的,而是为了将式离散化而虚构的。F面对上式进行求解,对方程式两边进行拉普拉斯变换,得忒(时M(G)=

8、AX(s) + B U(S)通过一系列的拉斯反变换和卷积,最终得到其差分方程(具体过程不用关心)+1=您戢xwT +=,T kfT + 虹T)+虹71必口,时,赤顷统称为系统的离散系数矩阵。在转换过程中引入了一个重要参数T,即采样间隔,也就是采样时间,不管是powergui还是其他离散模型,只要涉及到离散,都必然会涉及到sample time,如下图ffequtNEF rKl):5iT WHHan tm. ilsulAilM 迥 tMiux uid nIhLUJiL awHE* bftLm:I 】十印*那么sample time 一般取多大呢,一直满足采样定理即可,即信号的采样频率大于信号本身

9、最大频率的2倍即可。4. simulator连续模型的仿真算法(simulatesolver,也可译成仿真解算器)和步长的概念。连续系统的计算机仿真算法是数值积分法,即计算机用数值积分来解微分方程,从而得到其近似解。具体方法如下欧拉法和改进的欧拉法: 现有微分方程如下:W 二户0)= 0点+1 )-&)=了化尸也上式右端的积分,计算机是无法求出的,其几何意义为曲线f( t,y )在区间(ti ,ti+1)上的面积。当(ti ,ti+1)充分小时,可用矩形面积来近似代替:Note:在 simulator仿真计算时,h实际为仿真时间间隔。因此可得下式:,妃i) = F(述+砒U城分析其误差特性:由

10、泰勒展式可得:X1)=心+冷二氾)+ g 次 W 号g月)L + 一 一用(/a.v)yL+;可知其截断误差, 是和步长h2成正比的,因此计算机在计算时,若要使近似积分精度更高,就要减小步长,但会增加截断误差。改进的欧拉法(预测一校正法)对积分公式(3.1.2)式利用梯形面积公式计算其右端积分,得到如G = XW + ?/(弓=:K 弓+ g:如G),将上式写成递推差分格式为:扁1 =十扃*从上式可以看出,在计算y中,需要知道f,而f =f(t ,f)又依赖于y本yn+1n+1n+1 n+1 n+rn+1身。因此要首先利用欧拉法计算每一个预估的ypn+1以此值代入原方程式计算fpn+1,最后利

11、用下式求修正后的ypn+1。所以改进的欧拉法可描述为预测席4 =为+敏4,恩.)校正点1 F十即站土叶产妇况十1)龙格一库塔法(rung-kuta)欧拉法是将X户3”妃=丁在h点附近的+如经泰勒级数展开并截去h2以后各项得到的一阶一步法,所以精度较低。如果将展开式多取几项以后截断,就得到精度较高的高阶数值 解,但直接使用泰勒级数展开式要计算函数的高阶导数较难。龙格一库塔法是采用间接利用泰勒级数 展开式的思路,即用在n个点上的函数值f的线性组合来 代替f的导数,然后按泰勒级数展开式确定 其中的系数,以提高算法的阶数。这样既能避免计算函数的导数,同时又 保证了计算精度。由于龙 格一库塔法具有许多优

12、点,故在许多仿真程序包中,它是一个最基本的算法之一。线性多步法以上所述的数值解法均为单步法。在计算中只要知道的值可谖推算出/5。也 就是说,根据初始条件可以递推计算出相继各时刻的y值,所以这种方法都可以自启动。下面要介 绍的是另一类算法,即多步法。用这类算法求解时,可能需要盘在3 虹1,心 各时刻的值。显然多步法计算公式不能自启动,并且在计算过程中占用的内存较大,但可以提高计 算精度和速度。例如:亚当斯一贝希霍斯显式多步法刚性(stiff )系统解法所谓刚性系统,就是用来描叙这类系统的微分方程的解,往往是由多个时间常数共同作用的,其中某 些小时间常数对解的影响往往是微乎其微但的确不可或缺的。例

13、如下式是一个简单刚性系统微分方程 的解:房(。二2/a-i逐0.0011.63l1.99S1. 9800E1.98009561.S096751.S09675当时间较大时特征解-1000几乎对方程不起任何作用,但开始时有不能忽略e-ioo0t的影响,因此若前 面介绍的计算机数值解法,为了保证解的稳定性在选取步长h时,必须保证1000h较小,也就是说 步长h必须十分的小,这必然会增大计算次数,增大计算时间,而又因为在t 一定大时,e-1000t几乎 不起作用,因此这种增大次数又不会对计算精度有多大改善,就是说常规解法计算刚性系统是在做无 用功。到目前为止,已提出不少解刚性方程的数值方法,基本上分为

14、:显式公式,隐式公式和预测校正型。 显示公式常用雷纳尔法隐式方程都是稳定的,故都适合于解描述刚性系统的方程组,如隐式的龙格一库塔法。但这种方法每 计算一步都需要进行迭代,故计算量大,在工程上使用有一定困难。因此在解刚性方程时,常采用 Rosenbrock提出的半隐式龙格一库塔法。预测一校正型中常用的解刚性方程的方法是Gear算法5. simulator离散模型的仿真算法和步长的概念。离散模型的数学建模一般采用差分方程的方式,在matlab中其仿真算法是采用discrete算法,就 是根据simulation step定时对离散模块进行更新(就是定时计算差分方程的意思)T SolvtT:Di(w

15、o cMn.tinuoLiiSoLvb-t op-?iamE至于其步长的概念和连续模型中h的概念差不多,但是它的大小选择和sample time有着密切关系, 下面会给予说明。6.simulink 中仿真参数(simulation/configurationparameters)有了上面知识的铺垫,可以介绍simulink仿真参数的设置上图中solver (仿真解算器)就是上面介绍的各种算法用计算机语言编程的实现。continuous solver就是数值积分法,discrete solver就是离散解法。步长有variable step (变步长)和fixed step (固定步长之分)。c

16、ontinuous solver中的步长就是h, 就是积分时间间隔,对于discrete solver的步长是和要仿真的模型中的sample time有密切关系的, 是不可以随便取的。variable step (变步长)pEecewi&econfcniBus 血I舞就是说变步长会根据模型状态的变化的快慢适当调节步长,也就是相邻仿真计算的时间间隔,这样在 保证了一定精度的同时又减少了仿真的次数,从而减小了仿真时间。对于continuous solver而言,可以人为设定 max step size 和 min step size,然后计算机自动选择积分步长h进行数值积分。以下是它的仿真solv

17、er(ODE表示常微分方法)-S15 湖 5 耕神 Ctg树 M 命呻呼印 IK? MW 心与Mfr做网 15, coding W g, it 琳 OPfr g WMW 日 3irmiedapreceangumepwri. v ttn-ii feigwipalis恤妇3(蛔加斗础牌6回ty 由曲国妞或15部朝丽usfig mj斌脸i gnocug爵?小咫耳归 由得i ma*珂ipl Ri呷.心a洋尚甫旧呷崖 网韦帏1中映甲。幅悟9衅g印冲i早村4 5审皿也1擀辞彳闻m暗pt岩Hns(i nMSUfhKS Ed 92田 i 血史做:13i5avdn atfe-ffTter fldams. BaW

18、g Moton PECE scte J caribe 血犯 咐其丈! odsati Wingert WlerAiic E5 cdel ;3isa a岫* srirer W tncBUBneMS;帏辿邪 眦用吧! 输雎t&MmtwltmeturaiuHjml -#疝拓15mvanabiMrder硒er的砌onrtie rvnencai巾型end测onfonnisNFR; IN?seaie正国由loManenwe effiten血backward 妍(的m村iWdaW审m归配成时鼎虹bk-odn-ii,is i ntMitsp mef 皿右 N/cusud hA a fyctiwiisir.tMi

19、i 好批 危y 剖ihic嘟inc此旗1.M 好| 日疝itig做莹dm 白 madihMlRa娅wcKgiaofimrW Ma噂羊泌虬 il 甘n勰的瞻略帕nadeiw alou说施盯rdtan 喉 proWeensSfff whcki$ ndeflmg* Jtissn m(蛔510地top理曜倒e晾ng a Teinepil 唳咆 轧岫。萌 网颇i$ uk1 choose a叫 拓脸或融扣他口时沔睨虹找 沱al与咀由ns op白的叵怕他$ ,4昭“貌电占邵 mhcr may causa the imulalsonto miss firror condni-ons 瞻【can ocox on

20、 a 佗事Jime conputer 炯日n discretesolverSdIvbt ao-tiDmsolver就是discrete算法,就是不断更新discrete block在各离散点的状态,步长的大小是与模型中 的sampletime有密切关系的,由上面阐述的差分方程可知,差分方程中T采样时间是固定的,对于discrete solver而言不管是 variable step还是fixed step,simulation step (仿真步)必须要有出现在sample time所有的整数倍 上,即simulation step的设置必须使simulator在1T、2T、3T要对模型进行计

21、算仿真,以免错过主 要状态的转化。若一个离散仿真模型中具有多个sample time,那么要保证每个模型在其采用时间的1T、2T、3T都能进行仿真,那么最小步长只能取各个仿真时间的公约 数,其中最大公约数又称为fundamental sample time例子如下假设仿真的离散模型中有两个采样时间T1=2e-6, T2=4e-6那么其公约数为1e-6和2e-6,而 fundamental sample time=2e-6若采用fixed step步长,为了不错过模型在每个采样时刻状态的变化,要求simulator的仿真时间必 须要包含每一个采样时刻的整数倍,因此其固定步长必须取各个sample

22、time的公约数,可以是1e-6 或2e-6,若写auto则为fundamental sample time=2e-,6若写出其他步长,贝Simulation会提示错 误。上述仿真过程如下:箭头表示simulation step,就是simulator在每一个箭头处都会仿真计算一次;圆圈处表示模型采样 时刻(sample time)处,其实只有在这一刻离散模型的状态才有可能发生改变,即差分方程的解才 有可能发生改变;由上图可见这样设置步长保证了在每个sample time处simulator都进行了仿真。 若采用variable step步长,simulator会根据模型中的各个sample

23、time自动调整步长,以使得仿真 时间时刻等于sample time。此时又有一个max step size的限制,若如上图写的是auto,那么上述仿真过程如下:可见simulator只在sample time处才进行仿真计算,这样减少了仿真次数,节约了时间。若max step size=0.7e-6,那么仿真过程又该如何?如下图:可见variable step时,即使有人为maxstep size的限制,simulator总会跟踪sampletime。一般选择 auto即可。Slmulnftlori nnd conriQUrflftion options捋Ur氏象碗志访cc ite y 莒求司驯in湖祯ed g t白邮血 岫 gu block 11抻s 仲 kj m夷 one Dhiieotaw

温馨提示

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

评论

0/150

提交评论