随机数生成方法及装置制造方法及图纸

技术编号:13293753 阅读:81 留言:0更新日期:2016-07-09 11:39
一种随机数生成方法及装置,所述方法包括:获取随机数种子;根据所述随机数种子的比特位的第一操作结果,获取用于线性反馈移位寄存器的N个反馈项,其中,N大于1;单个时钟周期内将所述线性反馈移位寄存器移动N位,以获取对应所述反馈项的N个随机数。该方法可以在单个时钟周期内简单、高效地产生多个的随机数,且所产生的多个随机数具有均匀分布的特性。进而通过简单的组合运算的方法同样可以快速、高效地获取到高斯分布的随机数,根据每个时钟周期所产生的具有高斯分布的随机数,在经过多个时钟周期后,可以得到高斯分布的随机数序列,方法简单有效,且生成的高斯随机数序列可以有效克服其子序列相关性和周期性的问题。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及一种随机数生成方法及随机数生成装置。
技术介绍
随着计算机网络的普及以及各种数字化技术的迅速发展,在各种领域都可能有对随机数的使用需求,例如,在通信领域,信号的调制解调、信号的传输、信号的加扰和解扰、信道的模拟等都需要用到随机数。通常可以基于软件方式或者硬件方式等实现随机数的生成。例如,可以通过随机数生成算法通过编程实现随机数的生成,也可以借助于移动寄存器等硬件实现随机数的生成。例如,在通过硬件方式实现随机数的过程中,通常会利用线性反馈移位寄存器(LFSR,LinearFeedbackShiftRegister)实现随机数的产生。但现有技术中,在生成随机数的过程中,例如在生成均匀分布的随机数或者是高斯分布的随机数的过程中,均存在一些问题,例如在通过LFSR生成的随机序列虽然满足均匀分布的要求,但通常存在产生随机数效率较低的问题,每个周期只能生成一个随机数,而在生成高斯分布的随机数的过程中,通常存在硬件构造复杂、成本较高,且生成随机数效率较低的问题。现有技术存在难以简单、高效生成具有均匀分布或者高斯分布的随机数的问题。
技术实现思路
本专利技术解决的是难以简单、高速生成具有均匀分布或者高斯分布的随机数的问题。为解决上述问题,本专利技术技术方案提供一种随机数生成方法,所述方法包括:获取随机数种子;根据所述随机数种子的比特位的第一操作结果,获取用于线性反馈移位寄存器的N个反馈项,其中,N大于1;单个时钟周期内将所述线性反馈移位寄存器移动N位,以获取对应所述反馈项的N个随机数。可选的,所述第一操作包括异或运算或异或非运算。可选的,所述用于线性反馈移位寄存器的各反馈项由所述随机数种子中所分别选取的M个比特位的第一操作结果进行确定,其中,M小于N。可选的,所述N个随机数中第K个随机数中含有K个反馈项,所述K的取值小于或等于N。可选的,所述方法还包括:将含有N个反馈项的随机数作为下一次生成随机数的随机数种子。可选的,所述方法还包括:在单个时钟周期内获取到N个随机数后,将所述N个随机数进行组合,以生成高斯分布的随机数。可选的,将所述N个随机数进行组合的过程包括:从每一个随机数中选取S个比特位;由每一个随机数中所选取的S个比特位确定对应每一个随机数的第一数值;将各第一数值求和,获取求和操作后的第二数值。可选的,所述方法还包括:将所述第二数值确定为高斯分布的随机数。可选的,所述方法包括:所述从每一个随机数中选取S个比特位的过程中,各随机数中所选取的比特位的位置是相同的。可选的,所述方法还包括:由多个高斯分布的随机数组成高斯随机数序列。为解决上述技术问题,本专利技术技术方案还提供一种随机数生成装置,所述装置包括:种子获取单元,用于获取随机数种子;反馈项获取单元,用于根据所述随机数种子的比特位的第一操作结果,获取用于线性反馈移位寄存器的N个反馈项,其中,N大于1;随机数获取单元,用于在单个时钟周期内将所述线性反馈移位寄存器移动N位,以获取对应所述反馈项的N个随机数。可选的,所述反馈项获取单元包括:第一选取单元,用于从所述随机数种子中分别选取M个比特位;反馈单元,用于根据所述随机数种子中所分别选取的M个比特位的第一操作结果确定用于线性反馈移位寄存器的各反馈项。可选的,所述装置还包括:组合单元,用于在单个时钟周期内获取到N个随机数后,将所述N个随机数进行组合;生成单元,用于生成高斯分布的随机数。可选的,所述组合单元包括:第二选取单元,用于从每一个随机数中选取S个比特位;第一确定单元,用于由每一个随机数中所选取的S个比特位确定对应每一个随机数的第一数值;第二确定单元,用于对各第一数值求和,获取求和操作后的第二数值。可选的,所述装置还包括:序列获取单元,用于由多个高斯分布的随机数组成高斯随机数序列。与现有技术相比,本专利技术的技术方案具有以下优点:通过对获取的随机数种子的比特位的第一操作,获取用于线性反馈移位寄存器的N个反馈项,进而在单个时钟周期内将所述线性反馈移位寄存器右移N位,每移动一位,结合反馈项均可以获取到一个相应的随机数,所以在右移N位的过程中,可以获取对应所述反馈项的N个随机数,该方法可以有效提高产生随机数的速度,在每个时钟周期内均可以产生N个随机数,相比于现有技术一次生成一个随机数而言,可以在单个时钟周期内简单、高效地产生多个的随机数,且所产生的多个随机数具有均匀分布的特性。在单个时钟周期内获取到N个随机数后,可以将所述N个随机数进行组合,进而生成高斯分布的随机数,由于产生的具有均匀分布的随机数的效率比较高,通过简单的组合运算的方法同样可以快速、高效地获取到高斯分布的随机数,根据每个时钟周期所产生的具有高斯分布的随机数,在经过多个时钟周期后,可以得到高斯分布的随机数序列,方法简单有效,且生成的高斯随机数序列可以有效克服相关性和周期性的问题。附图说明图1是本专利技术技术方案提供的随机数生成方法的流程示意图;图2是本专利技术实施例提供的随机数生成方法的流程示意图;图3是本专利技术实施例提供的随机数种子示意图;图4是本专利技术实施例提供的20比特位的线性反馈移位寄存器单时钟周期移位后的比特位的位置示意图;图5是本专利技术实施例提供的随机数生成装置的结构示意图。具体实施方式现有技术存在难以简单、高效生成具有均匀分布或者高斯分布的随机数的问题。为解决上述问题,本专利技术技术方案提供一种随机数生成方法的流程示意图。在本申请文件中,所提及的随机数均为伪随机数,所提及的随机数序列也均指伪随机数序列。图1是本专利技术技术方案提供的一种随机数生成方法的流程示意图。如图1所示,首先执行步骤S1,获取随机数种子。获取初始的随机数种子,所述初始的随机数种子通常由外界输入,例如,对于20bit(比特)的线性反馈移位寄存器,可以确定一个20bit的初始随机数种子。执行步骤S2,根据所述随机数种子的比特位的第一操作结果,获取用于线性反馈移位寄存器的N个反馈项。可以从所述随机数种子中选取合适的比特位,生成线性反馈移位寄存器的N个反馈项,所述用于线性反馈移位寄存器的各反馈项由所述随机数种子中所分别选取的M个比特位的第一操作结果进行确定,所述N的取值大于1,M的取值关联于线性反本文档来自技高网...

