连续系统离散化处理基本方法

连续系统离散化处理基本方法
连续系统离散化处理基本方法

连续系统离散化处理的基本方法

在数字计算机上对连续系统进行仿真时,首先遇到的问题就是如何解决数字计算机在数值及时间上的离散性与被仿真系统数值及时间上的连续性这一基本问题。

从根本意义上讲,数字计算机所进行的数值计算仅仅就是“数字”计算,它表示数值的精度受限于字长,这将引入舍入误差;另一方面,这种计算就是按指令一步一步进行的,因而,还必须将时间离散化,这样就只能得到离散时间点上系统性能。用数字仿真的方法对微分方程的数值积分就是通过某种数值计算方法来实现的。任何一种计算方法都只能就是原积分的一种近似。因此,连续系统仿真,从本质上就是对原连续系统从时间、数值两个方面对原系统进行离散化,并选择合适的数值计算方法来近似积分运算,由此得到的离散模型来近似原连续模型。如何保证离散模型的计算结果从原理上确能代表原系统的行为,这就是连续系统数字仿真首先必须解决的问题。

设系统模型为:),,(t u y f y

=&,其中u (t )为输入变量,y (t )为系统变量;令仿真时间间隔为h ,离散化后的输入变量为)(?k t u

,系统变量为)(?k t y ,其中k t 表示t=kh 。如果)()(?k k t u t u

≈,)()(?k k t y t y ≈,即0)()(?)(≈-=k k k u t u t u t e ,0)()(?)(≈-=k k k y t y t y t e (对所有k=0,1,2,…),则可认为两模型等价,这称为相似原理(参见图2、1)。

,随着计,也称为仿真建模关于稳定性的详细讨论将在2、4节中进行。 (2)准确性:有不同的准确性评价准则,最基本的准则就是:

绝对误差准则:δ≤-=)()(?)(k k k y t y t y

t e 相对误差准则:δ≤-=

)(?)()(?)(k k k k y t y

t y t y t e 其中δ 规定精度的误差量。

(3)快速性:如前所述,数字仿真就是一步一步推进的,即由某一初始值)(0t y 出发,逐步计算,得到)(,),(),(21k t y t y t y Λ,每一步计算所需时间决定了仿真速度。若第k 步计算对应的系统时间间隔为,1k k k t t h -=+计算机由)(k t y 计算)(1+k t y 需要的时间为T k ,则,若T k =h k 称为实时仿真,T k h k ,对应于离线仿真。 &,已知系统变量y 的初始条件y t y ()00=,现

在要求y 随时间变化的过程y t ()。计算过

程可以这样考虑(参见图2、2):首先求出初始

点y t y ()00=的f t y ()00,,微分方程可以

)(≈k y t e 图2、1

33 写作:

y t y f t y dt t t

()(,)=+?00

(2、1) 图2、2所示曲线下的面积就就是y t (),由于难以得到f(y,u,t)积分的数值表达式,人们对数值积分方法进行了长期探索,其中欧拉法就是最经典的近似方法。

欧拉法用矩形面积近似表示积分结果,也就就是当t=t 1时,y t ()1的近似值为y 1 : y y t y t f t y 11000=?+?()()?, (2、2)

重复上述作法,当t t =2时

y y t y t t f t y 2212111=?+-?()()(),

所以,对任意时刻t k+1,有:

y y t y t t f t y κκκκκκκ+++=?+-?111()()(), (2、3) 令t t h κκκ+-=1称为第κ步的计算步距。若积分过程中步距不变h h κ=,可以证明,欧拉法的截断误差正比于h 2。

为进一步提高计算精度,人们提出了“梯形法”。 梯形法近似积分形式如式(2、4)所示,令:t t h h κκκ+-=1=已知:t t =κ时y t ()κ的近似值y κ,那么:

y y t y h f t y f t y κκκκκκκ++++=?++111112

()[(,)(,)] (2、4) 可见,梯形法就是隐函数形式。采用这种积分方法最简单的预报?校正方法就是用欧拉法估计初值,用梯形法校正,即:

y y h f t y f t y i i κκκκκκ++++?++111112

()

()[(,)(,)] (2、5) y y h f t y i κκκκ+?+?1()

(,) (2、6) 式(2、6)称作预报公式,采用欧拉法,式(2、5)为校正公式,采用梯形法。用欧拉法估计一次y i κ+1()的值,代入校正公式得到y κ+1的校正值y i κ++11()。设ε就是规定的足够小正整数,称作允许误差,若i =0,

i +1=1称作第一次校正;i i =+=112,称作第二次校正;通过反复迭代,直到满足y y i i κκε+++-≤111,这时y i κ++11()就是满足误差要求的校正值。

上述方法就是针对(2、3)式所示的微分方程在已知初值情况下进行求解,因此也称为微分方程初值问题数值计算法,为统一起见,本书中称为数值积分法。连续系统数字仿真的离散化方法有两类,它们就是数值积分方法与离散相似方法,本文讨论数值积分法。

数值积分方法采用递推方式进行运算,而采用不同的积分方法会引进不同的计算误差,为了提高计算精度,往往会增加运算量。就同一种积分算法而言,为提高计算精度,减小积分步距h ,计算量增大,影响系统运算速度。因此,计算精度与速度就是连续系统仿真中常迂到的一对矛盾,也就是数字仿真中要求解决的问题之一。也就就是说,选择合适的算法、合适的软、硬件环境,在保证计算精度的前提下,考虑怎样提高仿真的速度。

连续传递函数离散化的方法与原理

目录

第一章 模拟化设计基础 数字控制系统的设计有两条道路,一是模拟化设计,一是直接数字设计。如果已经有成熟的模拟控制器,可以节省很多时间和部分试验费用,只要将模拟控制器离散化即可投入应用。如果模拟控制器还不存在,可以利用已有的模拟系统的设计经验,先设计出模拟控制器,再进行离散化。 将模拟控制器离散化,如果用手工进行,计算量比较大。借助数学软件MATLAB 控制工具箱,可以轻松地完成所需要的全部计算步骤。如果需要的话,还可以使用MATLAB 的SIMULINK 工具箱,进行模拟仿真。 第一节 步骤 步骤1 模拟控制器的处理 在数字控制系统中,总是有传输特性为零阶保持器的数模转换器(DAC ),因此,如果模拟控制器尚未设计,则应以下 图的方式设计模拟控制器,即在对象前面加上一个零阶保持器,形成一个新对象Ts 1e G s s ()--,然后针对这个新对象求模拟 控制器D(s)。事实上,模拟控制器一般是已经设计好的,无法或不方便更改了,离散化后的系统只好作为近似设计了。 然而,按照上述思路,可否将已有的控制器除以一个零阶保持器再离散化呢?还没有这方面的实际经验。 以下假设选定的G(s),D(s)如下图,而且不对G(s)作添加保持器的预处理。 步骤2 离散化模拟控制器 离散化模拟控制器之前,先要确定离散化算法和采样时间。离散化算法有好几种,第二章中有详细的论述,现假定采用双线性变换法。确定采样时间,需要考虑被控对象的特性,计算机的性能,以及干扰信号的影响等,初步可按采样时间T<,Tp 为被控对象时间常数,或T=~τ,为被控对象的纯滞后,初步确定后再综合平衡其它因素,当然这需要一定的经验,现在假定取秒。 假设模拟控制器为s 2 D s 8s 15 +=?+(),在MATLAB 中,用c2d 函数进行离散化,过程为: 转换结果为: 步骤3 检验数字控制器的性能 数字控制器的性能项目比较多,我们仅以直流增益,频率特性,零极点分布说明。 直流增益 dcgain(dz) 返回直流增益 频率特性 bode(ds,'r',dz,'g') 伯德图,见下页左图 零极点分布 pzmap(dz) 零极点分布图,见下页右图 步骤4 离散化控制对象 为了进行模拟仿真,需要对控制对象进行离散化,由于步骤1所说的原因,应把被控对象视为零阶保持器与原对象的串连,即应对 Ts 1e G s s ()--进行离散化,这时可在c2d 函数中使用零阶保持器(zoh)方法,如果认为不需要添加零阶保持器,即直接对G(s)离散化,则应在c2d 函数中使用冲击响应不变法(imp )。 借用零阶保持器(zoh)方法,将对象20 G s s s 2()() =+带一阶保持器离散化的过程如下: 转换结果为: 步骤5 模拟仿真 求离散系统的闭环传递函数和连续系统的闭环传递函数。 ds=zpk(-2,-15,8) %建立模拟控制器的s 传递函数 dz=c2d(ds,,'tustin') %将模拟控制器按tustin 方法转换为z 传递函数的数字控制器 ...... %模拟控制器D(s)转换为D(z)的过程见前 gs=zpk([ ],[0,-2],20) %建立对象的s 传递函数 g1z=c2d(gs,,'zoh') %借用c2d 函数进行带零阶保持器的对象的离散化

连续系统离散化处理基本方法

在数字计算机上对连续系统进行仿真时,首先遇到的问题是如何解决数字计算机在数值及时间上的离散性与被仿真系统数值及时间上的连续性这一基本问题。 从根本意义上讲,数字计算机所进行的数值计算仅仅是“数字”计算,它表示数值的精度受限于字长,这将引入舍入误差;另一方面,这种计算是按指令一步一步进行的,因而,还必须将时间离散化,这样就只能得到离散时间点上系统性能。用数字仿真的方法对微分方程的数值积分是通过某种数值计算方法来实现的。任何一种计算方法都只能是原积分的一种近似。因此,连续系统仿真,从本质上是对原连续系统从时间、数值两个方面对原系统进行离散化,并选择合适的数值计算方法来近似积分运算,由此得到的离散模型来近似原连续模型。如何保证离散模型的计算结果从原理上确能代表原系统的行为,这是连续系统数字仿真首先必须解决的问题。 设系统模型为:),,(t u y f y =&,其中u (t )为输入变量,y (t )为系统变量;令仿真时间间隔为h ,离散化后的输入变量为)(?k t u ,系统变量为)(?k t y ,其中k t 表示t=kh 。如果)()(?k k t u t u ≈,)()(?k k t y t y ≈,即0)()(?)(≈-=k k k u t u t u t e ,0)()(?)(≈-=k k k y t y t y t e (对所有k=0,1,2,…),则可认为两模型等价,这称为相似 原理(参见图)。 实际上,要完全保证0)(,0)(==k y k u t e t e 是很困难的。进一步分析离散化引的误差,随着计算机技术的发展,由计算机字长引入的舍入误差可以忽略,关键是数值积分算法,也称为仿真建模方法。相似原理用于仿真时,对仿真建模方法有三个基本要求: (1)稳定性:若原连续系统是稳定的,则离散化后得到的仿真模型也应是稳定的。关于稳定性的详细讨论将在节中进行。 (2)准确性:有不同的准确性评价准则,最基本的准则是: 绝对误差准则:δ≤-=)()(?)(k k k y t y t y t e 相对误差准则:δ≤-= )(?)()(?)(k k k k y t y t y t y t e 其中 规定精度的误差量。 原连续模型 仿真模型 )(≈k y t e 图 相

连续传递函数离散化的方法与原理

目录 第一章模拟化设计基础1第一节步骤1第二节在MATLAB中离散化3第三节延时e-Ts环节的处理5第四节控制函数分类6第二章离散化算法10摘要10比较11第一节冲击响应不变法(imp,无保持器直接z变换法) 11第二节阶跃响应不变法(zoh,零阶保持器z变换法) 11第三节斜坡响应不变法(foh,一阶保持器z变换法) 11第四节后向差分近似法12第五节前向差分近似法14第六节双线性近似法(tustin) 15第七节预畸双线性法(prevarp) 17第八节零极点匹配法(matched) 18第三章时域化算法19第一节直接算法1—双中间变量向后递推19第二节直接算法2—双中间变量向前递推20第三节直接算法3—单中间变量向后递推21第四节直接算法4—单中间变量向前递推(简约快速算法) 21第五节串联算法22第六节并联算法23第四章数字PID控制算法24第一节微分方程和差分方程25第二节不完全微分25第三节参数选择26第四节 c51框架27第五章保持器33第一节零阶保持器33第二节一阶保持器30附录两种一阶离散化方法的结果的比较31

第一章 模拟化设计基础 数字控制系统的设计有两条道路,一是模拟化设计,一是直接数字设计。如果已经有成熟的模拟控制器,可以节省很多时间和部分试验费用,只要将模拟控制器离散化即可投入应用。如果模拟控制器还不存在,可以利用已有的模拟系统的设计经验,先设计出模拟控制器,再进行离散化。 将模拟控制器离散化,如果用手工进行,计算量比较大。借助数学软件MATLAB 控制工具箱,可以轻松地完成所需要的全部计算步骤。如果需要的话,还可以使用MATLAB 的SIMULINK 工具箱,进行模拟仿真。 第一节 步骤 步骤1 模拟控制器的处理 在数字控制系统中,总是有传输特性为零阶保持器的数模转换器(DAC ),因此,如果模拟控制器尚未设计,则应以下图 的方式设计模拟控制器,即在对象前面加上一个零阶保持器,形成一个新对象Ts 1e G s s ()--,然后针对这个新对象求模拟控 制器D(s)。事实上,模拟控制器一般是已经设计好的,无法或不方便更改了,离散化后的系统只好作为近似设计了。 然而,按照上述思路,可否将已有的控制器除以一个零阶保持器再离散化呢还没有这方面的实际经验。 D(s)x u e -模拟控制器 1-e -Ts s G(s)对象 以下假设选定的G(s),D(s)如下图,而且不对G(s)作添加保持器的预处理。 x u e -D(s)=8s+2 s+15 .G(s)=20 s(s+2) 步骤2 离散化模拟控制器 离散化模拟控制器之前,先要确定离散化算法和采样时间。离散化算法有好几种,第二章中有详细的论述,现假定采用双线性变换法。确定采样时间,需要考虑被控对象的特性,计算机的性能,以及干扰信号的影响等,初步可按采样时间T<,Tp 为被控对象时间常数,或T=~τ,为被控对象的纯滞后,初步确定后再综合平衡其它因素,当然这需要一定的经验,现在假定取秒。 假设模拟控制器为s 2 D s 8s 15 +=?+(),在MATLAB 中,用c2d 函数进行离散化,过程为: 转换结果为: x u e -D(z)= 6.1091(z-0.9048) z-0.4545 D(s)=8s+2 s+15. G(s)= 20s(s+2) 步骤3 检验数字控制器的性能 数字控制器的性能项目比较多,我们仅以直流增益,频率特性,零极点分布说明。 ds=zpk(-2,-15,8) %建立模拟控制器的s 传递函数 dz=c2d(ds,,'tustin') %将模拟控制器按tustin 方法转换为z 传递函数的数字控

连续系统离散化分析

1 实验一 离散系统的分析 一 实验目的 1.学习利用采样控制理论; 2.使用MATLAB 理论进行分析; 3. 学习利用z 变换与反变换分析离散控制系统; 二、实验步骤 1.开机执行程序 C :\matlab \bin \matlab.exe (或用鼠标双击图标)进人MATLAB 命令窗口; 2.运用所学自动控制理论z 变换与反变换,使用MATLAB 的基本知识分析离散控制系统的基本性质及进行控制系统的设计。 3. MATLAB 离散系统基本命令 模型转换 1)连续系统离散化 sysd=c2d(sys,T) T 为采样时间 sysd=c2d(sys,T,method) method 有四种模式: a. ‘zoh’---采用零阶保持器, b. ‘foh’---采用一阶保持器, c. ‘tustin’---采用双线性逼近(tustin )方法, d. ‘preqarp’---采用改进的(tustin )方法, 2)离散系统连续化 sys=d2c(sysd,T,method) T 为采样时间 例 设) 1(1)(+=s s s g , T=0.1s , 求G(z) 键入命令:sys=tf([1],[1 1 0]); c2d(sys,0.1) %采样时间0.1s 得到离散传递函数: 当采样时间取T=1s 时: 0.004837 z + 0.004679 G (z )= ---------------------------- z^2 - 1.905 z + 0.9048 0.3679 z + 0.2642 G (z )= ---------------------------- z^2 - 1.368 z + 0.3679

连续系统离散化处理基本方法

连续系统离散化处理的基本方法 在数字计算机上对连续系统进行仿真时,首先遇到的问题就是如何解决数字计算机在数值及时间上的离散性与被仿真系统数值及时间上的连续性这一基本问题。 从根本意义上讲,数字计算机所进行的数值计算仅仅就是“数字”计算,它表示数值的精度受限于字长,这将引入舍入误差;另一方面,这种计算就是按指令一步一步进行的,因而,还必须将时间离散化,这样就只能得到离散时间点上系统性能。用数字仿真的方法对微分方程的数值积分就是通过某种数值计算方法来实现的。任何一种计算方法都只能就是原积分的一种近似。因此,连续系统仿真,从本质上就是对原连续系统从时间、数值两个方面对原系统进行离散化,并选择合适的数值计算方法来近似积分运算,由此得到的离散模型来近似原连续模型。如何保证离散模型的计算结果从原理上确能代表原系统的行为,这就是连续系统数字仿真首先必须解决的问题。 设系统模型为:),,(t u y f y =&,其中u (t )为输入变量,y (t )为系统变量;令仿真时间间隔为h ,离散化后的输入变量为)(?k t u ,系统变量为)(?k t y ,其中k t 表示t=kh 。如果)()(?k k t u t u ≈,)()(?k k t y t y ≈,即0)()(?)(≈-=k k k u t u t u t e ,0)()(?)(≈-=k k k y t y t y t e (对所有k=0,1,2,…),则可认为两模型等价,这称为相似原理(参见图2、1)。 ,随着计,也称为仿真建模关于稳定性的详细讨论将在2、4节中进行。 (2)准确性:有不同的准确性评价准则,最基本的准则就是: 绝对误差准则:δ≤-=)()(?)(k k k y t y t y t e 相对误差准则:δ≤-= )(?)()(?)(k k k k y t y t y t y t e 其中δ 规定精度的误差量。 (3)快速性:如前所述,数字仿真就是一步一步推进的,即由某一初始值)(0t y 出发,逐步计算,得到)(,),(),(21k t y t y t y Λ,每一步计算所需时间决定了仿真速度。若第k 步计算对应的系统时间间隔为,1k k k t t h -=+计算机由)(k t y 计算)(1+k t y 需要的时间为T k ,则,若T k =h k 称为实时仿真,T k h k ,对应于离线仿真。 &,已知系统变量y 的初始条件y t y ()00=,现 在要求y 随时间变化的过程y t ()。计算过 程可以这样考虑(参见图2、2):首先求出初始 点y t y ()00=的f t y ()00,,微分方程可以 )(≈k y t e 图2、1

连续离散化的方法的研究

连续离散化的方法的研究 0 引言 机械系统中的柔性部件对系统的动态特性有很大的影响,过去分

析时建立的模型,其构件都是属于刚体,在作运动分析时不会发生 弹性变形. 而实际上,机构受力后会有较大的形.ADAMS 软件是 著名的机械系统动力学仿真分析软件,分析对象主要多是刚体,但ADAMS 提供了柔性体模块,运用该模块可以实现柔性体运动仿 真分析,以弹性体代换刚体,可以更真实地模拟物体的运动. 1 ADAMS P Flex 柔性模块[1 ] ADAMS P Flex 是ADAMS 软件包中的一个集成可选模块,它提 供ADAMS 与有限元分析软件AN2SYS ,NASTRAN ,ABAQUS 之间的接口. 利用此模块可以考虑物体的弹性,在模型中引入柔 性体,从而提高系统仿真的精度. ADAMS P Flex 是采用模态柔性 来表示弹性的. 其基本思想是赋予柔性体一个模态集,采用模态 展开法,用模态向量和模态坐标的线性组合来表示弹性位移,通过 计算每一时刻物体的弹性位移来描述其变形运动.ADAMS P Flex 中的柔性体可采用(MNF) 来描述,该文件是一个独立于操作平台 的二进制文件,它包含以下信息:几何信息、结点质量和惯量、模 态、模态质量和模态刚度. 如果是有限元专家,可以自己将有限元 结果写成模态中性文件,但更可行的方法是利用 ANSYS ,NASTRAN ,ABAQUS 等商品化有限元软件包进行分析 后将结果转换成模态中性文件[2 ] . 一旦创建了模态中性文件,就 可以将它输入到ADAMS P View 或ADAMS P Solver 中,建立相应 零件的柔性体. 具体的操作流程如下: 导出导入 有限元素模中性文件MNF ADAMS柔性

连续函数离散化

连续函数离散化 1.1替换法 传递函数是控制系统应用最广泛的模型描述形式,连续系统为S域的传递函数G(S),离散系统为Z域的脉冲传递函数G(Z)。 替换法的基本思想: 对给定的连续系统模型G(S) ,设法找到S域到Z域的某种映射关系,将S域的变量映射到Z平面上,由此得到与连续系统G(S)相对应的离散系统的脉冲传递函数G(Z)。然后,再由G(Z)通过Z反变换得到系统的时域离散模型——差分方程,从而快速求解。 G(S) G(Z) 差分方程 根据Z变换理论,S域到Z域的最基本的映射关系是: Ts e Z =或Z T s ln 1 = 其中T是采样周期 若直接将这个映射关系代入G(S)得到G(Z)将会很复杂,不便于计算,实际应用中是利用Z变换理论的基本映射关系进行简化处理,得到近似的离散模型。 1.1.1 简单替换法 由幂级数展开式: +++++=! !212n x x x e n x +++++==!)(!2)(12n Ts Ts Ts e Z n Ts 取近似式:Ts e Z Ts +≈=1 或:T Z s 1-= 用此式代入G(S)就得到G(Z),这就是简单替换法,又称Euler 法。

例:二阶连续系统s s s U s Y s G 50400 )()()(2 +== ,001.0=T 解:简单替换法T Z s 1 -= 代入G(s) ) () (501)250(400)1(50)1(400 )(2 222 z U z Y T z T z T T z T z z G =-+-+=-+-= )(400)()501()()250()(22z U T z Y T z zY T z Y z =-+-+? )(400)()501()()250()(2221z U z T z Y z T z Y z T z Y ---=-+-+? )2(400)2()501()1()250()(2-+------=?k u T k y T k y T k y 001.0=T 代入 )2(104.0)2(95.0)1(95.1)(3--?+---=k u k y k y k y 1.1.2 双线性替换法 +-++-+-+++++===---!)2/(!2)2/(21!)2/(!2)2/(212 22/2 /)2(2k Ts Ts Ts k Ts Ts Ts e e e e k k Ts Ts Ts Ts Ts 取近似式:2 121Ts Ts e Z Ts -+ = =或)1()1(2+-=Z T Z s 用此式代入G(S)就得到G(Z),这就是双线性替换法,又称Tustin 变换。相当于数值积分法中的梯形法,有较好的性能。 例:二阶连续系统s s s U s Y s G 50400 )()()(2+== ,001.0=T 用双线性替换法建立差分方程。 解:双线性替换:) 1() 1(2+-= z T z s 代入G(s) ) 1)(1(100)1(4)1(400) 1()1(250 )1()1(2400 )(22 22222+-+-+= +-++-=z z T z z T z T z z T z z G

相关文档
最新文档