一种用于深空通信协议编码的均匀随机数生成方法

文档序号:6590447阅读:507来源:国知局
专利名称:一种用于深空通信协议编码的均匀随机数生成方法
技术领域
本发明涉及一种用于深空通信协议编码的均匀随机数生成方法,属于深空通信及通信信号处理技术领域。
背景技术
随着美国“勇气号”,“好奇号”探测器登陆火星,深空探测已经开始悄然变为航天科技研究的重点。深空通信传输协议中有很多编码,包括物理层的RS码,传输层/应用层的喷泉码等等,这些码字在编码过程中的共同点是都需要随机数生成器。例如,在喷泉码中,产生度分布时需要鲁棒孤波分布的随机数生成器,以产生编码输出所需要的最佳度分布。在生成度以后还需要一个均匀随机数生成器来确定相应的输入编码包。可见,在深空通信协议中,随机数生成器是很重要、很基本的功能单元。任何一种随机数生成器都是由均匀分布的随机数生成器演变而来的,所以设计一种性能良好的均匀分布随机数生成器是非常关键的。
由于深空通信信道的特殊性,以及编码的特殊性,对随机数生成器的要求较高。由于深空传输的延迟较长,为了克服信道特性,发送的冗余较大,对信道编码的依赖较大,所以对随机数的要求较高。产生的随机数性能好,最终编码性能就好,也就能更好的克服深空信道的特性。但是,目前随机数生成方法的性能还不能完美的达到协议实现的要求。
随机数生成器分为两大类,一类是真随机数生成器,一类是伪随机数生成器。真随机数生成器产生真随机数,是最理想的情况。真随机数生成器主要有两种实现方式,一种方式是采用用一定的方法使触发器产生亚稳态,进而产生真随机数;另一种方法是放大硬件电路中的随机噪声,并设置一个阈值进行判决,进而产生真随机数。但是,上述产生真随机数的方法只能硬件实现,不能够仿真,并且产生速率只有几百kbit/s,产生速率不能达到深空通信中编码的要求。
伪随机数的生成方法较多,最基本的方法是采用移位寄存器。伪随机数一般存在以下缺点,一是伪随机数是有周期的,不是真正的随机数;二是一般的伪随机数生成器位宽不够;三是经过改进的随机数生成器对FPGA资源利用不充分,产生的随机数的随机性能不能达到系统要求。
2009年谷晓忱在《计算机工程与科学》杂志上发表的“多输出外部反馈性LFSR均匀分布随机数生成器的分析与设计”中提出了一种改进的随机数生成方法一 “多输出外部反馈LFSR”。该方法解决了输出位宽不够的问题,但是这种改进后的方法产生的随机数仍然是有周期限制的,并且生成矩阵太多稀疏,相关性较强,从而使最终产生的随机数的性能并不是最佳的。
FPGA是一种可编程的硬件实现平台,由于FPGA的资源有限,所以对FPGA资源的充分利用是随机数生成器设计的指标之一。Xilinx公司Virtex5系列FPGA的基本逻辑结构是6输入查找表(Look-Up-Table),简写为6-LUT。当不使用6-LUT的所有输入时,仍然会占用整个LUT资源,造成资源浪费。“多输出外部反馈LFSR”方法设计的生成矩阵最终只能利用LUT中的2-3个输入,其余输入没有得到充分利用,导致FPGA的资源不能得到充分利用。可见,在深空通信协议的编码过程中亟需一种位宽可配,随机性能良好的真随机数生成器。

