許春生 初明
摘 要:由于混沌在保密通信和擴頻通信中的應用較為廣泛,因此研究性能較好的混沌信號發生器對混沌理論的實用化推進相當重要。隨著FPGA等現代數字電路技術的飛速發展,利用數字電路的快速運算和自由設計的特點,可以便捷地實現混沌信號的產生。設計中采用Euler算法對Lorenz系統進行離散,并使用Verilog HDL語言編寫相應模塊。該文設計了單精度浮點加法器、浮點乘法器、數據選擇器、數據分配器、寄存器、時序產生器、模數轉換器等模塊,提高了通用性。
關鍵詞:FPGA 混沌信號發生器 Lorenz混沌
中圖分類號:TN431 文獻標識碼:A 文章編號:1674-098X(2015)10(a)-0055-02
在實際混沌研究中對于一些混沌系統,需要將其產生,這里我們用FPGA來設計一個混沌信號發生器。混沌系統的分析主要是通過建模探索系統的生成方法,證明混沌的存在性。數學上有一套嚴格的的理論和方法;連續混沌系統建模的難度相對較大。離散混沌系統主要有一維Logistic和二維Henon映射[1]。連續混沌系統的典型代表有:Lorenz族、Chua系統、Chen系統等。對一個連續混沌系統我們對其分析主要有:相圖顯示、時域波形顯示、最大李氏指數計算、平衡點和穩定性分析。
1 Lorenz混沌系統設計
(1)該文設計的是Lorenz混沌系統的信號發生器,在此前先對系統進行數學分析。Lorenz混沌系統的數學模型如下。
(1)
其中A為10,B為30,C為8/3。
首先我們來分析它的時域,用Matlab軟件畫出它的x時域圖形和x-z相圖。如圖1、2可以看出Lorenz系統呈現雙渦卷形態,時域雖然不穩定,但不會超過一定的值,體現它的有界性。
(2)Lorenz系統的平衡點。
對于式1,令導數為0,可以得到:
(2)
解2式可以得到3個平衡點:
(3)
用Matlab軟件畫出b參數變化對x的作用可以得出平衡點的分岔變化,從圖3中可以看出對于b的變化在x=1的時候出現分岔。
當x=y時,b變化x值變化,在Matlab中將b變化進行變化仿真可以得到分岔圖如圖4。
(3)混沌系統離散化。
由于FPGA只能對離散數字進行處理,所以需要先對系統進行離散,離散的方法主要有Runge—Kutta法和Euler算法[2]。
Euler算法
對于系統的狀態方程,直接將導數等效變換
代入式中即可以得到式
(4)
最后將其余項右移即可。
(5)
Runge—Kutta法
將系統直接轉化代入6式,計算出各K值即可得到離散化系統。
(6)
其中K為
(7)
對于FPGA來說,這兩種方法都滿足設計的精度要求,考慮到FPGA的運算能力相對來說不是很強,所以這里采用Euler算法對式1 進行離散化處理。得到式8
(8)
取△T=0.001S能滿足精度要求,這里將△T=0.001,A=10,B=30,C=8/3代入式8得到
(9)
式9就是得到的離散化的Lorenz混沌的數學表達式。
2 設計原理
本設計是將式9分為A到I部分。
得到
(10)
第一遍相乘的時候,直接連接數據選擇器分別把PA到PI計算出來。利用一個數據分配器把PA到PI存起來,再用數據選擇器將x(n+1)的PA,PB加起來,y(n+1)的PC和PE加起來,z(n+1)的PI和PG加起來,最后將y(n+1)減去PH就得到了全部的下一個值。也就是說設計只是將離散化的數學模型中的幾個運算分散相乘,然后將相乘過后的幾個數再相加或者相減,得到的數就是下個要迭代的數,不斷的重復這個運算就可以得到x,y,z的值。
設計中用Verilog HDL硬件語言對主要硬件模塊設計,主要有:單精度浮點加法器、浮點乘法器、數據選擇器、數據分配器、寄存器、時序產生、模數轉換等相應模塊。
3 結語
基于Lorenz混沌設計的電路系統比較具有代表性,在此我們設計了一個全部由程序代碼構成的Lorenz混沌信號發生器。仿真結果表明混沌信號發生器穩定性較高,能夠應用到混沌理論研究中,有助于混沌理論的推進與發展。
參考文獻
[1] 禹思敏.混沌系統與混沌電路[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技術產生多渦卷超混沌吸引子的研究[J].電路與系統學報,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.