2 系統(tǒng)分析與設(shè)計
首先根據(jù)需要選取產(chǎn)生混沌信號的混沌方程。然后確定方程的系數(shù)及初值,。與采用分立元件設(shè)計信號源不同的是:分立元件設(shè)計混沌信號源的系數(shù)是需要通過電路結(jié)構(gòu)分析計算各元件的參數(shù)值得到,,而采用DSP設(shè)計信號源直接設(shè)定即可;分立元件設(shè)計混沌信號源時不必設(shè)定初值,而采用DSP設(shè)計混沌信號源時方程的初值設(shè)定是必不可少的,。初值可以是不為零的任意數(shù),,但最好選取在混沌系統(tǒng)的吸引子中,這樣能使系統(tǒng)迅速進入混沌,。因為DSP產(chǎn)生的混沌信號極其有限,,可根據(jù)實際需要在輸出端采用其他電路設(shè)計增益放大電路。圖1為系統(tǒng)設(shè)計流程,。
3 程序設(shè)計和精度問題
3.1 程序設(shè)計
此設(shè)計中的DSP主要用于微分數(shù)值的迭代運算,,其計算性能將決定信號產(chǎn)生速度,這里采用TI公司的TMS320C5402型低功率器件作為核心,,其速度可達100 MI/s,,以Lorenz方程為例,其方程如下:
式中,,參數(shù)值分別為:α=5.5,,β=-7.4,k1=0.25,,k2=0.1,。
圖2為系統(tǒng)程序流程,。
3.2 精度問題
混沌信號的產(chǎn)生主要借助于:DSP強大的運算能力,,采用數(shù)值計算方法,可根據(jù)不同的精度要求選用不同的方法,。精度越高,,運算量越大,則混沌信號的頻率越低,,所以要根據(jù)實際需要選取合適的精度,。混沌方程的微分數(shù)值計算方法主要有:歐拉方法,、改進歐拉方法及四階龍格一庫塔法,。這3種方法精度由低到高,計算量也由低到高,。運算量的大小直接決定運算速度,,即決定混沌信號的產(chǎn)生速度。選用何種計算方法取決于對精度和速率的要求以及對運算量的承受能力,。上述核心程序采用四階龍格一庫塔法,。
4 信號的驗證與測試
4.1 信號驗證
產(chǎn)生的信號是否為混沌信號必須經(jīng)過驗證。判斷混沌信號的方法很多,,但都存在需要復(fù)雜運算的問題,。一般情況下通過示波器顯示的單通道波形很難判斷混沌與否。MATLAB和TI公司聯(lián)合開發(fā)的MATLAB Link for CCS Development Tool(簡稱CCSlink)工具箱更適合于程序的調(diào)試,對混沌信號的驗證不夠靈活,。這里采用一種簡單有效的方法判斷DSP產(chǎn)生的信號是否混沌,。運用 JTAG測試技術(shù)和CCS的在線調(diào)試功能,直接訪問DSP內(nèi)存,。以Lorenz混沌信號的檢測為例,,在CCS編譯環(huán)境的程序部分通過設(shè)定,將數(shù)據(jù)X存在 DSP的地址0X0088,,Y存在地址0X0099,,Z存在地址0X00A0,使用探針功能采集內(nèi)存中的數(shù)據(jù),,并將其存為DAT文件格式,,然后利用 Matlab強大的圖形能力對數(shù)據(jù)進行處理,通過分析相圖判斷信號是否為混沌信號,。這里共采集98 047個點的數(shù)據(jù),。利用Matlab方法將采集到的DSP產(chǎn)生的數(shù)據(jù)制成波形圖和相圖,分別如圖3,、圖4所示,。由圖3和圖4易知產(chǎn)生的數(shù)據(jù)是混沌的,從而驗證了設(shè)計的正確性,。
4.2 可重用性測試
為驗證系統(tǒng)的可通用性,,對Lorenz混沌信號產(chǎn)生模塊稍作修改,修改的內(nèi)容包括:微分方程,、參數(shù)值以及初始值,。
Liu系統(tǒng)的方程為:
采用同樣的方法,得到Liu系統(tǒng)產(chǎn)生的混沌信號,。如圖5和圖6所示,。
5 結(jié)論
針對模擬電路設(shè)計的混沌信號模塊結(jié)構(gòu)復(fù)雜、噪聲高等缺點,,采用DSP實現(xiàn)了可調(diào)精度的混沌信號產(chǎn)生模塊,,并實現(xiàn)了Lorenz方程和Liu系統(tǒng)的混沌信號??偨Y(jié)如下:以TI公司的TMS320C5402型DSP為例給出了混沌信號源詳細的設(shè)計方法,,并對信號進行了驗證;運用JTAG測試技術(shù)和CCS的在線調(diào)試,,直接訪問DSP內(nèi)存,,進而判斷信號是否發(fā)生混沌,此方法簡單有效,。該模塊的設(shè)計可根據(jù)不同應(yīng)用需求,,如對混沌信號產(chǎn)生速率,、功耗、精度等方面的要求,,選擇不同器件片,。所以具有很大的通用性和靈活性。