CN100461089C - 一种随机数的产生方法 - Google Patents

一种随机数的产生方法 Download PDF

Info

Publication number
CN100461089C
CN100461089C CNB2006100598237A CN200610059823A CN100461089C CN 100461089 C CN100461089 C CN 100461089C CN B2006100598237 A CNB2006100598237 A CN B2006100598237A CN 200610059823 A CN200610059823 A CN 200610059823A CN 100461089 C CN100461089 C CN 100461089C
Authority
CN
China
Prior art keywords
random number
counter
different
hardware
described step
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
CNB2006100598237A
Other languages
English (en)
Other versions
CN101038541A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CNB2006100598237A priority Critical patent/CN100461089C/zh
Publication of CN101038541A publication Critical patent/CN101038541A/zh
Application granted granted Critical
Publication of CN100461089C publication Critical patent/CN100461089C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种随机数的产生方法,应用于实时嵌入式系统,它利用实时嵌入式系统中设备特性在时间上和环境上存在微小且随机的差异,用系统中精确的计数器来区分这些差异,产生真正的随机数。包括:(a)打开计数器,对硬件系统启动或运行时间进行计数;(b)记录并保存一个或多个计数值,得到随机数序列R;(c)根据设定规则对随机数序列进行处理,得到随机数S。本发明所述方法能够产生真正意义上的随机数,简单、实用,满足在不同的硬件环境产生不同数据的要求,即使在同一硬件环境的不同运行次数或时刻也可以产生不同的数据。随着各种各样的实时嵌入式系统在不同领域地广泛应用,此种随机数产生方法将具有丰富和巨大的应用潜力。

Description

一种随机数的产生方法
技术领域
本发明涉及一种随机数的产生方法,尤其涉及实时嵌入式系统中随机数的产生方法。
背景技术
目前,软件设计中所提到的随机数一般指的都是伪随机数,实际上,它们是根据某种算法或递推公式计算的一组数值。只要“初始条件”(即“随机数种子”)相同,软件每次执行后产生的随机数序列都是相同的。
怎样能够产生真正随机数是软件设计领域面临一个课题。在某些特定的软件中,需要满足:1)同一软件在不同的硬件环境能够产生不同数据;2)同一软件在同一硬件环境的不同运行次数或时刻能够产生不同的数据。
发明内容
本发明所要解决的技术问题是提供一种随机数的产生方法,能在实时嵌入式系统中产生真正的随机数。
为解决上述技术问题,本发明提供了一种随机数的产生方法,应用于实时嵌入式系统,包括以下步骤:
(a)在系统启动后或运行过程中或单板上电启动时打开计数器,对硬件系统启动或运行时间进行计数;
(b)记录并保存一个或多个计数值,得到随机数序列R;
(c)根据设定规则对随机数序列进行处理,得到随机数S。
进一步地,本方法还具有以下特点:所述步骤(a)中所述计数器在系统上电启动时打开或在运行过程中打开。
进一步地,本方法还具有以下特点:所述步骤(a)设置所述计数器的计数单位为纳秒ns的倍数。
进一步地,本方法还具有以下特点:所述步骤(a)中对硬件系统启动或运行时间进行计数是指对中央处理器单元访问硬件设备的时间进行计数。
进一步地,本方法还具有以下特点:所述中央处理器单元访问的硬件设备为存储设备或输入输出设备。
进一步地,本方法还具有以下特点:所述步骤(b)中对计数值的记录是周期性进行的。
进一步地,本方法还具有以下特点:所述步骤(c)中的设定规则是指以下方法的一种或任意组合:对得到的随机数序列进行累加,或者进行乘法运算,或者进行求余运算然后对求余运算的任意组合。
进一步地,本方法还具有以下特点:所述记录的计数值个数由需要的随机数的长度和所述规则来制定,这些计数值随着记录不断更新。
本发明所述方法能够产生真正意义上的随机数,简单、实用,满足在不同的硬件环境产生不同数据、在同一硬件环境的不同运行次数或时刻也产生不同数据的要求。
附图说明
图1为实时嵌入式系统的基本结构图;
图2为本发明实施例方法随机数生成流程图;
图3为在某单板上采用本发明实施例方法生成随机数的流程图。
具体实施方式
在通常的实时嵌入式系统中,硬件主要由CPU(中央处理器单元)、计数器、存储设备及IO(输入输出)设备等基本设备构成,如图1所示。在实际的系统中具有以下特点:
1、不同硬件系统中的存储设备和IO设备等设备特性存在一定的差异;相同硬件系统的存储设备和IO设备等设备特性也会随着外在的环境因素(如温度、湿度、电压等)而存在一定的差异。实践表明,这些差异是具有随机性的;
2、由于上述设备特性的随机性的差异,会使CPU访问存储、IO设备等设备的时间上产生微小的差异,从而会导致不同硬件系统启动或运行时间不同且随机;相同硬件系统的不同运行次数启动或运行时间也不同且随机;
3、当前大多数系统中都内置有图中所示的通用计数器,能够精确记录系统时间,其精度一般能够达到ns。当软件通过CPU的指令设置完该计数器的精度并启动其工作后,其内部计数会随着系统时钟周期性地增加或递减。软件读取该值,作为时间记录值。软件可以根据需要停止或重新启动计数器。由于硬件特性不确定性,无论启动或运行时间有多长,通过计数器值总是能够表现出来的。
本实施例方法充分利用实时嵌入式系统的上述特点来生成随机数。步骤如下(参见图2):
步骤201,在系统启动后或运行过程中打开计数器C对系统启动或运行时间进行计数,并设置计数器的计数单位为ns的倍数;
步骤202,周期性的记录并保存n个计数值,得到随机数序列R:x0~xn-1,然后不断更新;
本发明也可以通过外部输入或其它方法作为触发条件,进行非周期性地记录。
步骤203,把随机数序列R作为输入参数,通过一定的规则F,得到所需的L位随机数S,如公式:S=F(R);
F规则是用户根据实际需要选择的,例如,x0~xn-1累加法,x0~xn-1乘法,x0~xn-1求余后任意组合法等,也可以是这些方法的任意组合,或者也可以是其它的各种算法及其组合。用户根据需要的随机数S的长度L和F规则来制定需要记录计数器值个数n。
下面以移动通讯基站中某通信单板的随机数生成过程为应用实例进行说明,步骤如下(参见图3):
步骤301,在单板上电启动时打开计数器C,并设置计数器的最小计数单位为10ns;
步骤302,以系统时钟为基准,每隔2s读取计数器8次并保存,得到随机序列x0~x7
步骤303,按照自定义算法组合成需要的32位随机数, S = Σ m = 0 n - 1 ( x m % y ) × y m , 其中%为求余运算,S为32位的随机数值,y为16,n为8,m=0,1,......,n-1;
经过实际测试证明:在多块同样的单板上得到的随机数是不同的,在任意一块单板上多次计算出的随机数也是不同的。
本文所述随机数产生方法简单、实用,随着各种各样的实时嵌入式系统在不同领域地广泛应用,此种随机数产生方法将具有丰富和巨大的应用潜力。

