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

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

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


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

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

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

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

 

 

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

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