景紹學(xué)
(淮陰師范學(xué)院 物理與電子電氣工程學(xué)院,江蘇 淮安 223300)
近年來(lái),非線性系統(tǒng)的辨識(shí)與控制引起了研究人員的廣泛關(guān)注.模塊化非線性系統(tǒng)是非線性系統(tǒng)的一種類型,因結(jié)構(gòu)簡(jiǎn)單、實(shí)用性強(qiáng),在非線性系統(tǒng)建模中獲得了廣泛應(yīng)用[1].Wiener系統(tǒng)是一種典型的模塊化非線性系統(tǒng),由一個(gè)線性動(dòng)態(tài)模塊后面串聯(lián)一個(gè)非線性靜態(tài)模塊組成的.目前,Wiener系統(tǒng)已經(jīng)成功應(yīng)用于許多的工業(yè)過(guò)程建模中,如pH值中和過(guò)程、熱交換器、蒸餾塔等[2-3].
Wiener系統(tǒng)的辨識(shí)問(wèn)題引起了系統(tǒng)辨識(shí)研究人員的持續(xù)關(guān)注,大量的研究成果得以發(fā)表.其中主要的算法包括:Pawlak等[4]在非參數(shù)辨識(shí)方面提出一種兩部算法,先用非線性最小二乘估計(jì)線性模塊的脈沖響應(yīng)函數(shù),基于得到的線性參數(shù)用非參數(shù)核回歸得到非線性模塊的參數(shù)估計(jì)值;Bai[5]提出了一種非參數(shù)方法用于確定辨識(shí)線性環(huán)節(jié)參數(shù)所需的最少的非線性先驗(yàn)知識(shí);Michalkiewicz[6]基于改進(jìn)的神經(jīng)網(wǎng)絡(luò)算法對(duì)一類Wiener系統(tǒng)進(jìn)行了辨識(shí);Tang等[7]先用一系列幅值不等的階躍信號(hào)激勵(lì)Wiener系統(tǒng)以獲得非線性模塊的結(jié)構(gòu)形式,然后基于粒子群優(yōu)化算法對(duì)一類Wiener系統(tǒng)的參數(shù)進(jìn)行了辨識(shí);Duwaish等[8]基于遺傳算法對(duì)一類Wiener系統(tǒng)的參數(shù)辨識(shí)問(wèn)題進(jìn)行了研究;對(duì)于時(shí)變參數(shù)Wiener系統(tǒng),Kobayashi等[9]在不需要估計(jì)中間變量的情況下,基于一種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對(duì)一類Wiener系統(tǒng)進(jìn)行了辨識(shí).Nordsjo等[10]運(yùn)用EKF算法將Wiener系統(tǒng)的辨識(shí)問(wèn)題轉(zhuǎn)換為帶不等約束的非線性優(yōu)化問(wèn)題,并提出了一種CEKF算法;在Wiener系統(tǒng)的頻域辨識(shí)方面,Giri等[11]針對(duì)由非參數(shù)線性模塊和間隙非線性模塊構(gòu)成的Wiener系統(tǒng),運(yùn)用正弦激勵(lì)提出了一種頻域辨識(shí)算法,可以得到參數(shù)的一致估計(jì);非線性形式的表達(dá)方面,研究人員也提出了相應(yīng)的方案,如:Totterman等[12]利用支持向量機(jī)回歸辨識(shí)非線性模塊,Kozek等[13]用最優(yōu)局部線性模型表達(dá)分段線性表示的非線性函數(shù),Voros[14]用多段線性表示非線性模塊;在收斂性分析方面,Hu等[15]給出了一種針對(duì)遞推辨識(shí)算法的強(qiáng)收斂性結(jié)果,Li等[16]分析了一種定點(diǎn)迭代算法的收斂性.
然而,Wiener系統(tǒng)的辨識(shí)問(wèn)題遠(yuǎn)未得到解決.目前存在的主要難點(diǎn)有:
1)在模型結(jié)構(gòu)已知的情況下,大多數(shù)辨識(shí)算法首先參數(shù)化系統(tǒng),然后利用傳統(tǒng)的算法辨識(shí)含有參數(shù)乘積項(xiàng)的過(guò)參數(shù)系統(tǒng),隨后再進(jìn)行參數(shù)的分離工作以得到待辨識(shí)的單個(gè)參數(shù)向量.由于含參數(shù)乘積項(xiàng),導(dǎo)致待辨識(shí)參數(shù)向量的維數(shù)較高,算法的計(jì)算量較大,辨識(shí)代價(jià)較高,實(shí)時(shí)性較差.
2)相當(dāng)一部分算法在辨識(shí)時(shí)沒(méi)有考慮全噪聲的問(wèn)題,或僅考慮了輸出噪聲的影響,對(duì)于工業(yè)上存在的過(guò)程噪聲下的Wiener系統(tǒng)的辨識(shí)問(wèn)題,相關(guān)文獻(xiàn)較少.
為解決上述問(wèn)題,本文提出一種含過(guò)程噪聲Wiener系統(tǒng)的遞推兩階段參數(shù)估計(jì)算法.主要內(nèi)容包括:用有限脈沖響應(yīng)函數(shù)和一種多項(xiàng)式函數(shù)分別表達(dá)系統(tǒng)的動(dòng)態(tài)環(huán)節(jié)的傳遞函數(shù)和靜態(tài)環(huán)節(jié)的反函數(shù);提出一種兩階段算法以消除過(guò)程噪聲的影響;基于遞推思想以減小算法的計(jì)算量.
考慮離散非線性Wiener系統(tǒng)(圖1).圖1中u(k)和y(k)分別為系統(tǒng)的輸入、輸出信號(hào),v(k)為均值為零的高斯白噪聲信號(hào).其中,噪聲v(k)作用在線性子模塊和非線性子模塊的中間,即該噪聲為過(guò)程噪聲.B(z-1)為線性動(dòng)態(tài)子模塊的傳遞函數(shù),N(x2(k))為非線性靜態(tài)函數(shù).x1(k)和x2(k)為不可測(cè)中間變量.過(guò)程噪聲v(k)在較大程度上增加了辨識(shí)的難度.
圖1 過(guò)程噪聲擾動(dòng)的Wiener系統(tǒng)
系統(tǒng)的線性動(dòng)態(tài)傳遞函數(shù)可用一個(gè)階次為nb的有限脈沖響應(yīng)函數(shù)表示,即:
(1)
其中
θb=[b1,b2,…,bnb]T∈nb×1,φb(k)=[u(k-1),u(k-2),…,u(k-nb)]T∈nb×1
(2)
為了描述連續(xù)非線性靜態(tài)函數(shù),多項(xiàng)式函數(shù)被廣泛采用.圖1中非線性函數(shù)N(x2(k))的反函數(shù)可用如下的階次為nβ的多項(xiàng)式逼近:
(3)
其中
θβ=[β1,β2,…,βnβ]T∈nβ×1,φβ(k)=[y(k),y2(k),…,ynβ(k)]T∈nβ×1
(4)
對(duì)于過(guò)程噪聲擾動(dòng)的Wiener系統(tǒng),考慮式(1),有
(5)
(6)
(7)
(8)
不失一般性,令式(8)中β1=1,由式(7)和(8)得
(9)
其中
(10)
(11)
定義并最小化如下的準(zhǔn)則函數(shù)
(12)
(13)
將式(12)改寫成二次型的形式
(14)
其中
(15)
(16)
對(duì)于式(16)給出的參數(shù)估計(jì)值
(17)
由于式(11)和式(15)中的信息向量φ(k)中包含了受噪聲v(k)污染的系統(tǒng)輸出y(k),導(dǎo)致式(17)中的等式右邊第二項(xiàng)中Φ中包含噪聲項(xiàng),因此式(16)給出的最小二乘估計(jì)是有偏估計(jì).
(18)
為此,可采用輔助變量法[17].根據(jù)輔助變量的選取規(guī)則,選擇由上述最小二乘估計(jì)計(jì)算出的線性動(dòng)態(tài)模塊的輸出估計(jì)值作為輔助變量.即:
(19)
(20)
(21)
于是,式(16)變?yōu)?/p>
(22)
其中
(23)
(24)
其中θ0表示參數(shù)的真實(shí)值.
證明在式(22)的兩邊同時(shí)取數(shù)學(xué)期望,當(dāng)L→∞時(shí)
(25)
為減小計(jì)算量,推導(dǎo)算法的遞推形式.將式(22)改寫成
(26)
定義
(27)
由于
(28)
由式(26)可得
(29)
則
(30)
在式(30)兩邊同乘以P-1(k-1)
(31)
考慮到式(27)和(31)和,式(29)變?yōu)?/p>
(32)
令
(33)
式(32)可寫成
(34)
進(jìn)一步把P(k)改成遞推形式,由式(28)
(35)
運(yùn)用矩陣求逆公式,得
(36)
將式(36)代入式(33)得
(37)
綜合式(34),(36)和(37)得到基于輔助變量的參數(shù)估計(jì)遞推公式如下:
(38)
至此,所提估計(jì)算法的步驟歸納如下:
Step1:設(shè)置辨識(shí)初值
Step2:收集輸入、輸出數(shù)據(jù)u(k)和y(k);
Step6:令k=k+1,如果k 由于算法在參數(shù)估計(jì)時(shí)分Step3和Step7兩個(gè)階段遞推進(jìn)行,因此所提的算法被稱為遞推兩階段估計(jì)算法(recursive 2-stage algorithm,R2S).與此相對(duì)應(yīng),兩個(gè)階段均采用一次完成算法的辨識(shí)算法被稱為一次完成兩階段算法(One-shot 2-stage algorithm,O2S). 所提算法的計(jì)算復(fù)雜度如表1所示.由于一般情況下n遠(yuǎn)小于L,所以所提的遞推算法R2S的計(jì)算量遠(yuǎn)小于一次完成算法O2S,仿真例的運(yùn)行時(shí)間也證實(shí)了該結(jié)論. 表1 R2S和O2S算法比較 考慮圖1所示的Wiener系統(tǒng),可得: (39) 其中,輸入幅值在[1,2]之間且服從均勻分布,噪聲為零均值高斯白噪聲. 所提算法R2S對(duì)算例的辨識(shí)結(jié)果如表2所示,參數(shù)估計(jì)誤差隨數(shù)據(jù)長(zhǎng)度變化情況如圖3所示,其中噪聲方差為0.012.從表2和圖3中可以看出,隨著辨識(shí)的進(jìn)行,估計(jì)誤差逐漸減小并趨于穩(wěn)定,當(dāng)數(shù)據(jù)長(zhǎng)度為3 000時(shí),估計(jì)誤差為1.77%,表明所提算法具有較高的辨識(shí)精度. 表2 R2S算法辨識(shí)結(jié)果 作為比較,O2S算法的參數(shù)估計(jì)誤差如表3所示.不難看出,在數(shù)據(jù)長(zhǎng)度和噪聲水平相同的情況下,遞推算法和一次完成算法的估計(jì)誤差相差較小,說(shuō)明兩種算法的精度基本一致,而所提遞推算法的計(jì)算量遠(yuǎn)小于傳統(tǒng)O2S算法. 表3 不同噪聲水平下R2S和O2S估計(jì)誤差 為了顯示所提算法的優(yōu)越性,用單階段RLS算法對(duì)仿真例進(jìn)行了辨識(shí),參數(shù)估計(jì)誤差如圖2中虛線所示,圖中實(shí)線為R2S算法的估計(jì)誤差曲線.對(duì)比兩條曲線不難看出,在同等條件下,所提算法的估計(jì)誤差要遠(yuǎn)小于對(duì)比的RLS算法,印證了單階段RLS算法給出的參數(shù)是有偏的. 圖2 R2S與RLS算法估計(jì)誤差 圖3 不同噪聲水平下R2S算法估計(jì)誤差 運(yùn)用所提算法,在不同噪聲水平下對(duì)所給仿真例進(jìn)行了辨識(shí),圖3顯示了所提算法在不同噪聲水平下的估計(jì)誤差曲線. 從圖3中可以看出: 1)隨著辨識(shí)數(shù)據(jù)的增加,3種噪聲水平下估計(jì)誤差均有下降,表明不同噪聲水平下估計(jì)誤差均隨辨識(shí)數(shù)據(jù)的長(zhǎng)度的增長(zhǎng)而減?。?/p> 2)在辨識(shí)的初始階段,3條曲線參數(shù)估計(jì)值均出現(xiàn)了較大的波動(dòng),隨著辨識(shí)的進(jìn)行,參數(shù)估計(jì)誤差逐漸穩(wěn)定,表明所提算法能給出較穩(wěn)定的參數(shù)估計(jì)值; 3)隨著噪聲水平的提高,曲線波動(dòng)的幅度變大,表明噪聲對(duì)辨識(shí)的影響在增加,并且最終的估計(jì)誤差也在變大,說(shuō)明噪聲水平的升高導(dǎo)致辨識(shí)精度變差,估計(jì)誤差與噪聲水平呈正相關(guān). 為了辨識(shí)一類過(guò)程噪聲擾動(dòng)的Wiener系統(tǒng)的參數(shù),在用FIR函數(shù)和多項(xiàng)式分別逼近待辨識(shí)Wiener的線性動(dòng)態(tài)傳遞函數(shù)和非線性反函數(shù)的基礎(chǔ)上,提出了一種遞推兩階段參數(shù)估計(jì)算法.在參數(shù)化系統(tǒng)的基礎(chǔ)上,分別使用最小二乘算法和輔助變量法進(jìn)行參數(shù)辨識(shí),得到參數(shù)的無(wú)偏估計(jì).在進(jìn)行參數(shù)估計(jì)時(shí),為了減小算法的計(jì)算量,兩個(gè)階段均采用了遞推算法.數(shù)值仿真表明所提算法是有效的.3 算法驗(yàn)證
3.1 R2S與O2S的辨識(shí)結(jié)果比較
3.2 R2S算法與RLS算法的辨識(shí)結(jié)果比較
3.3 不同噪聲水平R2S算法的辨識(shí)結(jié)果比較
4 結(jié)束語(yǔ)
淮陰師范學(xué)院學(xué)報(bào)(自然科學(xué)版)2021年2期