Claims (8)

1.一种随机数的产生方法,应用于实时嵌入式系统,包括以下步骤:
(a)在系统启动后或运行过程中或单板上电启动时打开计数器,对硬件系统启动或运行时间进行计数;
(b)记录并保存一个或多个计数值,得到随机数序列R;
(c)根据设定规则对随机数序列进行处理,得到随机数S。
2.如权利要求1所述的方法,其特征在于,所述步骤(a)中所述计数器在系统上电启动时打开或在运行过程中打开。
3.如权利要求1所述的方法,其特征在于,所述步骤(a)设置所述计数器的计数单位为纳秒ns的倍数。
4.如权利要求1所述的方法,其特征在于,所述步骤(a)中对硬件系统启动或运行时间进行计数是指对中央处理器单元访问硬件设备的时间进行计数。
5.如权利要求4所述的方法,其特征在于,所述中央处理器单元访问的硬件设备为存储设备或输入输出设备。
6.如权利要求1所述的方法,其特征在于,所述步骤(b)中对计数值的记录是周期性进行的。
7.如权利要求1所述的方法,其特征在于,所述步骤(c)中的设定规则是指以下方法的一种或任意组合:对得到的随机数序列进行累加,或者进行乘法运算,或者进行求余运算然后对求余运算的任意组合。
8.如权利要求1或7所述的方法,其特征在于,所述记录的计数值个数由需要的随机数的长度和所述规则来制定,这些计数值随着记录不断更新。
CNB2006100598237A 2006-03-15 2006-03-15 一种随机数的产生方法 Expired - Fee Related CN100461089C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100598237A CN100461089C (zh) 2006-03-15 2006-03-15 一种随机数的产生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100598237A CN100461089C (zh) 2006-03-15 2006-03-15 一种随机数的产生方法

Publications (2)

Publication Number Publication Date
CN101038541A CN101038541A (zh) 2007-09-19
CN100461089C true CN100461089C (zh) 2009-02-11

Family

ID=38889463

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100598237A Expired - Fee Related CN100461089C (zh) 2006-03-15 2006-03-15 一种随机数的产生方法

