系統(tǒng)辨識的Matlab實現(xiàn)方法(手把手)(共16頁)_第1頁
系統(tǒng)辨識的Matlab實現(xiàn)方法(手把手)(共16頁)_第2頁
系統(tǒng)辨識的Matlab實現(xiàn)方法(手把手)(共16頁)_第3頁
系統(tǒng)辨識的Matlab實現(xiàn)方法(手把手)(共16頁)_第4頁
系統(tǒng)辨識的Matlab實現(xiàn)方法(手把手)(共16頁)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上最近在做一個項目的方案設計,應各位老總的要求,只有系統(tǒng)框圖和器件選型可不行,為了凸顯方案設計的高大上,必須上理論分析,炫一下“技術富”,至于具體有多大實際指導意義,那就不得而知了!本人也是網(wǎng)上一頓百度,再加幾日探索,現(xiàn)在對用matlab實現(xiàn)系統(tǒng)辨識有了一些初步的淺薄的經(jīng)驗,在此略做一小節(jié)。必須要指出的是,本文研究對象是經(jīng)典控制論理最簡單最常用的線性時不變的siso系統(tǒng),而且是2階的哦,也就是具有如下形式的傳遞函數(shù):本文要做的就是,對于有這樣傳遞函數(shù)的一個系統(tǒng),要辨識得到其中的未知數(shù)T, !這可是控制系統(tǒng)設計分析的基礎哦,沒有系統(tǒng)模型,啥理論、算法都是白扯,在實際工程中

2、非常重要哦!經(jīng)過總結研究,在得到系統(tǒng)階躍響應實驗數(shù)據(jù)之后(當然如果是其他響應,也有辦法可以辨識,在此還是只討論最簡單的階躍響應實驗曲線,誰讓你我是菜鳥呢),利用matlab至少可以有兩種方法實現(xiàn)實現(xiàn)(目前我只會兩種,呵呵)!一、函數(shù)法二、GUI系統(tǒng)辨識工具箱下面分別作詳細介紹!一、 函數(shù)法看官別著急,先來做一段分析(請看下面兩排紅*之間部分),這段分析是網(wǎng)上找來的,看看活躍一下腦細胞吧,如果不研讀一下,對于下面matlab程序,恐怕真的就是一頭霧水咯!*G(s)可以分解為:其中, 、都是實數(shù)且均大于零。則有:,傳遞函數(shù)進一步化為:因此,辨識傳遞函數(shù)就轉化為求解、。當輸入為單位階躍函數(shù)時,對上式

