偽隨機(jī)碼 偽隨機(jī)碼
偽隨機(jī)碼序列一般可以利用移位寄存器網(wǎng)絡(luò)產(chǎn)生,該網(wǎng)絡(luò)由R級(jí)串聯(lián)雙態(tài)器件移位脈沖產(chǎn)生器和模二加法器組成。該網(wǎng)絡(luò)可以產(chǎn)生碼長(zhǎng)為15的偽隨機(jī)碼。
利用FPGA可實(shí)現(xiàn)移位寄存器網(wǎng)絡(luò)以產(chǎn)生偽隨機(jī)碼信號(hào),并實(shí)現(xiàn)邏輯控制和時(shí)鐘分配等功能。對(duì)于FPGA輸出的TTL信號(hào),其處理方法有兩種:一種是直接送至運(yùn)放進(jìn)行信號(hào)調(diào)理輸出;另外一種是將TTL經(jīng)過(guò)D/A轉(zhuǎn)換及信號(hào)調(diào)理后再輸出。經(jīng)過(guò)分析與實(shí)際測(cè)試,由于FPGA輸出的信號(hào)相位抖動(dòng)較為嚴(yán)重,甚至?xí)斐尚盘?hào)邊沿不穩(wěn),而且存在著嚴(yán)重的寄生信號(hào),因而輸出的偽碼質(zhì)量較差;而如果經(jīng)過(guò)D/A轉(zhuǎn)換后再進(jìn)行調(diào)理輸出,這種影響會(huì)得到削弱,信號(hào)質(zhì)量會(huì)得到提高,因此第二種方法更為可取,在實(shí)際應(yīng)用中,筆者就選擇該方法進(jìn)行電路設(shè)計(jì),并選擇差分電流輸出型D/A經(jīng)過(guò)MAX4145放大后直接輸出。
基于MAX4145的偽隨機(jī)碼產(chǎn)生電路原理。該偽隨機(jī)碼產(chǎn)生電路在工作時(shí),系統(tǒng)可以通過(guò)并口將偽碼數(shù)據(jù)分配給FPGA,也可由FP-GA自主產(chǎn)生偽碼信號(hào),同時(shí)由FPGA完成信號(hào)處理、時(shí)鐘分配、碼同步產(chǎn)生以及波形存儲(chǔ)等功能。MAX4145的作用主要是完成差分到單端輸出的轉(zhuǎn)換和放大。
讓我們看一個(gè)例子。序列α= 0110100,其中0和1的個(gè)數(shù)相差1。把α看成周期為7的無(wú)限序列,左移1位得,α1 = 1101000,把α1也看成周期為7的無(wú)限序列。 α= 0110100α1=1101000在一個(gè)周期里,α和α1的對(duì)應(yīng)位置元素相同的位置有3個(gè),元素不同的位置有4個(gè),它們的差等于-1,這個(gè)數(shù)稱為α的自相關(guān)函數(shù)在1處的值,記作。類似地,把α左移2位,3位,…6位,可以求出α的自相關(guān)函數(shù)在2處,3處,…6處的值也等于-1。當(dāng)0 < s <7時(shí),稱為α的自相關(guān)函數(shù)的旁瓣值。從剛才所求出的結(jié)果知道,α= 0110100的自相關(guān)函數(shù)的旁瓣值只有一個(gè):-1。像這樣的序列稱為偽隨機(jī)序列或擬完美序列。即,一個(gè)周期為v的無(wú)限序列,如果在一個(gè)周期里,0和1的個(gè)數(shù)相差1,并且它的自相關(guān)函數(shù)的旁瓣值只有一個(gè):-1,則稱它為偽隨機(jī)序列或擬完美序列。α的自相關(guān)函數(shù)的旁瓣值的絕對(duì)值越大,就表明(或把的0和1互換得到的序列)與α越像。因此如果周期為v的序列α是一個(gè)偽隨機(jī)序列,那么α不管左移幾位(只要不是v的倍數(shù)),得到的序列都和α很不像,這樣就很難分辨出α是什么樣子。好比川劇的變臉,由于每一次都變得和演員的臉很不一樣,因此很難知道演員自己的臉是什么樣子。反之如果演員每一次化裝后都跟他自己的臉有許多相同之處,那么就容易辨認(rèn)演員長(zhǎng)得什么樣。這說(shuō)明了用偽隨機(jī)序列作為密鑰序列,是比較安全的。
偽隨機(jī)序列是用函數(shù)生成隨機(jī)數(shù)。它并不真正是隨機(jī)的。只是比較近似隨機(jī)。
一個(gè)簡(jiǎn)單的隨機(jī)數(shù)產(chǎn)生方法如下:
X0=345
Xn=(Xn-1*A+B)/C
其中A,B,C是常數(shù),上式每執(zhí)行一次就生成一個(gè)偽隨機(jī)數(shù)
還可以在數(shù)組中填入若干個(gè)數(shù)然后順序取出進(jìn)行模擬。性能好,但是這種隨機(jī)數(shù)就很不象隨機(jī)數(shù)了。 還有就是根據(jù)當(dāng)前系統(tǒng)時(shí)間,內(nèi)存值等等用函數(shù)生成了。
"http://baike.eccn.com/eewiki/index.php/%E4%BC%AA%E9%9A%8F%E6%9C%BA%E7%A0%81"