許春生 初明
摘 要:由于混沌在保密通信和擴頻通信中的應(yīng)用較為廣泛,因此研究性能較好的混沌信號發(fā)生器對混沌理論的實用化推進相當重要。隨著FPGA等現(xiàn)代數(shù)字電路技術(shù)的飛速發(fā)展,利用數(shù)字電路的快速運算和自由設(shè)計的特點,可以便捷地實現(xiàn)混沌信號的產(chǎn)生。設(shè)計中采用Euler算法對Lorenz系統(tǒng)進行離散,并使用Verilog HDL語言編寫相應(yīng)模塊。該文設(shè)計了單精度浮點加法器、浮點乘法器、數(shù)據(jù)選擇器、數(shù)據(jù)分配器、寄存器、時序產(chǎn)生器、模數(shù)轉(zhuǎn)換器等模塊,提高了通用性。
關(guān)鍵詞:FPGA 混沌信號發(fā)生器 Lorenz混沌
中圖分類號:TN431 文獻標識碼:A 文章編號:1674-098X(2015)10(a)-0055-02
在實際混沌研究中對于一些混沌系統(tǒng),需要將其產(chǎn)生,這里我們用FPGA來設(shè)計一個混沌信號發(fā)生器?;煦缦到y(tǒng)的分析主要是通過建模探索系統(tǒng)的生成方法,證明混沌的存在性。數(shù)學上有一套嚴格的的理論和方法;連續(xù)混沌系統(tǒng)建模的難度相對較大。離散混沌系統(tǒng)主要有一維Logistic和二維Henon映射[1]。連續(xù)混沌系統(tǒng)的典型代表有:Lorenz族、Chua系統(tǒng)、Chen系統(tǒng)等。對一個連續(xù)混沌系統(tǒng)我們對其分析主要有:相圖顯示、時域波形顯示、最大李氏指數(shù)計算、平衡點和穩(wěn)定性分析。
1 Lorenz混沌系統(tǒng)設(shè)計
(1)該文設(shè)計的是Lorenz混沌系統(tǒng)的信號發(fā)生器,在此前先對系統(tǒng)進行數(shù)學分析。Lorenz混沌系統(tǒng)的數(shù)學模型如下。
(1)
其中A為10,B為30,C為8/3。
首先我們來分析它的時域,用Matlab軟件畫出它的x時域圖形和x-z相圖。如圖1、2可以看出Lorenz系統(tǒng)呈現(xiàn)雙渦卷形態(tài),時域雖然不穩(wěn)定,但不會超過一定的值,體現(xiàn)它的有界性。
(2)Lorenz系統(tǒng)的平衡點。
對于式1,令導數(shù)為0,可以得到:
(2)
解2式可以得到3個平衡點:
(3)
用Matlab軟件畫出b參數(shù)變化對x的作用可以得出平衡點的分岔變化,從圖3中可以看出對于b的變化在x=1的時候出現(xiàn)分岔。
當x=y時,b變化x值變化,在Matlab中將b變化進行變化仿真可以得到分岔圖如圖4。
(3)混沌系統(tǒng)離散化。
由于FPGA只能對離散數(shù)字進行處理,所以需要先對系統(tǒng)進行離散,離散的方法主要有Runge—Kutta法和Euler算法[2]。
Euler算法
對于系統(tǒng)的狀態(tài)方程,直接將導數(shù)等效變換
代入式中即可以得到式
(4)
最后將其余項右移即可。
(5)
Runge—Kutta法
將系統(tǒng)直接轉(zhuǎn)化代入6式,計算出各K值即可得到離散化系統(tǒng)。
(6)
其中K為
(7)
對于FPGA來說,這兩種方法都滿足設(shè)計的精度要求,考慮到FPGA的運算能力相對來說不是很強,所以這里采用Euler算法對式1 進行離散化處理。得到式8
(8)
取△T=0.001S能滿足精度要求,這里將△T=0.001,A=10,B=30,C=8/3代入式8得到
(9)
式9就是得到的離散化的Lorenz混沌的數(shù)學表達式。
2 設(shè)計原理
本設(shè)計是將式9分為A到I部分。
得到
(10)
第一遍相乘的時候,直接連接數(shù)據(jù)選擇器分別把PA到PI計算出來。利用一個數(shù)據(jù)分配器把PA到PI存起來,再用數(shù)據(jù)選擇器將x(n+1)的PA,PB加起來,y(n+1)的PC和PE加起來,z(n+1)的PI和PG加起來,最后將y(n+1)減去PH就得到了全部的下一個值。也就是說設(shè)計只是將離散化的數(shù)學模型中的幾個運算分散相乘,然后將相乘過后的幾個數(shù)再相加或者相減,得到的數(shù)就是下個要迭代的數(shù),不斷的重復這個運算就可以得到x,y,z的值。
設(shè)計中用Verilog HDL硬件語言對主要硬件模塊設(shè)計,主要有:單精度浮點加法器、浮點乘法器、數(shù)據(jù)選擇器、數(shù)據(jù)分配器、寄存器、時序產(chǎn)生、模數(shù)轉(zhuǎn)換等相應(yīng)模塊。
3 結(jié)語
基于Lorenz混沌設(shè)計的電路系統(tǒng)比較具有代表性,在此我們設(shè)計了一個全部由程序代碼構(gòu)成的Lorenz混沌信號發(fā)生器。仿真結(jié)果表明混沌信號發(fā)生器穩(wěn)定性較高,能夠應(yīng)用到混沌理論研究中,有助于混沌理論的推進與發(fā)展。
參考文獻
[1] 禹思敏.混沌系統(tǒng)與混沌電路[M].西安:西安電子科技大學出版社,2009:1-300.
[2] Aseeri M.A.,Sobhy M.Lorenz chaotic model using Filed Programmable Gate Array (FPGA)[M].45th Midwest Symposium on Circuits and Systems,2012.
[3] 張鈺,禹思敏,劉明華.用FPGA技術(shù)產(chǎn)生多渦卷超混沌吸引子的研究[J].電路與系統(tǒng)學報,2007,12(1):39-43.
[4] HodjatA.,Verbauwhede I.Interfacing a high speed crypto accelerator to an embedded[M].CPU,2014:488-492.
[5] Good T.,Benaissa M.Very Small FPGA Application-SpecificInstruction Processor for AES[S].IEEE Transactions on Circuits and Systems I:1477-1486.