CN107450886A - 一种随机数生成方法及装置 - Google Patents
一种随机数生成方法及装置 Download PDFInfo
- Publication number
- CN107450886A CN107450886A CN201710693167.4A CN201710693167A CN107450886A CN 107450886 A CN107450886 A CN 107450886A CN 201710693167 A CN201710693167 A CN 201710693167A CN 107450886 A CN107450886 A CN 107450886A
- Authority
- CN
- China
- Prior art keywords
- value
- gfix
- random
- fix
- calculated
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000004422 calculation algorithm Methods 0.000 description 44
- 238000005315 distribution function Methods 0.000 description 23
- 238000009826 distribution Methods 0.000 description 17
- 230000001186 cumulative effect Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000012938 design process Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000000205 computational method Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000011426 transformation method Methods 0.000 description 2
- 101000576323 Homo sapiens Motor neuron and pancreas homeobox protein 1 Proteins 0.000 description 1
- 102100025170 Motor neuron and pancreas homeobox protein 1 Human genes 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000010892 electric spark Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Abstract
本发明涉及一种随机数生成方法及装置,该方法包括:S110,对四个典型数值GFIX_VALUE、DV、MUL_V和sgma进行配置;S120,提供初始随机种子X1(1,1)和X2(1,1);S130,分别对随机种子X1(i‑1,1)和X2(i‑1,1)进行求模运算,以生成新随机种子X1(i,1)和X2(i,1);S140,分别根据所述新随机种子X1(i,1)和X2(i,1)计算U1(i,1)和U2(i,1);S150,根据U1(i,1)计算ef(i,1),占32BIT;S160,根据ef(i,1)计算Z(i,1);S170,根据Z(i,1)和U2(i,1)计算随机数X(i,1)和Y(i,1)。
Description
技术领域
本发明涉及通信领域的测试技术,尤其涉及一种随机数生成方法及装置。
背景技术
信道噪声一般包括三个方面:人为噪声、自然噪声和内部噪声。人为噪声 来源于人类活动造成的干扰源,例如电火花,荧光灯等;自然噪声来源于自然 界存在的各种电磁波源,包括太阳系噪声、宇宙噪声、大气噪声、降雨噪声、 地面噪声和干扰噪声等;内部噪声则主要来源系统内部本身,如电子的热运动, 电子管中载流子的起伏变化等。信道中的噪声普遍存在、不可预知,通常建模 为加性高斯白噪声来进行模拟。目前,高斯白噪声的产生方法大致可分为如下 四种:累积分布函数反变换法、均匀随机数变换法、拒绝-接受法及递归法等。 累积分布函数反变换法的基本思想是将任意给定随机变量的累积分布函数做 反变化,从而得到该累积分布函数对应的随机变量。该方法直观、容易理解, 但硬件实现时需要存储非线性高斯累积分布函数与高斯随机数之间的映射关 系,因而会占用大量存储资源。针对此类高斯白噪声产生方法,Chen和 Mccollum给出了两种不同的硬件实现结构。均匀随机数变换法无需求解累积 分布函数的反变换,通过对(0,1)上均匀分布的随机数进行直接变换来产生高 斯白噪声。目前,这类方法应用较为广泛,主要包括Box-Muller算法、中心 极限定理累加法、MontyPython算法和基于三角分布的分段近似法等。 Box-Muller算法是一种最经典的均匀随机数变换法,它利用均匀随机数分别计 算出高斯随机数的幅度和相位,在进行一系列变换后产生高斯白噪声。2003年, Boutillon等人第一次利用这种算法实现了基于硬件的高斯白噪声发生器。2004 年,Lee等人指出更高精度高斯随机数产生应满足的条件,同时给出了 Box-Muller算法的一种硬件实现结构。另一种比较经典的均匀随机数变换法是 中心极限定理累加法,该方法的基本原理是多个均匀随机数叠加后的概率密度 函数近似为高斯分布。2006年,在延迟Fibonacci算法产生的均匀随机数基 础上,利用中心极限定理累加法设计了高斯白噪声发生器。1998年,Marsaglia 提出的MontyPython算法将高斯分布函数拆分成若干个不连续区域,通过一 系列变换后重新组装成一个矩形分布,来产生高斯白噪声。2000年,Kabal提 出的基于三角分布的分段线性近似算法将高斯分布函数的分布区域分解为若 干个三角形区域,通过定义每个三角形区域的底、中心和概率,并将所有三角 形区域合成来近似高斯白噪声。拒绝-接收法的基本思想是根据某些给定的判 别准则来确定所产生的随机变量是否属于高斯随机变量,进而决定随机变量的 取舍。Polar算法、Marsaglia-Bray拒绝算法、Ahrens-DieterTable-Free算法、 均匀比例算法、GRAND算法、Ziggurat算法等均属于拒绝-接受法范畴。这 些算法的一个共同点是需要利用循环条件对输入变量进行判别,舍弃那些经转 换后不能产生高斯随机数的数据,因而效率不高,并不适宜硬件实现。Polar算 法是对Box-Muller算法的改进,该方法将介于(-1,1)之间的两均匀随机数的幅 度值与1做比较,如果超过了就舍去该均匀随机数,否则就转换成一个加权 因子,通过与两个均匀随机数进行加权产生高斯白噪声。Marsaglia-Bray拒绝 算法是一种精确产生高斯噪声的算法,它利用四种分布函数转换来产生高斯白 噪声,其中两个分布函数转换基于拒绝算法,另外两个进行直接转换。Ahrens-Dieter Table-Free算法把一对独立的指数和柯西分布随机数转换成为高 斯随机数,其中心思想与Box-Muller算法异曲同工,只不过是基于指数和柯 西分布的随机数来进行转换,并非基于均匀随机数。Ziggurat算法是目前应用 最广泛的拒绝-接受算法,由Marsaglia和Tsang在1984年提出,并于2000 年进行了修正。2005年,Zhang等人基于Ziggurat算法在FPGA设计实现 了高斯白噪声发生器,但资源消耗较大。2011年,指出Ziggurat算法在楔形 区域和截尾区域的判决计算包含非线性运算,存在计算量大、硬件消耗多等问 题。因此,采用分段线性原理对楔形区域和截尾区域的判决算法进行优化,提 出一种改进的Ziggurat算法并基于FPGA设计了高斯白噪声发生器。该算法 在硬件资源消耗减小的同时,性能损失并不严重。在递归法方面,Wallace算 法最为典型,其基本思想是利用正交矩阵对标准高斯序列进行线性变换来得到 新的高斯随机序列。Wallace算法虽然不算精确,但它不需要先产生均匀随机 序列,而是基于最大熵原则直接产生具有高斯分布的随机序列。因此,这种方 法非常适合硬件实现,具有速度快、利用率高和结构简单的特点。2009年, 基于Wallace算法在FPGA设计实现了高斯白噪声发生器。与Xilinx内嵌高 斯白噪声发生器(基于Box-Muller算法和中心极限定理)占用的资源相比, 该噪声发生器极大地减小了高斯白噪声产生所需乘法器、存储器、逻辑资源等 硬件的消耗。
值得说明的是,在上述高斯白噪声的产生算法中,除个别算法外均需要先 产生均匀分布的随机数。目前,产生均匀随机数方法很多,主要包括线性同余 法、非线性同余法、Fibonacci法、延迟Fibonacci法、移位寄存器法、混沌 法、小数开方法等。
随着FPGA(FPGA(Field-Programmable Gate Array),即现场可编程门 阵列)性能的不断提高。基于FPGA的计算加速已经逐渐成为提高计算速度和 计算效率的重要手段之一。近年来的很多研究成果表明,现段适合在FPGA上 进行计算加速的应用都具有计算密集型的特点,例如蒙特卡罗计算和图像处理 等。在这些应用中,大都存在随机采样的过程,因此,随机数生成器是这些应 用中不可或缺的组件。高斯随机数是应用最为广泛的一类随机数。所以,研究 基于FPGA的高斯随机数生成器具有非常重要的实际意义。除了Wallace等少 数方法以外,大多数高斯随机数产生算法都是基于“转换”的思想得到高斯随 机数的,即高斯随机数是由均匀分布随机数通过某种算法转换得到的。因此, 这些算法的实现前提是需要有一组满足质量要求的均匀分布随机数。上述对高 斯随机数生成器的研究中,大都将均匀分布随机数生成器作为已知条件看待, 没有将均匀分布随机数生成器的设计作为高斯随机数产生的一部分来进行深 入的研究。均匀分布随机数生成器对高斯随机数产生过程的影响主要体现在以 下3个方面:(1)均匀分布随机数的周期决定了高斯随机数的周期,基于FPGA 的计算加速应用中,需要保证随机数的周期具有配置属性,这点主要体现在均 匀分布随机数的设计中;(2)均匀分布随机数的位宽决定了可以产生的高斯随机 数的范围,即某些小概率事件的产生需要依靠对均匀随机数位宽的正确配置来 实现;(3)均匀分布随机数生成器的工作速度不能低于高斯随机数产生算法的硬 件工作速度,为了不降低最终产生高斯随机数的吞吐率,均匀分布随机数生成 器需要具有结构简单、工作速度快的特点.本文的研究将均匀分布随机数的产 生过程考虑到高斯随机数生成器的设计过程中,综合考虑均匀分布随机数生成 器对高斯随机数产生过程的影响,有针对性地解决了上述3个方面的问题.本 本文的研究将均匀分布随机数的产生过程考虑到高斯随机数生成器的设计过 程中,综合考虑均匀分布随机数生成器对高斯随机数产生过程的影响,有针对性地解决了上述3个方面的问题。
以下三种方法通过对均匀分布随机数生成器的周期和输出位宽进行配 置.使得高斯随机数的周期和产生范围具有可配置的属性,可以满足不同应用 环境的需求。
第一种方法利用分布函数的反函数
若要得到分布函数为F(x)的随机变量Y,可令Y=F-1(u),其中u是服从 均匀分布的随机变量,有
P(Y≤y)
=P(U≤F-1(y))
=F(y)
因而,对于任意的分布函数,只要求出它的反函数,就可以由服从均匀分 布的随机变量实例来生成服从该分布函数的随机变量实例。
现在来看正态分布的分布函数,对于X~N(μ,σ2),其分布函数为:
显然,要想求其反函数是相当困难的,同时要想编程实现也很复杂。可见, 用此种方法来生成服从正态分布的随机变量实例并不可取。
第二种方法利用林德伯格—莱维(Lindeberg—Levi)中心极限定理:如果随 机变量序列X1,X2,…,Xn,…独立同分布,并且具有有限的数学期望和方差 E(Xi)=μ,D(Xi)=σ2>0(i=1,2,…),则对一切x∈R有
因此,对于服从均匀分布的随机变量Xi,只要n充分大,随机变量就服从N(0,1)。我们将实现这一方法。
第二种方法为Box Muller方法
先证明
令则
令x=rcosθ,y=rsinθ,则有
接下来再来得出Box Muller方法:
设(X,Y)为一对相互独立的服从正态分布的随机变量。则有概率密度函数
令x=Rcosθ,y=Rsinθ,其中θ~[0,2π],则R有分布函数:
令
如果X服从均匀分布,则R的分布函数即为FR(r)。
最后,可以U1用代替(1-Z),令θ为2πU2,其中U1~U(0,1),U2~(0,1),得:
从而,只需要有两个服从均匀分布的随机变量U1,U2,就能通过公式
来得到一个服从正态分布的随机变量X。用Box Muller方法来生成服从正 态分布的随机数是十分快捷方便的。
在高斯随机数生成器的设计过程中,Box Muller算法实现部分的难点在于 如何确定各操作数的位宽,因为各操作数的位宽决定了最终产生的高斯随机数 的正确性和精度;而均匀分布随机数产生部分的难点在于转换逻辑的设计,因 为转换逻辑需要保证在每个时钟周期内产生一个新的随机数U。
因此,需要一种随机数生成方法及装置能够解决FPGA快速准确实现随机 信号定点化的问题、Box Muller算法中定点位宽的确定问题、并且能够生成与 理想的高斯随机信号非常接近的随机高斯信号。
发明内容
根据本发明的一个方面,本发明提供的随机数生成方法,包括:
S110,对四个典型数值GFIX_VALUE、DV、MUL_V和sgma进行配置;
S120,提供初始随机种子X1(1,1)和X2(1,1);
S130,分别对随机种子X1(i-1,1)和X2(i-1,1)进行求模运算,以生成 新随机种子X1(i,1)和X2(i,1),i为2到fftsize+4的整数,fftsize为2n,n 为正整数;
S140,根据所述新随机种子X1(i,1)计算U1(i,1):U1(i,1)=fix(X1(i,1)/DV*GFIX_VALUE*GFIX_VALUE),且根据所述新随机种子X2(i,1)计算U2(i,1): U2(i,1)=fix(X2(i,1)/DV*GFIX_VALUE);
S150,根据U1(i,1)计算ef(i,1): ef(i,1)=fix((-2)*(log(U1(i,1))-log(GFIX_VALUE*GFIX_VALUE))*GFIX_VALUE *2^10),其中,ef(i,1)占32BIT;
S160,根据ef(i,1)计算Z(i,1):Z(i,1)=round(sgma*sqrt(ef(i,1))),其中,Z(i,1) 占16BIT;
S170,根据Z(i,1)、U2(i,1)计算随机数X(i,1): X(i,1)=mu1+Z(i,1).*cos(2*pi*U2(i,1)/GFIX_VALUE),
并根据Z(i,1)、U2(i,1)计算随机数Y(i,1): Y(i,1)=mu1+Z(i,1).*sin(2*pi*U2(i,1)/GFIX_VALUE),其中,mu1为0。
在步骤S110中,四个典型数值GFIX_VALUE、DV、MUL_V和sgma的 配置如下:
GFIX_VALUE=2^14,DV=2^31-10,MUL_V=2^14-165,sgma=1。
在步骤S120中,初始随机种子X1(1,1)的计算如下:X1(1,1)=fix((1.2)* GFIX_VALUE)=1.45;初始随机种子X2(1,1)的计算如下:X2(1,1) =fix((2.8)*GFIX_VALUE)=2.3。
在步骤S120中,在MIMO信道模型中,多天线在时刻t的初始随机种子 X1和X2如下计算,
X1(t,ii)=ii+init_value1(t),
X2(t,ii)=ii+init_value2(t),
init_value1(t)=fix(mod((1.23+0.0001*t)*2^10,2^11));%%%不断的累加,
init_value2(t)=fix(mod((1.43+0.0001*t)*2^10,2^11));%%%不断的累加,
ii为天线标示索引1,2,…,L*M*N。
在步骤S130中,随机种子X1(i-1,1)生成新随机种子X1(i,1)的步骤 如下:
计算MX:MX=MUL_V*X1(i-1,1);
通过MX计算X1(i,1):X1(i,1)=MX-floor(MX./DV).*DV。
在步骤S130中,随机种子X2(i-1,1)生成新随机种子X2(i,1)的步骤 如下:
计算MX2:MX2=MUL_V*X2(i-1,1),其中,MX2最大数值可能需要占 用46BIT;
通过MX2计算X2(i,1):X2(i,1)=MX2-floor(MX2./DV).*DV,其中,X2 最大数值可能需要占用32BIT。
根据本发明的另一个方面,本发明提供的随机数生成装置,包括:
典型数值配置单元,用于对四个典型数值GFIX_VALUE、DV、MUL_V 和sgma进行配置;
初始随机种子生成单元,用于提供初始随机种子X1(1,1)和X2(1,1);
新随机种子生成单元,用于分别对随机种子X1(i-1,1)和X2(i-1,1)进 行求模运算,以生成新随机种子X1(i,1)和X2(i,1),i为2到fftsize+4的整 数,fftsize为2n,n为正整数;
随机数运算单元,用于根据新随机种子X1(i,1)计算U1(i,1): U1(i,1)=fix(X1(i,1)/DV*GFIX_VALUE*GFIX_VALUE),且根据所述新随机种 子X2(i,1)计算U2(i,1):U2(i,1)=fix(X2(i,1)/DV*GFIX_VALUE);
根据U1(i,1)计算ef(i,1): ef(i,1)=fix((-2)*(log(U1(i,1))-log(GFIX_VALUE*GFIX_VALUE))*GFIX_VALUE *2^10),其中,ef(i,1)占32BIT;
根据ef(i,1)计算Z(i,1):Z(i,1)=round(sgma*sqrt(ef(i,1))),其中,Z(i,1)占16BIT;
根据Z(i,1)、U2(i,1)计算随机数X(i,1): X(i,1)=mu1+Z(i,1).*cos(2*pi*U2(i,1)/GFIX_VALUE),
并根据Z(i,1)、U2(i,1)计算随机数Y(i,1): Y(i,1)=mu1+Z(i,1).*sin(2*pi*U2(i,1)/GFIX_VALUE),
其中,mu1为0。
在典型数值配置单元中,四个典型数值GFIX_VALUE、DV、MUL_V和 sgma的配置如下:
GFIX_VALUE=2^14,DV=2^31-10,MUL_V=2^14-165,sgma=1。
在初始随机种子生成单元中,初始随机种子X1(1,1)的计算如下:X1(1,1) =fix((1.2)*GFIX_VALUE)=1.45,初始随机种子X2(1,1)的计算如下:X2(1,1) =fix((2.8)*GFIX_VALUE)=2.3。
在初始随机种子生成单元中,在MIMO信道模型中,多天线在时刻t的初 始随机种子X1和X2如下计算,
X1(t,ii)=ii+init_value1(t),
X2(t,ii)=ii+init_value2(t),
init_value1(t)=fix(mod((1.23+0.0001*t)*2^10,2^11));%%%不断的累加,
init_value2(t)=fix(mod((1.43+0.0001*t)*2^10,2^11));%%%不断的累加,
ii为天线标示索引1,2,…,L*M*N。
本发明与现有技术相比,具有以下优点:
1.本发明的随机数生成方法及装置能够解决FPGA快速准确实现随机信 号定点化的问题;
2.本发明的随机数生成方法及装置解决了Box Muller算法中定点位宽的 确定问题;
3.本发明的随机数生成方法及装置能够生成与理想的高斯随机信号非常 接近的随机高斯信号。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术 手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、 特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领 域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并 不认为是对本发明的设置。而且在整个附图中,用相同的参考符号表示相同的 部件。在附图中:
图1为本发明的随机数生成方法流程图;
图2为本发明的随机数生成方法逻辑图;
图3为从10万采样点产生随机变量X和Y的幅度概率分布函数(PDF);
图4为从10万采样点产生随机变量sqrt(X^2+Y^2)的幅度概率分布函数 (PDF);
图5为本发明的随机数生成装置的结构示意图;
图6为多组并行随机信号应用于MIMO信道的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了 本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被 这里阐述的实施例所设置。相反,提供这些实施例是为了能够更透彻地理解本 公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、 “一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说 明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组 件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、 组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包 括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理 解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理 解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否 则不会用理想化或过于正式的含义来解释。
为了解决现有FPGA无法快速准确实现随机信号定点化的问题和Box Muller算法中定点位宽的确定难题,本发明提供一种随机数生成方法及装置。
图1为本发明的随机数生成方法流程图,如图1所示,根据本发明的一个 方面,本发明提供的随机数生成方法,包括:
S110,对四个典型数值GFIX_VALUE、DV、MUL_V和sgma进行配置;
S120,提供初始随机种子X1(1,1)和X2(1,1);
S130,分别对随机种子X1(i-1,1)和X2(i-1,1)进行求模运算,以生成 新随机种子X1(i,1)和X2(i,1),i为2到fftsize+4的整数,fftsize为2n,n 为正整数;
S140,根据所述新随机种子X1(i,1)计算U1(i,1):U1(i,1)=fix(X1(i,1)/DV*GFIX_VALUE*GFIX_VALUE),且根据所述新随机种子X2(i,1)计算U2(i,1): U2(i,1)=fix(X2(i,1)/DV*GFIX_VALUE);
S150,根据U1(i,1)计算ef(i,1): ef(i,1)=fix((-2)*(log(U1(i,1))-log(GFIX_VALUE*GFIX_VALUE))*GFIX_VALUE *2^10),其中,ef(i,1)占32BIT;
S160,根据ef(i,1)计算Z(i,1):Z(i,1)=round(sgma*sqrt(ef(i,1))),其中,Z(i,1) 占16BIT;
S170,根据Z(i,1)、U2(i,1)计算随机数X(i,1): X(i,1)=mu1+Z(i,1).*cos(2*pi*U2(i,1)/GFIX_VALUE),
并根据Z(i,1)、U2(i,1)计算随机数Y(i,1): Y(i,1)=mu1+Z(i,1).*sin(2*pi*U2(i,1)/GFIX_VALUE),
其中,mu1为0,mu1是设计随机信号的均值。
另外,得到的随机数X(i,1)和随机数Y(i,1)用于在FPGA芯片上进行计算 加速的随机采样过程。
在步骤S110中,四个典型数值GFIX_VALUE、DV、MUL_V和sgma的 配置如下:
GFIX_VALUE=2^14,DV=2^31-10,MUL_V=2^14-165,sgma=1。
在function[X,Y]=gngauss_fix1(fftsize,GFIX_VALUE,s1,s2,sgma,mu1)中,
解释:GFIX_VALUE:单一幅度增益,FPGA一般采用16BIT来表示数据大 小,去掉一个BIT符号位,一般设置2^14,因此,GFIX_VALUE=2^14;
解释:sgma是设计随机信号的方差;
解释DV:FPGA的数据宽度是16BIT,此时DV要表示2倍长度的数据宽 度,同时去掉一个符号位,故此采用2^31,同时防止后面出现余数为零值,保 证系统的随机化效果好,必须再减去一个小的整数,例如10,因此,DV=2^31-10;
解释MUL_V:FPGA的数据宽度是16BIT,去掉一个符号位,同时防止 信号的随机化效果不好,必须再减去一个小的整数,例如165,因此, MUL_V=2^14-165;
function[X,Y]=gngauss_fix1(fftsize,GFIX_VALUE,s1,s2,sgma,mu1)
X1(1,1)=s1;
X2(1,1)=s2;
解释:下面U1必须是32BIT-幅度对应索引,U2可以是32BIT也可以是 16BIT来表示,
for i=2:fftsize+4
解释:MX最大数值可能需要占用46BIT,X1最大可能是32BIT, MUL_V:16BIT
MX=MUL_V*X1(i-1,1);
解释:X1最大数值可能需要占用32BIT
X1(i,1)=MX-floor(MX./DV).*DV;
解释:扩大GFIX_VALUE^2倍,,U1:最大数值是8192*8192--32BIT
U1(i,1)=fix(X1(i,1)/DV*GFIX_VALUE*GFIX_VALUE);
解释:MX2最大数值可能需要占用46BIT
MX2=MUL_V*X2(i-1,1);
解释:X2最大数值可能需要占用32BIT
X2(i,1)=MX2-floor(MX2./DV).*DV;
解释:U2:最大数值是GFIX_VALUE*GFIX_VALUE=8192*8192--32BIT
U2(i,1)=fix(X2(i,1)/DV*GFIX_VALUE);
解释:ef(i,1)占用32BIT
ef(i,1)=fix((-2)*(log(U1(i,1))-log(GFIX_VALUE*GFIX_VALUE))*GFIX_VALUE*2^10);
解释:Z最大数值是16bit
Z(i,1)=round(sgma*sqrt(ef(i,1)));%%占16BIT
解释:U2作为相位索引,U1包含在Z中作为幅度索引,最终得到的X和 Y就是随机信号的实部和虚部
X(i,1)=mu1+Z(i,1).*cos(2*pi*U2(i,1)/(GFIX_VALUE));
Y(i,1)=mu1+Z(i,1).*sin(2*pi*U2(i,1)/(GFIX_VALUE));
end
在步骤S120中,初始随机种子X1(1,1)的计算如下:X1(1,1)=fix((1.2)* GFIX_VALUE)=1.45;初始随机种子X2(1,1)的计算如下:X2(1,1) =fix((2.8)*GFIX_VALUE)=2.3。随机种子是用来产生随机数的一个数,在计算 机中,这样的一个“随机种子”是一个无符号整形数。随机种子来自系统时钟, 确切地说,是来自计算机主板上的定时器在内存中的记数值。计算机的主机板 上都会有这样一个定时器用来计算当前系统时间,每过一个时钟信号周期都会 使记数器+1。随机数是由随机种子根据一定的计算方法计算出来的数值。所以, 只要计算方法一定,随机种子一定,那么产生的随机数就不会变。只要用户或 第三方不设置随机种子,那么在默认情况下随机种子来自系统时钟(即定时器 的值)。
在步骤S120中,在MIMO信道模型中,第三方设置随机种子,多天线在 时刻t的初始随机种子X1和X2如下计算,
X1(t,ii)=ii+init_value1(t),
X2(t,ii)=ii+init_value2(t),
init_value1(t)=fix(mod((1.23+0.0001*t)*2^10,2^11)),其中,init_value1(t) 不断的累加,
init_value2(t)=fix(mod((1.43+0.0001*t)*2^10,2^11)),其中,init_value2(t) 不断的累加,
ii为天线标示索引1,2,…,L*M*N。
因此,不同天线在不同时刻的初始数值均不同,生成的随机信号也就不同。 这种不同的规律的循环周期可以调整。
在步骤S130中,随机种子X1(i-1,1)生成新随机种子X1(i,1)的步骤 如下:
计算MX:MX=MUL_V*X1(i-1,1);
通过MX计算X1(i,1):X1(i,1)=MX-floor(MX./DV).*DV。
在步骤S130中,随机种子X2(i-1,1)生成新随机种子X2(i,1)的步骤 如下:
计算MX2:MX2=MUL_V*X2(i-1,1),其中,MX2最大数值可能需要占 用46BIT;
通过MX2计算X2(i,1):X2(i,1)=MX2-floor(MX2./DV).*DV,其中,X2 最大数值可能需要占用32BIT。
图2为本发明的随机数生成方法逻辑图,本发明的随机数生成方法基于 BoxMuller高斯随机数生成方法进行定点化实现随机信号,如图2所示,本发 明的随机数生成方法至少包括两个初始随机种子:X1(1,1)和X2(1,1)。一 方面,通过MUL_V和初始随机种子X1(1,1)进行计算MX,通过MX和DV 计算新随机种子X1,再通过X1、DV和GFIX_VALUE计算U1,通过U1和 GFIX_VALUE计算ef,在计算ef时,L可以为10,通过ef和sgma计算Z; 另一方面,通过MUL_V和初始随机种子X2(1,1)进行计算MX2,通过MX2 和DV计算新随机种子X2,再通过X2、DV和GFIX_VALUE计算U2,通过 U2计算G0和G1;最后,计算随机数X:X=mu1+Z.*cos(2*pi*U2/GFIX_VALUE), 计算随机数Y:Y=mu1+Z.*sin(2*pi*U2/GFIX_VALUE),其中,mu1为0,pi 为π。因此,本发明的随机数生成方法能够解决FPGA快速准确实现随机信号 定点化的问题。
另外,U1输出采用32BIT宽BIT位输出,这是由于后续需要求LOG,需 要足够宽的位数保证后面的精度。U2输出采用16BIT窄BIT位输出,这是由 于COS/SIN位数太宽,存储的表格有限,故此输入的索引无需太精细。U1和 U2两个关键位宽的确定后,就完成了整体位宽的确定。因此,本发明的随机 数生成方法及装置解决了Box Muller算法中定点位宽的确定问题。
可以基于以下模型进行推断随机编码X,Y的幅度分布以及随机编码X,Y 的联合幅度分布:
MAXTD=max(ef)/2^30;
figure(23);plot(ef);
MAXZ=max(Z)/2^15;
X=X(3:3+fftsize-1);
Y=Y(3:3+fftsize-1);
maxd=max(X);maxy=max(Y);
divv=sqrt(mean((abs(X-mean(X))).^2));
divv=sqrt(mean((abs(X-mean(X))).^2));
解释:随机编码X,Y的幅度分布--高斯分布
mmy=hist(Y,100);
mmx=hist(X,100);
figure(13);plot(mmx./fftsize,'b-^');hold on;plot(mmy./fftsize,'r.-');hold off;
legend('随机变量X','随机变量Y');grid on;
xlabel('x');ylabel('PDF');title(['AWGN'])。
解释:随机编码X,Y的联合幅度分布--瑞利分布
R=sqrt(X.^2+Y.^2);
mm=hist(R,1000);figure(14);plot(mm);
xlabel('x');ylabel('X.^2+Y.^2');title(['幅度分布'])
pp=5。
图3为从10万采样点产生随机变量X和Y的幅度概率分布函数(PDF), 如图3所示,X和Y都呈现理想高斯概率分布函数(l Gaussian PDF), mmy=hist(Y,100);mmx=hist(X,100)。因此,本发明的随机数生成方法能够生成 与理想的高斯随机信号非常接近的随机高斯信号。
图4为从10万采样点产生随机变量sqrt(X^2+Y^2)的幅度概率分布函数 (PDF),如图4所示,sqrt(X^2+Y^2)呈现理想瑞利概率分布函数(l PDF), R=sqrt(X.^2+Y.^2);mm=hist(R,1000)。本发明的随机数生成方法能够生成与理 想的高斯随机信号非常接近的随机高斯信号。
图5为本发明的随机数生成装置的结构示意图,如图5所示,根据本发明 的另一个方面,本发明提供的随机数生成装置,包括:
典型数值配置单元,用于对四个典型数值GFIX_VALUE、DV、MUL_V 和sgma进行配置;
初始随机种子生成单元,用于提供初始随机种子X1(1,1)和X2(1,1);
新随机种子生成单元,用于分别对随机种子X1(i-1,1)和X2(i-1,1)进 行求模运算,以生成新随机种子X1(i,1)和X2(i,1),i为2到fftsize+4的整 数,fftsize为2n,n为正整数;
随机数运算单元,用于根据新随机种子X1(i,1)计算U1(i,1): U1(i,1)=fix(X1(i,1)/DV*GFIX_VALUE*GFIX_VALUE),且根据所述新随机种 子X2(i,1)计算U2(i,1):U2(i,1)=fix(X2(i,1)/DV*GFIX_VALUE);
根据U1(i,1)计算ef(i,1): ef(i,1)=fix((-2)*(log(U1(i,1))-log(GFIX_VALUE*GFIX_VALUE))*GFIX_VALUE *2^10),其中,ef(i,1)占32BIT;
根据ef(i,1)计算Z(i,1):Z(i,1)=round(sgma*sqrt(ef(i,1))),其中,Z(i,1)占16BIT;
根据Z(i,1)、U2(i,1)计算随机数Y1(i,1): Y1(i,1)=mu1+Z(i,1).*cos(2*pi*U2(i,1)/GFIX_VALUE),
并根据Z(i,1)、U2(i,1)计算随机数Y2(i,1): Y2(i,1)=mu1+Z(i,1).*sin(2*pi*U2(i,1)/GFIX_VALUE),
其中,mu1为0。
在典型数值配置单元中,四个典型数值GFIX_VALUE、DV、MUL_V和 sgma的配置如下:
GFIX_VALUE=2^14,DV=2^31-10,MUL_V=2^14-165,sgma=1。
在初始随机种子生成单元中,初始随机种子X1(1,1)的计算如下:X1(1,1) =fix((1.2)*GFIX_VALUE)=1.45,初始随机种子X2(1,1)的计算如下:X2(1,1) =fix((2.8)*GFIX_VALUE)=2.3。
在初始随机种子生成单元中,在MIMO信道模型中,多天线在时刻t的初 始随机种子X1和X2如下计算,
X1(t,ii)=ii+init_value1(t),
X2(t,ii)=ii+init_value2(t),
init_value1(t)=fix(mod((1.23+0.0001*t)*2^10,2^11)),其中,init_value1(t) 不断的累加,
init_value2(t)=fix(mod((1.43+0.0001*t)*2^10,2^11)),其中,init_value2(t) 不断的累加,
ii为天线标示索引1,2,…,L*M*N。
图6为多组并行随机信号应用于MIMO信道的示意图,如图6所示,在L*M*N个随机信号生成装置的每一个中,输入两个随机种子并输出两个随机 数,例如在随机信号生成装置1中,输入两个随机种子P1A1X0和P1A1X1并 输出两个随机数XI1和XR1;在随机信号生成装置2中,输入两个随机种子 P1A2X0和P1A2X1并输出两个随机数XI2和XR2;在随机信号生成装置L*MN 中,输入两个随机种子P1AL*MNX0和P1AL*MNX1并输出两个随机数 XIL*MN和XRL*MN。
解释SEZ:SEZ表示的是路径,一共有L个路径,每一个路径有M*N根 天线,例如下面path_num表示的路径数量,numLinks=M*N,表示的是天线数量, 那么就一共要生成path_num*numLinks个随机信号,具体地,例如 path_num=6;M=4,N=4,numLinks=MN=16,那么一共需要生成96组随机信 号。因此,每个路径SEZ对应MN个随机化后的U形谱。因此,能够满足MIMO 对随机信号的需求。
在MIMO信道中计算随机信号的过程如下:
function data_main
t=1;
init_value1=fix(mod((1.23+0.001*t)*2^10,2^11));%%%不断的累加
init_value2=fix(mod((1.43+0.001*t)*2^10,2^11));%%%不断的累加
fftsize=4096;
for ii=1:path_num*numLinks
s1=ii+init_value1;s2=ii+init_value2;
[X,Y]=gngauss_fix1(fftsize,GFIX_VALUE,s1,s2,sgma,mu1);
I_input_freq(ii,:)=X;
Q_input_freq(ii,:)=Y;
end
function[X,Y]=gngauss_fix1(fftsize,GFIX_VALUE,s1,s2,sgma,mu1)
%解释DV:FPGA的数据宽度是16BIT,此时DV要表示2倍长度的数据 宽度,同时去掉一个符号位,故此采用2^31,
%解释DV:同时防止后面出现余数为零值,保证系统的随机化效果好, 必须再减去一个小的整数,例如10
DV=2^31-10;
%解释:MUL_V--FPGA的数据宽度是16BIT,去掉一个符号位,同时防 止信号的随机化效果不好,必须再减去一个小的整数,例如165,
MUL_V=2^14-165;
X1(1,1)=s1;
X2(1,1)=s2;
%%%解释:下面U1必须是32BIT-幅度对应索引,U2可以是32BIT也可 以是16BIT来表示,
for i=2:fftsize+4
解释:MX最大数值可能需要占用46BIT,X1最大可能是32BIT,, MUL_V:16BIT
MX=MUL_V*X1(i-1,1);
解释:X1最大数值可能需要占用32BIT
X1(i,1)=MX-floor(MX./DV).*DV;
解释:扩大GFIX_VALUE^2倍,,U1:最大数值是8192*8192--32BIT
U1(i,1)=fix(X1(i,1)/DV*GFIX_VALUE*GFIX_VALUE);
解释:MX2最大数值可能需要占用46BIT
MX2=MUL_V*X2(i-1,1);
解释:X2最大数值可能需要占用32BIT
X2(i,1)=MX2-floor(MX2./DV).*DV;
解释:U2:最大数值是GFIX_VALUE*GFIX_VALUE=8192*8192--32BIT
U2(i,1)=fix(X2(i,1)/DV*GFIX_VALUE);
解释:ef(i,1)占用32BIT
ef(i,1)=fix((-2)*(log(U1(i,1))-log(GFIX_VALUE*GFIX_VALUE))*GFIX_VALUE*2^10);
解释:Z最大数值是16bit
Z(i,1)=round(sgma*sqrt(ef(i,1)));%%占16BIT
解释:U2作为相位索引,U1包含在Z中作为幅度索引,最终得到的X和 Y就是随机信号的实部和虚部
X(i,1)=mu1+Z(i,1).*cos(2*pi*U2(i,1)/(GFIX_VALUE));
Y(i,1)=mu1+Z(i,1).*sin(2*pi*U2(i,1)/(GFIX_VALUE));
end
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的 单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也 可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。 可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目 的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施 方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。 基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以 以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介 质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例 的某些部分所述的方法。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施 例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着 处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中, 所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限 制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员 应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其 中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的 本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种随机数生成方法,其特征在于,包括:
S110,对四个典型数值GFIX_VALUE、DV、MUL_V和sgma进行配置;
S120,提供初始随机种子X1(1,1)和X2(1,1);
S130,分别对随机种子X1(i-1,1)和X2(i-1,1)进行求模运算,以生成新随机种子X1(i,1)和X2(i,1),i为2到fftsize+4的整数,fftsize为2n,n为正整数;
S140,根据所述新随机种子X1(i,1)计算U1(i,1):U1(i,1)=fix(X1(i,1)/DV*GFIX_VALUE*GFIX_VALUE),且根据X2(i,1)计算U2(i,1):U2(i,1)=fix(X2(i,1)/DV*GFIX_VALUE);
S150,根据U1(i,1)计算ef(i,1):ef(i,1)=fix((-2)*(log(U1(i,1))-log(GFIX_VALUE*GFIX_VALUE))*GFIX_VALUE*2^10),%%%占32BIT;
S160,根据ef(i,1)计算Z(i,1):Z(i,1)=round(sgma*sqrt(ef(i,1))),%%占16BIT;
S170,根据Z(i,1)、U2(i,1)计算随机数X(i,1):X(i,1)=mu1+Z(i,1).*cos(2*pi*U2(i,1)/GFIX_VALUE),
并根据Z(i,1)、U2(i,1)计算随机数Y(i,1):Y(i,1)=mu1+Z(i,1).*sin(2*pi*U2(i,1)/GFIX_VALUE),其中,mu1为0。
2.根据权利要求1所述的随机数生成方法,其特征在于,在步骤S110中,所述四个典型数值GFIX_VALUE、DV、MUL_V和sgma的配置如下:
GFIX_VALUE=2^14,DV=2^31-10,MUL_V=2^14-165,sgma=1。
3.根据权利要求2所述的随机数生成方法,其特征在于,在步骤S120中,
所述初始随机种子X1(1,1)的计算如下:
X1(1,1)=fix((1.2)*GFIX_VALUE)=1.45,
所述初始随机种子X2(1,1)的计算如下:
X2(1,1)=fix((2.8)*GFIX_VALUE)=2.3。
4.根据权利要求2所述的随机数生成方法,其特征在于,在步骤S120中,在MIMO信道模型中,多天线在时刻t的初始随机种子X1和X2如下计算,
X1(t,ii)=ii+init_value1(t),
X2(t,ii)=ii+init_value2(t),
init_value1(t)=fix(mod((1.23+0.0001*t)*2^10,2^11));%%%不断的累加,
init_value2(t)=fix(mod((1.43+0.0001*t)*2^10,2^11));%%%不断的累加,
ii为天线标示索引1,2,…,L*M*N。
5.根据权利要求4所述的随机数生成方法,其特征在于,在步骤S130中,所述随机种子X1(i-1,1)生成新随机种子X1(i,1)的步骤如下:
计算MX:MX=MUL_V*X1(i-1,1);
通过MX计算X1(i,1):X1(i,1)=MX-floor(MX./DV).*DV。
6.根据权利要求5所述的随机数生成方法,其特征在于,在步骤S130中,所述随机种子X2(i-1,1)生成新随机种子X2(i,1)的步骤如下:
计算MX2:MX2=MUL_V*X2(i-1,1);%MX2最大数值可能需要占用46BIT;
通过MX2计算X2(i,1):X2(i,1)=MX2-floor(MX2./DV).*DV;%X2最大数值可能需要占用32BIT。
7.一种随机数生成装置,其特征在于,包括:
典型数值配置单元,用于对四个典型数值GFIX_VALUE、DV、MUL_V和sgma进行配置;
初始随机种子生成单元,用于提供初始随机种子X1(1,1)和X2(1,1);
新随机种子生成单元,用于分别对随机种子X1(i-1,1)和X2(i-1,1)进行求模运算,以生成新随机种子X1(i,1)和X2(i,1),i为2到fftsize+4的整数,fftsize为2n,n为正整数;
随机数运算单元,用于根据所述新随机种子X1(i,1)计算U1(i,1):U1(i,1)=fix(X1(i,1)/DV*GFIX_VALUE*GFIX_VALUE),且根据所述新随机种子X2(i,1)计算U2(i,1):U2(i,1)=fix(X2(i,1)/DV*GFIX_VALUE);
根据U1(i,1)计算ef(i,1):ef(i,1)=fix((-2)*(log(U1(i,1))-log(GFIX_VALUE*GFIX_VALUE))*GFIX_VALUE*2^10),%%%占32BIT;
根据ef(i,1)计算Z(i,1):Z(i,1)=round(sgma*sqrt(ef(i,1))),%%占16BIT;
根据Z(i,1)、U2(i,1)计算随机数X(i,1):X(i,1)=mu1+Z(i,1).*cos(2*pi*U2(i,1)/GFIX_VALUE),
并根据Z(i,1)、U2(i,1)计算随机数Y(i,1):Y(i,1)=mu1+Z(i,1).*sin(2*pi*U2(i,1)/GFIX_VALUE),其中,mu1为0。
8.根据权利要求7所述的随机数生成装置,其特征在于,在所述典型数值配置单元中,所述四个典型数值GFIX_VALUE、DV、MUL_V和sgma的配置如下:
GFIX_VALUE=2^14,DV=2^31-10,MUL_V=2^14-165,sgma=1。
9.根据权利要求8所述的随机数生成装置,其特征在于,在所述初始随机种子生成单元中,
所述初始随机种子X1(1,1)的计算如下:
X1(1,1)=fix((1.2)*GFIX_VALUE)=1.45,
所述初始随机种子X2(1,1)的计算如下:
X2(1,1)=fix((2.8)*GFIX_VALUE)=2.3。
10.根据权利要求8所述的随机数生成装置,其特征在于,在所述初始随机种子生成单元中,在MIMO信道模型中,多天线在时刻t的初始随机种子X1和X2如下计算,
X1(t,ii)=ii+init_value1(t),
X2(t,ii)=ii+init_value2(t),
init_value1(t)=fix(mod((1.23+0.0001*t)*2^10,2^11));%%%不断的累加,
init_value2(t)=fix(mod((1.43+0.0001*t)*2^10,2^11));%%%不断的累加,
ii为天线标示索引1,2,…,L*M*N。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710693167.4A CN107450886B (zh) | 2017-08-14 | 2017-08-14 | 一种模拟高斯白噪声的高斯随机信号的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710693167.4A CN107450886B (zh) | 2017-08-14 | 2017-08-14 | 一种模拟高斯白噪声的高斯随机信号的生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107450886A true CN107450886A (zh) | 2017-12-08 |
CN107450886B CN107450886B (zh) | 2020-06-05 |
Family
ID=60491955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710693167.4A Active CN107450886B (zh) | 2017-08-14 | 2017-08-14 | 一种模拟高斯白噪声的高斯随机信号的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107450886B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111638866A (zh) * | 2020-04-26 | 2020-09-08 | 北京中交兴路信息科技有限公司 | 随机数生成方法、装置、设备及存储介质 |
CN113536478A (zh) * | 2021-07-05 | 2021-10-22 | 四川中科彭成机器人技术有限公司 | 一种复杂传动机构三围尺寸链分析方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567909A (zh) * | 2003-06-20 | 2005-01-19 | 韦尔泰克公司 | 用于产生加性白高斯噪声的装置 |
CN1710617A (zh) * | 2005-06-16 | 2005-12-21 | 武汉理工大学 | 高效真随机数产生方法及装置 |
CN101038541A (zh) * | 2006-03-15 | 2007-09-19 | 中兴通讯股份有限公司 | 一种随机数的产生方法 |
CN101127575A (zh) * | 2007-09-12 | 2008-02-20 | 中兴通讯股份有限公司 | 一种均匀分布随机数发生器及均匀分布随机数产生方法 |
CN101714073A (zh) * | 2008-10-08 | 2010-05-26 | 新唐科技股份有限公司 | 随机数产生方法、随机数选取方法及相关电子装置 |
CN105426158A (zh) * | 2015-12-09 | 2016-03-23 | 福州瑞芯微电子股份有限公司 | 一种随机数产生方法及其装置 |
CN105739946A (zh) * | 2014-12-08 | 2016-07-06 | 展讯通信(上海)有限公司 | 随机数生成方法及装置 |
CN106980488A (zh) * | 2017-03-14 | 2017-07-25 | 腾讯科技(深圳)有限公司 | 随机数生成方法及装置 |
-
2017
- 2017-08-14 CN CN201710693167.4A patent/CN107450886B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567909A (zh) * | 2003-06-20 | 2005-01-19 | 韦尔泰克公司 | 用于产生加性白高斯噪声的装置 |
CN1710617A (zh) * | 2005-06-16 | 2005-12-21 | 武汉理工大学 | 高效真随机数产生方法及装置 |
CN101038541A (zh) * | 2006-03-15 | 2007-09-19 | 中兴通讯股份有限公司 | 一种随机数的产生方法 |
CN101127575A (zh) * | 2007-09-12 | 2008-02-20 | 中兴通讯股份有限公司 | 一种均匀分布随机数发生器及均匀分布随机数产生方法 |
CN101714073A (zh) * | 2008-10-08 | 2010-05-26 | 新唐科技股份有限公司 | 随机数产生方法、随机数选取方法及相关电子装置 |
CN105739946A (zh) * | 2014-12-08 | 2016-07-06 | 展讯通信(上海)有限公司 | 随机数生成方法及装置 |
CN105426158A (zh) * | 2015-12-09 | 2016-03-23 | 福州瑞芯微电子股份有限公司 | 一种随机数产生方法及其装置 |
CN106980488A (zh) * | 2017-03-14 | 2017-07-25 | 腾讯科技(深圳)有限公司 | 随机数生成方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111638866A (zh) * | 2020-04-26 | 2020-09-08 | 北京中交兴路信息科技有限公司 | 随机数生成方法、装置、设备及存储介质 |
CN113536478A (zh) * | 2021-07-05 | 2021-10-22 | 四川中科彭成机器人技术有限公司 | 一种复杂传动机构三围尺寸链分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107450886B (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Modulation classification method for frequency modulation signals based on the time–frequency distribution and CNN | |
Hikawa | A digital hardware pulse-mode neuron with piecewise linear activation function | |
CN106560800A (zh) | 在雷达和声纳应用中调整定点快速傅立叶变换 | |
CN107450886A (zh) | 一种随机数生成方法及装置 | |
Wang et al. | Convolutional neural network applied to specific emitter identification based on pulse waveform images | |
Vitulyova et al. | New application of non-binary Galois fields Fourier transform: Digital analog of convolution theorem | |
Li et al. | Synchronization of a memristor chaotic system and image encryption | |
Liu et al. | A class of novel discrete memristive chaotic map | |
Xu et al. | A novel four-wing chaotic system with multiple attractors based on hyperbolic sine: Application to image encryption | |
Wen et al. | New noise-based logic representations to avoid some problems with time complexity | |
Zalivaka et al. | FPGA implementation of modeling attack resistant arbiter PUF with enhanced reliability | |
US20150123721A1 (en) | System and Method for Gaussian Random Noise Generation | |
Tang et al. | A simple chaotic model with complex chaotic behaviors and its hardware implementation | |
Pathan et al. | FPGA Based performance analysis of multiplier policies for FIR filter | |
CN110097613A (zh) | 一种基于概率计算的b样条曲线生成方法和系统 | |
Tolba et al. | Digital emulation of a versatile memristor with speech encryption application | |
CN106774624A (zh) | 一种实时高斯白噪声硬件发生器的并行实现方法 | |
CN106385311B (zh) | 一种基于fpga的复混沌简化系统的混沌信号发生器 | |
CN107481732A (zh) | 一种口语测评中的降噪方法、装置及终端设备 | |
CN117273109A (zh) | 基于量子神经元的混合神经网络的构建方法及装置 | |
CN108111448A (zh) | 预失真查找表的生成方法、装置与预失真校准设备 | |
CN106774625A (zh) | 一种实时相位噪声硬件发生器的并行实现方法 | |
De Micco et al. | Stochastic degradation of the fixed-point version of 2D-chaotic maps | |
Zheng et al. | Fractal analysis of overlapping box covering algorithm for complex networks | |
Yuan et al. | You Already Have It: A Generator-Free Low-Precision DNN Training Framework Using Stochastic Rounding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Room 109-111, 1 / F, 17 / F, Zhongguancun Software Park, 8 Dongbeiwang West Road, Haidian District, Beijing, 100193 Patentee after: Ruixinfeng Aerospace Technology (Beijing) Co.,Ltd. Country or region after: China Address before: Room 109-111, 1 / F, 17 / F, Zhongguancun Software Park, 8 Dongbeiwang West Road, Haidian District, Beijing, 100193 Patentee before: BEIJING RINFON TECHNOLOGY Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |