最小方差控制
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 2
2 最小方差控制
最小方差控制的目的是要确定u(k),使得输出的方差为最 小,由于u(k)最早只能影响到y(k+d),因此选择性能指标为
J E{ y(k d ) }
2
(14)
上式可改写为:
ˆ (k d k ) ~ J E{ y (k d ) 2 } E{[ y y (k d k )]2 } ˆ (k d k ) 2 } E{~ E{ y y (k d k ) 2 }
在最小方差调节器的研究中,所讨论的被控系统的模型为 A(q-1)y(k)=B(q-1)u(k-d)+C(q-1)e(k) (1)
1 1 n A ( q ) 1 a q a q 其中: 1 n
B (q 1 ) b0 b1q 1 bn q n C (q 1 ) 1 c1q 1 cn q n
刻及以前的输入输出的函数。若对预测的要求是使预测的误差平 方即系统误差的方差为最小,则损失函数可表示为:
ˆ (k d k ) y (k d )]2 } J E{[ y
1 1 1 B ( q ) F ( q ) G ( q ) 1 2 ˆ ( k d k ) F ( q )e( k d ) E{[ y u ( k ) y ( k )] } 1 1 C (q ) C (q ) (10) 上式中F(q-1)e(k+d)与其它项均不相关,且由于{e(k)}为零均值 白噪声序列,式(10)可写为
1 最小方差预测
设在k时刻已观测到输出值y(k),y(k-1),…等,希望由此得到预 测值 y ˆ (k d k ) 。
1 1 B ( q ) C ( q ) 由式(1)有: y (k d ) u (k ) e(k d ) 1 1 A(q ) A(q )
(2)
右边为u(k),u(k-1),…;e(k+d),e(k+d-1),…,e(k+1),e(k),e(k-1),…, 等变量的线性组合, u(k),u(k-1)……为系统输入,可直接测量。 随机变量e(k),e(k-1)……可根据在k时刻为止的系统输入输出 值计算得到。 e(k+1), ……,e(k+d)为系统在k时刻以后的干扰输入,与直到 k时刻为止的系统输入输出观测值无关。 为了有效利用直到k时刻为止的系统输入输出观测值进行预测, 须将这两类变量区分开。为此可将C(q-1)/A(q-1)分成两部分:
J E{[ F (q 1 )e(k Fra bibliotekd )]2 }
ˆ (k d k ) 的选择无关 与y
(11)
B(q 1 ) F (q 1 ) G(q 1 ) 2 ˆ (k d k ) E{[ y u ( k ) y ( k )] } 1 1 C (q ) C (q )
B(q 1 ) F (q 1 ) G(q 1 ) ˆ (k d k ) y u (k ) y (k ) 1 1 C (q ) C (q )
•
仿真
程序清单: %*************系统初始化************% a=[1 -1.7 0.7]; b=[1 0.5]; c=[1 0.2]; k=4; %对象 参数 na=length(a)-1; nb=length(b)-1; nc=length(c)-1; %na、nb、nc为多项式A、B、C阶次 nd=k-1;nf=nb+nd; ne=na-1; %nd、nf、ng为多 项式D、F、G的阶次 %**********递推辨识和控制*********% for t=1:K y(t)=a(2:na+1)*yt(1:na)+b*ut(k:k+nb)+c*[w(t);wt]; % 采集输出数据 phie=[yt(k:k+ne);ut(k:k+nf);-yet(1:nc);wet]; ye=phie'*thetae_1; %输出的估计值,用之前 的参数向量计算 %递推增广最小二乘法C(Z)*y(t)=E(Z)*y(tk)+F(Z)*u(t-k)+C(Z)*D(Z)*w(t) %实际用此式进行计算式,使用t-k时刻的数 据去计算t时刻的输出,故y(t-1)...y(t-nc) %是不知道的,故用估计输出代替 L=P*phie/(1+phie'*P*phie); thetae(:,t)=thetae_1(:,1)+L*(y(t)phie'*thetae_1(:,1)); P=(eye(na+nb+k+nc+nc+nd)-L*phie')*P; thetae_1=thetae(:,t); %参数向量更新 we=y(t)-phie'*thetae_1; %白噪声的估计值
F和G可通过长除法得到,F为商,而q-dG(q-1)为余因子。 也可通过将式(3)写成
C(q 1 ) A(q 1 ) F (q 1 ) q d G(q 1 )
1 C (q 1 ) G ( q ) 1 e(k d ) F (q )e(k d ) e(k ) 1 1 A(q ) A(q )
利用式(4)可将式(8)化简为:
(8)
1 1 1 B ( q ) F ( q ) G ( q ) 1 y(k d ) F (q )e(k d ) u (k ) y(k ) (9) 1 1 C (q ) C (q ) 记基于k时刻的观测值对y(k+d)的预报为: ˆ (k d k ) 则它是k时 y
d 1 C (q 1 ) q G ( q ) 1 F (q ) 1 A(q ) A(q 1 )
(3)
F (q 1 ) 1 f1q 1 f d 1q ( d 1) G (q 1 ) g 0 g1q 1 g n 1q ( n 1)
•
•
最小方差自校正控制器
在自校正调节器中,通常认为参考输入为零,性 能指标为输出方差最小,对控制信号没有加以限制。 • 按照这种目标函数设计的自校正调节器不适应用 于非逆稳定的受控系统,为克服这些缺点D.W.Clarke和 P.I.Gawthrop等人于1975年提出了自校正控制器的算法。 • 在实际的控制系统中,经常会遇到跟踪问题,希 望系统的输出y(t)能很好的跟踪参考输入yr(t) 。另一方面, 希望对控制信号加以一定限制。
(4)
然后比较两边系数得到。由(3)可将(2)右边的噪声项写成:
(5)
代入(2)可得:
1 B(q 1 ) G ( q ) 1 y (k d ) u(k ) F (q )e(k d ) e(k ) (6) 1 1 A(q ) A(q ) 而由式(1)有: A(q 1 ) B(q 1 ) d e(k ) y (k ) q u (k ) (7) 1 1 C (q ) C (q ) 代入式(6)有: 1 1 d 1 1 B ( q ) G ( q ) q B ( q ) G ( q ) y(k d ) F (q 1 )e(k d ) [ ] u ( k ) y (k ) 1 1 1 1 A(q ) A(q )C (q ) C (q )
对该系统,有如下假设: 1. 被控系统时滞时间d以及时滞算子q-1的多项式A、B和C的阶 次及系数都已知; 2. 被控系统为最小相位系统,即多项式B(q-1)的所有零点都在单 位圆内; 3.A(q-1) 、 C(q-1) 所有零点都为稳定的 , 即所有零点都在单位 圆内; 4. {e(k)}为零均值白色噪声序列,且E{e2(k)}=2.
最小方差自校正调节器
自 校 正 调 节 器 (SelfTuning Regulator, STR) 最 早 是 由 Astrom 和 Wittenmark于1973年首 先提出来的 , 其结构如 图1所示.
• STR是以RLS参数估计方法在线估计最优预报模型,并在此 基础上以输出方差最小为调节指标的一种可以适应参数未 知或慢时变的自适应控制系统. • 欲讨论参数未知时能调节系统输出方差至最小的STR,需先 引入参数已知时调节系统输出方差最小的最小方差调节器. • 最小方差调节的基本思想是: – 由于系统中信道存在着d步时滞,这就使得当前的控制作 用u(k)要到d个采样周期后才能对输出产生影响. – 因此,要获得输出方差最小,就必须对输出量提前d步进 行预报,然后根据预报值来计算适当的调节作用u(k). – 这样,通过不断的预报和调节,就能始终保持输出量的稳 态方差为最小.
因此当上式中第2项为0时,可使J最小。因此最小方差预测为: (12)
ˆ (k d k ) 的方差为 最小方差预测估计的误差 ~ y (k d k ) y(k d ) - y
var{ ~ y (k d k )} E{[ F (q 1 )e(k d )] 2 } (1 f1 f d 1 ) 2 (13)
• 记为
• 预测模型与自校正调节器的一样,为:
• 将预测模型代入目标函数:
• 使得J最优的控制律
• 目标函数
•
该目标函数又称广义最小方差准则,因 此这里所讨论的最小方差控制又称广义最 小方差自校正控制。
• 最小方差自校正控制器的稳定性问题
• B的零点成为闭环特征方程的根,如 果B为非稳定多项式,即控制对象为非逆稳, 闭环系统就不稳定了。但可以通过合理选 择权因子,保证系统稳定。
%提取辨识参数 ge=thetae_1(1:ne+1)'; fe=thetae_1(ne+2:ne+nf+2)'; ce=[1 thetae_1(ne+nf+3:ne+nf+2+nc)']; if abs(ce(2))>0.9 %稳定边界为1,取0.9 ce(2)=sign(ce(2))*0.9; end if fe(1)<0.1 %设f0的下界为0.1 fe(1)=0.1; end %求控制量u(k)=[C(Z)*yr(k+d)E(Z)*y(k)]/[B(Z)*D(Z)] u(t)=(-fe(2:nf+1)*ut(1:nf)+ce*[yr(t+k:-1:t+kmin(k,nc));yrt(1:nc-k)]-ge*[y(t);yt(1:na1)])/fe(1); %更新数据 for i=k+nf:-1:2 ut(i)=ut(i-1); end ut(1)=u(t);
(16)
B(q 1 ) F (q 1 )u(k ) -G(q 1 ) y(k )
(17)
此时系统输出的方差为: 2 2 E{ y (k d ) 2 } E{ ~ y (k d k ) 2 } (1 f1 f d 1 ) 2 (18)
由式(16)可见,最小方差控制律可以通过先求出输出提前d步的 ˆ (k d k ) ,然后令 y ˆ (k d k ) 等于理想输出值yr(这里yr=0) 预测值 y 而得到,因此最小方差控制问题可分离成两个问题,一个是预测 问题,另一个是控制问题。
•
因此提出了最小方差自校正控制问题。它仍然选用二 次型指标函数,但在指标函数中引入了参考输出项和控制 作用的加权项。 • 目标函数:
•
其中 都是时滞算子q-1的 多项式,分别为系统输出y(t),伺服输入yr(t)和控制作用 u( t ) 的加权因子,其选取按对跟踪精度的要求和对 u( t ) 的限制而定。
预测误差,e(k+1),…,e(k+d)的线性组合。
(15)
显然,使式(15)中性能指标取最小值的充要条件是:
B(q 1 ) F (q 1 ) G(q 1 ) ˆ (k d k ) y u (k ) y (k ) 0 1 1 C (q ) C (q )
因此最小方差控制律为:
K=400; %控制步数 ut=zeros(k+nf,1); %输入历史的初值 yt=zeros(k+ne,1); %输出历史的初值 yet=zeros(nc,1); %输出估计历史的初值 yrt=zeros(nc,1); %期望输出历史初值 wt=zeros(nc,1); %白噪声历史的初值 wet=zeros(nc+k-1,1); %白噪声估计历史的初值 yr=10*[ones(K/2,1);-ones(K/2+k,1)]; %期望输 出 w=sqrt(0.1)*randn(K,1); %白噪声序列 %递推估计初值 thetae_1=0.001*ones(na+nb+k+nc+nc+nd,1); P=10^8*eye(na+nb+k+nc+nc+nd);
2 最小方差控制
最小方差控制的目的是要确定u(k),使得输出的方差为最 小,由于u(k)最早只能影响到y(k+d),因此选择性能指标为
J E{ y(k d ) }
2
(14)
上式可改写为:
ˆ (k d k ) ~ J E{ y (k d ) 2 } E{[ y y (k d k )]2 } ˆ (k d k ) 2 } E{~ E{ y y (k d k ) 2 }
在最小方差调节器的研究中,所讨论的被控系统的模型为 A(q-1)y(k)=B(q-1)u(k-d)+C(q-1)e(k) (1)
1 1 n A ( q ) 1 a q a q 其中: 1 n
B (q 1 ) b0 b1q 1 bn q n C (q 1 ) 1 c1q 1 cn q n
刻及以前的输入输出的函数。若对预测的要求是使预测的误差平 方即系统误差的方差为最小,则损失函数可表示为:
ˆ (k d k ) y (k d )]2 } J E{[ y
1 1 1 B ( q ) F ( q ) G ( q ) 1 2 ˆ ( k d k ) F ( q )e( k d ) E{[ y u ( k ) y ( k )] } 1 1 C (q ) C (q ) (10) 上式中F(q-1)e(k+d)与其它项均不相关,且由于{e(k)}为零均值 白噪声序列,式(10)可写为
1 最小方差预测
设在k时刻已观测到输出值y(k),y(k-1),…等,希望由此得到预 测值 y ˆ (k d k ) 。
1 1 B ( q ) C ( q ) 由式(1)有: y (k d ) u (k ) e(k d ) 1 1 A(q ) A(q )
(2)
右边为u(k),u(k-1),…;e(k+d),e(k+d-1),…,e(k+1),e(k),e(k-1),…, 等变量的线性组合, u(k),u(k-1)……为系统输入,可直接测量。 随机变量e(k),e(k-1)……可根据在k时刻为止的系统输入输出 值计算得到。 e(k+1), ……,e(k+d)为系统在k时刻以后的干扰输入,与直到 k时刻为止的系统输入输出观测值无关。 为了有效利用直到k时刻为止的系统输入输出观测值进行预测, 须将这两类变量区分开。为此可将C(q-1)/A(q-1)分成两部分:
J E{[ F (q 1 )e(k Fra bibliotekd )]2 }
ˆ (k d k ) 的选择无关 与y
(11)
B(q 1 ) F (q 1 ) G(q 1 ) 2 ˆ (k d k ) E{[ y u ( k ) y ( k )] } 1 1 C (q ) C (q )
B(q 1 ) F (q 1 ) G(q 1 ) ˆ (k d k ) y u (k ) y (k ) 1 1 C (q ) C (q )
•
仿真
程序清单: %*************系统初始化************% a=[1 -1.7 0.7]; b=[1 0.5]; c=[1 0.2]; k=4; %对象 参数 na=length(a)-1; nb=length(b)-1; nc=length(c)-1; %na、nb、nc为多项式A、B、C阶次 nd=k-1;nf=nb+nd; ne=na-1; %nd、nf、ng为多 项式D、F、G的阶次 %**********递推辨识和控制*********% for t=1:K y(t)=a(2:na+1)*yt(1:na)+b*ut(k:k+nb)+c*[w(t);wt]; % 采集输出数据 phie=[yt(k:k+ne);ut(k:k+nf);-yet(1:nc);wet]; ye=phie'*thetae_1; %输出的估计值,用之前 的参数向量计算 %递推增广最小二乘法C(Z)*y(t)=E(Z)*y(tk)+F(Z)*u(t-k)+C(Z)*D(Z)*w(t) %实际用此式进行计算式,使用t-k时刻的数 据去计算t时刻的输出,故y(t-1)...y(t-nc) %是不知道的,故用估计输出代替 L=P*phie/(1+phie'*P*phie); thetae(:,t)=thetae_1(:,1)+L*(y(t)phie'*thetae_1(:,1)); P=(eye(na+nb+k+nc+nc+nd)-L*phie')*P; thetae_1=thetae(:,t); %参数向量更新 we=y(t)-phie'*thetae_1; %白噪声的估计值
F和G可通过长除法得到,F为商,而q-dG(q-1)为余因子。 也可通过将式(3)写成
C(q 1 ) A(q 1 ) F (q 1 ) q d G(q 1 )
1 C (q 1 ) G ( q ) 1 e(k d ) F (q )e(k d ) e(k ) 1 1 A(q ) A(q )
利用式(4)可将式(8)化简为:
(8)
1 1 1 B ( q ) F ( q ) G ( q ) 1 y(k d ) F (q )e(k d ) u (k ) y(k ) (9) 1 1 C (q ) C (q ) 记基于k时刻的观测值对y(k+d)的预报为: ˆ (k d k ) 则它是k时 y
d 1 C (q 1 ) q G ( q ) 1 F (q ) 1 A(q ) A(q 1 )
(3)
F (q 1 ) 1 f1q 1 f d 1q ( d 1) G (q 1 ) g 0 g1q 1 g n 1q ( n 1)
•
•
最小方差自校正控制器
在自校正调节器中,通常认为参考输入为零,性 能指标为输出方差最小,对控制信号没有加以限制。 • 按照这种目标函数设计的自校正调节器不适应用 于非逆稳定的受控系统,为克服这些缺点D.W.Clarke和 P.I.Gawthrop等人于1975年提出了自校正控制器的算法。 • 在实际的控制系统中,经常会遇到跟踪问题,希 望系统的输出y(t)能很好的跟踪参考输入yr(t) 。另一方面, 希望对控制信号加以一定限制。
(4)
然后比较两边系数得到。由(3)可将(2)右边的噪声项写成:
(5)
代入(2)可得:
1 B(q 1 ) G ( q ) 1 y (k d ) u(k ) F (q )e(k d ) e(k ) (6) 1 1 A(q ) A(q ) 而由式(1)有: A(q 1 ) B(q 1 ) d e(k ) y (k ) q u (k ) (7) 1 1 C (q ) C (q ) 代入式(6)有: 1 1 d 1 1 B ( q ) G ( q ) q B ( q ) G ( q ) y(k d ) F (q 1 )e(k d ) [ ] u ( k ) y (k ) 1 1 1 1 A(q ) A(q )C (q ) C (q )
对该系统,有如下假设: 1. 被控系统时滞时间d以及时滞算子q-1的多项式A、B和C的阶 次及系数都已知; 2. 被控系统为最小相位系统,即多项式B(q-1)的所有零点都在单 位圆内; 3.A(q-1) 、 C(q-1) 所有零点都为稳定的 , 即所有零点都在单位 圆内; 4. {e(k)}为零均值白色噪声序列,且E{e2(k)}=2.
最小方差自校正调节器
自 校 正 调 节 器 (SelfTuning Regulator, STR) 最 早 是 由 Astrom 和 Wittenmark于1973年首 先提出来的 , 其结构如 图1所示.
• STR是以RLS参数估计方法在线估计最优预报模型,并在此 基础上以输出方差最小为调节指标的一种可以适应参数未 知或慢时变的自适应控制系统. • 欲讨论参数未知时能调节系统输出方差至最小的STR,需先 引入参数已知时调节系统输出方差最小的最小方差调节器. • 最小方差调节的基本思想是: – 由于系统中信道存在着d步时滞,这就使得当前的控制作 用u(k)要到d个采样周期后才能对输出产生影响. – 因此,要获得输出方差最小,就必须对输出量提前d步进 行预报,然后根据预报值来计算适当的调节作用u(k). – 这样,通过不断的预报和调节,就能始终保持输出量的稳 态方差为最小.
因此当上式中第2项为0时,可使J最小。因此最小方差预测为: (12)
ˆ (k d k ) 的方差为 最小方差预测估计的误差 ~ y (k d k ) y(k d ) - y
var{ ~ y (k d k )} E{[ F (q 1 )e(k d )] 2 } (1 f1 f d 1 ) 2 (13)
• 记为
• 预测模型与自校正调节器的一样,为:
• 将预测模型代入目标函数:
• 使得J最优的控制律
• 目标函数
•
该目标函数又称广义最小方差准则,因 此这里所讨论的最小方差控制又称广义最 小方差自校正控制。
• 最小方差自校正控制器的稳定性问题
• B的零点成为闭环特征方程的根,如 果B为非稳定多项式,即控制对象为非逆稳, 闭环系统就不稳定了。但可以通过合理选 择权因子,保证系统稳定。
%提取辨识参数 ge=thetae_1(1:ne+1)'; fe=thetae_1(ne+2:ne+nf+2)'; ce=[1 thetae_1(ne+nf+3:ne+nf+2+nc)']; if abs(ce(2))>0.9 %稳定边界为1,取0.9 ce(2)=sign(ce(2))*0.9; end if fe(1)<0.1 %设f0的下界为0.1 fe(1)=0.1; end %求控制量u(k)=[C(Z)*yr(k+d)E(Z)*y(k)]/[B(Z)*D(Z)] u(t)=(-fe(2:nf+1)*ut(1:nf)+ce*[yr(t+k:-1:t+kmin(k,nc));yrt(1:nc-k)]-ge*[y(t);yt(1:na1)])/fe(1); %更新数据 for i=k+nf:-1:2 ut(i)=ut(i-1); end ut(1)=u(t);
(16)
B(q 1 ) F (q 1 )u(k ) -G(q 1 ) y(k )
(17)
此时系统输出的方差为: 2 2 E{ y (k d ) 2 } E{ ~ y (k d k ) 2 } (1 f1 f d 1 ) 2 (18)
由式(16)可见,最小方差控制律可以通过先求出输出提前d步的 ˆ (k d k ) ,然后令 y ˆ (k d k ) 等于理想输出值yr(这里yr=0) 预测值 y 而得到,因此最小方差控制问题可分离成两个问题,一个是预测 问题,另一个是控制问题。
•
因此提出了最小方差自校正控制问题。它仍然选用二 次型指标函数,但在指标函数中引入了参考输出项和控制 作用的加权项。 • 目标函数:
•
其中 都是时滞算子q-1的 多项式,分别为系统输出y(t),伺服输入yr(t)和控制作用 u( t ) 的加权因子,其选取按对跟踪精度的要求和对 u( t ) 的限制而定。
预测误差,e(k+1),…,e(k+d)的线性组合。
(15)
显然,使式(15)中性能指标取最小值的充要条件是:
B(q 1 ) F (q 1 ) G(q 1 ) ˆ (k d k ) y u (k ) y (k ) 0 1 1 C (q ) C (q )
因此最小方差控制律为:
K=400; %控制步数 ut=zeros(k+nf,1); %输入历史的初值 yt=zeros(k+ne,1); %输出历史的初值 yet=zeros(nc,1); %输出估计历史的初值 yrt=zeros(nc,1); %期望输出历史初值 wt=zeros(nc,1); %白噪声历史的初值 wet=zeros(nc+k-1,1); %白噪声估计历史的初值 yr=10*[ones(K/2,1);-ones(K/2+k,1)]; %期望输 出 w=sqrt(0.1)*randn(K,1); %白噪声序列 %递推估计初值 thetae_1=0.001*ones(na+nb+k+nc+nc+nd,1); P=10^8*eye(na+nb+k+nc+nc+nd);