中國(guó)長(zhǎng)江三峽集團(tuán)樞紐管理局 吳凡 李偉雄
基于MATLAB系統(tǒng)辨識(shí)工具的系統(tǒng)辨識(shí)
中國(guó)長(zhǎng)江三峽集團(tuán)樞紐管理局吳凡李偉雄
辨識(shí)就是按照一個(gè)準(zhǔn)則在一組模型類中選擇一個(gè)與數(shù)據(jù)擬合得最好的模型。該文通過一個(gè)加熱模型,介紹了在MATLAB環(huán)境下利用MATLAB系統(tǒng)辨識(shí)工具箱可視化操作,實(shí)現(xiàn)系統(tǒng)辨識(shí)的全過程。MATLAB系統(tǒng)辨識(shí)工具箱具有功能豐富、可擴(kuò)展性好、使用方便、操作直觀等特點(diǎn)。通過實(shí)際使用案例也證實(shí)工具箱的有效和可靠,可作為辨識(shí)研究和教學(xué)的輔助工具。
加熱系統(tǒng);系統(tǒng)辨識(shí);可視化;MATLAB辨識(shí)工具箱
在系統(tǒng)控制設(shè)計(jì)中,控制器參數(shù)的確定方法主要有工程方法和理論方法。工程方法不用建模,但存在調(diào)試?yán)щy、不容易達(dá)到到最佳效果的缺點(diǎn)。理論方法可克服這些缺點(diǎn),但在系統(tǒng)辨識(shí)工具出現(xiàn)以前建立數(shù)學(xué)模型是一件難事,限制了理論法的應(yīng)用。
系統(tǒng)辨識(shí)理論是通過考察輸入輸出數(shù)據(jù)建立動(dòng)態(tài)系統(tǒng)模型的學(xué)科技術(shù),是聯(lián)系控制理論和數(shù)學(xué)模型的抽象世界與實(shí)際應(yīng)用的現(xiàn)實(shí)世界的接口。MATLAB系統(tǒng)辨識(shí)工具箱的出現(xiàn),為這一理論的應(yīng)用提供了有力工具。應(yīng)用系統(tǒng)辨識(shí)工具不需要對(duì)系統(tǒng)做任何分析,只需要記錄在人為輸入作用下的輸出響應(yīng),或正常運(yùn)行時(shí)的輸入、輸出記錄的數(shù)據(jù),就能建立動(dòng)態(tài)系統(tǒng)的數(shù)學(xué)模型(“黑箱法”)。對(duì)于已知描述系統(tǒng)的數(shù)學(xué)方程形式(常微分或差分方程)的情況,也可以用此工具計(jì)算數(shù)學(xué)方程的各項(xiàng)系數(shù),由此確定系統(tǒng)模型(“灰箱法”),這使得建模工作變得簡(jiǎn)單易行。因此,理論法將成為今后控制工程設(shè)計(jì)的主導(dǎo)方法。
對(duì)于一個(gè)系統(tǒng),在輸入、輸出數(shù)據(jù)的基礎(chǔ)上,從一組給定模型類中,確定一個(gè)與所測(cè)系統(tǒng)等價(jià)的模型,這種方法叫作辨識(shí)。系統(tǒng)測(cè)得數(shù)據(jù)用h(k)表示,輸出用z(k)表示,辨識(shí)模型的輸出估計(jì)為z^(k),實(shí)際輸出與它的偏差為z(k)。辨識(shí)就是通過某種算法,利用模型輸出與實(shí)際輸出間的誤差不斷糾正模型參數(shù),最終得到最優(yōu)模型的過程。
2.1系統(tǒng)參數(shù)模型的確定
SISO系統(tǒng)分為確定性模型和隨機(jī)模型,由于加熱系統(tǒng)會(huì)受到隨機(jī)擾動(dòng)的影響,其模型應(yīng)為隨機(jī)模型,隨機(jī)模型的表示形式為:A(z-1)y(k)=z-dB(z-1)u(k)+c(z-1)ζ(k)(1)
式中,分別為系統(tǒng)的輸入、輸出和系統(tǒng)隨機(jī)擾動(dòng),根據(jù)系統(tǒng)參數(shù)和控制量取值的不同,可將模型分為自回歸模型(AR模型)、滑動(dòng)平均模型(MA模型)、自回歸滑動(dòng)平均模型(ARMA模型)、帶控制量的自回歸模型(CAR模型也稱ARX模型)、帶控制量的自回歸滑動(dòng)平均模型(CARMA模型或稱為ARMAX模型)和帶控制量的自回歸積分滑動(dòng)平均模型(CARIMA模型或稱為ARIMAX)。
該次對(duì)加熱系統(tǒng)采用的為ARX模型,其表達(dá)式為:A(z-1)y(k) =z-dB(z-1)u(k)+ζ(k)(2)
2.2辨識(shí)輸入/輸出數(shù)據(jù)的獲取
系統(tǒng)的基本模型確定后,我們就要獲得輸入輸出信號(hào),這里我們通過實(shí)驗(yàn)選取了一組閥控對(duì)稱缸的輸入輸出數(shù)據(jù)。
3.1辨識(shí)所針對(duì)的實(shí)際問題
有一個(gè)加熱的系統(tǒng),其加熱原理是在其入口處采用網(wǎng)狀電阻絲對(duì)其內(nèi)空氣進(jìn)行加熱,原理如同吹風(fēng)機(jī),此系統(tǒng)的輸入為供給電阻絲的能量,系統(tǒng)輸出時(shí)加熱系統(tǒng)出口處空氣的溫度。這是典型的線性SISO系統(tǒng),此系統(tǒng)包含1000個(gè)輸入輸出數(shù)據(jù),現(xiàn)在要根據(jù)系統(tǒng)的輸入輸出數(shù)據(jù)找出描述系統(tǒng)特性的最佳模型。
3.2加熱系統(tǒng)的辨識(shí)過程
(1)導(dǎo)入數(shù)據(jù):由于此例子是MATLAB自帶的,所以軟件的數(shù)據(jù)包中已經(jīng)存在,此數(shù)據(jù)在MATLAB中的名稱為dryer2,因此我們只需在MATLAB Command Window窗口中輸入如下指令:load dryer2,輸入指令后,系統(tǒng)就會(huì)出現(xiàn)如圖1所示的界面,可以看到在Workspacec窗口中出現(xiàn)了兩組數(shù)據(jù)u2和y2,這兩組數(shù)據(jù)正是上面所說加熱系統(tǒng)的輸入和輸出數(shù)據(jù)u2為輸入,y2為輸出。
圖1 數(shù)據(jù)加載界面
(2)導(dǎo)入數(shù)據(jù)到系統(tǒng)辨識(shí)工具箱GUI:在GUI圖形界面中點(diǎn)擊Import data(輸入數(shù)據(jù))>time domain date(時(shí)域數(shù)據(jù))會(huì)彈出數(shù)據(jù)輸入對(duì)話框,在對(duì)話框的input欄輸入u2,在output欄輸入y2,這里的兩個(gè)輸入欄是用來輸入上面所說的系統(tǒng)輸入和輸出信號(hào);Data name中輸入的是辨識(shí)數(shù)據(jù)名稱,默認(rèn)為mydata,這里為了區(qū)分,我們就取數(shù)據(jù)名稱為data;Statingtime輸入框輸入的是辨識(shí)的起始時(shí)間,也就是x軸(時(shí)間軸)的起始坐標(biāo),一般取0;samping interval輸入的是采樣間隔(單位s),這里的間隔時(shí)間要由具體的實(shí)驗(yàn)情況而定,此例的采樣間隔設(shè)為0.08s,所有輸入好后界面如圖2所示。
圖2 數(shù)據(jù)輸入對(duì)話框
(3)數(shù)據(jù)屬性輸入完成后點(diǎn)擊import按鈕,系統(tǒng)返回到便是工具箱GUI界面,如圖3所示,可以看到剛才設(shè)置的名為data的辨識(shí)數(shù)據(jù)已經(jīng)被導(dǎo)入GUI中。
圖3 data數(shù)據(jù)導(dǎo)入界面
(4)數(shù)據(jù)畫圖表即預(yù)處理。數(shù)據(jù)畫圖即將導(dǎo)入的數(shù)據(jù)生成圖標(biāo),數(shù)據(jù)預(yù)處理包括對(duì)前面導(dǎo)入的data數(shù)據(jù)進(jìn)行去偏移,以及將數(shù)據(jù)分成估計(jì)模型數(shù)據(jù)和驗(yàn)證模型數(shù)據(jù)兩部分。
勾選GUI界面的time polt圖框會(huì)彈出原始數(shù)據(jù)的圖表界面,如圖4所示,可以看到輸入輸出信號(hào)是有偏差的,點(diǎn)擊GUI界面的preprocess(預(yù)處理)>remove mean(移除平局值),可以得到如圖5所示的偏差消除后的輸出數(shù)據(jù),此時(shí)的數(shù)據(jù)平均值為0。與此同時(shí),在GUI界面的數(shù)據(jù)方框中會(huì)出現(xiàn)一組datad數(shù)據(jù),將圖框中的數(shù)據(jù)拖入Workingdata方框中,如圖7所示,此時(shí)數(shù)據(jù)處理的第一步已經(jīng)完成。
圖4 原始輸入輸出數(shù)據(jù)
圖5 偏差消除后數(shù)據(jù)
(5)模型估計(jì)和驗(yàn)證:點(diǎn)擊Estimate>polynomial models(多項(xiàng)式模型即線性模型)會(huì)彈出模型參數(shù)輸入界面,在模型參數(shù)界面的structure(結(jié)構(gòu))參數(shù)欄選擇ARX:[na nb nk]選項(xiàng),在orders(階數(shù))參數(shù)欄輸入(1:10 1:10 1:10),即模型三個(gè)變量的階數(shù)為1~10階,然后點(diǎn)擊estimate按鈕彈出圖6所示的ARX參數(shù)模型界面,其中紅、藍(lán)、綠三條是不同算法下的吻合度最高的模型。
圖6 ARX參數(shù)模型
其中紅色表示的是用最小二乘法得到的模型,它也是符合度最高的模型,點(diǎn)擊紅色部分,然后點(diǎn)擊insert按鈕,模型就會(huì)自動(dòng)加入GUI界面的import models中,然后勾選model output框,就會(huì)彈出模型輸出曲線界面,如圖7所示,估計(jì)輸出與驗(yàn)證數(shù)據(jù)輸出重合度達(dá)到89.78%,說明估計(jì)模型比較符合實(shí)際。
圖7 ARX592模型輸出
該文討論了MATLAB系統(tǒng)辨識(shí)仿真工具箱GUI模塊的系統(tǒng)辨識(shí)過程。通過工具箱GUI模塊可以非常方便地對(duì)“黑箱”系統(tǒng)進(jìn)行系統(tǒng)辨識(shí),不需要太多的編程,辨識(shí)的效率非常高。通過加熱系統(tǒng)的整個(gè)辨識(shí)過程,我們看到了MATLAB系統(tǒng)辨識(shí)工具箱GUI功能的人性化,它將成為我們求解位置模型的好幫手。
[1]龐中華,崔紅.系統(tǒng)辨識(shí)與自適應(yīng)控制[M].北京:北京航空航天大學(xué)出版社,2009.8.
[2]方崇智,蕭德云.過程辨識(shí)[M].北京:清華大學(xué)出版社, 1988,8.
[3]LjungL.ConvergenceAnalysisofParametric IdentificationMethods[J].IEEETrans.onAutomaticControl, 1978,AC-23:770-783.