偽隨機碼

偽隨機碼

結構可以預先確定,可重複產生和複製,具有某種隨機序列隨機特性的序列碼。偽隨機碼序列一般可以利用移位暫存器網路產生,該網路由R級串聯雙態器件移位脈衝產生器和模二加法器組成。該網路可以產生碼長為15的偽隨機碼。在計算機、通信系統中我們採用的隨機數、隨機碼均為偽隨機數、偽隨機碼。所謂“隨機碼”,就是無論這個碼有多長都不會出現循環的現象,而“偽隨機碼”在碼長達到一定程度時會從其第一位開始循環,由於出現的循環長度相當大,例如CDMA採用42的偽隨機碼,重複的可能性為4.4萬億分之一,所以可以當成隨機碼使用。

基本介紹

  • 中文名:偽隨機碼
  • 外文名:pseudo random code
  • 利用移位暫存器網路產生
  • 例如:CDMA採用42的偽隨機碼
  • 特點:結構可預先確定,重複產生和複製
簡介,特性,處理方法,套用,實例,碼,

簡介

偽隨機數並不是假隨機數,這裡的“偽”是有規律的意思,就是計算機產生的偽隨機數既是隨機的又是有規律的。產生的偽隨機數有時遵守一定的規律,有時不遵守任何規律;偽隨機數有一部分遵守一定的規律;另一部分不遵守任何規律。比如“世上沒有兩片形狀完全相同的樹葉”,這正是點到了事物的特性,即隨機性,但是每種樹的葉子都有近似的形狀,這正是事物的共性,即規律性。從這個角度講,計算機只能產生偽隨機數而不能產生絕對隨機的隨機數。

特性

偽隨機碼又稱偽隨機序列,它是具有類似於隨機序列基本特性的確定序列。通常廣泛套用二進制序列,因此我們僅限於研究二進制序列。二進制獨立隨機序列在機率論中一般稱為貝努利(Bernoulli)序列,它由兩個元素(符號)0, 1或1, -1組成。序列中不同位置的元素取值相互獨立取0取1的機率相等等於1/2:我們簡稱此種系列為隨機系列。
隨機序列具有以下三個基本特性:
1)在序列中“0”和“1”出現的相對頻率各為1/2。
2)序列中連0或連1稱為遊程連0或連1的個數稱為遊程的長度,序列中長度為1的遊程數占遊程總數的1/2;長度為2的遊程數占遊程總數的1/4;長度為3的遊程數占遊程總數的1/8;長度為n的遊程數占遊程總數的1/2n(對於所有有限的n)。此性質我們簡稱為隨機序列的遊程特性。
3)如果將給定的隨機序列位移任何個元素,則所得序列的和原序列的對應的元素有一半相同,一半不同。
如果確定序列近似滿足以上三個特性則稱此確定序列為偽隨機序列

處理方法

利用FPGA可實現移位暫存器網路以產生偽隨機碼信號,並實現邏輯控制和時鐘分配等功能。對於FPGA輸出的TTL信號,其處理方法有兩種:一種是直接送至運放進行信號調理輸出;另外一種是將TTL經過D/A轉換及信號調理後再輸出。經過分析與實際測試,由於FPGA輸出的信號相位抖動較為嚴重,甚至會造成信號邊沿不穩,而且存在著嚴重的寄生信號,因而輸出的偽碼質量較差;而如果經過D/A轉換後再進行調理輸出,這種影響會得到削弱,信號質量會得到提高,因此第二種方法更為可取,在實際套用中,筆者就選擇該方法進行電路設計,並選擇差分電流輸出型D/A經過MAX4145放大後直接輸出。
基於MAX4145的偽隨機碼產生電路原理。該偽隨機碼產生電路在工作時,系統可以通過並口將偽碼數據分配給FPGA,也可由FP-GA自主產生偽碼信號,同時由FPGA完成信號處理、時鐘分配、碼同步產生以及波形存儲等功能。MAX4145的作用主要是完成差分到單端輸出的轉換和放大。

套用

偽隨機碼用於密碼。在經典密碼體制中加密密鑰同時又是解密密鑰,因而稱為單鑰體制。在現代的公開密鑰體制中則每個通信者擁有兩個密鑰,其中加密密鑰是公開的,只需將解密密鑰嚴格保密。雖然人類在通信中採用種種明碼和密碼的歷史相當久遠,但編碼理論可以認為是在電子技術飛速發展以後,針對當代數字通信和數字存儲等的具體需要,於20 世紀50 年代發展成為一門面目全新的套用數學,目前已有豐富的內容。
隨著近20年來組合設計理論的迅猛發展,碼與設計、密碼與設計之間的相互聯繫已經受到特別的關注,以促進和發展這種相互聯繫為宗旨的一份新的國際性雜誌《設計、碼與密碼》已於1991年問世。

實例

序列α= 0110100,其中0和1的個數相差1。把α看成周期為7的無限序列,左移1位得,α1= 1101000,把α1也看成周期為7的無限序列。 α= 0110100,α1=1101000在一個周期里,α和α1的對應位置元素相同的位置有3個,元素不同的位置有4個,它們的差等於-1,這個數稱為α的自相關函式在1處的值。類似地,把α左移2位,3位,…6位,可以求出α的自相關函式在2處,3處,…6處的值也等於-1。
當0<s<7時,稱為α的自相關函式的旁瓣值。從剛才所求出的結果知道,α= 0110100的自相關函式的旁瓣值只有一個:-1。像這樣的序列稱為偽隨機序列或擬完美序列。即,一個周期為v的無限序列,如果在一個周期里,0和1的個數相差1,並且它的自相關函式的旁瓣值只有一個:-1,則稱它為偽隨機序列或擬完美序列。α的自相關函式的旁瓣值的絕對值越大,就表明(或把的0和1互換得到的序列)與α越像。因此如果周期為v的序列α是一個偽隨機序列,那么α不管左移幾位(只要不是v的倍數),得到的序列都和α很不像,這樣就很難分辨出α是什麼樣子。
偽隨機序列是用函式生成隨機數。它並不真正是隨機的。只是比較近似隨機。
一個簡單的隨機數產生方法如下:X0=345,Xn=(Xn-1*A+B)/C,其中A,B,C是常數,上式每執行一次就生成一個偽隨機數,還可以在數組中填入若干個數然後順序取出進行模擬。性能好,但是這種隨機數就很不象隨機數了。 還有就是根據當前系統時間,記憶體值等等用函式生成了。

(code)
碼是組合設計的一個重要概念。
它是為達到信息傳遞的可靠性和安全性等目的而對信息所做的某種變換。在無線電通信中需要有克服天電干擾的措施,特別在宇航通信中更為突出,糾錯碼主要用於抗干擾的要求;另一方面,在軍事、外交及商業方面,要求信息傳遞過程中的保密性,這類碼就是密碼。分組碼是一類重要的糾錯碼。
設 Q 為 q 元集,
為笛卡兒積集合。
的一個非空真子集C稱為一個q 元分組碼,簡稱碼。當
時,稱這個碼是平凡的。稱 Q 為字母表,而稱
的元為字或向量,稱C的元為碼字,n 為字長。當
時,稱 C 為 q 元(n.M)碼。

相關詞條

熱門詞條

聯絡我們