离散化方法总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
离散化方法
1引言
2离散化方法
模拟调节器的离散化方法有许多种,下面介绍几种常用的离散化方法。
2.1差分变换法
当模拟调节器采用微分方程来表示时,其导数可以用差分方程近似。假设通过模拟化的设计方法得到了一个控制器的传递函数,首先将传递函数转化成相应的微分方程,然后通过常用的差分近似方法对导数进行离散化,常用的差分近似有前向差分和后向差分两种。为了便于编程,通常采用后向差分法。
(1) 一阶后向差分
一阶导数采用的近似算式如下
()(1)du u k u k dt T
--≈(1) (2) 二阶后向差分
二阶导数采用的近似算式如下
22
()()2(1)(2)d u t u k u k u k dt T --+-≈(2) 其中 T 为采样周期。
2.2 零阶保持器法
零阶保持器法又称为阶跃响应不变法,其基本思想是:离散近似后的数字控制器的阶跃响应序列必须与模拟调节器的阶跃响应的采样值相等。其中采用的零阶保持器的传递函数为
1()Ts
e H s s
--=(3) 其中,T 为采样周期。
假设一个模拟控制器的传递函数为D (s),采用零阶保持器法对其进行离散化时,应将H(s)包含在内,即:
()[()()]D z Z H s D s =
2.3 双线性变换法(Tustin 变换法)
双线性变换法又称为Tustin 变换法,它是直接将s 域函数转化成z 域的一种近似方法。已知一个连续传递函数D (s),则D (z)为
211
()()z s T z D z D s -=+=
其中,T 为采样周期。
3 计算机辅助设计 已知一个连续控制器的传递函数为2
0.5()(1)s D s s +=+,分别采用零阶保持器法和双线性变换
法求出相应的离散化函数D(z)。
3.1 MATLAB中传递函数的表示方式及c2d命令
(1)传递函数的表示方式
在MA TLAB中可以采用多种方式来表示传递函数,这里介绍系数法(tf)和零极点增益法(zpk)。
采用系数法来表示D(s),在MA TLAB命令行中输入如下指令,得到相应的结果
>> H=tf([1 0.5],[1 2 1])
Transfer function:
s + 0.5
-------------
s^2 + 2 s + 1
采用零极点增益法来表示D(s)
>> H=zpk(-0.5, [-1, -1], 1)
Zero/pole/gain:
(s+0.5)
-------
(s+1)^2
两者结果一样。
(2)c2d命令
c2d(H, Ts, ‘method’)
其中H为传递函数的表示形式;T s为采样周期;method为采用的离散化方法
3.2 零阶保持器法
>> H=tf([1 0.5], [1 2 1])%采用tf方式表示传递函数
Transfer function:
s + 0.5
-------------
s^2 + 2 s + 1
>> Hd=c2d(H,1,'zoh')%以采样周期为1s,零阶保持器法进行离散化
Transfer function:
0.5 z - 0.3002
-----------------------
z^2 - 0.7358 z + 0.1353
Sampling time: 1
3.3 Tustin变换法
>> H=tf([1 0.5],[1 2 1])
Transfer function:
s + 0.5
-------------
s^2 + 2 s + 1
>> Hd=c2d(H,1,'tustin')
Transfer function:
0.2778 z^2 + 0.1111 z - 0.1667
------------------------------
z^2 - 0.6667 z + 0.1111
Sampling time: 1
朱洪顺2011-06-11