專利名稱:一種用于深空通信協(xié)議編碼的均勻隨機數(shù)生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于深空通信協(xié)議編碼的均勻隨機數(shù)生成方法,屬于深空通信及通信信號處理技術(shù)領(lǐng)域。
背景技術(shù):
隨著美國“勇氣號”,“好奇號”探測器登陸火星,深空探測已經(jīng)開始悄然變?yōu)楹教炜萍佳芯康闹攸c。深空通信傳輸協(xié)議中有很多編碼,包括物理層的RS碼,傳輸層/應(yīng)用層的噴泉碼等等,這些碼字在編碼過程中的共同點是都需要隨機數(shù)生成器。例如,在噴泉碼中,產(chǎn)生度分布時需要魯棒孤波分布的隨機數(shù)生成器,以產(chǎn)生編碼輸出所需要的最佳度分布。在生成度以后還需要一個均勻隨機數(shù)生成器來確定相應(yīng)的輸入編碼包??梢?,在深空通信協(xié)議中,隨機數(shù)生成器是很重要、很基本的功能單元。任何一種隨機數(shù)生成器都是由均勻分布的隨機數(shù)生成器演變而來的,所以設(shè)計一種性能良好的均勻分布隨機數(shù)生成器是非常關(guān)鍵的。
由于深空通信信道的特殊性,以及編碼的特殊性,對隨機數(shù)生成器的要求較高。由于深空傳輸?shù)难舆t較長,為了克服信道特性,發(fā)送的冗余較大,對信道編碼的依賴較大,所以對隨機數(shù)的要求較高。產(chǎn)生的隨機數(shù)性能好,最終編碼性能就好,也就能更好的克服深空信道的特性。但是,目前隨機數(shù)生成方法的性能還不能完美的達到協(xié)議實現(xiàn)的要求。
隨機數(shù)生成器分為兩大類,一類是真隨機數(shù)生成器,一類是偽隨機數(shù)生成器。真隨機數(shù)生成器產(chǎn)生真隨機數(shù),是最理想的情況。真隨機數(shù)生成器主要有兩種實現(xiàn)方式,一種方式是采用用一定的方法使觸發(fā)器產(chǎn)生亞穩(wěn)態(tài),進而產(chǎn)生真隨機數(shù);另一種方法是放大硬件電路中的隨機噪聲,并設(shè)置一個閾值進行判決,進而產(chǎn)生真隨機數(shù)。但是,上述產(chǎn)生真隨機數(shù)的方法只能硬件實現(xiàn),不能夠仿真,并且產(chǎn)生速率只有幾百kbit/s,產(chǎn)生速率不能達到深空通信中編碼的要求。
偽隨機數(shù)的生成方法較多,最基本的方法是采用移位寄存器。偽隨機數(shù)一般存在以下缺點,一是偽隨機數(shù)是有周期的,不是真正的隨機數(shù);二是一般的偽隨機數(shù)生成器位寬不夠;三是經(jīng)過改進的隨機數(shù)生成器對FPGA資源利用不充分,產(chǎn)生的隨機數(shù)的隨機性能不能達到系統(tǒng)要求。
2009年谷曉忱在《計算機工程與科學(xué)》雜志上發(fā)表的“多輸出外部反饋性LFSR均勻分布隨機數(shù)生成器的分析與設(shè)計”中提出了一種改進的隨機數(shù)生成方法一 “多輸出外部反饋LFSR”。該方法解決了輸出位寬不夠的問題,但是這種改進后的方法產(chǎn)生的隨機數(shù)仍然是有周期限制的,并且生成矩陣太多稀疏,相關(guān)性較強,從而使最終產(chǎn)生的隨機數(shù)的性能并不是最佳的。
FPGA是一種可編程的硬件實現(xiàn)平臺,由于FPGA的資源有限,所以對FPGA資源的充分利用是隨機數(shù)生成器設(shè)計的指標(biāo)之一。Xilinx公司Virtex5系列FPGA的基本邏輯結(jié)構(gòu)是6輸入查找表(Look-Up-Table),簡寫為6-LUT。當(dāng)不使用6-LUT的所有輸入時,仍然會占用整個LUT資源,造成資源浪費。“多輸出外部反饋LFSR”方法設(shè)計的生成矩陣最終只能利用LUT中的2-3個輸入,其余輸入沒有得到充分利用,導(dǎo)致FPGA的資源不能得到充分利用??梢姡谏羁胀ㄐ艆f(xié)議的編碼過程中亟需一種位寬可配,隨機性能良好的真隨機數(shù)生成器。
發(fā)明內(nèi)容
本發(fā)明的目的在于減少深空通信協(xié)議實現(xiàn)的硬件資源,提高隨機數(shù)生成器的隨機性能,提出一種用于深空通信協(xié)議編碼的均勻隨機數(shù)生成方法,該方法是一種隨機性能好、產(chǎn)生速度快且沒有周期限制的真隨機數(shù)生成方法。本發(fā)明設(shè)計k*k維偽隨機數(shù)生成矩陣,使產(chǎn)生的偽隨機數(shù)達到最大的周期,提高隨機數(shù)的隨機性能,生成的隨機數(shù)位寬為k,滿足深空通信系統(tǒng)協(xié)議實現(xiàn)時位寬可變的要求。并產(chǎn)生真隨機數(shù)作為偽隨機數(shù)生成器的種子,從而得到不受周期限制的真隨機數(shù)。通過本發(fā)明的均勻隨機數(shù)生成方法,得到速率為f、隨機數(shù)產(chǎn)生范圍為(0,M-1)的真隨機序列。其具體實現(xiàn)步驟如下:步驟一,確定隨機數(shù)要求的位寬k:k=I Og2M其中,(M-1)為系統(tǒng)要求生成的隨機數(shù)范圍上限。步驟二,設(shè)計k*k維轉(zhuǎn)移矩陣A作為偽隨機數(shù)生成矩陣。矩陣第I行到第k行中“I”的個數(shù)分別為In1, m2,…,mk,矩陣第I列到第k列中“ I”的個數(shù)分別為叫,!^...,!!,。對于具有6個輸入端口 LUT的FPGA硬件電路,2彡Hii彡4,2彡Iii彡4。Hii, Iii的值越大,對LUT資源的利用越充分,生成的隨機數(shù)性能越好,但同時增加矩陣設(shè)計的難度。矩陣的具體設(shè)計步驟如下,步驟2.1,隨機產(chǎn)生一個k*k維矩陣,其中X列的Iii等于(a_l),其余k-χ列的Iii等于 a, i=l, 2,..., k ;X初始為0,a初始為4。步驟2.2,計算步驟2.1生成的矩陣中每行“I”的個數(shù),若有X行的Hii等于(a_l),其余k-x行的Hii等于a,則執(zhí)行步驟2.3 ;若不滿足條件,則令x=x+l返回執(zhí)行步驟2.1至步驟2.2。步驟2.3,計算步驟2.2得到的多個k*k維轉(zhuǎn)移矩陣的特征多項式,在滿足特征多項式為本原多項式的矩陣中,選取相關(guān)性最弱(每行、每列、對角線上連續(xù)為I的個數(shù)最少)的矩陣作為偽隨機數(shù)生成矩陣;若均不是本原多項式,則執(zhí)行步驟2.4。步驟2.4,判斷X是否等于k,若X不等于k,則將x加I,返回執(zhí)行步驟2.1至步驟
2.3 ;若x=k則執(zhí)行步驟2.5。步驟2.5,若a不等于3,令a=a_l, x=0,重新執(zhí)行步驟2.1至步驟2.4,直到找到滿足條件的偽隨機數(shù)生成矩陣。步驟三,設(shè)計k位真隨機數(shù)生成器。本發(fā)明采用“觸發(fā)器亞穩(wěn)態(tài)”方法搭建k位真隨機數(shù)生成器。所搭建的k位真隨機數(shù)生成器的觸發(fā)器的采集時鐘為
權(quán)利要求
1.一種用于深空通信協(xié)議編碼的均勻隨機數(shù)生成方法,其特征在于:得到的真隨機序列速率為f、產(chǎn)生范圍為(O, M-1);具體包括如下步驟: 步驟一,確定隨機數(shù)要求的位寬k: k=I Og2M ; 步驟二,設(shè)計k*k維轉(zhuǎn)移矩陣A作為偽隨機數(shù)生成矩陣; 矩陣第I行到第k行中“I”的個數(shù)分別為...,mk,矩陣第I列到第k列中“I”的個數(shù)分別為n” n2,..., nk ; 矩陣的具體設(shè)計步驟如下, 步驟2.1,隨機產(chǎn)生一個k*k維矩陣,其中X列的Iii等于(a-Ι),其余k-x列的Iii等于Bj i_l, 2,..., k ; X初始為O, a初始為4 ; 步驟2.2,計算步驟2.1生成的矩陣中每行“I”的個數(shù),若有X行的Hii等于(a-Ι),其余k-x行的Hii等于a,則執(zhí)行步驟2.3 ;若不滿足條件,則令x=x+l,返回執(zhí)行步驟2.1至步驟2.2 ; 步驟2.3,計算步驟2.2得到 的多個k*k維轉(zhuǎn)移矩陣的特征多項式,在滿足特征多項式為本原多項式的矩陣中,選取相關(guān)性最弱的矩陣作為偽隨機數(shù)生成矩陣;若均不是本原多項式,則執(zhí)行步驟2.4 ; 步驟2.4,判斷X是否等于k,若X不等于k,則將X加I,返回執(zhí)行步驟2.1至步驟2.3 ;若x=k則執(zhí)行步驟2.5 ; 步驟2.5,若a不等于3,令a=a-l, x=0,重新執(zhí)行步驟2.1至步驟2.4,直到找到滿足條件的偽隨機數(shù)生成矩陣; 步驟三,設(shè)計k位真隨機數(shù)生成器; 步驟四,令步驟三設(shè)計得到的k位真隨機數(shù)生成器產(chǎn)生k位真隨機數(shù); 步驟五,設(shè)計k位偽隨機數(shù)生成器,采用步驟二得到的偽隨機數(shù)生成矩陣; 步驟六,將步驟四得到的k位真隨機數(shù)作為初始種子,輸入步驟五得到的k位偽隨機數(shù)生成器,生成第一個周期的k位隨機數(shù),作為系統(tǒng)輸出;同時將該系統(tǒng)輸出再次輸入步驟五所設(shè)計得到的k位偽隨機數(shù)生成器,得到下一周期的k位隨機數(shù); 步驟七,按照步驟六所述方法用上一周期的輸出生成下一周期的k位偽隨機數(shù),其中,當(dāng)?shù)趇.2k(i > I)個周期時,重復(fù)步驟六到步驟七。
2.根據(jù)權(quán)利要求1所述的一種用于深空通信協(xié)議編碼的均勻隨機數(shù)生成方法,其特征在于:對于具有6個輸入端口 LUT的FPGA硬件電路,2彡Hii彡4,2彡Iii彡4。
3.根據(jù)權(quán)利要求1所述的一種用于深空通信協(xié)議編碼的均勻隨機數(shù)生成方法,其特征在于:所述相關(guān)性最弱的矩陣的選取原則為每行、每列、對角線上連續(xù)為I的個數(shù)最少。
4.根據(jù)權(quán)利要求1所述的一種用于深空通信協(xié)議編碼的均勻隨機數(shù)生成方法,其特征在于:采用“觸發(fā)器亞穩(wěn)態(tài)”方法搭建k位真隨機數(shù)生成器,所搭建的k位真隨機數(shù)生成器的觸發(fā)器的采集時鐘為;; 2-1
5.根據(jù)權(quán)利要求1所述的一種用于深空通信協(xié)議編碼的均勻隨機數(shù)生成方法,其特征在于:所述步驟五采用k個D觸發(fā)器生成k位偽隨機數(shù)生成器。
全文摘要
本發(fā)明涉及一種用于深空通信協(xié)議編碼的均勻隨機數(shù)生成方法,屬于深空通信及通信信號處理技術(shù)領(lǐng)域。本發(fā)明設(shè)計k*k維偽隨機數(shù)生成矩陣,使產(chǎn)生的偽隨機數(shù)達到最大的周期,提高隨機數(shù)的隨機性能,生成的隨機數(shù)位寬為k,滿足深空通信系統(tǒng)協(xié)議實現(xiàn)時位寬可變的要求。并產(chǎn)生真隨機數(shù)作為偽隨機數(shù)生成器的種子,從而得到不受周期限制的真隨機數(shù),使隨機數(shù)的輸出隨機特性比較好。
文檔編號G06F7/58GK103197912SQ20131009241
公開日2013年7月10日 申請日期2013年3月21日 優(yōu)先權(quán)日2013年3月21日
發(fā)明者安建平, 楊雷, 翟輝, 卜祥元, 崔健 申請人:北京理工大學(xué)