]、
[0072] 依次類推。如果準(zhǔn)備并行輸出m位的二進(jìn)制數(shù)據(jù),為了克服前述方法生成偽 隨機(jī)數(shù)的缺點(diǎn),需要來m個(gè)時(shí)鐘,將電路的狀態(tài)從{Q[k]}變?yōu)閧Q[k+m]},寄存器的值為 Qn 丨[k+m]、Qn 2 [k+m]、Qn 3 [k+m] · · · Q1 [k+m]、Q。[k+m]。用這種方法生成的 m 位的二進(jìn)制數(shù)據(jù) 為Qm i [k+m]、Qm 2 [k+m]、. . .、Q1 [k+m]、Q。[k+m]。這樣生成的m位偽隨機(jī)數(shù)前后之間沒有任 何數(shù)據(jù)位是相同的,很好地的克服了數(shù)據(jù)之間的相關(guān)性,偽隨機(jī)數(shù)的質(zhì)量得到了極大改善。 由于每位二進(jìn)制數(shù)"0"與" 1"碼元的概率是相同的,因此生成的m位的偽隨機(jī)數(shù)是均勻分 布的。當(dāng)m位的偽隨機(jī)數(shù)看作補(bǔ)碼時(shí),數(shù)值范圍為[_2ml,2ml_l]。當(dāng)m位的偽隨機(jī)數(shù)看作 無符號數(shù)時(shí),數(shù)值范圍為[0,2 m-l]。
[0073] 上述方法的缺點(diǎn)是每來m次時(shí)鐘,才能得到一個(gè)偽隨機(jī)數(shù),因此電路生成偽隨機(jī)數(shù) 的速度下降了 m倍。如果對上述電路的狀態(tài){Q[k]}遞推,依次得到{Q[k+1]}... {Q[k+m]}, 將電路狀態(tài){Q[k+m]}的邏輯推導(dǎo)出只依賴于{Q[k]}的狀態(tài),那么設(shè)計(jì)出來的最長線性反 饋移位寄存器每來一個(gè)時(shí)鐘,就能輸出一個(gè)m位的偽隨機(jī)數(shù),生成偽隨機(jī)數(shù)的速度得到了 極大提高,其內(nèi)部狀態(tài)相當(dāng)于原來的最長線性反饋移位寄存器改變m次的狀態(tài)。這種并行 結(jié)構(gòu)的最長線性反饋移位寄存器原理框圖如圖6所示。
[0074] 本發(fā)明提出了一種將一個(gè)并行結(jié)構(gòu)最長線性反饋移位寄存器與一個(gè)以上并行結(jié) 構(gòu)最長線性反饋移位寄存器相結(jié)合產(chǎn)生長序列周期偽隨機(jī)數(shù)的方法,原理框圖如圖7所 不。
[0075] 如果基于并行結(jié)構(gòu)最長線性反饋移位寄存器的Na位偽隨機(jī)數(shù)發(fā)生器A,生成了 m位的均勾分布偽隨機(jī)數(shù),記為A[k],以二進(jìn)制表示為Am Jk=Am 2[k]. . . AjkilAjk]?;?于并行結(jié)構(gòu)的Nb位最長線性反饋移位寄存器的偽隨機(jī)數(shù)發(fā)生器B,生成了 m位的均勻分 布偽隨機(jī)數(shù),記為則1〇,以二進(jìn)制表示為11[108|112[10...8 1[108。[10。偽隨機(jī)數(shù)4[10與 偽隨機(jī)數(shù)B[k]中對應(yīng)數(shù)據(jù)位進(jìn)行異或運(yùn)算,生成偽隨機(jī)數(shù)D[k],以二進(jìn)制表示為D ni i [k] Dni 2 [k]... D1 [k] D。[k]。要求偽隨機(jī)數(shù)發(fā)生器A生成的偽隨機(jī)數(shù)A [k]與偽隨機(jī)數(shù)發(fā)生器B生 成的偽隨機(jī)數(shù)B[k]不相關(guān),即偽隨機(jī)數(shù)發(fā)生器A的本原多項(xiàng)式與偽隨機(jī)數(shù)發(fā)生器B的本原 多項(xiàng)式不能是鏡像本原多項(xiàng)式。由于偽隨機(jī)數(shù)發(fā)生器A與偽隨機(jī)數(shù)發(fā)生器B之間不相關(guān), 生成的偽隨機(jī)數(shù)D[k]中的每一位是均勻分布的,因此D[k]是m位均勻分布偽隨機(jī)數(shù)。
[0076] 當(dāng)m為偶數(shù)時(shí),并行結(jié)構(gòu)偽隨機(jī)數(shù)發(fā)生器A的序列周期為2Na_l,并行結(jié)構(gòu)偽隨機(jī) 數(shù)發(fā)生器B的序列周期為2 Nb-l。偽隨機(jī)數(shù)D [k]的序列周期為偽隨機(jī)數(shù)發(fā)生器A與B序列 周期的最小公倍數(shù)。因此偽隨機(jī)數(shù)D[k]的序列周期得到了極大擴(kuò)展。
[0077] 采用三級偽隨機(jī)數(shù)發(fā)生器電路結(jié)構(gòu)時(shí),原理框圖如圖8所示?;诓⑿薪Y(jié)構(gòu)最 長線性反饋移位寄存器的N a位偽隨機(jī)數(shù)發(fā)生器A,生成了 m位的均勻分布偽隨機(jī)數(shù),記為 A[k]?;诓⑿薪Y(jié)構(gòu)最長線性反饋移位寄存器的Nb位偽隨機(jī)數(shù)發(fā)生器B,生成了 m位的均 勻分布偽隨機(jī)數(shù),記為B [k]。基于并行結(jié)構(gòu)最長線性反饋移位寄存器的N。位偽隨機(jī)數(shù)發(fā)生 器C,生成了 m位的均勻分布偽隨機(jī)數(shù),記為C[k]。A[k]與B[k]與C[k]進(jìn)行異或運(yùn)算,生 成m位的均勻分布偽隨機(jī)數(shù)D [k]。要求偽隨機(jī)數(shù)發(fā)生器A與偽隨機(jī)數(shù)發(fā)生器B與偽隨機(jī)數(shù) 發(fā)生器C互不相關(guān)。
[0078] 當(dāng)m為偶數(shù)時(shí),并行結(jié)構(gòu)偽隨機(jī)數(shù)發(fā)生器A的序列周期為2Na_l,并行結(jié)構(gòu)偽隨機(jī) 數(shù)發(fā)生器B的序列周期為2 Nb-l,并行結(jié)構(gòu)偽隨機(jī)數(shù)發(fā)生器C的序列周期為2&-1。偽隨機(jī) 數(shù)D[k]的序列周期為偽隨機(jī)數(shù)發(fā)生器A與B與C序列周期的最小公倍數(shù)。因此偽隨機(jī)數(shù) D[k]的序列周期得到了極大擴(kuò)展。
[0079] 可以設(shè)計(jì)有更多電路單元的偽隨機(jī)數(shù)發(fā)生器。例如可以設(shè)計(jì)有四個(gè)并行結(jié)構(gòu)最長 線性反饋移位寄存器的偽隨機(jī)數(shù)發(fā)生器,將這四個(gè)偽隨機(jī)數(shù)發(fā)生器的輸出進(jìn)行異或運(yùn)算, 生成有多個(gè)數(shù)據(jù)位的均勻分布偽隨機(jī)數(shù)。要求這四個(gè)偽隨機(jī)數(shù)發(fā)生器互不相關(guān)。生成偽隨 機(jī)數(shù)的序列周期為這四個(gè)偽隨機(jī)數(shù)發(fā)生器序列周期的最小公倍數(shù)。
[0080] 生成均勻分布的偽隨機(jī)數(shù)后,就容易生成各種分布的偽隨機(jī)數(shù)及噪聲信號了。例 如可以產(chǎn)生均勾分布、高斯分布、其它分布偽隨機(jī)數(shù),也可以產(chǎn)生均勾分布、高斯分布、其它 分布數(shù)字白噪聲信號,其均值、方差、譜密度可調(diào)節(jié)。由均勻分布偽隨機(jī)數(shù)轉(zhuǎn)換成其它分布 偽隨機(jī)數(shù)的電路框圖如圖9所示。生成其它分布偽隨機(jī)數(shù)時(shí),均勻分布偽隨機(jī)數(shù)經(jīng)過查找 表轉(zhuǎn)換成所需分布的偽隨機(jī)數(shù)。改變查找表中的數(shù)值,可以改變偽隨機(jī)數(shù)的分布、均值、方 差。也可以生成所需分布、均值、方差、譜密度的偽隨機(jī)數(shù)字白噪聲信號。生成偽隨機(jī)數(shù)字 白噪聲信號時(shí),輸出的數(shù)字噪聲信號帶寬最高約為電路時(shí)鐘頻率的一半。
[0081] 具體實(shí)施例:
[0082] 以32位最長線性反饋移位寄存器生成8位偽隨機(jī)數(shù)為例,說明本發(fā)明中用到的高 速偽隨機(jī)數(shù)生成方法的具體實(shí)現(xiàn)。取本原多項(xiàng)式1+χ2+χ6+χ 7+χ32,當(dāng)前時(shí)刻k的電路狀態(tài)為 {Q [k]},其寄存器值為 Q31 [k]、Q3。[k].....Q1 [k]、Q。[k],Q32 [k]為
[0083] Q32 [k] = Q30 [k]十 Q26 [k]十 Q25 [k]十 Q0 [k]
[0084] 則遞推式中k+8時(shí)刻的電路狀態(tài){Q[k+8]}為
[0118] 推導(dǎo)出的上述各式中,k+8時(shí)刻的電路狀態(tài)只依賴于k時(shí)刻的電路狀態(tài)。用這種 方法設(shè)計(jì)出的并行結(jié)構(gòu)最長線性反饋移位寄存器每來一個(gè)時(shí)鐘,就相當(dāng)于原來的最長線性 反饋移位寄存器的內(nèi)部狀態(tài)改變了 8次,能輸出1個(gè)8位的偽隨機(jī)數(shù),改進(jìn)了串行輸出方法 速度慢的缺點(diǎn)。由于32位最長線性反饋移位寄存器有232-1個(gè)狀態(tài),其不能被8整除,因此 8位偽隨機(jī)數(shù)的周期為2 32-1。
[0119] 用相同的方法可以推導(dǎo)出31位最長線性反饋移位寄存器的并行結(jié)構(gòu)反饋邏輯電 路。以生成8位偽隨機(jī)數(shù)為例,取本原多項(xiàng)式l+x3+x31,當(dāng)前時(shí)刻k的電路狀態(tài)為{Q[k]}, 其寄存器值為 Q3。[k]、Q29 [k].....Q1 [k]、Q。[k],Q31 [k]為
[0120] Q31 [k] = Q28 [k]十 Q。[k]
[0121] 則遞推式中k+8時(shí)刻的電路狀態(tài){Q [k+8]}為
[0148] 推導(dǎo)出的上述各式中,k+8時(shí)刻的電路狀態(tài)只依賴于k時(shí)刻的電路狀態(tài)。用這種 方法設(shè)計(jì)出的并行結(jié)構(gòu)最長線性反饋移位寄存器每來一個(gè)時(shí)鐘,就相當(dāng)于原來的最長線性 反饋移位寄存器的內(nèi)部狀態(tài)改變了 8次,能輸出1個(gè)8位的偽隨機(jī)數(shù),改進(jìn)了串行輸出方法 速度慢的缺點(diǎn)。由于31位最長線性反饋移位寄存器有231-1個(gè)狀態(tài),其不能被8整除,因此 8位偽隨機(jī)數(shù)的周期為2 31-1。
[0149] 下面以兩個(gè)電路單元的偽隨機(jī)數(shù)發(fā)生器為例,說明本發(fā)明的一個(gè)具體實(shí)施。電路 框圖如圖10所示。偽隨機(jī)數(shù)發(fā)生器A為32位并行結(jié)構(gòu)最長線性反饋移位寄存器,每來一 個(gè)時(shí)鐘輸出一個(gè)8位偽隨機(jī)數(shù)A[k],選擇本原多項(xiàng)式l+x 2+x6+x7+x32,其并行結(jié)構(gòu)反饋邏輯 前面已做過推導(dǎo)。偽隨機(jī)數(shù)發(fā)生器B為31位并行結(jié)構(gòu)最長線性反饋移位寄存器,每來一個(gè) 時(shí)鐘輸出一個(gè)8位偽隨機(jī)數(shù)B [k],選擇本原多項(xiàng)式l+x3+x31,其并行結(jié)構(gòu)反饋邏輯前面已做 過推導(dǎo)。偽隨機(jī)數(shù)A[k]與B[k]進(jìn)行異或運(yùn)算,生成偽隨機(jī)數(shù)D[k]。偽隨機(jī)數(shù)A[k]的序 列周期為2