连续传递函数离散化的方法与原理Word格式.docx

上传人:b****2 文档编号:14932919 上传时间:2022-10-26 格式:DOCX 页数:49 大小:819.20KB
下载 相关 举报
连续传递函数离散化的方法与原理Word格式.docx_第1页
第1页 / 共49页
连续传递函数离散化的方法与原理Word格式.docx_第2页
第2页 / 共49页
连续传递函数离散化的方法与原理Word格式.docx_第3页
第3页 / 共49页
连续传递函数离散化的方法与原理Word格式.docx_第4页
第4页 / 共49页
连续传递函数离散化的方法与原理Word格式.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

连续传递函数离散化的方法与原理Word格式.docx

《连续传递函数离散化的方法与原理Word格式.docx》由会员分享,可在线阅读,更多相关《连续传递函数离散化的方法与原理Word格式.docx(49页珍藏版)》请在冰豆网上搜索。

连续传递函数离散化的方法与原理Word格式.docx

步骤2离散化模拟控制器

离散化模拟控制器之前,先要确定离散化算法和采样时间。

离散化算法有好几种,第二章中有详细的论述,现假定采用双线性变换法。

确定采样时间,需要考虑被控对象的特性,计算机的性能,以及干扰信号的影响等,初步可按采样时间T<

,Tp为被控对象时间常数,或T=~τ,为被控对象的纯滞后,初步确定后再综合平衡其它因素,当然这需要一定的经验,现在假定取秒。

假设模拟控制器为,在MATLAB中,用c2d函数进行离散化,过程为:

ds=zpk(-2,-15,8)%建立模拟控制器的s传递函数

dz=c2d(ds,,'

tustin'

)%将模拟控制器按tustin方法转换为z传递函数的数字控制器

转换结果为:

步骤3检验数字控制器的性能

数字控制器的性能项目比较多,我们仅以直流增益,频率特性,零极点分布说明。

直流增益dcgain(dz)返回直流增益

频率特性bode(ds,'

r'

dz,'

g'

)伯德图,见下页左图

零极点分布pzmap(dz)零极点分布图,见下页右图

步骤4离散化控制对象

为了进行模拟仿真,需要对控制对象进行离散化,由于步骤1所说的原因,应把被控对象视为零阶保持器与原对象的串连,即应对进行离散化,这时可在c2d函数中使用零阶保持器(zoh)方法,如果认为不需要添加零阶保持器,即直接对G(s)离散化,则应在c2d函数中使用冲击响应不变法(imp)。

借用零阶保持器(zoh)方法,将对象带一阶保持器离散化的过程如下:

......%模拟控制器D(s)转换为D(z)的过程见前

gs=zpk([],[0,-2],20)%建立对象的s传递函数

g1z=c2d(gs,,'

zoh'

)%借用c2d函数进行带零阶保持器的对象的离散化

步骤5模拟仿真

求离散系统的闭环传递函数和连续系统的闭环传递函数。

离散系统的闭环传递函数为:

连续系统的闭环传递函数为:

用MATLAB算TRCZ与TRCS:

trcz=dz*g1z/(1+dz*g1z)

trcs=ds*gs/(1+ds*gs)

结果为:

用MATLAB函数STEP画阶跃响应图形:

holdon%图形保持

step(trcs,'

2)%画连续系统的阶跃响应图,红色,终止时间为2秒

step(trcz,'

b'

2)%画离散系统的阶跃响应图,兰色,终止时间为2秒

响应图形为:

步骤6求数字控制器的时域表达式

上面已经求出,连续传递函数的tustin离散式为

,或。

对上式取z反变换,得时域表达式,根据此式就可以写出计算的程序代码来了。

除上述步骤之外,在编写程序代码时,还需要考虑几个问题:

①ADC位数

ADC位数是一个硬件问题,在系统设计时,就应该结合控制算法,仔细分析ADC位数对控制精度的影响。

②数据类型

在控制算法中有3种数据类型可以采用:

无符号整数,定点数,浮点数。

我们知道,无符号整数运算既是最简单和速度最快的运算,又是定点数运算和浮点数运算的基础。

在数据动态范围比较小的情况下,应尽可能用无符号整数运算代替定点数运算和浮点数运算。

浮点数运算是一整套运算,包括加,减,乘,除,对阶,规格化,溢出处理等一系列子程序,使用浮点数的程序,将占用比较多的代码空间和比较长的运行时间。

不论使用汇编语言还是c语言,对于是否使用浮点数运算,都应进行比较仔细的酌斟。

③数值计算误差

数值计算引入的误差有3个方面,一是定点数字长不够或者浮点数有效数字过少,一是两个相近的数相减,一是加减乘除次数过多。

在程序设计中,应优化算法以避免计算误差的引入。

第二节在MATLAB中离散化

1.建立s降幂传递函数

①建立多项式型s降幂传递函数

方法1.sys=tf(num,den)