3、進行拉普拉斯反變換,得系統(tǒng)時域下的單位階躍響應為:即 令=,得 對上式兩邊取以為底的對數(shù)得當時,則上式化簡為該式的形式滿足直線方程其中,=,通過最小二乘算法實現(xiàn)直線的擬合,得到,的值,即可得到、的值,進而可得系統(tǒng)的傳遞函數(shù)。*Matlab程序代碼:clcclose allt=1 3 5 7 9 11 13 15 17 19; y=0. 0. 0. 0. 0. 0. 0. 0. 0. 0.; y2=log(1-y);plot(t,y2,'*');grid onpm=polyfit(t,y2,1)value=polyval(pm,t);hold onplot(t,value,

4、9;r')title('fontname黑體fontsize20y(t)=at+b')w2=-pm(1)w1=w2/(1-exp(-pm(2)T=1/sqrt(w1*w2)theta=(w1+w2)/(2*sqrt(w1*w2)z=;p=-w1 -w2;k=w1*w2;sys=zpk(z,p,k)figure(2)step(sys,0:0.5:20);axis(0 20 0 1.2)hold on plot(t,y,'r*')打開matlab,新建一個Function,把上述程序段拷進去,保存,運行,運行結果:系統(tǒng)的傳遞函數(shù)為很順利吧?先高興一個!問題接

5、著馬上就來了,上面這個例子,這個傳遞函數(shù)的極點剛好都是負實數(shù),因此辨識得很順利,但是如果系統(tǒng)是欠阻尼系統(tǒng),也就是如果傳遞函數(shù)的根是復數(shù),那么上述函數(shù)段,就無能為力咯,會出現(xiàn)說“matlab無法處理增益為復數(shù)情況之類······”例如對于這個系統(tǒng),若果用simulink做一下階躍響應,再把實驗數(shù)據(jù)代入上述函數(shù)段,那就不行咯!怎么辦呢,只能另辟蹊徑了!二、(System Identification Tool)系統(tǒng)辨識工具箱早聽說matlab博大精深,神通廣大了,于是乎我確定肯定有更簡單、直觀、強大的工具來完成這小兒科把戲。查資料琢磨之后

6、,我做了個小實驗,在simulink里驗證了該種方法。該方法的大原則是:在確定了系統(tǒng)的輸入輸出數(shù)據(jù)(兩個列向量N×1形式,如果是1×N,會提示出錯!)之后,設計好一定的辨識原則(比如說是2階?3階?,傳遞函數(shù)是零極點形式,還是帶阻尼形式,等等),然后就交給強大的matlab,得到辨識結果。Step by step,plz!Step1、 建立模型獲取系統(tǒng)輸入輸出數(shù)據(jù)圖1圖1系統(tǒng)的輸入是階躍信號,用Scope1監(jiān)視,并輸出到workspace(這步不會的自己百度哦),采樣周期是0.1s,得到輸入變量u(101×1的矩陣);本人在系統(tǒng)的階躍響應上疊加了一白噪聲,當然也可

7、以不加噪聲,加了噪聲就是期望更真實的模擬實際情況,白噪聲參數(shù)設置見圖2圖2同樣在Scope2監(jiān)視,也將結果輸出到workspace,得到響應數(shù)據(jù)y(同樣也是101×1的矩陣)Step 2、進入辨識工具箱&設置辨識規(guī)則直接在command window 輸入 ident,回車,進入辨識工具箱圖3圖3點擊import下拉菜單,選時域數(shù)據(jù)time domain data,見圖4圖4在下圖5紅色圈區(qū)域輸入之前得到的系統(tǒng)輸入和輸出數(shù)據(jù),u和y圖5 在下圖6綠色圈內(nèi)輸入數(shù)據(jù)的一些信息,因為之前模型中,階躍起點我是放在0s處的,這里也設置0,如果前面模型仿真是1s,這里應該也是1s;采樣時

8、間是0.1s,根據(jù)實際情況設置統(tǒng)一哦圖6設置完之后,點擊import此時界面變成圖7圖7如果在下圖8勾選紅框這個選項,就會出現(xiàn)我們剛才設定輸入輸出數(shù)據(jù)的曲線,如圖9所示,其他勾選項是頻域的分析和顯示,暫不用它。圖8圖9看看與我們實際設置的輸入輸出是否符合,如果符合,那么我們離成功就不遠咯,如果發(fā)現(xiàn)異常,那再好好檢查一遍,直到確保數(shù)據(jù)導入沒有問題!下面兩段紅色斜杠之間的內(nèi)容,對于本實驗,可以直接跳過,看一下對后續(xù)復雜模型的處理有好處哦,也算全面熟悉一下工具。/到這接著選preprocess也就是對數(shù)據(jù)進行預處理了,下拉菜單中有很多種處理方法和手段,有這個心思的人可以挨個試一下功能。圖10圖10預

9、處理的對象是working data中的數(shù)據(jù),每進行一種預處理在左邊就會有新的數(shù)據(jù)生成,這時只要將新的數(shù)據(jù)移動到working data的那個方框,就可以將working data換成你所想處理的數(shù)據(jù)了,可以這樣多次進行處理,得到你最終想用來辨識的數(shù)據(jù)和用于驗證的數(shù)據(jù)(不需要的數(shù)據(jù)可以拖到那個trash里面刪除,就是回收站了,也可以從回收站中找回的)接下來就是辨識了,首先把辨識用的數(shù)據(jù)拖到working data那個方框,再把驗證的數(shù)據(jù)拖到validation data那個方框,這個validation data就是最原始數(shù)據(jù)稍作處理得到的一個更接近理論模型的對象數(shù)據(jù),在這實驗里,本人用的就是

10、默認數(shù)據(jù),也就是不做任何preprocess處理。/點下拉菜單estimate,選你想要的模型,在彈出的對話框中設定參數(shù),圖11圖11這里邊的模型種類比較多,有線性的、非線性的、狀態(tài)空間的、經(jīng)典傳遞函數(shù)形式的等等,我們所選的就是圖中紅色方框process models,單擊。彈出如下界面圖12!是否有零點、有延遲、有積分?根據(jù)勾選,傳函自動調整極點個數(shù)及其他傳遞函數(shù)圖12在本實驗中,我們做如下設置,見圖13紅框標出部分。圖13然后點擊最下方Estimate,就有模型生成了。圖14圖14先勾選上圖綠色框選項,看到了什么?給出了擬合率,best fits 98.72有木有?傳遞函數(shù)具體的數(shù)值,雙擊上圖紅色框,見圖15?圖15在右邊的數(shù)據(jù)欄中;也就是model views中了,下面有很多可以選擇,每選一個就可以生成一幅對應的圖,是由用于驗證的數(shù)據(jù)生成的。把模型拖到to workspace那個方框,再去

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論