首页 DMC仿真算例

DMC仿真算例

举报
开通vip

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

DMC仿真算例
基于matlab的预测控制(DMC)仿真实验目的:通过对动态矩阵控制的MATLAB仿真,发现其对直接解决带有纯滞后、大惯性的对象,有良好的跟踪性和有较强的鲁棒性,输入已知的控制模型,通过对参数的选择,来获得良好的控制效果。实验原理:预测控制算法是一种基于被控对象非参数数学模型的控制算法,它是一种基于对象阶跃响应的预测控制算法,它以对象的阶跃响应离散系数为模型,避免了一般的传递函数或状态空间方程模型参数的辨识,又由于采用多步预估技术,能有效解决时延过程问题,并按预估输出与给定值偏差最小的二次性能指标实行控制,它合用于渐进稳定的线性对象,系统的动态特性中具有纯滞后或非最小相位特性都不影响改算法的直接应用,因此是一种最优控制技术。实验环境:计算机,matlab实验环节预测控制算法充足运用了反映被控对象动态行为的有用信息,对被控对象时滞和阶次变化的鲁棒性均有所提高,从而得到好的控制性能。但是由于预测控制采用模型预测的方式,其参数的选择对性能有重要的影响。合理的选择控制参数非常重要,它直接影响着系统整体的控制效果。对DMC来说,影响其性能的重要参数有如下几种。1)采样周期T与模型长度N在DMC中采样周期T和模型长度N的选择需要满足香农定理和被控对象的类型及其动态特性的规定。为使模型参数尽量完整的涉及被控对象的动态特性,一般规定NT后的阶跃响应输出值已经接近稳定值。因此,T减小就会导致N增大,若T获得过小,N变大,会增长计算量。而合适的选用采样周期,使模型长度控制在一定的范畴内,避免由于采样周期减少而使模型长度增长使计算量增长,减少系统控制的实时性。因此,从计算机内存和实时计算的需要出发,应选用合适的采样周期和模型长度。2)预测时域长度P预测时域长度P对系统的稳定性和迅速性具有重要的影响。为使滚动优化真正故意义,应使预测时域长度涉及对象的重要动态部分。若预测时域长度P小,虽控制系统的迅速性好,但稳定性和鲁棒性会变差;若预测时域长度P很大,虽明显改善系统的动态性能,即控制系统的稳定性和鲁棒性变好,但系统响应过于缓慢,增长计算时间,减少系统的实时性。3)控制时域长度M控制时域长度M在优化性能指标中表达所要拟定的将来控制量的变化数目,即优化变量的个数。在预测时域长度P已知的状况下,控制时域长度M越小,越难保证输出在各采样点紧密跟踪盼望输出值,系统的响应速度比较慢,但容易得到稳定的控制和较好的鲁棒性;控制时域长度M越大,控制的机动性越强,可以改善系统的动态响应,增大了系统的灵活胜和迅速性,提高控制的敏捷度,但是系统的稳定性和鲁棒性会变差。因此,控制时域长度的选择应兼顾迅速性和稳定性。实验控制算法实例仿真被控对象模型为分别用MAC和DMC算法进行仿真。无论是MAC还是DMC算法,它们都合用于渐进稳定的线性对象,先对该对象进行MAC算法仿真,MAC预测模型为,j=1,2,3,……,P.。写成矩阵形式为,即预测误差为,参照轨迹。流程图如下算法实现由于DMC算法是一种基于模型的控制,并且运用了在线优化的原理,与PID算法相比,显然需要更多的离线准备工作测试对象的阶跃响应要通过解决及模型验证后得到的模型系数a1,……aN。在这里,应当强调模型动态响应必须是光滑的,测量噪声和干扰必须滤除运用仿真程序拟定优化方略,计算出控制系数d1……dp。选择校正系数h1……hN。这三组动态系数拟定后,应置入固定内存单元,以便实时调用。2.参数选择当DMC算法在线实行时,只波及模型参数ai,控制参数di和校正参数hi。但其中除了hi可以由设计者自由选择外,ai取决于对象阶跃响应特性及采样周期的选择,di取决于ai及优化性能指标,她们都是设计的成果而非直接可调参数。在设计中,真正要拟定的参数应当是采样周期T滚动优化参数的初值,涉及预测时域长度P,控制时域长度M,误差权矩阵Q和控制权矩阵R误差校正参数hi。3.用DMC算子进行仿真,得出ysp参照轨迹dTG(z-1)Ĝ(z-1)Hy(k)u(k)e(k)W(k+1)++--(k)++Ŷ0(k+1)++11-z–1u(k)结合matlab中simulink框图和程序对对象进行仿真,得出的成果如下图所示,结论:图中曲线为使用DMC控制后系统的阶跃响应曲线。从图中可看出:采用DMC控制后系统的调节时间小,响应的迅速性好,并且系统的响应无超调。该成果是可以接受的。优化时域P表达我们对k时刻起将来多少步的输出逼近盼望值感爱好。控制时域M表达所要拟定的将来控制量的变化数目。模型算法控制(MAC)方案设计图模型算法控制(MAC)由称模型预测启发控制(MPHC),与MAC相似也合用于渐进稳定的线性对象,但其设计前提不是对象的阶跃响应而是其脉冲响应。它的原理构造图如下图所示:图模型算法控制原理构造图附录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,t1)';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);elseifi>jG(i,j)=g(1+i-j);elseG(i,j)=0;endendendifi>ms=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);elseifi>jF(i,j)=0;elseF(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(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));%gridon%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;%建模时域N[a]=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);endend%动态矩阵AQ=1*eye(P);%误差权矩阵QR=1*eye(M);%控制权矩阵RC=[1,zeros(1,M-1)];%取首元素向量C1*ME=[1,zeros(1,N-1)];%取首元素向量E1*Nd=C*(A'*Q*A+R)^(-1)*A'*Q;%控制向量d=[d1d2...dp]h=1*ones(1,N);%校正向量h(N维列向量)I=[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('\fontsize{15}k');ylabel('\fontsize{15}y,w');legend('输出值','设定值')gridon;subplot(2,1,2);plot(u,'g','LineWidth',2);xlabel('\fontsize{15}k');ylabel('\fontsize{15}u');gridon;附2DMC程序代码%DMC控制算法%DMC.m动态矩阵控制(DMC)num=0.2713;den=[1-0.83510000];G=tf(num,den,’Ts’.0.4);%持续系统Ts=0.4;%采样时间TsG=c2d(G,Ts);%被控对象离散化[num,den,]=tfdata(G,'v');N=60;%建模时域N[a]=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);endend%动态矩阵AQ=1*eye(P);%误差权矩阵QR=1*eye(M);%控制权矩阵RC=[1,zeros(1,M-1)];%取首元素向量C1*ME=[1,zeros(1,N-1)];%取首元素向量E1*Nd=C*(A'*Q*A+R)^(-1)*A'*Q;%控制向量d=[d1d2...dp]h=1*ones(1,N);%校正向量h(N维列向量)I=[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('\fontsize{15}k');ylabel('\fontsize{15}y,w');legend('输出值','设定值')gridon;subplot(2,1,2);plot(u,'g','LineWidth',2);xlabel('\fontsize{15}k');ylabel('\fontsize{15}u');gridon;
本文档为【DMC仿真算例】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_113440
暂无简介~
格式:doc
大小:463KB
软件:Word
页数:16
分类:
上传时间:2018-05-18
浏览量:0