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

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

Info

Publication number
CN103197912B
CN103197912B CN201310092414.7A CN201310092414A CN103197912B CN 103197912 B CN103197912 B CN 103197912B CN 201310092414 A CN201310092414 A CN 201310092414A CN 103197912 B CN103197912 B CN 103197912B
Authority
CN
China
Prior art keywords
random number
matrix
pseudo
deep space
space communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310092414.7A
Other languages
English (en)
Other versions
CN103197912A (zh
Inventor
安建平
杨雷
翟辉
卜祥元
崔健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201310092414.7A priority Critical patent/CN103197912B/zh
Publication of CN103197912A publication Critical patent/CN103197912A/zh
Application granted granted Critical
Publication of CN103197912B publication Critical patent/CN103197912B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

本发明涉及一种用于深空通信协议编码的均匀随机数生成方法,属于深空通信及通信信号处理技术领域。本发明设计k*k维伪随机数生成矩阵,使产生的伪随机数达到最大的周期,提高随机数的随机性能,生成的随机数位宽为k,满足深空通信系统协议实现时位宽可变的要求。并产生真随机数作为伪随机数生成器的种子,从而得到不受周期限制的真随机数,使随机数的输出随机特性比较好。

Description

一种用于深空通信协议编码的均匀随机数生成方法
技术领域
本发明涉及一种用于深空通信协议编码的均匀随机数生成方法,属于深空通信及通信信号处理技术领域。
背景技术
随着美国“勇气号”,“好奇号”探测器登陆火星,深空探测已经开始悄然变为航天科技研究的重点。深空通信传输协议中有很多编码,包括物理层的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=log2M
其中,(M-1)为系统要求生成的随机数范围上限。
步骤二,设计k*k维转移矩阵A作为伪随机数生成矩阵。
矩阵第1行到第k行中“1”的个数分别为m1,m2,...,mk,矩阵第1列到第k列中“1”的个数分别为n1,n2,...,nk
对于具有6个输入端口LUT的FPGA硬件电路,2≤mi≤4,2≤ni≤4。mi,ni的值越大,对LUT资源的利用越充分,生成的随机数性能越好,但同时增加矩阵设计的难度。
矩阵的具体设计步骤如下,
步骤2.1,随机产生一个k*k维矩阵,其中x列的ni等于(a-1),其余k-x列的ni等于a,i=1,2,...,k;
x初始为0,a初始为4。
步骤2.2,计算步骤2.1生成的矩阵中每行“1”的个数,若有x行的mi等于(a-1),其余k-x行的mi等于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个D触发器,结合步骤二得到的伪随机数生成矩阵,生成k位伪随机数生成器。
步骤六,将步骤四得到的k位真随机数作为初始种子,输入步骤五得到的k位伪随机数生成器,生成第一个周期下的k位随机数,作为系统输出。同时将该系统输出再次输入步骤五所设计得到的k位伪随机数生成器,得到下一周期的k位随机数。
步骤七,按照步骤六所述方法用上一周期的输出生成下一周期的k位伪随机数,其中,当第h·2k(h≥1)个周期时,重复步骤六到步骤七。
有益效果
本发明方法的优点如下:1.随机数输出位宽为k,可以根据不同的需求进行配置;2.随机数的转移矩阵的随机特性较好,从而使随机数的输出随机特性比较好;3.“k位伪随机数生成器”的种子是完全随机的,级联后的随机数输出是完全随机的没有周期限制的真随机数。
附图说明
图1是本发明的均匀随机数生成方法的流程图;
图2是本发明方法中k*k维伪随机转移矩阵的设计流程图;
图3是具体实施方式中“k=6的真随机数生成器”的底层生成框图,其中D1-D6为FPGA内部的D触发器;
图4是具体实施方式中“k=6的整体真随机数生成器”的FPGA底层整体生成框图。
具体实施方式
下面结合附图和实施例具体描述本发明内容。
系统设计指标为产生范围在0-63,速率为63M/s的均匀真随机数,首先确定位宽k,由发明中的步骤一确定位宽k=6。
图1为本发明方法的流程,主要包括生成真随机数生成器和生成伪随机数生成器。
图2为伪随机数生成矩阵的设计步骤,对应于本实施例,k=6,具体的实施步骤如下:
(a)随机产生一个6*6维的矩阵,令每列中“1”的个数都为4。
(b)计算步骤(a)中的矩阵,矩阵每行中“1”的个数若全部为4,即m1=m2=m3=m4=m5=m6=4,则执行下一步。
(c)计算步骤(b)得到的矩阵的特征多项式,没有找到特征多项式为本原多项式的矩阵,跳转到步骤(d)。
(d)随机产生一个6*6维的矩阵,使其第一列“1”的个数为3,其余5列中“1”的个数都为4,即n1=3,n2=n3=n4=n5=n6=4。
(e)计算步骤(d)得到的矩阵中每行中“1”的个数是否满足要求,即m1,m2,m3,m4,m5,m6中有一个为3,其余均为4;发现有满足条件的矩阵,进入步骤(f)。
(f)计算满足步骤(e)的矩阵特征多项式,看是否有本原多项式;经过计算发现有符合条件的矩阵,进行下一步。
(g)从满足步骤(f)的矩阵中选择每行、每列、对角线连线中“1”个数最少的矩阵,得到了矩阵A: A = 0 1 0 1 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1
k=6时,采用“多输出外部反馈LFSR”方法得到的转移矩阵为
A 6 = 1 0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 1
从两个矩阵可以看出本发明的转移矩阵中“1”之间的相关性低,“多输出外部反馈LFSR”方法的转移矩阵中“1”之间有较明显的相关性。说明本发明的“k=6的伪随机数生成器”生成的随机数的随机性更好。
图3为本发明“k=6的真随机数生成器”的底层生成框图,产生真随机数,本发明采用的是“FPGA内部结构亚稳态”的方法。
D触发器在时钟的上升沿采集数据端的数据,但是需要满足建立时间和保持时间,如果两个时间不能够同时得到满足,D触发器会进入“亚稳态”,即触发器的输出为‘0’还是‘1’是完全随机的,即是真随机数。
本发明中的“k=6的真随机数生成器”利用低速的输出控制时钟来采集高速时钟,使输出的状态完全随机,从而实现真随机数生成器。由于最终要求的随机数输出为63M/s,伪随机数生成器的周期为63,故设计真随机数生成器的数据加载速率为1M/s。
图4所示为“k=6的整体真随机数生成器”的底层FPGA框图,其中真随机数生成器如图3所示,D1-D6为FPGA内部的D触发器,LUT为FPGA中的查找表,Xn表示Xn-1的下一个状态。
图4中“真随机数生成器”的输出周期是“伪随机数生成器”的2k-1=63倍,可以保证在“伪随机数生成器”达到自己的最大周期时,“真随机数生成器”通过它的“控制”信号准时为“伪随机数生成器”加载真随机种子,即图中的“数据”部分,从而保证系统整体输出的是没有周期的完全随机的真随机数。
以上所述为本发明的较佳实施例而已,本发明不应该局限于该实施例和附图所公开的内容。凡是不脱离本发明所公开的精神下完成的等效或修改,都落入本发明保护的范围。

Claims (4)

1.一种用于深空通信协议编码的均匀随机数生成方法,其特征在于:得到的真随机序列速率为f、产生范围为(0,M-1);具体包括如下步骤:
步骤一,确定随机数要求的位宽k:
k=log2M;
步骤二,设计k*k维转移矩阵A作为伪随机数生成矩阵;
矩阵第1行到第k行中“1”的个数分别为m1,m2,...,mk,矩阵第1列到第k列中“1”的个数分别为n1,n2,...,nk
矩阵的具体设计步骤如下,
步骤2.1,随机产生一个k*k维矩阵,其中x列的ni等于(a-1),其余k-x列的ni等于a,i=1,2,...,k;
x初始为0,a初始为4;
步骤2.2,计算步骤2.1生成的矩阵中每行“1”的个数,若有x行的mi等于(a-1),其余k-x行的mi等于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·2k个周期时,重复步骤六到步骤七,h为大于或等于1的整数。
2.根据权利要求1所述的一种用于深空通信协议编码的均匀随机数生成方法,其特征在于:对于具有6个输入端口LUT的FPGA硬件电路,2≤mi≤4,2≤ni≤4。
3.根据权利要求1所述的一种用于深空通信协议编码的均匀随机数生成方法,其特征在于:采用“触发器亚稳态”方法搭建k位真随机数生成器,所搭建的k位真随机数生成器的触发器的采集时钟为
4.根据权利要求1所述的一种用于深空通信协议编码的均匀随机数生成方法,其特征在于:所述步骤五采用k个D触发器生成k位伪随机数生成器。
CN201310092414.7A 2013-03-21 2013-03-21 一种用于深空通信协议编码的均匀随机数生成方法 Expired - Fee Related CN103197912B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310092414.7A CN103197912B (zh) 2013-03-21 2013-03-21 一种用于深空通信协议编码的均匀随机数生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310092414.7A CN103197912B (zh) 2013-03-21 2013-03-21 一种用于深空通信协议编码的均匀随机数生成方法

Publications (2)

Publication Number Publication Date
CN103197912A CN103197912A (zh) 2013-07-10
CN103197912B true CN103197912B (zh) 2016-02-10

Family

ID=48720518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310092414.7A Expired - Fee Related CN103197912B (zh) 2013-03-21 2013-03-21 一种用于深空通信协议编码的均匀随机数生成方法

Country Status (1)

Country Link
CN (1) CN103197912B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103457704B (zh) * 2013-09-17 2017-02-01 桂林电子科技大学 一种度分布随机数序列的同步重现控制方法及系统
CN103577152A (zh) * 2013-11-25 2014-02-12 电子科技大学 一种提高数据截位后信号无杂散动态范围的方法
DE102014206992A1 (de) * 2014-04-11 2015-10-15 Siemens Aktiengesellschaft Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
CN104182203B (zh) * 2014-08-27 2018-01-30 曙光信息产业(北京)有限公司 真随机数的产生方法和装置
CN107657646B (zh) * 2017-09-22 2021-05-07 武汉中观自动化科技有限公司 一种半伪随机编码图案及其生成方法和系统
CN107918535B (zh) * 2017-11-17 2021-02-19 宁波大学 一种在fpga上实现的亚稳态真随机数发生器
TWI662471B (zh) 2018-05-31 2019-06-11 華邦電子股份有限公司 真實隨機數產生裝置及其產生方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1405672A (zh) * 2001-09-07 2003-03-26 日本电气株式会社 随机数产生方法和随机数产生装置
CN102981799A (zh) * 2012-11-06 2013-03-20 无锡江南计算技术研究所 一种浮点随机数的生成方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4669979B2 (ja) * 2008-08-02 2011-04-13 宏 中澤 一様独立乱数生成方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1405672A (zh) * 2001-09-07 2003-03-26 日本电气株式会社 随机数产生方法和随机数产生装置
CN102981799A (zh) * 2012-11-06 2013-03-20 无锡江南计算技术研究所 一种浮点随机数的生成方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
High Quality Uniform Random Number Generation Using LUT Optimised State-transition Matrices;DAVID B.THOMAS et al.;《Journal of VLSI signal Processing》;20071231;第77-92页 *
一种基于FPGA的高斯随机数生成器的设计与实现;谷小忱;《计算机学报》;20110131;第34卷(第1期);第165-173页 *

Also Published As

Publication number Publication date
CN103197912A (zh) 2013-07-10

Similar Documents

Publication Publication Date Title
CN103197912B (zh) 一种用于深空通信协议编码的均匀随机数生成方法
CN101957741A (zh) 一种基于亚阈值特性的真随机数发生器
CN102437857B (zh) 一种ira-ldpc码的构造方法及其编码器
CN109375897B (zh) 伪随机序列的生成方法
CN102820892B (zh) 一种用于并行bch编码的电路、编码器及方法
CN106533452B (zh) 一种多进制ldpc编码方法及编码器
CN103731157B (zh) 准循环低密度校验码的联合构造方法
CN114911455A (zh) 基于fpga的高速伪随机数生成方法及高速伪随机数生成器
JP2010531018A5 (zh)
Dubrova et al. A BDD-based approach to constructing LFSRs for parallel CRC encoding
CN111313910A (zh) 空间通信应用的低密度奇偶校验码编码器装置
CN101496291A (zh) Lfsr仿真
Purohit et al. A new XOR-Free approach for implementation of convolutional encoder
Dakhole et al. Multi-digit quaternary adder on programmable device: Design & verification
TWI387921B (zh) 利用中央極限定理之常態分佈亂數產生器及其亂數產生方法
CN204856461U (zh) 一种数据位数可选的伪随机信号发生器
CN204347817U (zh) 集成crc校验电路的伪随机数发生器
Wijesinghe et al. Hardware implementation of random number generators
CN201845328U (zh) 一种基于亚阈值特性的真随机数发生器
Nair et al. A low-complexity hardware AWGN channel emulator on FPGA using central limit theorem
Huo et al. The Design and FPGA Implementation of GF (2^ 128) Multiplier for Ghash
Dash et al. VLSI implementation of Reed-Solomon encoder algorithm for communication systems
Samanta et al. CA-Based Area Optimized Three Bytes Error Detecting Codes.
Venkatachalam et al. Low complexity and area efficient reconfigurable multimode interleaver address generator for multistandard radios
Cheng et al. LDPC encoder design and FPGA implementation in deep space communication

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zhi Rucuan

Inventor after: An Jianping

Inventor after: Yang Lei

Inventor after: Di Hui

Inventor after: Bo Xiangyuan

Inventor after: Cui Jian

Inventor before: An Jianping

Inventor before: Yang Lei

Inventor before: Di Hui

Inventor before: Bo Xiangyuan

Inventor before: Cui Jian

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160210

Termination date: 20200321