连续传递函数离散化的方法与原理
更新时间:2023-11-04 00:26:01 阅读量: 综合文库 文档下载
目录
第一章 模拟化设计基础 第一节 步骤
第二节 在MATLAB中离散化 第三节 延时e-Ts环节的处理 第四节 控制函数分类 第二章 离散化算法 摘要 比较
第一节 冲击响应不变法(imp,无保持器直接z变换法) 第二节 阶跃响应不变法(zoh,零阶保持器z变换法) 第三节 斜坡响应不变法(foh,一阶保持器z变换法) 第四节 后向差分近似法 第五节 前向差分近似法 第六节 双线性近似法(tustin) 第七节 预畸双线性法(prevarp) 第八节 零极点匹配法(matched) 第三章 时域化算法
第一节 直接算法1—双中间变量向后递推 第二节 直接算法2—双中间变量向前递推 第三节 直接算法3—单中间变量向后递推
第四节 直接算法4—单中间变量向前递推(简约快速算法) 第五节 串联算法 第六节 并联算法 第四章 数字PID控制算法 第一节 微分方程和差分方程 第二节 不完全微分 第三节 参数选择 第四节 c51框架 第五章 保持器 第一节 零阶保持器 第二节 一阶保持器
附录 两种一阶离散化方法的结果的比较
1 1 3 5 6 10 10 11 11 11 11 12 14 15 17 18 19 19 20 21 21 22 23 24 25 25 26 27 33 33 30 31
第一章 模拟化设计基础
数字控制系统的设计有两条道路,一是模拟化设计,一是直接数字设计。如果已经有成熟的模拟控制器,可以节省很多时间和部分试验费用,只要将模拟控制器离散化即可投入应用。如果模拟控制器还不存在,可以利用已有的模拟系统的设计经验,先设计出模拟控制器,再进行离散化。
将模拟控制器离散化,如果用手工进行,计算量比较大。借助数学软件MATLAB控制工具箱,可以轻松地完成所需要的全部计算步骤。如果需要的话,还可以使用MATLAB的SIMULINK工具箱,进行模拟仿真。
第一节 步骤
步骤1 模拟控制器的处理
在数字控制系统中,总是有传输特性为零阶保持器的数模转换器(DAC),因此,如果模拟控制器尚未设计,则应以下图
1?e?Ts的方式设计模拟控制器,即在对象前面加上一个零阶保持器,形成一个新对象G(s),然后针对这个新对象求模拟控
s制器D(s)。事实上,模拟控制器一般是已经设计好的,无法或不方便更改了,离散化后的系统只好作为近似设计了。 然而,按照上述思路,可否将已有的控制器除以一个零阶保持器再离散化呢?还没有这方面的实际经验。
x-模拟控制器e1-es-TsD(s)G(s)u对象
以下假设选定的G(s),D(s)如下图,而且不对G(s)作添加保持器的预处理。
x-es+2D(s)=8.s+1520G(s)=s(s+2)u
步骤2 离散化模拟控制器
离散化模拟控制器之前,先要确定离散化算法和采样时间。离散化算法有好几种,第二章中有详细的论述,现假定采用双线性变换法。确定采样时间,需要考虑被控对象的特性,计算机的性能,以及干扰信号的影响等,初步可按采样时间T<0.1Tp,Tp为被控对象时间常数,或T=(0.125~0.25)τ,为被控对象的纯滞后,初步确定后再综合平衡其它因素,当然这需要一定的经验,现在假定取0.05秒。 假设模拟控制器为D(s)?8?
转换结果为:
x-es+2D(s)=8.s+15D(z)=6.1091(z-0.9048)z-0.4545G(s)=20s(s+2)us?2
,在MATLAB中,用c2d函数进行离散化,过程为:s?15ds=zpk(-2,-15,8) %建立模拟控制器的s传递函数 dz=c2d(ds,0.05,'tustin') %将模拟控制器按tustin方法转换为z传递函数的数
步骤3 检验数字控制器的性能
数字控制器的性能项目比较多,我们仅以直流增益,频率特性,零极点分布说明。 直流增益 dcgain(dz) 返回直流增益1.0667
以连续传递函数为基础的数字控制设计1/35
频率特性 bode(ds,'r',dz,'g') 伯德图,见下页左图 零极点分布 pzmap(dz) 零极点分布图,见下页右图 步骤4 离散化控制对象
为了进行模拟仿真,需要对控制对象进行离散化,由于步骤1所说的原因,应把被控对象视为零阶保持器与原对象的串
1?e?Ts连,即应对G(s)进行离散化,这时可在c2d函数中使用零阶保持器(zoh)方法,如果认为不需要添加零阶保持器,
s即直接对G(s)离散化,则应在c2d函数中使用冲击响应不变法(imp)。 借用零阶保持器(zoh)方法,将对象G(s)?
化 转换结果为:
e-D(z)=6.1091(z-0.9048)z-0.45451-eG1(z)=Z(s-Ts20带一阶保持器离散化的过程如下:
s(s?2)...... %模拟控制器D(s)转换为D(z)的过程见前 gs=zpk([ ],[0,-2],20) %建立对象的s传递函数 g1z=c2d(gs,0.05,'zoh') %借用c2d函数进行带零阶保持器的对象的离散xD(z)G(s))uG1(z)=0.024187(z-0.9672)(z-1)(z-0.9048)
步骤5 模拟仿真
求离散系统的闭环传递函数和连续系统的闭环传递函数。 离散系统的闭环传递函数为:TRCZ? 连续系统的闭环传递函数为:TRCS? 用MATLAB算TRCZ与TRCS:
trcz=dz*g1z/(1+dz*g1z) trcs=ds*gs/(1+ds*gs) D(z)G1(z)
1?D(z)G1(z)D(s)G(s)
1?D(s)G(s) 结果为: TRCZ? 0.14776(z-0.9048)(z-0.9048)(z-1)(z-0.4545)(z+0.9672)(z-0.4545)(z-0.9047)(z-0.9048)(z-1)(z2-1.307z+0.5975)
以连续传递函数为基础的数字控制设计2/35
TRCS?160s(s+2)2(s+15)s(s+15)(s+2)2(s2+15s+160)
用MATLAB函数STEP画阶跃响应图形:
响应图形为:
hold on %图形保持 step(trcs,'r',2) %画连续系统的阶跃响应图,红色,终止时间为2秒 step(trcz,'b',2) %画离散系统的阶跃响应图,兰色,终止时间为2秒
步骤6 求数字控制器的时域表达式 上面已经求出, 连续传递函数D(s)?8?s?2的tustin离散式为 s?15
.091e(k)?5.527e(k?1)?0.4545u(k?1),根据此式就可以写出计算u(k)的 对上式取z反变换,得时域表达式u(k)?61程序代码来了。
除上述步骤之外,在编写程序代码时,还需要考虑几个问题: ① ADC位数
ADC位数是一个硬件问题,在系统设计时,就应该结合控制算法,仔细分析ADC位数对控制精度的影响。 ② 数据类型
在控制算法中有3种数据类型可以采用:无符号整数,定点数,浮点数。我们知道,无符号整数运算既是最简单和速度最快的运算,又是定点数运算和浮点数运算的基础。在数据动态范围比较小的情况下,应尽可能用无符号整数运算代替定点数运算和浮点数运算。
浮点数运算是一整套运算,包括加,减,乘,除,对阶,规格化,溢出处理等一系列子程序,使用浮点数的程序,将占用比较多的代码空间和比较长的运行时间。不论使用汇编语言还是c语言,对于是否使用浮点数运算,都应进行比较仔细的酌斟。 ③ 数值计算误差
数值计算引入的误差有3个方面,一是定点数字长不够或者浮点数有效数字过少,一是两个相近的数相减,一是加减乘除次数过多。在程序设计中,应优化算法以避免计算误差的引入。
?1?1U(z)61091.(z?0.9048)6.1091-5.527z?1U(z)?61091E.(z)?5.527E(z)z?0.4545U(z)z,或 。 D(z)???E(z)z?0.45451?0.4545z?1以连续传递函数为基础的数字控制设计3/35
第二节 在MATLAB中离散化
1. 建立s降幂传递函数 ① 建立多项式型s降幂传递函数 方法1. sys = tf(num,den)
方法2. s = tf('s'),再令sys = f(s) 例: 已知G0?15s.?30.25s3?1.25s2?s,用tf函数建立多项式型s降幂传递函数,G0?tf([.153],[0.25125.10]),
若G0以零极点形式给出,即已知G0?3(0.5s?1),仍可用tf函数建立多项式型s降幂传递函数,但需用多项式乘
s(s?1)(0.25s?1)法函数conv配合,G0=tf(conv([3],[0.5 1]),conv(conv([1 0],[1 1]),[0.25 1])) ② 建立零极点型s传递函数 方法1. sys = zpk(z,p,k)
方法2. s = zpk('s'),再令sys = f(s)。 2. 传递函数的转换
① 将任意形式的s传递函数转换为s降幂传递函数 sys = tf(sys) ② 将任意形式的s传递函数转换为s零极点传递函数 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,?t)
方法2. z = zpk('z',?t),再令sys = f(z) 4. 建立z-1格式的传递函数
直接根据分子和分母建立z-1格式的传递函数
sys_z = filt(num,den,?t)
sys = zpk(sys)
当已有多项式形式的z降幂传递函数时,按以下步骤: ① 取z降幂传递函数a的分子多项式系数 ② 建立z-1格式的传递函数
[num,den] = tfdata(sys_s,'v')
sys_z = filt(num,den,?t)
5. 将多项式形式的高阶z-1降幂传递函数转换为并联传递函数,按以下步骤: ① “手工”将z-1降幂传递函数a改写成多项式形式的z降幂传递函数b。 ② 取z降幂传递函数b的分子多项式系数num和分母多项式系数den。
③ 利用residue函数取z降幂传递函数b的分项分式,[an ad ak]=residue(num,den)。 分项结果可能出现共轭复数,在这种情况下应将含有共轭复数的分式合并成二次有理质分式。 ④ 根据分项结果手工写出z降幂多项式形式的并联表达式。
⑤ “手工”将z降幂多项式形式的并联表达式改写成z-1降幂多项式形式的并联表达式。
⑥ “手工”对z-1降幂多项式形式的并联表达式中的每一个分式项降阶,即将每一个分式项变形,使得分式项的分子的阶次比分母的阶次低1阶,变形完毕再将全部常数项合并。 举例
设有z降幂传递函数 tz_0?-1
?101.?0186z.?0.0864z?21?1.27z?1?0.27z?2
以连续传递函数为基础的数字控制设计4/35
正在阅读:
连续传递函数离散化的方法与原理11-04
2015年山东省人力资源管理师备考:如何快速记忆知识点最新考试试题库(完整版)07-19
苜蓿花02-14
打蚊子作文400字07-07
重返狼群李微漪和格林06-01
全民飞机大战小黄鸭升级经验及所需金币一览08-09
马岚垭站四措一案 - 图文01-23
超级英雄梦作文500字06-23
农业综合执法大队市场检查记录表11-23
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 离散
- 函数
- 传递
- 原理
- 连续
- 方法
- 关于小学数学中数学文化的理论与实践研究
- 末法时期最伟大的成就者--觉囊46代法王俱德根本上师云登桑布 - 图文
- 《汉字的构造》
- 提请“2013年度闵行区教育科学研究项目”(小学区级一般)
- 2013年中国电机工程学会杯全国大学生电工数学建模竞赛获奖名单
- 2016-2017学年度苏教版四年级数学上册教学计划
- 板框压滤机维护检修规程(WORD版本)
- 吉林大学网络教学毛概答案
- Diogenes and Alexander 戴奥吉尼斯和亚历山大
- 中国和美国家庭文化差异研究(定) - 图文
- chapter1 基本概念
- 浪漫主义文学的两种形态 - 以郭沫若和华兹华斯为例
- PC机实验报告(主机拆装)
- 企业税务管理案例
- 高中生物科学史总结必修 2
- 浅谈交互式电子白板对小学科学教学中的应用
- 安徽省2015年无纸化考试会计从业资格证《初级会计电算化》考试题
- 大连医科大学 临床药理学考点整理 2015-7-10
- 2019年2018年少先队建队日国旗下的讲话稿-精选word文档(2页)
- 冀教版小学三年级语文下册全册教案