发明内容
本发明的目的在于减少深空通信协议实现的硬件资源,提高随机数生成器的随机性能,提出一种用于深空通信协议编码的均匀随机数生成方法,该方法是一种随机性能好、产生速度快且没有周期限制的真随机数生成方法。本发明设计k*k维伪随机数生成矩阵,使产生的伪随机数达到最大的周期,提高随机数的随机性能,生成的随机数位宽为k,满足深空通信系统协议实现时位宽可变的要求。并产生真随机数作为伪随机数生成器的种子,从而得到不受周期限制的真随机数。通过本发明的均匀随机数生成方法,得到速率为f、随机数产生范围为(0,M-1)的真随机序列。其具体实现步骤如下:步骤一,确定随机数要求的位宽k:k=I Og2M其中,(M-1)为系统要求生成的随机数范围上限。步骤二,设计k*k维转移矩阵A作为伪随机数生成矩阵。矩阵第I行到第k行中“I”的个数分别为In1, m2,…,mk,矩阵第I列到第k列中“ I”的个数分别为叫,!^...,!!,。对于具有6个输入端口 LUT的FPGA硬件电路,2彡Hii彡4,2彡Iii彡4。Hii, Iii的值越大,对LUT资源的利用越充分,生成的随机数性能越好,但同时增加矩阵设计的难度。矩阵的具体设计步骤如下,步骤2.1,随机产生一个k*k维矩阵,其中X列的Iii等于(a_l),其余k-χ列的Iii等于 a, i=l, 2,..., k ;X初始为0,a初始为4。步骤2.2,计算步骤2.1生成的矩阵中每行“I”的个数,若有X行的Hii等于(a_l),其余k-x行的Hii等于a,则执行步骤2.3 ;若不满足条件,则令x=x+l返回执行步骤2.1至步骤2.2。步骤2.3,计算步骤2.2得到的多个k*k维转移矩阵的特征多项式,在满足特征多项式为本原多项式的矩阵中,选取相关性最弱(每行、每列、对角线上连续为I的个数最少)的矩阵作为伪随机数生成矩阵;若均不是本原多项式,则执行步骤2.4。步骤2.4,判断X是否等于k,若X不等于k,则将x加I,返回执行步骤2.1至步骤
2.3 ;若x=k则执行步骤2.5。步骤2.5,若a不等于3,令a=a_l, x=0,重新执行步骤2.1至步骤2.4,直到找到满足条件的伪随机数生成矩阵。步骤三,设计k位真随机数生成器。本发明采用“触发器亚稳态”方法搭建k位真随机数生成器。所搭建的k位真随机数生成器的触发器的采集时钟为
权利要求
1.一种用于深空通信协议编码的均匀随机数生成方法,其特征在于:得到的真随机序列速率为f、产生范围为(O, M-1);具体包括如下步骤: 步骤一,确定随机数要求的位宽k: k=I Og2M ; 步骤二,设计k*k维转移矩阵A作为伪随机数生成矩阵; 矩阵第I行到第k行中“I”的个数分别为...,mk,矩阵第I列到第k列中“I”的个数分别为n” n2,..., nk ; 矩阵的具体设计步骤如下, 步骤2.1,随机产生一个k*k维矩阵,其中X列的Iii等于(a-Ι),其余k-x列的Iii等于Bj i_l, 2,..., k ; X初始为O, a初始为4 ; 步骤2.2,计算步骤2.1生成的矩阵中每行“I”的个数,若有X行的Hii等于(a-Ι),其余k-x行的Hii等于a,则执行步骤2.3 ;若不满足条件,则令x=x+l,返回执行步骤2.1至步骤2.2 ; 步骤2.3,计算步骤2.2得到 的多个k*k维转移矩阵的特征多项式,在满足特征多项式为本原多项式的矩阵中,选取相关性最弱的矩阵作为伪随机数生成矩阵;若均不是本原多项式,则执行步骤2.4 ; 步骤2.4,判断X是否等于k,若X不等于k,则将X加I,返回执行步骤2.1至步骤2.3 ;若x=k则执行步骤2.5 ; 步骤2.5,若a不等于3,令a=a-l, x=0,重新执行步骤2.1至步骤2.4,直到找到满足条件的伪随机数生成矩阵; 步骤三,设计k位真随机数生成器; 步骤四,令步骤三设计得到的k位真随机数生成器产生k位真随机数; 步骤五,设计k位伪随机数生成器,采用步骤二得到的伪随机数生成矩阵; 步骤六,将步骤四得到的k位真随机数作为初始种子,输入步骤五得到的k位伪随机数生成器,生成第一个周期的k位随机数,作为系统输出;同时将该系统输出再次输入步骤五所设计得到的k位伪随机数生成器,得到下一周期的k位随机数; 步骤七,按照步骤六所述方法用上一周期的输出生成下一周期的k位伪随机数,其中,当第i.2k(i > I)个周期时,重复步骤六到步骤七。
2.根据权利要求1所述的一种用于深空通信协议编码的均匀随机数生成方法,其特征在于:对于具有6个输入端口 LUT的FPGA硬件电路,2彡Hii彡4,2彡Iii彡4。
3.根据权利要求1所述的一种用于深空通信协议编码的均匀随机数生成方法,其特征在于:所述相关性最弱的矩阵的选取原则为每行、每列、对角线上连续为I的个数最少。
4.根据权利要求1所述的一种用于深空通信协议编码的均匀随机数生成方法,其特征在于:采用“触发器亚稳态”方法搭建k位真随机数生成器,所搭建的k位真随机数生成器的触发器的采集时钟为;; 2-1
5.根据权利要求1所述的一种用于深空通信协议编码的均匀随机数生成方法,其特征在于:所述步骤五采用k个D触发器生成k位伪随机数生成器。
全文摘要
本发明涉及一种用于深空通信协议编码的均匀随机数生成方法,属于深空通信及通信信号处理技术领域。本发明设计k*k维伪随机数生成矩阵,使产生的伪随机数达到最大的周期,提高随机数的随机性能,生成的随机数位宽为k,满足深空通信系统协议实现时位宽可变的要求。并产生真随机数作为伪随机数生成器的种子,从而得到不受周期限制的真随机数,使随机数的输出随机特性比较好。
文档编号G06F7/58GK103197912SQ20131009241
公开日2013年7月10日 申请日期2013年3月21日 优先权日2013年3月21日
发明者安建平, 杨雷, 翟辉, 卜祥元, 崔健 申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1