Country Status (1)

Country Link
CN (1) CN100461089C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109245883A (zh) * 2018-09-21 2019-01-18 深圳市德名利电子有限公司 一种随机数发生器及随时数产生方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510150B (zh) * 2009-03-24 2014-12-31 北京中星微电子有限公司 随机数产生装置
JP5813380B2 (ja) * 2011-06-03 2015-11-17 株式会社東芝 半導体記憶装置
CN104426651A (zh) * 2013-08-30 2015-03-18 上海复旦微电子集团股份有限公司 数据处理方法和装置
CN104469461A (zh) * 2014-12-19 2015-03-25 佛山市顺德区美的电热电器制造有限公司 随机数生成装置、电视机及随机数生成方法
CN106407754B (zh) * 2015-07-30 2021-06-18 中兴通讯股份有限公司 一种生成随机布局程序的方法及装置
CN106648543B (zh) * 2016-12-29 2019-09-27 北京握奇智能科技有限公司 一种随机数生成方法及装置
CN107133015A (zh) * 2017-04-11 2017-09-05 上海汇尔通信息技术有限公司 一种随机数生成方法及系统
CN107450886B (zh) * 2017-08-14 2020-06-05 北京睿信丰科技有限公司 一种模拟高斯白噪声的高斯随机信号的生成方法及装置
CN110390806A (zh) * 2018-04-16 2019-10-29 松下家电研究开发(杭州)有限公司 非固定地址码的生成方法
CN112698810A (zh) * 2020-12-24 2021-04-23 上海贝岭股份有限公司 基于mcu的随机id的生成方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1397034A (zh) * 2000-01-27 2003-02-12 因芬尼昂技术股份公司 随机数发生器
CN1152299C (zh) * 1999-09-01 2004-06-02 国际商业机器公司 随机数发生器
WO2004051458A2 (en) * 2002-12-05 2004-06-17 Koninklijke Philips Electronics N.V. System and method for true random number generation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1152299C (zh) * 1999-09-01 2004-06-02 国际商业机器公司 随机数发生器
CN1397034A (zh) * 2000-01-27 2003-02-12 因芬尼昂技术股份公司 随机数发生器
WO2004051458A2 (en) * 2002-12-05 2004-06-17 Koninklijke Philips Electronics N.V. System and method for true random number generation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109245883A (zh) * 2018-09-21 2019-01-18 深圳市德名利电子有限公司 一种随机数发生器及随时数产生方法

Also Published As

Publication number Publication date
CN101038541A (zh) 2007-09-19

Similar Documents

Publication Publication Date Title
CN100461089C (zh) 一种随机数的产生方法
Golomb Shift register sequences: secure and limited-access code generators, efficiency code generators, prescribed property generators, mathematical models
L'Ecuyer et al. Simulation in Java with SSJ
CN104298679A (zh) 应用业务推荐方法及装置
CN112286772B (zh) 归因分析方法、装置和电子设备
Favati et al. Additive one-dimensional cellular automata are chaotic according to Devaney's definition of chaos
CN105373930B (zh) 应用于溯源系统的rfid标签估算方法和装置
CN107992914A (zh) 一种加工工时测量方法及系统、终端
Bilan Formation Methods, Models, and Hardware Implementation of Pseudorandom Number Generators: Emerging Research and Opportunities: Emerging Research and Opportunities
KR20180021744A (ko) 확률론적 병렬 마이크로프로세서
CN103500143B (zh) 硬盘参数调整方法及装置
CN110362881B (zh) 基于极限学习机的微波功率器件非线性模型方法
Sameer Simulation: Analysis of single server queuing model
Singh et al. A scalable statistical static timing analyzer incorporating correlated non-Gaussian and Gaussian parameter variations
CN106257507A (zh) 用户行为的风险评估方法及装置
CN105023170A (zh) 一种点击流数据的处理方法及装置
Pavlov et al. Investigations of the K-stage Erlangian software reliability growth model
CN104102804A (zh) 一种预测设备器件寿命的方法及装置
Casale Building accurate workload models using markovian arrival processes
Kapur et al. Multi-generation diffusion of technology
Agboola et al. Application of Renewal Reward Processes in Homogeneous Discrete Markov Chain
Younes et al. Model checking of continuous-time Markov chains by closed-form bounding distributions
Willemain et al. Enhanced simulation inference using bootstraps of historical inputs
Gómez‐Corral Sojourn times in a two‐stage queueing network with blocking
Atchison et al. Disappearing evidence of chaos in security returns: a simulation

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090211

Termination date: 20150315

EXPY Termination of patent right or utility model