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

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

Info

Publication number
CN101038541A
CN101038541A CN 200610059823 CN200610059823A CN101038541A CN 101038541 A CN101038541 A CN 101038541A CN 200610059823 CN200610059823 CN 200610059823 CN 200610059823 A CN200610059823 A CN 200610059823A CN 101038541 A CN101038541 A CN 101038541A
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.)
Granted
Application number
CN 200610059823
Other languages
English (en)
Other versions
CN100461089C (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 true CN101038541A (zh) 2007-09-19
CN100461089C 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 (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510150A (zh) * 2009-03-24 2009-08-19 北京中星微电子有限公司 随机数产生装置
CN103403670A (zh) * 2011-06-03 2013-11-20 株式会社东芝 用于伪随机数生成的半导体存储器件
CN104426651A (zh) * 2013-08-30 2015-03-18 上海复旦微电子集团股份有限公司 数据处理方法和装置
CN104469461A (zh) * 2014-12-19 2015-03-25 佛山市顺德区美的电热电器制造有限公司 随机数生成装置、电视机及随机数生成方法
WO2017016087A1 (zh) * 2015-07-30 2017-02-02 中兴通讯股份有限公司 一种生成随机布局程序的方法及装置
CN106648543A (zh) * 2016-12-29 2017-05-10 北京握奇智能科技有限公司 一种随机数生成方法及装置
CN107133015A (zh) * 2017-04-11 2017-09-05 上海汇尔通信息技术有限公司 一种随机数生成方法及系统
CN107450886A (zh) * 2017-08-14 2017-12-08 北京睿信丰科技有限公司 一种随机数生成方法及装置
CN109245883A (zh) * 2018-09-21 2019-01-18 深圳市德名利电子有限公司 一种随机数发生器及随时数产生方法
CN110390806A (zh) * 2018-04-16 2019-10-29 松下家电研究开发(杭州)有限公司 非固定地址码的生成方法
CN112698810A (zh) * 2020-12-24 2021-04-23 上海贝岭股份有限公司 基于mcu的随机id的生成方法、装置、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG101428A1 (en) * 1999-09-01 2004-01-30 Ibm Random number generator
DE10003472C1 (de) * 2000-01-27 2001-04-26 Infineon Technologies Ag Zufallszahlengenerator
KR20050084153A (ko) * 2002-12-05 2005-08-26 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 진정한 난수 생성 방법 및 시스템

Cited By (14)

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

Also Published As

Publication number Publication date
CN100461089C (zh) 2009-02-11

Similar Documents

Publication Publication Date Title
CN101038541A (zh) 一种随机数的产生方法
Golomb Shift register sequences: secure and limited-access code generators, efficiency code generators, prescribed property generators, mathematical models
Favati et al. Additive one-dimensional cellular automata are chaotic according to Devaney's definition of chaos
Kloeden et al. Numerical methods for stochastic differential equations
Chen Efficient initials for computing maximal eigenpair
Olshevsky et al. A unified superfast algorithm for boundary rational tangential interpolation problems and for inversion and factorization of dense structured matrices
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
Hinkelmann et al. Inferring biologically relevant models: nested canalyzing functions
CN104102804A (zh) 一种预测设备器件寿命的方法及装置
Brent et al. The great trinomial hunt
Casale Building accurate workload models using markovian arrival processes
Meyn Stability, performance evaluation, and optimization
Pultarová et al. Convergence of multi-level iterative aggregation–disaggregation methods
Zenil et al. Methods of information theory and algorithmic complexity for network biology
Sinclair Simulation of computer systems and computer networks: A process-oriented approach
CN115862653A (zh) 音频去噪方法、装置、计算机设备和存储介质
Agboola et al. Application of Renewal Reward Processes in Homogeneous Discrete Markov Chain
Silvestrov Improved asymptotics for ruin probabilities
Skuratovskii et al. The timer inremental compression of data and information
Mazzon et al. The forward smile in local–stochastic volatility models
Abdallah et al. Predictive information, multiinformation and binding information
Zhang Analysis on the Performance of a Second-order and a Third-order RLC Circuit of PRBS Generator
Iftikhar et al. Using a time granularity table for gradual granular data aggregation

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