离散化传递函数c语言,连续传递函数离散化的方法与原理.doc

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

数字控制器的模拟化设计

目录

第一章 模拟化设计1

第一节 步骤1

第二节 在MATLAB中离散化3

第三节 延时环节的处理5

第四节 控制函数分类6

第二章 10

摘要10

比较1

第一节 冲击响应不变法(imp,无保持器直接z变换法)1

第二节 阶跃响应不变法(zoh,零阶保持器z变换法)1

第三节 斜坡响应不变法(foh,一阶保持器z变换法)1

第四节 后向差分近似法1

第五节 前向差分近似法1

第六节 双线性近似法(tustin)1

第七节 预畸双线性法(prevarp)1

第八节 零极点匹配法(matched)

第三章 19

第一节 直接算法1—双中间变量向后递推

第二节 直接算法2—双中间变量向前递推

第三节 直接算法3—单中间变量向后递推2

第四节 直接算法4—单中间变量向前递推(简约快速算法)2

第五节 串联算法2

第六节 并联算法2

第四章 数字PID控制算法2

第一节 微分方程和差分方程2

第二节 不完全微分2

第三节 参数选择2

第四节 c51框架

第五章 保持器33

第一节 零阶保持器

第二节 一阶保持器

附录 两种一阶离散化方法的结果的比较

第一章 模拟化设计

数字控制系统的设计有两条道路,一是模拟化设计,一是直接数字设计。如果已经有成熟的模拟控制器,可以节省很多时间和部分试验费用,只要将模拟控制器离散化即可投入应用。如果模拟控制器还不存在,可以利用已有的模拟系统的设计经验,先设计出模拟控制器,再进行离散化。

将模拟控制器离散化,如果用手工进行,计算量比较大。借助数学软件MATLAB控制工具箱,可以轻松地完成所需要的全部计算步骤。如果需要的话,还可以使用MATLAB的SIMULINK工具箱,进行模拟仿真。

第一节

步骤1 模拟控制器

在数字控制系统中,总是有传输特性为零阶保持器的数模转换器(DAC),因此,如果模拟控制器尚未设计,则应以下图的方式设计模拟控制器,即在对象前面加上一个零阶保持器,形成一个新对象,然后针对这个新对象求模拟控制器D(s)。

然而,按照上述思路,可否将已有的控制器除以一个零阶保持器再离散化呢?还没有这方面的实际经验。

以下假设选定的G(s),D(s)如下图,而且不对G(s)作添加保持器的预处理。

步骤2 离散化模拟控制器

离散化模拟控制器,要确定采样时间。

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

转换结果为:

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

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

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

频率特性 bode(ds,'r',dz,'g')伯德图,见下页左图

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

步骤4 离散化控制对象

为了进行模拟仿真,需要对控制对象进行离散化,由于步骤1所说的原因,应把被控对象视为零阶保持器与原对象的串连,即应对进行离散化零阶保持器(zoh)方法。

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

转换结果为:

步骤5 模拟仿真

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

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

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

用MATLAB算TRCZ与TRCS:

结果为:

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

响应图形为:

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

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

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

编写程序代码问题

① ADC位数

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

② 数据类型

在控制算法中有3种数据类型可以采用无符号整数,定点数,浮点数我们知道,无符号整数运算既是最简单速度最快的运算,又是定点数运算和浮点数运算的基础在数据动态范围比较小的情况下,应尽可能用无符号整数运算代替定点数运算和浮点数运算。

浮点数运算是一整套运

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值