发明名称 一种用于深空通信协议编码的均匀随机数生成方法
摘要 本发明涉及一种用于深空通信协议编码的均匀随机数生成方法,属于深空通信及通信信号处理技术领域。本发明设计k*k维伪随机数生成矩阵,使产生的伪随机数达到最大的周期,提高随机数的随机性能,生成的随机数位宽为k,满足深空通信系统协议实现时位宽可变的要求。并产生真随机数作为伪随机数生成器的种子,从而得到不受周期限制的真随机数,使随机数的输出随机特性比较好。
申请公布号 CN103197912B 申请公布日期 2016.02.10
申请号 CN201310092414.7 申请日期 2013.03.21
申请人 北京理工大学 发明人 安建平;杨雷;翟辉;卜祥元;崔健
分类号 G06F7/58(2006.01)I 主分类号 G06F7/58(2006.01)I
代理机构 代理人
主权项 一种用于深空通信协议编码的均匀随机数生成方法,其特征在于:得到的真随机序列速率为f、产生范围为(0,M‑1);具体包括如下步骤:步骤一,确定随机数要求的位宽k:k=log<sub>2</sub>M;步骤二,设计k*k维转移矩阵A作为伪随机数生成矩阵;矩阵第1行到第k行中“1”的个数分别为m<sub>1</sub>,m<sub>2</sub>,...,m<sub>k</sub>,矩阵第1列到第k列中“1”的个数分别为n<sub>1</sub>,n<sub>2</sub>,...,n<sub>k</sub>;矩阵的具体设计步骤如下,步骤2.1,随机产生一个k*k维矩阵,其中x列的n<sub>i</sub>等于(a‑1),其余k‑x列的n<sub>i</sub>等于a,i=1,2,...,k;x初始为0,a初始为4;步骤2.2,计算步骤2.1生成的矩阵中每行“1”的个数,若有x行的m<sub>i</sub>等于(a‑1),其余k‑x行的m<sub>i</sub>等于a,则执行步骤2.3;若不满足条件,则令x=x+1,返回执行步骤2.1至步骤2.2;步骤2.3,计算步骤2.2得到的k*k维转移矩阵的多个特征多项式,在满足特征多项式为本原多项式的矩阵中,选取相关性最弱的矩阵作为伪随机数生成矩阵,所述相关性最弱的矩阵的选取原则为每行、每列、对角线上连续为1的个数最少;若均不是本原多项式,则执行步骤2.4;步骤2.4,判断x是否等于k,若x不等于k,则将x加1,返回执行步骤2.1至步骤2.3;若x=k则执行步骤2.5;步骤2.5,若a不等于3,令a=a‑1,x=0,重新执行步骤2.1至步骤2.4,直到找到满足条件的伪随机数生成矩阵;步骤三,设计k位真随机数生成器;步骤四,令步骤三设计得到的k位真随机数生成器产生k位真随机数;步骤五,设计k位伪随机数生成器,采用步骤二得到的伪随机数生成矩阵;步骤六,将步骤四得到的k位真随机数作为初始种子,输入步骤五得到的k位伪随机数生成器,生成第一个周期的k位随机数,作为系统输出;同时将该系统输出再次输入步骤五所设计得到的k位伪随机数生成器,得到下一周期的k位随机数;步骤七,按照步骤六的方法用上一周期的输出生成下一周期的k位伪随机数,其中,当第h·2<sup>k</sup>个周期时,重复步骤六到步骤七,h为大于或等于1的整数。
地址 100081 北京市海淀区中关村南大街5号