趙海濱 顏世玉
摘? 要 Duffing混沌和van der Pol混沌為常見的二階混沌系統(tǒng),采用Python語言進(jìn)行建模和仿真,并通過matplotlib庫繪制狀態(tài)變量的二維相圖。驅(qū)動(dòng)系統(tǒng)為Duffing混沌系統(tǒng),響應(yīng)系統(tǒng)為van der Pol混沌系統(tǒng),通過驅(qū)動(dòng)系統(tǒng)和響應(yīng)系統(tǒng)建立比例投影同步誤差系統(tǒng)。采用線性滑模面和指數(shù)趨近律設(shè)計(jì)滑??刂破?,進(jìn)行驅(qū)動(dòng)系統(tǒng)和響應(yīng)系統(tǒng)的比例投影同步控制。仿真結(jié)果表明,滑模控制器能夠進(jìn)行二階混沌的比例投影同步控制,比例投影同步誤差漸進(jìn)收斂到零。
關(guān)鍵詞 比例投影同步;混沌系統(tǒng);仿真實(shí)驗(yàn);Python
中圖分類號(hào):G642.423? ? 文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1671-489X(2020)10-0124-04
Abstract Duffing chaos and van der Pol chaos are common second-order chaotic systems, which are modeled and simulated based on Python, and the two-dimensional phase diagram of state variables is drawn based on matplotlib library. The drive system is Duffing chaos and the response system is van der Pol chaos. The proportional projective synchronization error system is established by the drive system and the response system. The sliding mode controller is designed by using linear sliding mode surface and exponential approach law. The proportional projective synchronization control of the drive system and the response system is carried out. The simulation results show that the sliding mode controller can control the second-order chaos in proportional projective synchronization, the proportional projective synchronization error converges to zero gradually.
Key words proportional projective synchronization; chaotic system; simulation experiment; Python
1 引言
混沌現(xiàn)象廣泛存在于各種非線性系統(tǒng)中,對(duì)初始條件非常敏感,是非線性系統(tǒng)普遍存在的現(xiàn)象。1963年,氣象學(xué)家Lorenz發(fā)現(xiàn)第一個(gè)混沌吸引子?;煦缡沁B接確定性運(yùn)動(dòng)和隨機(jī)性運(yùn)動(dòng)的紐帶,廣泛存在于自然界和人類社會(huì)中。自從Pecora和Carroll證明了兩個(gè)混沌系統(tǒng)可以實(shí)現(xiàn)同步以來,越來越多的學(xué)者開始進(jìn)行混沌同步的研究。Mainieri和Rehacek提出投影同步的概念,統(tǒng)一了不同類型的混沌同步現(xiàn)象[1-2]。完全同步和反相同步均是投影同步的特殊情況。滑??刂破髂軌蚩朔到y(tǒng)建模不確定的影響,對(duì)建模誤差和干擾信號(hào)具有很強(qiáng)的魯棒性,并具有響應(yīng)速度快和容易實(shí)現(xiàn)等優(yōu)點(diǎn),尤其是對(duì)非線性系統(tǒng)的控制具有很好的效果[3]。
Python是一種跨平臺(tái)的解釋型、面向?qū)ο?、?dòng)態(tài)的高級(jí)程序設(shè)計(jì)語言,具有語法簡(jiǎn)潔、編程高效和應(yīng)用領(lǐng)域廣泛等優(yōu)點(diǎn)[4]。采用Python可以非常方便靈活地建立復(fù)雜的系統(tǒng),而且程序代碼比較短,代碼容易理解和實(shí)現(xiàn)。Python語言已經(jīng)成為最受歡迎的程序設(shè)計(jì)語言之一,具有大量的第三方開源庫可供調(diào)用,很多大學(xué)和科研機(jī)構(gòu)都將Python作為首門程序設(shè)計(jì)課程的教學(xué)語言[5]。
Duffing混沌和van der Pol混沌都是二階混沌系統(tǒng)[6]。通過Duffing混沌和van der Pol混沌建立比例投影同步誤差系統(tǒng),采用線性滑模面和指數(shù)趨近律設(shè)計(jì)滑??刂破?,并采用滑??刂破鬟M(jìn)行比例投影同步誤差系統(tǒng)的鎮(zhèn)定控制,從而實(shí)現(xiàn)Duffing混沌和van der Pol混沌的比例投影同步控制。本文采用Python語言進(jìn)行二階混沌系統(tǒng)的建模和仿真,顯示狀態(tài)變量的二維相圖。采用滑??刂破鬟M(jìn)行Duffing混沌和van der Pol混沌的比例投影同步控制,顯示驅(qū)動(dòng)系統(tǒng)和響應(yīng)系統(tǒng)的二維相圖,以及比例投影同步誤差的響應(yīng)曲線。在腳本程序中采用歐拉方法。歐拉方法以固定步長(zhǎng)來計(jì)算微分方程的近似解,是非常簡(jiǎn)單的微分方程求解方法。
2 二階混沌系統(tǒng)
Duffing混沌和van der Pol混沌是常見的二階混沌系統(tǒng)。Duffing混沌系統(tǒng)的狀態(tài)方程為:
其中,x1和x2為系統(tǒng)的狀態(tài)變量,x=[x1,x2]T,t為時(shí)間,a1,b1和ω1為常數(shù)。當(dāng)參數(shù)設(shè)定為a1=0.3,b1=0.4,ω1=1.2時(shí),Duffing混沌系統(tǒng)會(huì)出現(xiàn)混沌現(xiàn)象。
van der Pol混沌也是二階混沌系統(tǒng)。van der Pol混沌系統(tǒng)的狀態(tài)方程表示為:
其中,y1和y2為系統(tǒng)的狀態(tài)變量,y=[y1,y2]T,t為時(shí)間,a2,b2和ω2為常數(shù)。當(dāng)參數(shù)設(shè)定為a2=5.0,b2=5.0,ω2=
2.467時(shí),van der Pol混沌系統(tǒng)會(huì)出現(xiàn)混沌現(xiàn)象。
采用歐拉方法進(jìn)行Duffing混沌和van der Pol混沌系統(tǒng)的建模和仿真,并采用Matplotlib庫繪制狀態(tài)變量的二維相圖。歐拉方法是一種簡(jiǎn)單的數(shù)值積分方法,數(shù)值收斂性好。Matplotlib是Python的繪圖庫[7],類似于MATLAB軟件中繪圖函數(shù)的功能,只需要幾行代碼就可以生成繪圖,非常簡(jiǎn)單和方便。二階混沌系統(tǒng)仿真的腳本程序如下所示:
在腳本程序中,Duffing混沌系統(tǒng)的初始狀態(tài)設(shè)定為x1(0)=0.2,x2(0)=0.3,van der Pol混沌系統(tǒng)的初始狀態(tài)為y1(0)=0.5,y2(0)=0.5。在進(jìn)行二階混沌仿真時(shí),步長(zhǎng)設(shè)定為h=0.001,仿真時(shí)間設(shè)定為120秒。腳本程序運(yùn)行后,Duffing混沌系統(tǒng)的二維相圖如圖1所示,van der Pol混沌系統(tǒng)的二維相圖如圖2所示。
3 比例投影同步系統(tǒng)
Duffing混沌和van der Pol混沌的比例投影同步誤差定義為:
其中,e1和e2為比例投影同步誤差,其中k為比例系數(shù),且k≠0。
對(duì)比例投影同步誤差進(jìn)行求導(dǎo),可以得到比例投影同步誤差系統(tǒng)為:
帶有控制輸入的比例投影同步誤差系統(tǒng)為:
其中,u為控制輸入。通過單一的控制輸入u對(duì)比例投影同步誤差系統(tǒng)進(jìn)行鎮(zhèn)定控制,比例投影同步誤差漸進(jìn)收斂到零,從而實(shí)現(xiàn)Duffing混沌和van der Pol混沌的比例投影同步控制。
4 滑??刂破?/p>
滑??刂破鲗?duì)于建模不確定和外部干擾信號(hào)具有很強(qiáng)的魯棒性,并具有響應(yīng)速度快和容易實(shí)現(xiàn)等優(yōu)點(diǎn),廣泛用于非線性系統(tǒng)的控制。通過線性滑模面和指數(shù)趨近律設(shè)計(jì)滑模控制器,進(jìn)行比例投影同步誤差系統(tǒng)的鎮(zhèn)定控制,從而實(shí)現(xiàn)Duffing混沌和van der Pol混沌的比例投影同步控制。
在滑??刂破鞯脑O(shè)計(jì)中,采用的線性滑模面為:
在滑??刂破鞯脑O(shè)計(jì)中,采用的指數(shù)趨近律為:
其中,參數(shù)k2>0,k3>0。在雙曲正切函數(shù)中,s為線性滑模面,a為非常小的正數(shù),取a=0.01。指數(shù)趨近律中采用雙曲正切函數(shù),能夠削弱抖振。
采用線性滑模面和指數(shù)趨近律設(shè)計(jì)滑??刂破?,表示為:
采用滑??刂破鲗?duì)比例投影同步誤差系統(tǒng)進(jìn)行控制,比例投影同步誤差漸進(jìn)收斂到零,從而實(shí)現(xiàn)Duffing混沌和van der Pol混沌的比例投影同步控制。采用歐拉法進(jìn)行二階混沌比例投影同步控制時(shí),表示為:
在歐拉法中,將時(shí)間區(qū)間[0,T]做N等分,小區(qū)間的長(zhǎng)度h=T/N,稱為步長(zhǎng);tn=nh為時(shí)間,其中n=0,1,2,…,N,且t0=0。采用滑??刂破鬟M(jìn)行Duffing混沌和van der Pol混沌比例投影同步控制的腳本程序如下:
在腳本程序中,Duffing混沌系統(tǒng)的初始狀態(tài)設(shè)定為x1(0)=0.2,x2(0)=0.3,van der Pol混沌系統(tǒng)的初始狀態(tài)為y1(0)=0.5,y2(0)=0.5。在比例投影同步誤差中,比例系數(shù)設(shè)定為k=2。在線性滑模面中,參數(shù)設(shè)定為k1=2。在指數(shù)趨近律中,參數(shù)設(shè)定為k2=1,k3=0.5。在歐拉方法進(jìn)行仿真時(shí),步長(zhǎng)設(shè)定為h=0.001,仿真時(shí)間設(shè)定為120秒。
在腳本程序中,通過Matplotlib庫繪制驅(qū)動(dòng)系統(tǒng)和響應(yīng)系統(tǒng)的二維相圖。腳本程序運(yùn)行后,驅(qū)動(dòng)系統(tǒng)和響應(yīng)系統(tǒng)的二維相圖如圖3所示,比例投影同步誤差的響應(yīng)曲線如圖4所示,只顯示前五秒的響應(yīng)曲線。比例投影同步誤差快速收斂到零。仿真結(jié)果表明,滑??刂破髂軌蜻M(jìn)行驅(qū)動(dòng)系統(tǒng)和響應(yīng)系統(tǒng)的比例投影同步控制。
5 結(jié)論
Python語言不僅功能強(qiáng)大,而且具有開源和免費(fèi)的優(yōu)點(diǎn),只需要很少的代碼就能實(shí)現(xiàn)復(fù)雜的功能,具有非常高的編程效率。本文采用歐拉方法,首先進(jìn)行二階混沌的建模和仿真,然后進(jìn)行二階混沌的比例投影同步控制,能夠快速實(shí)現(xiàn)驅(qū)動(dòng)系統(tǒng)和響應(yīng)系統(tǒng)的比例投影同步控制。在腳本程序中,采用Matplotlib進(jìn)行數(shù)據(jù)的可視化。該仿真實(shí)驗(yàn)?zāi)軌蜻M(jìn)行二階混沌系統(tǒng)的仿真和比例投影同步控制,學(xué)生可以修改系統(tǒng)參數(shù),然后進(jìn)行仿真實(shí)驗(yàn),觀察仿真結(jié)果。
參考文獻(xiàn)
[1]孫克輝.混沌保密通信原理與技術(shù)[M].北京:清華大學(xué)出版社,2015.
[2]任濤,井元偉,姜囡.混沌同步控制方法及在保密通信中的應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2015.
[3]劉金琨.滑模變結(jié)構(gòu)控制MATLAB仿真:基本理論與設(shè)計(jì)方法[M].3版.北京:清華大學(xué)出版社,2015.
[4]張健,張良均.Python編程基礎(chǔ)[M].北京:人民郵電出版社,2018.
[5]嵩天,黃天羽.Python語言程序設(shè)計(jì)教學(xué)案例新思維[J].計(jì)算機(jī)教育,2017(12):11-14,19.
[6]蔡萍.混沌Van der Pol-Duffing系統(tǒng)的線性狀態(tài)反饋控制[J].湖南理工學(xué)院學(xué)報(bào):自然科學(xué)版,2014,27(1):16-19.
[7]張若愚.Python科學(xué)計(jì)算[M].北京:清華大學(xué)出版社,2012.