《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應用 > Logistic-Map混沌序列的單片機實現(xiàn)
Logistic-Map混沌序列的單片機實現(xiàn)
李 偉,,禹思敏
摘要: 混沌序列的產(chǎn)生是混沌理論應用于保密通信領(lǐng)域的一個重要問題,。通過對Logistic映射進行變換處理,利用整數(shù)運算代替小數(shù)運算,使程序便于在MCS-51系列單片機平臺上運行,由此產(chǎn)生Logistic-Map混沌序列,。
Abstract:
Key words :

  摘 要: 混沌序列的產(chǎn)生是混沌理論應用于保密通信領(lǐng)域的一個重要問題。通過對Logistic映射進行變換處理,利用整數(shù)運算代替小數(shù)運算,,使程序便于在MCS-51系列單片機平臺上運行,由此產(chǎn)生Logistic-Map混沌序列,。
    關(guān)鍵詞: 混沌序列,;Logistic-Map;單片機

 

  混沌及其應用是近年來非線性科學研究領(lǐng)域的一個熱點課題,。自Pecora和Carroll提出了混沌同步概念,,使混沌應用于保密通信技術(shù)領(lǐng)域成為可能。但要進行有效的混沌通信,,首先必須產(chǎn)生穩(wěn)定的混沌序列信號,。
    混沌序列信號發(fā)生器最初是利用分立模擬電子元件來實現(xiàn)的,這種方法能有效地產(chǎn)生混沌信號,,但降低了集成度,,增大了體積,且在通信應用時,,因為元件參數(shù)較大的離散性,,容易造成收發(fā)系統(tǒng)之間的電路參數(shù)失配。相比而言,,用數(shù)字元件實現(xiàn),,能簡化系統(tǒng)并提高抗干擾能力,例如,,在DSP和FPGA等數(shù)字平臺上產(chǎn)生混沌序列,,是一種較為有效的方法。
    對于產(chǎn)生形式簡單并且應用廣泛的Logistic-Map混沌序列[1]信號,,可在速度較慢,、資源有限的51系列單片機硬件平臺[2]上實現(xiàn)。由于Logistic映射中產(chǎn)生的迭代數(shù)據(jù)全是小數(shù),,而單片機處理浮點數(shù)的能力較差,,故需對Logistic-Map方程進行映射變換,以便于在單片機上運行實現(xiàn),。
1 Logistic方程的變換處理
    Logistic方程是目前應用較為廣泛的一種混沌映射,,其迭代方程的數(shù)學表達式為


    由于單片機并不適合于處理小數(shù),故為了方便于單片機的運行處理,,系數(shù)盡可能地選擇整數(shù),,這里選取參數(shù)μ=4,,其時域仿真波形如圖3所示。


    Logistic方程中,,x(n)的值均為0~1之間的小數(shù),,而x(n)值的精確度對系統(tǒng)是否處于混沌狀態(tài)有一定的影響,精度過低會將混沌系統(tǒng)強制性帶出混沌,。理論上,,x(n)值的精確度越大越好,但實際上不可能選取無窮精度,。在Matlab仿真時,,軟件采用雙精度浮點的形式進行數(shù)值運算。
    考慮到單片機處理浮點數(shù)的能力較差,,通過線性映射:
  

  將x(n)∈(0,,1)的值映射到X(n)∈(0,65 536)的區(qū)間上,,而這屬于一個無符號整型變量的表數(shù)范圍,。通過該映射,就能在保證變換前的數(shù)值精確到小數(shù)點后4位的情況下,,用無符號整型變量代替雙精度浮點型變量的運算,,并且能在一定程度上反映小數(shù)點后第5位的情況。
  經(jīng)過映射變換后的Logistic映射方程變?yōu)椋?br />   
  式中X(n)∈(0,,65 536),。數(shù)值仿真結(jié)果如圖4所示。由此可知,,變換只改變了x(n)值的幅度,,并沒有改變系統(tǒng)的性質(zhì)。

2 硬件設(shè)計
    在硬件設(shè)計中,,選用了51系列中的增強型單片機AT89S52,。這款單片機內(nèi)置了8 KB的Flash,8個256 bit的片內(nèi)RAM,,對于存儲程序和臨時數(shù)據(jù)值有足夠的空間,,因此可采用單片工作模式,不需擴展外圍存儲器,。
    圖5為Logistic混沌信號發(fā)生器的硬件電路圖,。單片機的P1.6、P1.7分別輸出轉(zhuǎn)換控制信號和控制時鐘信號,;P1.4,、P1.5則將Logistic方程的迭代結(jié)果串行地送入數(shù)模轉(zhuǎn)換器,。


    要較好地將單片機計算結(jié)果還原成模擬信號并在示波器上顯示出來,,對D/A轉(zhuǎn)換器的精度有一定的要求[5]。數(shù)模轉(zhuǎn)換器的精度過低,會使許多不同的計算結(jié)果被轉(zhuǎn)換為相同的模擬電壓值,,導致波形質(zhì)量的嚴重下降,。這里選用了廉價高速的12位精度數(shù)模轉(zhuǎn)換器MAX538[2,6],。這款D/A轉(zhuǎn)換器是電壓輸出型,,串行輸入方式,由單5 V電源供電,。它采用菊花鏈結(jié)構(gòu),,1次接收16位的數(shù)據(jù),其中只有低12位有效,,而高四位只在構(gòu)成菊花鏈時使用,。圖6為MAX538的時序圖,當轉(zhuǎn)換控制信號為高電平時,,D/A轉(zhuǎn)換器不接收新值,,而將數(shù)字信號轉(zhuǎn)換成模擬信號,輸出的模擬信號電壓值:
  

  式中,,VREF為基準電壓,,取為2.5 V;當其為低點平時,,每來1個控制時鐘脈沖就讀入1位值,。

