没有合适的资源?快使用搜索试试~ 我知道了~
首页DMC算法MATLAB编程及仿真
资源详情
资源评论
资源推荐

一、前言
工业生产的过程是复杂的,建立起来的模型也是不完善的。即使是理论非
常复杂的现代控制理论,其效果也往往不尽人意,甚至在一些方面还不及传统
的 PID 控制。20 世纪 70 年代,人们除了加强对生产过程的建模、系统辨识、
自适应控制等方面的研究外,开始打破传统的控制思想,试图面向工业开发出
一种对各种模型要求低、在线计算方便、控制综合效果好的新型算法。在这样
的背景下,预测控制的一种,也就是动态矩阵控制(DMC)首先在法国的工业
控制中得到应用。因此预测控制不是某种统一理论的产物,而是在工业实践中
逐渐发展起来的。预测控制中比较常见的三种算法是模型算法控制(MAC),
动态矩阵控制(DMC)以及广义预测控制。本篇所采用的是动态矩阵控制,其
采用增量算法,因此在消除稳态余差方面非常有效。
二、控制系统设计方案
2.1 控制系统方案设计图
动态矩阵控制是基于系统阶跃响应模型的算法,隶属于预测控制的范畴。
它的原理结构图如下图(1)所示:
图(1) 预测控制原理结构图
上图就是预测控制原理结构图,从图中我们可以看到,预测控制的主要特
点。即建立预测模型;采用滚动优化策略,采用模型误差反馈矫正。这也是预
测控制的本质所在。下面将对这三个特点一一说明。
2.2 预测控制基本原理
1、预测模型:预测模型的功能是根据对象历史信息和未来输入对对象输出
进行预测,它是被控对象的准确模型。这里只强调模型的功能而不强调其结构
形式。因此,预测模型可以是状态方程、传递函数等传统的参数模型,对于线
性稳定对象,阶跃响应、脉冲响应这类非参数模型也可以作为预测模型使用。
预测模型具有展示系统未来动态行为的功能,这样,就可以利用预测模型来预
测未来时刻被控对象的输出变化及被控变量与其给定值的偏差,作为控制作用
的依据,使之适应动态系统所具有的因果性的特点,得到比常规控制更好的控
制效果。
1

2、滚动优化:预测控制是一种优化控制算法,它是通过某一性能指标的最
优来确定未来的控制作用。这一性能指标涉及到系统未来的行为。如,通常可
取被控对象输出在未来的采样点上跟踪某一期望轨迹的方差最小,性能指标中
涉及到的系统未来的行为,是根据预测模型由未来的控制策略决定的。但是,
预测控制中的优化与传统意义下的离散最优控制有很大的区别,这主要表现在
预测控制中的优化是一种有限时段的滚动优化。每一采样时刻,优化性能指标
只涉及到从该时刻起未来的有限时段,到下一采样时刻,这一优化时段同时向
前推移。因此,预测控制不是用一个对全局相同的优化性能指标,而是在每一
采样时刻有一个相对于该时刻的优化性能标。不同时刻优化性能指标的相对形
式是相同的,但其绝对形式,即,所包含的时间区域是不同的。在预测控制中,
优化不是一次离线进行,而是反复在线进行,这就是滚动优化的含义。虽然各
个不同时刻的优化指标的相对形式是相同的,每一步实现的是静态参数的优化,
但因为其包含的时间区域不同,从控制的全过程看,实现的是动态的优化。因
而预测控制被称为是“滚动优化”的算法。与一般最优控制中的全局优化相比,
预测控制中的滚动优化只能得到全局的次优解,但由于它的优化始终建立在实
际过程的基础上,使控制结果达到实际意义上的最优控制,能够有效地克服工
业过程控制中的模型不精确、非线性、时变等不确定性的影响。
3、反馈校正:预测控制是一种闭环控制算法,预测算法在进行滚动优化时,
优化的基点应与系统实际一致。但作为基础的预测模型,只是对象动态特性的
粗描述,由于实际系统中存在的非线性、模型失配、干扰等因素,基于不变模
型的预测不可能和实际情况完全相符,这就需要用附加的预测手段补充模型预
测的不足,或者对基础模型进行在线修正。滚动优化只有建立在反馈校正的基
础上,才能体现出其优越性。因此,预测控制算法在通过优化确定了一系列未
来的控制作用后,为了防止模型失配或环境干扰引起控制对理想状态的偏离,
并不是把这些控制作用逐一全部实施,而只是实现本时刻的控制作用。到下一
采样时刻,则首先检测对象的实际输出,并利用这一实时信息、对基于模型的
预测进行修正,然后再进行新的优化。反馈校正的形式是多样的,可以在保持
预测模型不变的基础上,对未来的误差作出预测并加以补偿,也可以根据在线
辨识的原理直接修改预测模型。不论取何种校正形式,预测控制都把优化建立
在系统实际的基础上,并力图在优化时对系统未来的动态行为作出较准确的预
测。因此,预测控制中的优化不仅基于模型,而且利用了反馈信息,因而构成
了闭环优化。
2.3 DMC 控制策略
DMC 算法的基本原理 DMC(Dynamic Matrix Control)算法是基于被控对
象单位阶跃响应非参数模型的预测控制算法。通过反馈校正和滚动优化当前和
未来时刻的控制量,使得输出响应符合预先设定的轨迹。DMC 动态矩阵控制是
一种用被控对象的阶跃响应特性来描述系统动态模型的预测控制算法。
三、模型建立
3.1 模型和辨识算法的选择
2

已知加热炉温度被控系统的模型可以表达为如下形式,且已知参数范围:
1<K<5,100<T2<500, 50<T1<200, 8.5<D<11.5 现从生产现场采集到的输入输出运
行数据存放在文件 u 和 yi 中(采样间隔是 5 秒)。
辨识算法分别用一次最小二乘算法和递推最小二乘算法对被控对象进行辨
识。最小二乘法是一种数学优化技术。它通过最小化误差的平方和寻找数据的
最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得
的数据与实际数据之间误差的平方和为最小。
3.2 辨识算法介绍
1、一次最小二乘算法
数学原理:
观测矩阵 H 和 L
L=
H=
被辨识参数矩阵 C=
公式 1:
用 MATLAB 程序编程如下:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
load y22;load u; %导入输入输出序列
u=u;y=y22; %给 u,y 赋值
D=1; %设置纯迟延为 1
N=length(u); %设置步长
for i=D+3:N
H1(i-D-1,:)=[-y(i-D),-y(i-D-1),u(i-D-1),u(i-D-2)];
end %此循环为求观测矩阵 H
H3=H1'*H1;
H4=pinv(H3); %矩阵求逆
C1=H4*H1'*y(D+2:N)'; %由公式 1 求得被辨识参数矩阵 C
a11=C1(1),a21=C1(2),b11=C1(3),b21=C1(4), %分离参数
z=tf('z',5); %设置算子
Gz1=(b11*z+b21)/(z^2+a11*z+a21) %系统的离散时间域模型
Gc1=d2c(Gz1) %系统的连续时间域模型
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
其程序的流程框图如图(2)所示:
辨识结果如下:
3
剩余12页未读,继续阅读












qq_22794285
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论1