专利名称:用于随机数生成器的方法和装置的制作方法
技术领域:
本发明涉及随机数生成器,更具体地,本发明涉及针对大量生产的无线通信设备而用于稳定、一致、自校准随机数生成器的方法和装置。
背景技术:
在无线通信终端或设备中需要随机数生成器,例如用于加密应用。然而,运行条件(诸如温度、电压和电流的变化)的差异和元件特性(由于元件制造、老化、存架寿命和运行寿命引起的)的差异导致现有的随机数生成器具有不同的生成随机数的性能。结果,因为作为组成部分的随机数生成器的特性不同,进而产生不同的随机数分布所以本来制造用于一致运行的同样设备却出现性能上的波动。
因此,需要随机数生成器不管元件特性、运行条件和环境的变化,能够一致的运行。还需要同样制造的设备同样的运行,并表现出统一和一致的性能。
发明内容
所公开的实施例提供了用于生成随机数的新颖和改进的方法和设备。一方面,在无线通信设备中使用的用于生成随机数方法包括生成随机数和采集所生成随机数的采样。该方法还包括基于所采集的采样计算至少一个度量,诸如均值、标准偏差和/或熵,并将所述度量与相应基准值进行比较。该方法还包括基于所述比较的结果调整所述度量,使得所生成的随机数达到期望的分布。
另一方面,一种用于生成随机数的设备包括模拟噪声发生器,以及用于产生随机数和反馈值的硬件部件,该反馈值用于调整随机数及其分布。该设备还包括能够执行指令以实施用于调整随机数及其分布的控制算法的处理器。
通过下面结合附图对实施例的详细描述,本发明的特征和优点将更加显然,其中图1示出了随机数生成器的框图;图2示出了用于生成随机数的流程图;图3示出了同样生产的设备的噪声电压波形;图4示出了没有调整时同样生产的设备的随机数分布;以及图5示出了自动调整时同样生产的设备的同样的随机数分布。
具体实施例方式
在详细说明几个实施例之前,应该理解本发明的范围不限制于以下描述中或附图中列出的组件的结构和布置的细节。而且,应该理解,这里使用的措辞和术语是为了描述,不应该认为其是限制性的。
图1示出了根据一个实施例的自动自调整随机数生成器100的框图。随机数生成器100通常包括模拟噪声发生器硬件102、控制处理器硬件104、和控制处理器软件模块106。模拟噪声发生器硬件102提供具有均值X和标准偏差S的正态分布的随机模拟电压。根据一个实施例,模拟噪声发生器硬件102还可以包括噪声二极管108和放大器110,用于信号波形加工。噪声二极管可以使用在反向击穿区,将其偏置以工作在工作特性的该部分的“膝部”。当二极管工作在该区域时,其端子处的交流电压是在其带宽上具有平坦频谱密度的高斯分布。
控制处理器硬件104包括ADC(模数转换器)112、CPU(中央处理单元)或计算机、以及DAC(数模转换器)114和116。ADC 112基于电压基准(V-Ref)值来量化正态分布的模拟噪声电压,生成随机数。与控制软件模块结合的CPU基于量化噪声电压的采样,例如随机数,计算至少一个度量,调整输入到ADC 112的基准电压(V-Ref)和输入到放大器110的直流偏移量,以将随机数的分布“适应”到ADC容量的满量程“窗口”中。该直流偏移量代表随机数的均值X,基准电压(V-Ref)代表随机数的标准偏差。ADC基准电压对应于ADC的满刻度量化容量,即,它在ADC中设定了在不超过该转换器量程情况下可以被量化的最大电压值。所以,对基准电压的调整直接正比于ADC的峰-峰电压转换。
根据一个实施例,控制处理器软件模块106对ADC 112生成的随机数采样进行操作,计算所选采样的均值X和标准偏差S,分别将它们反馈回DAC 114和116。均值X用于控制ADC 112生成的随机数的直方图的峰值位置,如波形118所示。标准偏差S用于控制ADC112生成的随机数的直方图的宽度,如波形120所示。
在典型的随机数生成器系统中,其中只有一些正被建立并且操作环境是准静态的,可以通过改变它们的部分来调整这些系统,以获得所有系统之间一致的随机数分布。然而,在大量生产中,诸如移动电话,需要自动调整能力,来在大量生产之间和变化的操作条件下提供一致的随机数分布。
图2示出了根据一个实施例调整随机数分布的流程图。在步骤202,选择直流偏移量和基准电压(V-Ref)的初始值,其可能是随机数生成器在上一次调整时获得的最终值。在步骤204,选择由ADC 112生成的随机数的采样。在步骤206,计算所选随机数采样的均值,并将其与基准均值进行比较。可以基于随机数生成器的ADC位宽度选择基准均值。例如,对于8位ADC,基准均值或期望均值应该是127,以符合期望高斯随机数直方图122。基准均值127对应于8位ADC区间的中点。基于步骤206中的比较,在步骤208或210中通过本领域公知的某种线性、非线性、或自适应控制算法,调整输入到放大器110的直流偏离量值。
同样,在步骤212,计算所选随机数采样的标准偏差值,并将其与基准标准偏差值进行比较。可以基于随机数生成器的精确度或ADC满刻度值来选择基准标准偏差值。例如,对于8位ADC 112,基准或期望标准偏差值约为42,以符合期望高斯随机数直方图122。基准标准偏差值42对应于8位ADC区间的约六分之一,在ADC中提供了6σ的随机数分布。基于步骤212中的比较,在步骤214或216中,可以通过本领域公知的某种线性、非线性、或自适应控制算法,调整DAC 116的输入。
图3示出了由三个同样生产的设备生成的三个噪声电压波形。这些噪声电压波形对应于在各放大器110的输出端产生的信号。因为组成元件特性、操作条件和环境的不同,这些波形通常具有不同的均值和标准偏差值。
图4示出了上边结合图3所述的三个同样制造的设备的三个随机数分布,其中没有自动调整。这些随机数分布对应于在各ADC 112的输出端产生的随机数。它们也具有不同的均值和标准偏差值。
图5示出了上边结合图3所述的同样制造的设备的三个统一的随机数分布,其中有自动调整机制。这些随机数分布对应于在各ADC112的输出端产生的随机数。它们理想地具有相同或非常接近的均值和标准偏差值,无论它们的组成元件特性、操作条件和环境的不同。
因此,这里公开的控制处理器和软件模块调整随机数生成器,使许多同样制造的设备在变化的操作条件下产生同样的随机数分布。例如,在满足均值和σ调整标准后,认为随机数生成器已被校准,并准备好用一致的度量提供用于所需应用的随机数,该一致的度量在初始生产、环境变化和产品寿命周期上一致。
在另一实施例中,还可以计算额外度量,并对其进行调整以调整随机数生成器的性能,该额外度量诸如熵,其指示在生成的随机数中存在多少随机性。
本领域技术人员应该理解,可以使用各种不同技术和协议来表示信息和信号。例如,可以通过电压、电流、电磁波、磁场或磁粒、光场或光粒、或它们的任意组合来表示上边描述中可能指出的数据、指令、命令、信息、信号、位、符合和码片。
本领域技术人员还应该注意到结合这里公开的实施例描述的各种示意性逻辑快、模块、电路和算法步骤可以实现为电子硬件、计算机软件、或两者的组合。为了清楚地说明硬件和软件的可交换性,在上面对各种示意性组件、块、模块、电路和步骤就它们的功能性进行了描述。这种功能性是否实现为硬件或软件取决于特定应用和施加在整个系统上的设计约束。对于每个特定应用,本领域技术人员可以用不同方式实现所描述的功能性,但是这种实现决定不应该被解释为导致偏离本发明的范围。
可以使用一般目的处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程的逻辑器件、分立的门或晶体管逻辑、分立的硬件元件、或设计用于执行这里所说明的各项功能的任何组合,来实现或执行结合这里公开的实施例来说明的各种示例性逻辑块、模块以及电路。一般目的处理器可以是微处理器,但是可替换地是,该处理器可以是任何常规的处理器、控制器、微控制器或状态机。也可以将处理器实现为计算设备的组合,例如DSP和微处理器、多个微处理器、与DSP核相联合的一个或多个微处理器或任何其它这种配置的组合。
结合这里所公开的实施例说明的方法或算法的步骤可以直接具体化为硬件、由处理器执行的软件模块、或者二者的组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动盘、MS-ROM、或本领域已知的其它任何形式的存储介质中。将示例性存储介质连接到处理器,这使得该处理器可以从存储介质中读取信息或写入信息。可替换地,可以将该存储介质集成到处理器内。该处理器和存储介质可以位于ASIC内。该ASIC可以位于用户终端内。可替换地,该处理器和存储介质可以处于用户终端中的分立元件中。
提供所公开实施例的说明以便使本领域任何技术人员能够制作或使用本发明。对于这些实施例的各种修改对于本领域内技术人员是显而易见的,并且可以不偏离本发明的精神和范围将这里定义的一般原则应用于其它实施例,例如,应用在即时讯息服务或任何一般无线数据通信应用中。这样,无意将本说明限制于这里所示的实施例,而是要与这里公开的原则和新特点相一致的最广泛的范围相符。
权利要求
1.一种在无线通信设备中使用的生成随机数的方法,该方法包括生成随机数;采集所述生成的随机数的采样;基于所述采样计算至少一个度量;将所述度量与相应基准值进行比较;以及基于所述比较的结果调整所述度量,使得所述生成的随机数达到期望的分布。
2.如权利要求1所述的方法,其中所述度量包括均值。
3.如权利要求1所述的方法,其中所述度量包括标准偏差值。
4.如权利要求1所述的方法,其中所述度量包括熵值。
5.如权利要求1所述的方法,其中所述调整包括通过线性算法调整所述度量。
6.如权利要求1所述的方法,其中所述调整包括通过非线性算法调整所述度量。
7.如权利要求1所述的方法,其中所述调整包括通过自适应算法调整所述度量。
8.一种在无线通信设备中的用于生成随机数的设备,包括用于生成随机数的装置;用于采集所述生成的随机数的采样的装置;用于基于所述采样计算至少一个度量的装置;用于将所述度量与相应基准值进行比较的装置;以及用于基于所述比较的结果调整所述度量,使得所述生成的随机数达到期望分布的装置。
9.如权利要求8所述的设备,其中所述度量包括均值。
10.如权利要求8所述的设备,其中所述度量包括标准偏差值。
11.如权利要求8所述的设备,其中所述度量包括熵值。
12.如权利要求8所述的设备,其中所述用于调整的装置包括用于通过线性算法调整所述度量的装置。
13.如权利要求8所述的设备,其中所述用于调整的装置包括用于通过非线性算法调整所述度量的装置。
14.如权利要求8所述的设备,其中所述用于调整的装置包括用于通过自适应算法调整所述度量的装置。
15.一种具体化用于实现在无线通信设备中生成随机数的方法的手段的计算机可读介质,该方法包括基于随机生成数的采样计算至少一个度量;将所述度量与相应基准值进行比较;以及基于所述比较的结果调整所述度量,使得所述生成的随机数达到期望的分布。
16.如权利要求15所述的介质,其中所述度量包括均值。
17.如权利要求15所述的介质,其中所述度量包括标准偏差值。
18.如权利要求15所述的介质,其中所述度量包括熵值。
19.如权利要求15所述的介质,其中所述调整包括通过线性算法调整所述度量。
20.如权利要求15所述的介质,其中所述调整包括通过非线性算法调整所述度量。
21.如权利要求15所述的介质,其中所述调整包括通过自适应算法调整所述度量。
22.一种实现用于调整随机生成数的方法的处理器,该方法包括基于随机生成数的采样计算至少一个度量;将所述度量与相应基准值进行比较;以及基于所述比较的结果调整所述度量,使得所述生成的随机数达到期望的分布。
23.一种用于生成随机数的设备,包括用于生成模拟噪声电压的装置;模数转换器,用于将所述模拟噪声电压转换成随机数;第一数模转换器,用于向所述用于生成模拟噪声电压的装置提供直流偏移量值,该直流偏移量值是基于所述随机数的采样计算出来的;第二数模转换器,用于向所述模数转换器提供基准电压值,使得所述随机数达到期望的分布,该基准电压值是基于所述随机数的所述采样计算出来的。
24.如权利要求23所述的设备,其中所述用于生成模拟噪声电压的装置包括噪声发生器和放大器。
25.如权利要求24所述的设备,其中将所述直流偏移量值提供给所述放大器。
26.如权利要求24所述的设备,其中将所述基准电压值提供给所述模数转换器。
全文摘要
公开了用于生成随机数的方法和设备。一方面,在无线通信设备中使用的用于生成随机数方法包括生成随机数;采集所生成随机数的采样;以及计算至少一个度量,诸如均值、标准偏差和/或熵。该方法还包括将所述度量与相应基准值进行比较;以及基于所述比较的结果调整所述度量,使得所生成的随机数达到期望的分布。另一方面,一种用于生成随机数的设备包括模拟噪声发生器;以及用于产生随机数和反馈值的硬件部件,该反馈值用于调整随机数。该设备还包括能够执行指令以实施用于调整随机数的控制算法的处理器。
文档编号G06F7/58GK101044449SQ200580031926
公开日2007年9月26日 申请日期2005年7月18日 优先权日2004年7月23日
发明者哈里斯·S.·西蒙, 肯尼斯·安德鲁·范佩尔特, 戴尔·奥德根·夏普 申请人:高通股份有限公司