周福萍,楊軍
基于Matlab Simulink的分數階Volta系統(tǒng)仿真
周福萍,楊軍
基于Matlab Simulink仿真技術,本文研究分數階Volta系統(tǒng)的仿真問題。 首先對Oustaloup濾波器進行模塊封裝得到分數階微分求解器;其次利用Matlab Simulink工具箱和分數階微分求解器,對分數階Volta系統(tǒng)搭建可視化仿真框圖并設置仿真參數,運行仿真,進而得到分數階Volta系統(tǒng)的軌線圖和相圖;最后從仿真結果可以看出分數階Volta系統(tǒng)是混沌的,從而說明文章所設計的仿真方法是可行和有效的。
分數階微積分;分數階Volta系統(tǒng);Matlab Simulink仿真;Oustaloup濾波器
分數階微分方程 (FODE)近年來已被廣泛的應用于圖像處理、信號處理、地震分析、流體力學、分數階控制器設計等領域。所謂FODE是指微分方程中出現了分數階導數,由于FODE具有歷史依賴性與全域相關性,增加了其數值計算復雜性.現階段FODE的數值算法主要包括:1.有限差分法:Crank-Nicholson格式、預估校正算法等;2.級數逼近法;3.有限元法;4.無網格方法;5.矩陣轉化法、外推法;6.Matlab Simulink方法.其中最為直接和有效的方法為Matlab Simulink方法,下面重點介紹Matlab Simulink方法。
Matlab Simulink toolbox是Matlab公司開發(fā)的用于分析動態(tài)系統(tǒng)和建模仿真的一組程序包,它能實現在連續(xù)時間,離散時間或兩者的復合情況下建模.Simulink提供一種基于框圖的可視化建模與仿真方法,用鼠標拖放塊狀圖表即可完成建模,此過程就像用鉛筆在紙上畫模型一樣,其為復雜工程系統(tǒng)的建模與仿真提供了嶄新的思路和方法。
本文將在Oustaloup濾波器進行模塊封裝得到分數階微分求解器的基礎上,利用Matlab Simulink仿真工具箱,討論分數階Volta系統(tǒng)的數值仿真問題。
由于在FODE中微積分的階次可取非整數,所以傳統(tǒng)ODE的Simulink仿真算法不能直接使用,一般可采用整數階濾波器如Oustaloup濾波器來逼近分數階微分算子Sγ。該濾波器的傳輸函數為:
傳輸函數中的增益和濾波器零極點由下式給出
而(ωb,ωh)為期望的擬合頻率區(qū)間,N為用戶選取定的濾波器階數。根據上面的濾波器設計式,在Matlab M-file窗口中編寫出如下的M函數以便仿真過程中調用:
綜上所述,建立如圖1.a所示的分數階微分濾波器模塊,然后對其進行封裝,得到如圖1.b所示的分數階微分求解器,以便在后面的仿真過程中調用該求解器。盡管理論上Oustaloup濾波器可以求解任意階次的分數階微積分,但從微積分數值分析精度的角度來看,Oustaloup濾波器更適合求解階次為1以內的分數階微積分。于是可以將高階分數階微積分先進行整數階微積分運算后,再利用Oustaloup濾波器對運算的結果進行濾波處理,以達到更好的數值計算精度。
圖1 分數階微分求解器設計模塊
對圖1-b中的分數階微分求解器進行雙擊即得參數設置對話框 (如圖2所示),在該對話框中用戶可以根據需要設置Oustaloup濾波器的參數。
圖2 Oustaloup濾波器參數對話框
在模塊封裝Initialization選項卡中輸入如圖3所示的代碼,以便在使用分數階微分求解器模塊前先自動設計出濾波器,并根據階次正確顯示圖標,據此可以對分數階系統(tǒng)進行可視化Simulink建模。
圖3 分數階微分求解器封裝參數對話框
下面將通過分數階Volta系統(tǒng)演示該模塊在FODE近似求解中的應用.
考慮下面的分數階的Volta微分方程組模型,該系統(tǒng)是一個分數階混沌系統(tǒng),其具體的數學描述參見文獻。
(1)式中的系統(tǒng)參數如下:
應用Matlab Simulink toolbox仿真系統(tǒng)(1),由于Oustaloup濾波器不能設置初值,故需將分數階的Volta系統(tǒng)(1)轉化為如下的等價分數階微分積分方程,以便于引入積分器設置初值:
根據方程(2),在Matlab Simulink環(huán)境下作出如圖4所示的Simulink框圖。
接下來,在M-file對話框中輸入系統(tǒng)參數并命名為Volta.m文件保存;將圖1中的分數階微分求解器命名為Fsolver.mld保存;將圖4中分數階Volta系統(tǒng)Simulink框圖命名為FodeVolta. mdl保存.運行仿真之前需要將Volta.m、Fsolver.mld、FodeVolta. mdl和前面所述的ousta_fod.m文檔放到同一個目錄下面。下面分三步運行仿真:
(1)運行Volta.m;
(2)運行Fsolver.mld;
(3)運行FodeVolta.mdl.
圖4 分數階Volta系統(tǒng)(1)的Matlab simulink仿真框圖
仿真結果如圖5-11所示:其中圖5-7分別給出了系統(tǒng)的狀態(tài)變量x(t),y(t),z(t)的軌線圖;系統(tǒng)的相圖則由圖8-10給出;圖11則是系統(tǒng)的相軌跡圖。
從仿真結果可以看出分數階Volta系統(tǒng)(1)是混沌的,這與文獻從理論上證明該系統(tǒng)是混沌的是一致的,進而說明本文所設計的仿真算法(框圖)的可行性和有效性。
圖5 狀態(tài)變量x(t)的軌線圖
圖6 狀態(tài)變量y(t)的軌線圖
圖7 狀態(tài)變量z(t)的軌線圖
圖8 x(t)vs.y(t)的相圖
圖9 x(t)vs.z(t)的相圖
圖10 y(t)vs.z(t)的相圖
圖11 分數階Volta系統(tǒng)(1)的3維相軌圖
通過Matlab Simulink仿真技術,本文主要討論了分數階Volta系統(tǒng)仿真問題.通過對Oustaloup濾波器進行模塊封裝,得到了分數階仿真的核心子模塊——分數階微分求解器;在此基礎上,利用Matlab Simulink工具箱對分數階Volta系統(tǒng)搭建Simulink框圖,設置仿真參數,運行Simulink框圖實現仿真。最后得到分數階Volta系統(tǒng)的軌線圖和相圖,另一方面從仿真結果還可以看出分數階Volta系統(tǒng)是混沌的,從而說明本文所設計的仿真方法的可行性和有效性。值得一提的是本文提出Simulink框圖做適當修改即可實現其它分數階線性/非線性系統(tǒng)的仿真。
[1]趙春娜.分數階系統(tǒng)分析與設計[M].北京:國防工業(yè)出版社, 2009.
[2]薛定宇,陳陽泉.基于MATLAB/Simulink的系統(tǒng)仿真技術與應用[M].北京:清華大學出版社,2011.
[3]Ivo Petras,Fractional-O rder Nonlinear Systems[M].北京:高等教育出版社,2010.
[4]Ivo Petras I.Control of fractional-Order Chua’ssystem[J].Journal of Electrical Engineering,2002,53:219-222.
[5]劉式達,時少英,劉式適等.天氣和氣候之間的橋梁-分數階導數[J].氣象科技,2007,35(01):15-19.
[6]A Oustaloup,F Levron,Frequency band complex non-integer differentiator:characterization and synthesis.IEEE Trans.On Circuits and system I:Fundamental Theory and Application,2000,47(1): 25-40.
[7]宋建國,劉壘,李輝等.分數階導數在地震奇異性分析中的應用[J].石油物探,2009,48(01):72-75.
[8]鄧偉華.分數階微分方程的理論分析與數值計算[D].上海大學博士學位論文,2007.
[9]王振濱,曹廣益,曾慶山等.分數階PID控制器及數字實現[J].上海交通大學學報,2004,38(4):517-520.
[10]胡亦鄭,劉發(fā)旺.一類分數階控制系統(tǒng)的數值解法[J].廈門大學學報(自然科學版),2005,44(3):313-317.
周福萍,女,四川成都人,西南科技大學在校學生,研究方向:工程管理;
楊軍,男,四川瀘州人,理學博士,中國民航飛行學院副教授,研究方向:動力系統(tǒng)分析與仿真。
O193.1
A
1008-4428(2015)05-104-03