DMC仿真算例..

上传人:shi****01 文档编号:114628134 上传时间:2022-06-29 格式:DOCX 页数:12 大小:200.85KB
收藏 版权申诉 举报 下载
DMC仿真算例.._第1页
第1页 / 共12页
DMC仿真算例.._第2页
第2页 / 共12页
DMC仿真算例.._第3页
第3页 / 共12页
资源描述:

《DMC仿真算例..》由会员分享,可在线阅读,更多相关《DMC仿真算例..(12页珍藏版)》请在装配图网上搜索。

1、基于matlab的预测控制(DMC)仿真一、实验目的:通过对动态矩阵控制的MATLAB仿真,发现其对直接处理带有纯滞后、大惯性的对象,有良好的跟踪性和有较强的鲁棒性,输入已知的控制模型,通过对参数的选择,来取得良好的控制效果。二、实验原理:预测控制算法是一种基于被控对象非参数数学模型的控制算法,它是一种基于对象阶跃响应的预测控制算法,它以对象的阶跃响应离散系数为模型,避免了通常的传递函数或状态空间方程模型参数的辨识,又因为采用多步预估技术,能有效解决时延过程问题,并按预估输出与给定值偏差最小的二次性能指标实施控制,它适用于渐进稳定的线性对象,系统的动态特性中具有纯滞后或非最小相位特性都不影响改

2、算法的直接应用,因此是一种最优控制技术。三、实验环境:计算机,matlab四、实验步骤预测控制算法充分利用了反映被控对象动态行为的有用信息,对被控对象时滞和阶次变化的鲁棒性都有所提高,从而得到好的控制性能。但是由于预测控制采用模型预测的方式,其参数的选择对性能有重要的影响。合理的选择控制参数非常重要,它直接影响着系统整体的控制效果。对DMC来说,影响其性能的主要参数有以下几个。1)采样周期T与模型长度N在DMC中采样周期T和模型长度N的选择需要满足香农定理和被控对象的类型及其动态特性的要求。为使模型参数尽可能完整的包含被控对象的动态特征,通常要求NT后的阶跃响应输出值已经接近稳定值。因此,T减

3、小就会导致N增大,若T取得过小,N变大,会增加计算量。而适当的选取采样周期,使模型长度控制在一定的范围内,避免因为采样周期减少而使模型长度增加使计算量增加,降低系统控制的实时性。所以,从计算机内存和实时计算的需要出发,应选取合适的采样周期和模型长度。2) 预测时域长度P预测时域长度P对系统的稳定性和快速性具有重要的影响。为使滚动优化真正有意义,应使预测时域长度包括对象的主要动态部分。若预测时域长度P小,虽控制系统的快速性好,但稳定性和鲁棒性会变差;若预测时域长度P很大,虽明显改善系统的动态性能,即控制系统的稳定性和鲁棒性变好,但系统响应过于缓慢,增加计算时间,降低系统的实时性。3) 控制时域长

4、度M控制时域长度M在优化性能指标中表示所要确定的未来控制量的改变数目,即优化变量的个数。在预测时域长度P已知的情况下,控制时域长度M越小,越难保证输出在各采样点紧密跟踪期望输出值,系统的响应速度比较慢,但容易得到稳定的控制和较好的鲁棒性;控制时域长度M越大,控制的机动性越强,能够改善系统的动态响应,增大了系统的灵活胜和快速性,提高控制的灵敏度,但是系统的稳定性和鲁棒性会变差。因此,控制时域长度的选择应兼顾快速性和稳定性。五、实验控制算法实例仿真被控对象模型为G(z-1)=0.27lz3i1-0.835z1i分别用MAC和DMC算法进行仿真。无论是MAC还是DMC算法,它们都适用于渐进稳定的线性

