《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > EDA與制造 > 設(shè)計(jì)應(yīng)用 > 遞推最小二乘參數(shù)辨識與仿真實(shí)例
遞推最小二乘參數(shù)辨識與仿真實(shí)例
來源:微型機(jī)與應(yīng)用2011年第20期
關(guān)曉慧,呂躍剛
(華北電力大學(xué) 控制與計(jì)算機(jī)工程學(xué)院,,北京102206)
摘要: 介紹了基于遞推最小二乘法進(jìn)行系統(tǒng)辨識的基本原理,對給定的實(shí)際輸入輸出數(shù)據(jù)運(yùn)用MATLAB的M語言編寫遞推最小二乘算法,,最后給出相應(yīng)的仿真結(jié)果和分析,并對得到的模型進(jìn)行驗(yàn)證,。
Abstract:
Key words :

摘  要: 介紹了基于遞推最小二乘法進(jìn)行系統(tǒng)辨識的基本原理,,對給定的實(shí)際輸入輸出數(shù)據(jù)運(yùn)用MATLAB的M語言編寫遞推最小二乘算法,最后給出相應(yīng)的仿真結(jié)果和分析,,并對得到的模型進(jìn)行驗(yàn)證,。
關(guān)鍵詞: 系統(tǒng)辨識;遞推最小二乘,;MATLAB,;仿真

    對于一個(gè)系統(tǒng),在輸入輸出數(shù)據(jù)的基礎(chǔ)上,,從一組給定模型類中,,確定一個(gè)與所測系統(tǒng)等價(jià)的模型,這種方法叫做辨識,。辨識是在實(shí)際應(yīng)用中獲取系統(tǒng)模型的最為重要的手段之一,,也是數(shù)學(xué)模型和實(shí)際應(yīng)用聯(lián)系的紐帶。而最小二乘類辨識則是在給定的結(jié)構(gòu)框架下,,利用模型輸出與實(shí)際輸出間的誤差不斷糾正模型參數(shù),,最終得到最優(yōu)模型的過程[1]。在使用最小二乘法進(jìn)行參數(shù)估計(jì)時(shí),,為了實(shí)現(xiàn)實(shí)時(shí)控制,,必須優(yōu)化成遞推算法RLS(Recursive Least Square),主要用于在線辨識,。MATLAB是一種面對科學(xué)計(jì)算,、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析,、矩陣計(jì)算,、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗環(huán)境中,為科學(xué)研究,、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語言(如C、Fortran)的編輯模式,,代表了當(dāng)今國際科學(xué)計(jì)算軟件的先進(jìn)水平[2],。
    本文使用MATLAB2009a的M語言對遞推最小二乘算法進(jìn)行編程,最后使用MATLAB自帶的辨識工具箱SIT(System Identification Toolbox)對得到的仿真結(jié)果進(jìn)行了驗(yàn)證,。
1 線性系統(tǒng)辨識[3]
1.1 問題描述


其對應(yīng)的辨識問題的表達(dá)形式如圖2所示,。
    圖2中,h(k)和z(k)是模型的輸入輸出變量,,在離散點(diǎn)上必須是可觀測的,;v(k)為模型噪聲,;?茲是未知模型參數(shù)。

2 仿真實(shí)例[4]
2.1 選擇輸入信號

    為了準(zhǔn)確辨識系統(tǒng)參數(shù),,對輸入信號有如下要求:在辨識時(shí)間內(nèi),,過程的動態(tài)必須被輸入信號持續(xù)激勵。從譜分析角度看,,這就意味著信號頻帶能覆蓋系統(tǒng)的頻帶寬度,。除此之外還要求信號有可重復(fù)性,不能是不可重復(fù)的隨機(jī)噪聲,,因此本文選擇滿足上述要求的M序列作為輸入信號,。
2.2 先驗(yàn)知識
    在對給定的過程進(jìn)行辨識之前,掌握如下先驗(yàn)知識:純遲延d=0,;模型如式(7)所示,,且數(shù)據(jù)長度L=1 000,na=nb=4,。

2.4 模型驗(yàn)證
    本文使用MATLAB自帶的辨識工具箱SIT(System Identification Toolbox)對得到的仿真結(jié)果進(jìn)行驗(yàn)證,。在MATLAB2009a的Command Window中輸入ident命令,SIT被打開,。需將給定的輸入輸出數(shù)據(jù)設(shè)置為該模塊的輸入輸出方可進(jìn)行驗(yàn)證,。結(jié)果如圖4所示。

 

 

    由圖3(c)和圖4(c)中所得的模型參數(shù)可以看出,,本文編寫的遞推最小二乘算法可以快速準(zhǔn)確地估計(jì)出系統(tǒng)參數(shù),,獲得較好的辨識結(jié)果。
    本文介紹了基于遞推最小二乘法進(jìn)行系統(tǒng)辨識的基本原理,,對給定的實(shí)際輸入輸出數(shù)據(jù)運(yùn)用MATLAB的M語言編寫遞推最小二乘算法,,最后給出相應(yīng)的仿真結(jié)果和分析,并對得到的模型進(jìn)行了驗(yàn)證,。遞推最小二乘法的算法簡單,,能減少計(jì)算量,減少數(shù)據(jù)在計(jì)算機(jī)中占用的內(nèi)存,,并實(shí)時(shí)辨識出系統(tǒng)動態(tài)特性以供實(shí)時(shí)控制和預(yù)報(bào),。
參考文獻(xiàn)
[1] 倪博溢,蕭德云.MATLAB 環(huán)境下的系統(tǒng)辨識仿真工具箱[J].系統(tǒng)仿真學(xué)報(bào),,2006,,18(6):1493-1496.
[2] 石賢良,吳成富.基于MATLAB的最小二乘法參數(shù)辨識與仿真[J].微處理機(jī),,2005,,26(6):44-46.
[3] 方崇智,蕭德云.過程辨識[M].北京:清華大學(xué)出版社,1988.
[4] 張志涌.精通MATLAB6.5版[M].北京:北京航空航天大學(xué)出版社,,2003.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。