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