3 軟件流程設(shè)計
    根據(jù)(3)式可知,程序中涉及到了減法,、乘法和除法運算,。在單片機指令系統(tǒng)中,這3種運算指令均為多周期指令,,會占用較多的運行時間,,尤其是除法運算。相對而言,,賦值指令,、移位指令與邏輯運算指令則較為快速,因此,,在保證準確性的前提下,,可用移位運算代替乘、除運算[7],。
    在設(shè)計程序時,,利用循環(huán)迭代,使單片機不斷地計算出Logistic方程的當前值,。程序流程圖如圖7所示,。在整個循環(huán)體內(nèi),,通過以下幾個步驟完成1次迭代運算:

 

    (1)將公式(3)中的減法運算[65536-X(n)]用“異或”運算[X(n)⊕0xFFFF]代替,所得值送入變量y所指向的存儲空間,;
    (2)將y的值與x相乘,,實現(xiàn)[X(n)[65536-X(n)]],而這個乘法運算的結(jié)果是一個32位的值,,因此賦予長整型變量M32,;
    (3)乘法運算結(jié)果要除以65 536,該值是2的16次方(65 536=216),,故可通過將M32的值右移16位來替換除法運算,;
    (4)在單片機指令系統(tǒng)中,除法運算的結(jié)果是個16位的值,,但移位運算并不會改變變量的數(shù)據(jù)類型,,故仍為32位的數(shù)據(jù)。所以,,要令M32和0xFFFF相“與”,,取出M32的低16位值存入與整型變量相對應的存儲空間;
    (5)用y的值左移2位替代乘以系數(shù)μ=4的運算,,計算出Logistic方程的當前值,;
    (6)將計算結(jié)果送入數(shù)模轉(zhuǎn)換器。
    數(shù)模轉(zhuǎn)換芯片MAX538是串行輸入的,,上述步驟計算的結(jié)果是一個整型數(shù)值,,不能1次送入D/A芯片,要將數(shù)值按權(quán)位的高低逐個取出并傳送,。并且MAX538是12位的D/A芯片,,只有低12數(shù)據(jù)有效。計算結(jié)果的16位數(shù)據(jù)中,,對信號幅度影響較大的是高12位數(shù)據(jù),,故要將x(n)的值右移4位,將高4位無效位清零,,而把有效值保存在低12位,。根據(jù)MAX538的信號時序,可得如圖8所示的流程圖,。


    混沌系統(tǒng)方程中,,均為小數(shù)形式的運算,增加了產(chǎn)生混沌信號時的硬件復雜程度,。因此,,通過對Logistic方程進行線性變換,采用整數(shù)運算替代浮點數(shù)運算,,可以在保證一定數(shù)值精度的情況下,,提高程序的運行速度,,為利用51系列單片機產(chǎn)生混沌序列信號提供了一種實際可行的實現(xiàn)方法。


參考文獻
[1] 呂金虎,,陸君安,陳士華.混沌時間序列分析及其應用[M].武漢:武漢大學出版社,,2002.
[2] 李群芳,,張士軍,黃?。畣纹⑿陀嬎銠C與接口技術(shù)(第2版)[M].北京:電子工業(yè)出版社,,2005.
[3] 趙艷紅,張春,,吳楚.擴頻通信中數(shù)字混沌序列的產(chǎn)生[J].信息工程大學學報,,2000(3):40-43.
[4] 劉文波.Logistic映射的電路實現(xiàn)及應用[J].數(shù)據(jù)采集與處理,2001(1):129-132.
[5] 趙耿,,鄭德玲,,董冀媛.Logistic映射數(shù)字混沌產(chǎn)生器[J].北京科技大學學報,2001(2):173-176.
[6] 王福瑞.單片微機測控系統(tǒng)設(shè)計大全[M].北京:北京航空航天大學出版社,,1998.
[7] 唐秋玲,,覃團發(fā),姚海濤,,等.數(shù)字語音混沌保密通信系統(tǒng)及硬件實現(xiàn)[J].電子技術(shù)應用,,2000(2):58-60.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。