【技术保护点】
一种随机数生成方法,其特征在于,包括:获取随机数种子;根据所述随机数种子的比特位的第一操作结果,获取用于线性反馈移位寄存器的N个反馈项,其中,N大于1;单个时钟周期内将所述线性反馈移位寄存器移动N位,以获取对应所述反馈项的N个随机数。

【技术特征摘要】
1.一种随机数生成方法,其特征在于,包括:
获取随机数种子;
根据所述随机数种子的比特位的第一操作结果,获取用于线性反馈移位
寄存器的N个反馈项,其中,N大于1;
单个时钟周期内将所述线性反馈移位寄存器移动N位,以获取对应所述
反馈项的N个随机数。
2.如权利要求1所述的随机数生成方法,其特征在于,所述第一操作包括异
或运算或异或非运算。
3.如权利要求1所述的随机数生成方法,其特征在于,所述用于线性反馈移
位寄存器的各反馈项由所述随机数种子中所分别选取的M个比特位的第一操
作结果进行确定,其中,M小于N。
4.如权利要求1所述的随机数生成方法,其特征在于,所述N个随机数中第
K个随机数中含有K个反馈项,所述K的取值小于或等于N。
5.如权利要求1所述的随机数生成方法,其特征在于,还包括:将含有N个
反馈项的随机数作为下一次生成随机数的随机数种子。
6.如权利要求1所述的随机数生成方法,其特征在于,还包括:
在单个时钟周期内获取到N个随机数后,将所述N个随机数进行组合,
以生成高斯分布的随机数。
7.如权利要求6所述的随机数生成方法,其特征在于,将所述N个随机数进
行组合的过程包括:
从每一个随机数中选取S个比特位;
由每一个随机数中所选取的S个比特位确定对应每一个随机数的第一数
值;
将各第一数值求和,获取求和操作后的第二数值。
8.如权利要求7所述的随机数生成方法,其特征在于,还包括:将所述第二
数值确定为高斯分布的随机数。
9.如权利要求7所述的随机数生成方法,其特征在于,包括:所述从每一个
随机数中...

【专利技术属性】
技术研发人员:朱洪波王浩彭晓峰张乐王微
申请(专利权)人:展讯通信上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1