方法2.s=tf('

s'

),再令sys=f(s)

例:

已知,用tf函数建立多项式型s降幂传递函数,,若G0以零极点形式给出,即已知,仍可用tf函数建立多项式型s降幂传递函数,但需用多项式乘法函数conv配合,G0=tf(conv([3],[1]),conv(conv([10],[11]),[1]))

②建立零极点型s传递函数

方法1.sys=zpk(z,p,k)

方法2.s=zpk('

),再令sys=f(s)。

2.传递函数的转换

①将任意形式的s传递函数转换为s降幂传递函数sys=tf(sys)

②将任意形式的s传递函数转换为s零极点传递函数sys=zpk(sys)

3.建立z传递函数

①将连续传递函数转换为离散传递函数

sysd=c2d(sysc,t,method)

②建立多项式形式的z传递函数

方法1.sys=tf(num,den,?

t)

方法2.z=tf('

z'

?

t),再令sys=f(z)

③建立零极点z传递函数

方法1.sys=zpk(z,p,k,?

方法2.z=zpk('

t),再令sys=f(z)

4.建立z-1格式的传递函数

直接根据分子和分母建立z-1格式的传递函数sys_z=filt(num,den,?

当已有多项式形式的z降幂传递函数时,按以下步骤:

①取z降幂传递函数a的分子多项式系数[num,den]=tfdata(sys_s,'

v'

②建立z-1格式的传递函数sys_z=filt(num,den,?

5.将多项式形式的高阶z-1降幂传递函数转换为并联传递函数,按以下步骤:

①“手工”将z-1降幂传递函数a改写成多项式形式的z降幂传递函数b。

②取z降幂传递函数b的分子多项式系数num和分母多项式系数den。

③利用residue函数取z降幂传递函数b的分项分式,[anadak]=residue(num,den)。

分项结果可能出现共轭复数,在这种情况下应将含有共轭复数的分式合并成二次有理质分式。

④根据分项结果手工写出z降幂多项式形式的并联表达式。

⑤“手工”将z降幂多项式形式的并联表达式改写成z-1降幂多项式形式的并联表达式。

  ⑥“手工”对z-1降幂多项式形式的并联表达式中的每一个分式项降阶,即将每一个分式项变形,使得分式项的分子的阶次比分母的阶次低1阶,变形完毕再将全部常数项合并。

举例

设有z-1降幂传递函数

改写成z降幂传递函数,

取分项矢量[anadak]=residue(nz,dz)

得an=[]

ad=[]

ak=

手工写分项分式,令

,令

又令

验证

实际上,大多数数字控制器的传递函数都是一阶或者二阶的,所以需要分解的并不是很多。

6.将高阶z-1降幂传递函数生成串联传递函数

使用zpk函数sys_zpk=zpk(sys_pl)

零极点的概念是相对于z而不是相对于z-1说的,但对于以z-1为变量的降幂传递函数sys_pl来说,仍然可以用zpk(sys_pl)生成以z-1为变量的因式积形式传递函数,权且也称为零极点形式。

zpk函数对于z降幂传递函和z-1降幂传都能得到合理的结果,原因是zpk函数的作用就是把分子多项式和分母多项式分别进行因式分解。

第三节延时环节e-Ts的处理

在建立s传递函数的LTI模型时,对于延时环节e-Ts,可按如下方法处理:

1.在tf函数中使用属性’inputdely’或者’iodely’,例如:

>

>

tf([1-1],[135],'

inputdelay'

将返回以下形式的传递函数

s–1

exp*s)*--------------

s^2+3s+5

使用这个方法不能建立形如的传递函数,因为带延时的传递函数不能与不带延时的传递函数相加,但可以使用c2d进行离散化,但要求延时时间t必须是采样时间?

t的整数倍,若不是整数倍,则在转换时不理会延时环节,例如:

用tf函数建立2个传递函数,主体部分相同,但一个无输入延时,一个有输入延时,

a=tf([1-1],[145])s-1

----------------

s^2+4s+5

a1=tf([1-1],[145],'

iodelay'

s-1

exp*s)*---------------

s^2+4s+5

若采样时间为,因为延时时间是采样时间的整数倍,转换结果的主体部分完全一样:

c2d(a,,'

imp'

)z^2-z+

------------------------------samplingtime:

z^2-z+

c2d(a1,,'

z^(-7)*-----------------------------samplingtime:

若采样时间为,因为延时时间不是采样时间的整数倍,结果的主体部分不一样:

-----------------------------samplingtime:

)z-

z^(-3)*--------------------samplingtime:

z^2-z+

2.将e-Ts有理化

设,因e-Ts的一阶有理表达式是,故。

为了对ts进行离散化,首先使用tf函数建立lti模型的ts。

若,则。

3.在离散化时使用恒等式

设,因,采样时间为Δt,若T=mΔt,则,因为离散化时总是认为,故取。

根据以上假设,用MATLAB的c2d函数对g(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1