5、对象,先对该对象进行MAC算法仿真,MAC预测模型为ym(k+j=g(z-1)u(k+j1)+*(k+j,j=l,2,3,P.。写成矩阵形式为Ym(k+D=GU(k)+FU(k-D,即y(k+1)my(k+2)mMy(k+p)1-mgigiMLLLLLLLLu(k)u(k+1)g.u(k+P-1)1-11-LLg2LLg3LLMu(k一N+1)u(k一N+2)MgNLgp1u(k-1)NP+1预测误差为e(k)=y(k)y(k),m参考轨迹w(k+j)=(l-aj)y+ajy(k)。sp流程图如1算法实现由于DMC算法是一种基于模型的控制,并且运用了在线优化的原理,与PID算法相比,显然需要更

6、多的离线准备工作(1)测试对象的阶跃响应要经过处理及模型验证后得到的模型系数ai,aN。在这里,应该强调模型动态响应必须是光滑的,测量噪声和干扰必须滤除(2)利用仿真程序确定优化策略,计算出控制系数d1dp。(3)选择校正系数hhN。这三组动态系数确定后,应置入固定内存单元,以便实时调用。2参数选择当DMC算法在线实施时,只涉及模型参数瓦,控制参数d.和校正参11数h.o但其中除了h.可以由设计者自由选择外,a.取决于对象阶跃响111应特性及采样周期的选择,d.取决于a.及优化性能指标,他们都是设11计的结果而非直接可调参数。在设计中,真正要确定的参数应该是(1)采样周期T(2)滚动优化参数的

7、初值,包括预测时域长度P,控制时域长度M,误差权矩阵Q和控制权矩阵R(3)误差校正参数hi。3用DMC算子进行仿真,得出口(k)yspdTw(k)dd1aay(k)P0Ny(k)N0u(k)I0控制z-1*对象yk+1)y(k+1)N0预测y(k+11k)+y(k)hh01001e(k+1)hy(k+1)-N01cor校正J11结合matlab中simulink框图和程序对对象进行仿真,得出的结果如下图所示,结论:图中曲线为使用DMC控制后系统的阶跃响应曲线。从图中可看出:采用DMC控制后系统的调整时间小,响应的快速性好,而且系统的响应无超调。该结果是可以接受的。优化时域P表示我们对k时刻起未

8、来多少步的输出逼近期望值感兴趣。控制时域M表示所要确定的未来控制量的改变数目。模型算法控制(MAC)方案设计图模型算法控制(MAC)由称模型预测启发控制(MPHC),与MAC相同也适用于渐进稳定的线性对象,但其设计前提不是对象的阶跃响应而是其脉冲响应。它的原理结构图如下图所示:r-应曲:辭考轨谨川4H)十严忏算I图模型算法控,理结构图附录clcclearNum1=0.2713;den=10.9;numm=0.2713;denm=11;%定义对象及模型的传递函数n=40;t1=0:0.1:n/10;g=1*impulse(Num1,den,t1);gm=1*impulse(numm,denm,t

9、1);fori=1:ng(i)=g(i+1);endfori=1:ngm(i)=gm(i+1);enda=g;am=gm;N=40;p=15;M=1;m=M;G=zeros(p,m);fori=1:pforj=1:mifi=jG(i,j)=g(1);elseifijG(i,j)=g(1+i-j);elseG(i,j)=0;endendendifims=0;fork=1:(i-m+1)s=s+g(k);G(i,m)=s;endendendF=zeros(p,n-1);fori=1:pk=1;forj=(n-1):-1:1ifi=jF(i,j)=g(n);elseifijF(i,j)=0;else

10、F(i,j)=g(i+k);endendk=k+1;endendR=1.0*eye(m);%定义各系数矩阵%求解对象输出%求解模型输出Q=0.9*eye(p);H=0.3*ones(p,1);e=zeros(4*N,4);y=e;ym=y;U=zeros(4*N,4);w=1;Yr=zeros(4*N,4);b=0.1;0.4;0.6;0.9;fori=1:4fork=N+1:4*Ny(k,i)=a(1:N)*U(k-1:-1:k-N,i);ym(k,i)=am(1:N)*U(k-1:-1:k-N,i);e(k)=y(k)-ym(k);forj=1:pYr(k+j,i)=b(i)八(j)*y(

11、k)+(1-b(i)八(j)*w;enddt=1zeros(1,m_1)*inv(G*Q*G+R)*G*Q;U(k,i)=dt*(Yr(k+1:k+p,i)_F*U(k_N+1:k_1,i)_H*e(k);endendt=0:0.1:11.9;subplot(2,1,1);plot(t,y(N:N+119,1)holdon;plot(t,y(N:N+119,2)holdonplot(t,y(N:N+119,3)holdon;plot(t,y(N:N+119,4)%t,y(N:N+119,3),t,y(N:N+119,4),t,Yr(N:N+119,1),t,w*ones(1,120);%gri

12、don%legend(输出1,输出2,输出3,输出4,柔化曲线,期望曲线);%title(PlotofMAC);%plot(U);%gridon;%DMC.m动态矩阵控制(DMC)Num1=0.2713;den=1-0.83510000;G=tf(Num1,den,Ts.0.4);%连续系统Ts=0.4;%采样时间TsG=c2d(G,Ts);%被控对象离散化Num1,den,=tfdata(G,v);N=60;%建模时域Na=step(G,1*Ts:Ts:N*Ts);%计算模型向量aM=2;%控制时域P=15;%优化时域forj=1:Mfori=1:P-j+1A(i+j-1,j)=a(i,1)

13、;%动态矩阵A%误差权矩阵Q%控制权矩阵R%取首元素向量C1*M%取首元素向量E1*N%控制向量d=d1d2%校正向量h(N维列向量).dpendendQ=1*eye(P);R=1*eye(M);C=1,zeros(1,M-1);E=1,zeros(1,N-1);d=C*(A*Q*A+R)入(_1)*A*Q;h=1*ones(1,N);%N*N移位阵SI=eye(P,P),zeros(P,N_P);%Yp0=I*YNoS=zeros(N_1,1)eye(N_1);zeros(1,N_1),1;sim(DMCsimulink)%运行siumlink文件subplot(2,1,1);%图形显示pl

14、ot(y,LineWidth,2);holdon;plot(w,:r,LineWidth,2);xlabel(fontsize15k);ylabel(fontsize15y,w);legend(输出值,设定值)gridon;subplot(2,1,2);plot(u,g,LineWidth,2);xlabel(fontsize15k);ylabel(fontsize15u);gridon;附2DMC程序代码%DMC控制算法%DMC.m动态矩阵控制(DMC)num=0.2713;den=10.83510000;G=tf(num,den,Ts.0.4);Ts=0.4;G=c2d(G,Ts);%连续

15、系统%采样时间Ts%被控对象离散化num,den,=tfdata(G,v);N=60;%建模时域Na=step(G,1*Ts:Ts:N*Ts);%计算模型向量aM=2;%控制时域P=15;%优化时域forj=1:Mfori=1:P-j+1A(i+j-1,j)=a(i,1);endendQ=1*eye(P);R=1*eye(M);C=1,zeros(1,M1);E=1,zeros(1,N1);d=c*(A*Q*A+R)入(_1)*A*Q;h=1*ones(1,N);%动态矩阵A%误差权矩阵Q%控制权矩阵R%取首元素向量C1*M%取首元素向量E1*N%控制向量d=d1d2%校正向量h(N维列向量)

16、.dpI=eye(P,P),zeros(P,N_P);%Yp0=I*YNoS=zeros(N_1,1)eye(N_1);zeros(1,N_1),1;%N*N移位阵Ssim(DMCsimulink)%运行siumlink文件subplot(2,1,1);%图形显示plot(y,LineWidth,2);holdon;plot(w,:r,LineWidth,2);xlabel(fontsize15k);ylabel(fontsize15y,w);legend(输出值,设定值)gridon;subplot(2,1,2);plot(u,g,LineWidth,2);xlabel(fontsize15k);ylabel(fontsize15u);gridon;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!