CN101019099A - 用于生成伪随机数的方法和装置 - Google Patents
用于生成伪随机数的方法和装置 Download PDFInfo
- Publication number
- CN101019099A CN101019099A CN200480044007.8A CN200480044007A CN101019099A CN 101019099 A CN101019099 A CN 101019099A CN 200480044007 A CN200480044007 A CN 200480044007A CN 101019099 A CN101019099 A CN 101019099A
- Authority
- CN
- China
- Prior art keywords
- polynomial expression
- random number
- polynomial
- pseudo random
- original
- 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 37
- 230000006870 function Effects 0.000 claims abstract description 66
- 230000014509 gene expression Effects 0.000 claims description 131
- 238000003860 storage Methods 0.000 claims description 44
- 238000012545 processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000003068 static effect Effects 0.000 claims description 6
- 238000010295 mobile communication Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 3
- 238000009434 installation Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 30
- 238000005516 engineering process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000008713 feedback mechanism Effects 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000001629 sign test Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
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/582—Pseudo-random number generators
- G06F7/584—Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital stores in which the information is moved stepwise, e.g. shift registers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C21/00—Digital stores in which the information circulates continuously
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/58—Indexing scheme relating to groups G06F7/58 - G06F7/588
- G06F2207/582—Parallel finite field implementation, i.e. at least partially parallel implementation of finite field arithmetic, generating several new bits or trits per step, e.g. using a GF multiplier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Tests Of Electronic Circuits (AREA)
- Error Detection And Correction (AREA)
- Logic Circuits (AREA)
Abstract
本发明提出一种可以用硬件或者软件模块的形式进行实施以生成伪随机数的方法。该伪随机数对应于形成伪随机数的伪随机位序列。提供m个多项式。这些多项式是从原始多项式导出的,该原始多项式定义了能够生成伪随机数的线性反馈移位寄存器的反馈函数。这些多项式是分别地用作初始位和种子位的n位的函数。然后,对初始位应用多项式以便生成伪随机数,该伪随机数至少包括从m个多项式获得的m位。由于多项式彼此独立,即初始位作为多项式的输入值这一事实,可以基本上同时地或者以任何其它次序应用多项式。
Description
技术领域
本发明涉及伪随机数(PRN)领域,具体地涉及用于以高效方式生成这种伪随机数(PRN)的方法和装置。
背景技术
大量技术应用需要伪随机数(PRN)。仅作为说明之用,典型的应用是CDMA(码分多址)收发器中的扩频码、用于加扰(数据加密)的伪随机函数、如根据常规编程语言所知的伪随机数位生成器、在IC(集成电路)生产测试中使用的用于测试模式生成的伪随机数位生成器、在GPS(全球定位系统)中使用的编码、签名测试模式生成、通用算法程序等。
一种用于生成真正随机数的途径是测量某种连续自然现象,比如射频接收器中的噪声功率电平。这样的噪声功率电平表现为随机是因为在任一时间瞬间的功率电平取决于数目不确定的一些变量。然而,对于多数应用而言,伪随机数(PRN)是足够的并且可以较简单地获得。在长时段(取决于具体应用)中为统计上随机的但是从已知起始点(即跟随可预测的模式)导出的值或者元素集被称为伪随机数(PRN)。
若干算法是已知的并且应用于生成这样的伪随机数。一种用以生成长伪随机数序列、在概念上简单的方式使用了线性反馈移位寄存器(LFSR)。线性反馈移位寄存器(LFSR)由于它们的简单而广泛应用,特别地应用于在扩频传输中的同步发送设备和接收设备。图1a和图1b图示了框图和电路图,这些框图示出了用于实施移位寄存器的一个示例性电路,而电路图描绘了用于生成一个或多个伪随机数的示例性线性反馈机制。
图1a的框图图示了一个由串联连接以实现简单移位寄存器的数个触发器所组成的示例性电路。触发器或者双稳多谐振荡器是能够用作在电子和计算中使用的一位存储器(one-bit memory)的脉冲数字电路。通常,触发器包括零个、一个或者两个输入端子、时钟端子和输出端子,即使商用触发器还提供有供给互补输出信号的互补输出端子也是这样。自然地还包括触发器操作所需要的补充端子,比如电源端子和接地端子。通过向对应的时钟端子供给脉冲或者选通时钟信号,使触发器基于输入信号的值和触发器的特征方程来改变或保持它的输出信号。更准确地说,字选通或者脉冲时钟信号是一种简化的看法。输出状态的任何变化实际上与时钟脉冲的前导沿或者尾随沿相重合,并且进一步就复杂的实质而言,可能对应于时钟信号的低到高或者高到低的转变。在钟控的顺序系统中通常应用四类触发器,它们是T(“双态”)触发器、S-R(“设置-复位”)触发器、J-K触发器和D(“延迟”触发器)。触发器的行为通过它们的具体特征方程来描述,该方程是一个或多个输入信号(例如R和S或者J和K或者D等)和当前输出信号Q的函数,并且获得在下一时钟脉冲之后由输出端子供应的下一输出信号Qnext。
具体而言,D(“延迟”)触发器获得在输入端子D处出现的一个输入信号,当时钟被选通时该输入信号由D触发器传送成在输出端子Q处的输出信号。无论该输出的当前值或者状态如何,在触发器被选通时如果D=1则它将呈现值“1”而如果D=0则呈现值“0”。这一D触发器可以解释成原始延迟线或者零阶保持,因为该数据(一位数据信息)在该数据到达输入处之后的一个时钟周期后才被置于输出处。特征方程表示如下:
Qnext=D,
而对应的真值表是:
D | Q | Qnext |
0 | X | 0 |
1 | X | 1 |
D触发器适合于实现用以存储数字的寄存器。因而,为了进行说明,在图1a中描绘的移位寄存器由D触发器组成,其中第一D触发器0具有输入信号DS,而每个后续D触发器FF1到FFn的输出端子Di(i=0,...,n)连接到先前D触发器FF0到FFn-1的输出端子Qi(i=0,...,n)。
本领域技术人员将认识到,在图1a中描绘的电路使得移位寄存器能够由数目为n的寄存器,即以线性方式设置的D触发器FF0到FFn组成,这些寄存器使它们的输入和输出连接在一起使得寄存器元件状态随着每个时钟脉冲从具有低编号的寄存器元件/触发器移位到具有高编号的寄存器元件/触发器。通常,移位寄存器可以具有串行和并行输入和输出的组合,包括串行输入、并行输出和并行输入、串行输出类型。也存在同时具有串行和并行输入的移位寄存器类型以及同时具有串行和并行输出的移位寄存器类型。还有允许改变移位寄存器移位方向的双向移位寄存器。所示移位寄存器示出了表示为DS的串行输入和表示为Qn的串行输出。并行输出可以通过分接输出Di(i=0,...,n)来实现。
本领域技术人员将认识到,上面给出的移位寄存器的描述和基于D触发器的移位寄存器的所示实施既不是结论性的也不是完整的,因为移位寄存器的实现不在本发明的范围之列。然而,上面给出的描述使得本领域读者能够理解在下文中具体提供的本发明的概念。首先将补充性地给出关于可基于移位寄存器来实施的反馈机制的简略介绍。
图1 b的框图图示了具有数个寄存器元件xi的移位寄存器,该移位寄存器的输入具有依据反馈逻辑/函数的反馈信号。每个寄存器元件xi或者寄存器元件或者寄存器单元示例性地通过如前所述的触发器来实现,而标号xi将指代单个寄存器元件(所有寄存器元件形成了移位寄存器),并且同时代表能够存储一位信息内容的单个寄存器单元的内容变量,即xi=0或者xi=1。这意味着移位寄存器的每个寄存器元件用作一位存储单元。为了进行说明,所示移位寄存器包括十个寄存器元件x1到x10;因而,移位寄存器能够存储10位的信息内容。
在每个时钟周期中,寄存器元件xi的内容被移位到在时钟周期结束之后带有该移位内容的后续寄存器元件xi+1。这意味着可在移位寄存器输出处获得移位寄存器输出信号,该输出信号与末尾寄存器元件x10的内容相对应。随着每个时钟周期,利用在移位寄存器输出处提供的倒数第二个寄存器元件x9的内容来改写末尾寄存器元件x10的内容。移位寄存器的输入具有由反馈函数引起的输入信号。该反馈函数具有从移位寄存器的两个或多个分接寄存器元件获得的信号。在示例性方式中,寄存器元件的输出x3和x10的输出(即在它们的输出端子处当前提供的输出信号)被分接并且供给到反馈函数,在这里为求简明该反馈函数是组合分接内容值x3和x10的异或(XOR)函数。一般来说,影响输入的输出被称为接头。以下真值表图示了XOR函数的结果:
XOR“8” | 0 | 1 |
0 | 0 | 1 |
1 | 1 | 0 |
假设移位寄存器起初分别地具有非零初始值和种子值,移位寄存器随着每个时钟周期输出一个形成1位值伪随机数序列的输出信号流。所输出的伪随机数序列的最大周期由移位寄存器的不同状态的数目预先决定,该数目为2n-1,其中n是寄存器的数目。再次假设数目为10的寄存器,不同状态的数目就是210-1=1023。由每一位都等于零的寄存器值所表征的状态是稳定的,因此必须加以阻止。具体而言,等于或者小于可获得的最大周期的真实周期取决于供给到反馈函数的接头以及反馈函数本身。在参照图1b所示的线性反馈函数的情况下,该周期可以借助于数学方法来确定。
上面已经对移位寄存器以及通过使用具有充分反馈函数的线性反馈移位寄存器(LFSR)将它们具体应用成伪随机数生成器这一领域进行了描述。然而,本领域技术人员将立即地认识到所示方法暗示着各种不足。本领域读者理解到,前述基于线性反馈移位寄存器(LFSR)来实现伪随机数生成器的算法代表了递归算法。这意味着,在算法的每个迭代或者时钟周期中,从移位寄存器仅获得一个(单个)位并且在它的输出处提供该位。为了生成m位的最终伪随机序列,前述算法分别地要求m个迭代和时钟周期。
一些应用要求具有高数据速率的多位伪随机数以供处理。为了顺应这样的要求,可以增加时钟周期速率,这暗示着实施以这样增加的数据速率进行工作的足够移位寄存器和触发器,或者代之以实施能够在单个时钟周期中执行数个迭代的深组合逻辑。适应于高数据速率的移位寄存器和触发器价格不菲,而深组合逻辑由于深组合逻辑所引起的长延迟而存在时钟周期速率减少。
发明内容
现在发明了一种用于基于前述移位寄存器反馈逻辑来生成伪随机数的方法,该方法克服了如上所述的现有技术的不足。具体而言,本发明的一个实施例提供了一种用于相较于迭代方法而言以高速率因子生成伪随机数的方法。更具体而言,本发明的方法允许以相反的次序生成伪随机数的位。
本发明的目的通过在所附独立权利要求中定义的主题内容来解决。
根据本发明的第一方面,提供了一种用于生成伪随机数的方法。该伪随机数对应于形成该伪随机数的伪随机位序列。提供m个多项式。这些多项式是从原始多项式导出的,该原始多项式定义了能够生成伪随机数的线性反馈移位寄存器的反馈函数。这些多项式是分别地用作初始位和种子位的n位的函数。然后,对初始位应用这些多项式以便生成伪随机数,其中该伪随机数至少包括从m个多项式中获得的m位。由于多项式之间彼此独立,即初始位用作多项式的输入值这一事实,可以基本上同时地或者以任何其它次序应用多项式。
根据本发明的一个实施例,通过在某个定义的迭代中逐步地定义各自代表一个反馈函数的多项式,并且化简多项式以便获得作为初始位的函数的多项式,来从原始多项式中导出这组m个多项式。
根据本发明的另一实施例,基本上同时地应用多项式。另外,根据本发明的另一实施例,以相反的次序应用多项式以便首先生成伪随机数的较低位并且随后生成伪随机数的较高位。
根据本发明的又一实施例,多项式代表用于组合各自具有一位值域的至少两个值的逻辑关系。
根据本发明的又一实施例,m个多项式是静态多项式,即这些多项式由定义反馈函数的原始多项式所(预先)确定,使得可以固定地提供多项式以供应用。根据本发明的另一实施例,m个多项式是动态多项式,即这些多项式是通过化减到原始多项式的阶次而从所提供的原始多项式所导出,使得这些多项式是初始值的函数。多项式的动态提供允许提供不同的原始多项式作为用于生成伪随机位序列的基础,该伪随机位序列实现了形成其伪随机数。
根据本发明的又一实施例,多项式的最大数目mmax小于或者等于2np-(n+1)。根据本发明的附加实施例,所述多项式的阶次等于或者小于np,其中np代表原始多项式的阶次。
根据本发明的附加实施例,包括从多项式和n个初始位获得的m位的伪随机数与从用作伪随机数生成器并且应用与原始多项式相对应的反馈函数的线性反馈移位寄存器所获得的序列相同。
根据本发明的第二方面,提供了一种用于生成伪随机数的模块。该模块包括具有数目为n的初始存储单元的初始存储。每个初始存储单元用作一位存储。该模块还包括具有数目为m的结果存储单元的结果存储。每个结果存储单元也用作一位存储。该模块的组合逻辑有选择地耦合到所述n个初始存储单元的输出端子和有选择地耦合到所述m个结果存储单元的输入端子。组合逻辑实施从原始多项式导出的数目为m的多项式,该原始多项式定义了可操作为伪随机数生成器的线性反馈移位寄存器的反馈函数。这些多项式是用作初始位并且存储于初始存储单元中的n位的函数。
根据本发明的一个实施例,组合逻辑被实施为包括代码部分的软件模块。当在处理单元上执行时,代码部分根据基于多项式所定义的组合逻辑执行逻辑关系操作。
根据本发明的另一实施例,组合逻辑借助于多个逻辑组件来实施。每个逻辑组件具有用于接收一位输入的至少两个输入端子,并且每个逻辑组件具有用于提供一位输出的至少一个输出端子。输出结果由预先定义的组合逻辑关系来定义。
根据本发明的第三方面,提供了一种包括初始存储、结果存储和组合逻辑的电子装置。初始存储具有数目为n的初始存储单元,而结果存储具有数目为m的结果存储单元。每个初始或者结果存储单元也用作一位存储。该模块的组合逻辑有选择地耦合到所述n个初始存储单元的输出端子和有选择地耦合到所述m个结果存储单元的输入端子。该组合逻辑实施从原始多项式导出的数目为m的多项式,其中该原始多项式定义了可操作为伪随机数生成器的线性反馈移位寄存器的反馈函数。这些多项式是用作初始位并且存储于初始存储单元中的n位的函数。
根据本发明的第四方面,提供了一种用于生成伪随机数的系统。该系统包括代表n个初始1位值的数目为n的初始状态和代表m个结果1位值的数目为m的结果状态。该系统还包括的组合逻辑有选择地被提供以所述n个初始状态和有选择地输出所述m个结果状态。该组合逻辑实施从原始多项式导出的数目为m的多项式。原始多项式定义了线性反馈移位寄存器的反馈函数。所述多项式是n个1位状态的函数,这些状态用作定义初始值的初始状态。
根据本发明的第五方面,提供了一种用于生成伪随机数的计算机程序产品,包括存储于机器可读介质上的程序代码部分,该程序代码部分用于当计算机程序产品运行于基于处理器的设备、计算机、终端、网络设备、移动终端或者具有移动通信功能的终端上时实现根据本发明任一前述实施例的方法的步骤。
根据本发明的第六方面,提供了一种用于生成伪随机数的计算机程序产品,包括存储于机器可读介质上的程序代码部分,该程序代码部分用于在计算机程序产品运行于基于处理器的设备、计算机、终端、网络设备、移动终端或者具有移动通信功能的终端上时实现根据本发明实施例的前述方法的步骤。
根据本发明的第七方面,提供了一种软件工具。该软件工具包括用于当软件工具实施于计算机程序中和/或被执行时实现前述方法的操作的程序部分。
根据本发明的第八方面,提供了一种在载波中实施并且代表指令的计算机数据信号,这些指令在由处理器执行时使根据本发明前述实施例的方法的步骤得以实现。
本发明的优点对于在参照本发明的实施例阅读具体描述时的本发明的读者将变得显然,基于该描述可容易地理解本发明概念。
附图说明
包含了附图以便提供本发明的进一步理解,并且附图被结合于这一说明书中以及构成该说明书的部分。附图图示了本发明的实施例并且与说明书一起用以解释本发明的原理。在附图中:
图1a示出了图示一个由串联连接以实现简单移位寄存器的数个触发器所组成的示例性电路的框图;
图1b示出了图示具有数个寄存器xi的移位寄存器的框图,该移位寄存器的输入具有线性反馈信号;
图2图示了根据本发明的实施例实现随机位生成的示意性序列图;
图3a示出了图示根据本发明的一个实施例用于同时生成数目为n的随机位的逻辑图的框图;
图3b示出了图示输入存储和输出存储通过根据本发明的一个实施例用于生成伪随机序列的组合逻辑链接在一起的示意性大体框图的框图;
图4a示意性地图示了基站CDMA发送器的框图;以及
图4b示意性地图示了GPS接收器的框图。
具体实施方式
现在将具体地参照在附图中图示的本发明例子的实施例。在任何可能之处,在附图和说明书中通篇地使用相同的标号来指代相似或者相同的部分。以下描述涉及各种实施例,本领域技术人员将据此理解本发明的原理性发明概念。然而,本领域读者将认识到本发明概念同样可应用于为所附权利要求的范围所涵盖的更多实施例。
对本发明概念的描述的起始点将基于在图1b中图示的和在上文中具体描述的已知线性反馈移位寄存器。为求简明并且为了进行说明,根据在上文中由真值表所定义的XOR关系,通过组合两个分接的寄存器元件x3和x10来给出线性反馈函数。以下实施例基于这一示例性线性反馈函数。应当注意到本发明不限于这一具体线性反馈函数。然而,基于在下文中通过参照这一具体线性反馈函数所给出的教学,本领域读者将理解到本发明概念,并且将能够推广这一教学,该教学可应用于以前述的一般方式可利用移位寄存器进行实施的许多反馈函数。本发明仅在所附权利要求中所定义而不限于具体实施方式中的任何具体或者特定实施例。
可以利用在移位寄存器的每个迭代循环中所应用的递归多项式的形式以数学方式表示在图1b的逻辑图中图示的反馈函数。假设移位寄存器和它的寄存器元件填充有用作初始内容的原始位值或者种子位值,该初始内容用于根据比如参照图1b在上文中所描述的反馈函数来生成伪随机位序列。注意到必须阻止稳定状态(即所有寄存器元件都等于零)。反馈函数和原始多项式的数学表示分别地可以写成
x3x10,
其中第三寄存器元件x3的(位)内容和第十寄存器元件x10的(位)内容按照XOR关系加以组合。因而,可以预测如下新位值x0,该位值x0分别地代表反馈函数的当前结果并且将在每个时钟周期和迭代时变成第一寄存器元件x1的内容,可以预测该位值x0而且可以按照以下多项式计算该位值x0:
x0=x3x10。
应当注意,在以下描述中将引用多项式的阶次。如上文定义的多项式x0的阶次来自于在逻辑上相关联的元件的最大阶次,这些元件在这里是具有阶次3的元件x3和具有阶次10的元件x10。这意味着元件xi应当具有阶次i。由于上述定义,因此多项式x0具有阶次10。还应当注意,元件的数目(在这里是十个元件x1到x10)通常对应于原始多项式的阶次,因为更多元件对反馈函数不起作用,因此这样的更多元件是不需要的。
作为结论,可以类似地预测和计算更多的新/将来位值x-i,该位值x-i代表了反馈函数在i个时钟周期或者迭代之后的结果,并且将在i+1个时钟周期或者迭代时变成第一寄存器元件x1的内容。举例而言,用于新位值x-1和x-2的多项式可以写成:
x-1=X2x9 3和
x-2=x1x8。
应当注意,所预测的新/将来位值x-i用包括指数0的负指数表示。用于预测新/将来位值x-i的对应多项式的阶次应当基于它的元素来定义。这意味着多项式x-1的阶次等于9而多项式x-2的阶次等于8。
由于在每个时钟周期或者迭代时将寄存器元件xi的内容移位到寄存器元件xi+1的移位寄存器功能,所以新(将来)位值x-1可根据寄存器元件x2和x9来获得,因为必须先计算x0并且将x0移位到移位寄存器中,使得寄存器元件x2和x9的内容在将要计算x-1时出现在寄存器元件x3和x10中。因此,必须考虑一个中间移位周期。同一论证适用于新(将来)位值x-2的计算,但是必须考虑两个中间移位周期。
针对每个新(将来)位值x-i(i=1,2,3,...,n)可以用前述方式对多项式建模。下面给出多项式的一个示例性选择:
x-3=x0x7=(x3x10)x7=x3x7x10,
x-4=x-1x6=(x2x9)x6=x2x6x9,
x-5=x-2x5=(x1x8)x5=x3x5x6,
x-6=x-3x4=(x3x7x10)x4=x3x4x7x10,
x-7=x-4x3=…,
x-33=x-30x-23=…=x1x3x3x4x5x9x10,
,
参照x-3,定义了在三个中间移位周期之后获得的反馈值的多项式由寄存器元件x0和寄存器元件x7的值来确定。本领域技术人员认识到寄存器元件x0的内容/值是未知的,因为寄存器元件x0不是初始值的一部分。通过将针对x0的多项式的上述定义包括进来,多项式x-3可以化减成初始值的函数和具有其值位于从1到原始多项式的阶次这个范围内的阶次的函数。本领域读者基于上述对多项式的示例性选择将认识到,较低阶次(即较高指数-i)的已知多项式被包含到较高阶次(即较低指数-i)的多项式中,使得定义新(将来)位值x-i的多项式变成等于或者小于原始多项式的阶次的函数,即仅为寄存器元件x1到x10的内容/值的函数。
前述对多项式的示例性选择可以扩展到任意多个所需多项式,这些多项式用作生成任何位数的伪随机位序列的多项式序列。这样的伪随机位序列可以解释成具有对应位长的随机数。注意到必须分别地考虑不同状态的上述周期和数目。
参照图2,描绘了根据本发明的实施例实现了生成伪随机位和一个或多个伪随机数(这些伪随机数由这些伪随机位组成)的操作序列框图。
在操作S100中,该操作序列开始。根据本发明概念的以上描述,在操作S110中提供数目为m的多项式,这些多项式得自于原始多项式,该原始多项式适合于定义如上文所定义的反馈移位寄存器的反馈函数。在如下操作中获得这些多项式:依次地应用原始多项式并且将这些多项式化减成包括从一(“1”)到原始多项式最大阶次这个范围中的阶次的函数,该最大阶次根据示例性原始多项式的阶次在这里是十。多项式可以用静态方式进行定义或者可以从原始多项式动态地导出。在静态定义的多项式情况下,这些多项式基于已经从中导出多项式的预先定义的原始多项式,并且可以直接地或者固定地来提供。在动态定义的多项式情况下,这些多项式是从如下原始多项式导出的,该原始多项式可以作为反馈函数与线性反馈移位寄存器一起工作,该函数或者原始多项式是在操作S111中提供的。基于示例性多项式根据上述基本发明概念在操作S112中从原始多项式导出多项式。
在操作S120中,提供初始值。初始值的提供使得能够对这些初始值应用多项式,这在操作S130中实现了获得由每个多项式的结果值形成的伪随机值即伪随机位序列。因而在步骤S140中,可以提供所获得的伪随机位序列以供步骤S141中的进一步处理,该处理需要伪随机位序列或者要求形成其伪随机数。如果不进行进一步处理,则该方法在步骤S150结束。
可以在各种实施例中执行对初始值应用多项式。参照操作S121,提供的多项式实现了基本上同时从这些多项式获取所有伪随机值,这一基本上同时获取的实现可以解决比如参照图3a示例性描述的硬件实施。
与操作S121相对照,在操作S122中可以对初始值迭代地应用多项式。为了说明这种迭代过程的优点,将对图1b进行参照,该图图示了用于生成伪随机值(位)序列的反馈移位寄存器。假设由图1b的反馈移位寄存器生成的伪随机位序列形成了具有最高有效位(MSB)和最低有效位(LSB)的伪随机数。通常,最高有效位是移位到移位寄存器输出的第一位,而最低有效位由移位到移位寄存器输出的末位形成。每个移位步长对应于移位寄存器的迭代循环。一些应用,尤其是参照图4a和4b所描述的那些应用顺次逐位地接受伪随机数。但是这些应用表现为最先接收最低有效位(LSB)而最后接收最高有效位(MSB)。参照借助于反馈移位寄存器生成伪随机数的现有技术,在最低有效位可用之前必须操作全部所需迭代循环,而所需循环的数目取决于伪随机位序列的位数,即伪随机数的长度。应当注意伪随机位序列可以包括初始值/位或者可选地忽略初始值/位。
参照根据本发明一个实施例的操作S122,以相反的次序应用多项式,这意味着可首先获得前述伪随机位序列的最低有效位并且可最后获得前述伪随机位序列的最高有效位。与现有技术的生成相比,以相反的次序获得伪随机位序列。以相反的次序获得伪随机位序列的优点在于:伪随机位序列的生成过程和需要伪随机位序列以供处理的进一步处理过程可以交织或者组合,使得在每个循环获得伪随机位并且将该伪随机位提供给在下一循环中处理所提供的伪随机位的进一步处理过程。本领域技术人员将认识到根据本发明的实施例来交织该生成过程的可能性,这获得了总处理时间的显著改进。
图3a示出了如下框图:该框图图示了根据本发明的实施例用于同时生成数目为n的随机位或者对应随机数的逻辑图。包括多个XOR逻辑元件或者XOR关系运算符的所示逻辑图可以用作用于实现对应逻辑电路的基础,该逻辑电路例如形成专用集成电路(ASIC)的一部分。可选地,该逻辑电路可以借助于可编程逻辑组件来实施。包括多个XOR关系运算符的所示逻辑图可以可选地用作用于实施基于软件的对应方法的基础,该方法根据逻辑图来实现操作。图3a的逻辑图图示了示例性描绘的所预测的(新/将来)位值x-i(i=0,1,2,3,4,...,33)所需要的初始位值或者种子位值xi(i=1,2,...,10)的逻辑组合的选择。种子位值xi(i=1,2,...,10)可以作为有效信号来提供或者可以通过对存储有种子位值xi(i=1,2,...,10)的存储单元进行分接来获得。这同样适用于所预测的(新/将来)位值x-i(i=0,1,2,3,4,...,33),这些位值可以作为有效信号来获得以供进一步处理,或者可以提供给存储单元以便存储于其中并且以供读出以便允许对其进行进一步处理。逻辑电路再现了通过化减到上述原始多项式的阶次而获得的多项式。例如参照x-33,从存储种子值x1、x2、x3、x4、x5、x9和x10的存储单元进行分接,并且根据多项式x-33供给到XOR逻辑元件。
以集成电路的形式来实施在图3a中示出的逻辑图或者将该逻辑图实施为包括用于执行所示逻辑规则的代码部分的程序是本领域技术人员所知的部分。
作为结论,本发明概念提供了一种用于使基于线性反馈移位寄存器的迭代的和递归的伪随机数生成至少部分地并行化的方法。从数学上看,通过一个被迭代地和递归地应用到初始位序列(种子位序列或者种子数)以便获得包括由所应用的迭代和递归方法所产生的位序列在内的伪随机数的多项式来定义伪随机数生成。本发明概念旨在从描述反馈函数的一个多项式导出数个多项式,这些多项式是初始位序列(种子位序列或者种子数)的函数,并且这些多项式的应用会产生也可通过前述迭代和递归方法来获得的伪随机数。
参照图3b,图示了本发明的广义实施例。假设初始存储1描绘了形成初始位序列(种子位序列或者种子数)的数目为n的位,所得的总随机数可以在该位序列重复出现之前包括最多2np-1位,其中np表示原始多项式的阶次。因而,可以根据上述建议的方法导出2np-(n+1)(10位是种子位或者初始位)个静态多项式。因此,在图3b中图示的结果存储2包括m个一位存储单元;单元的最大数mmax等于可导出多项式的最大数;即mmax=2np-(n+1)。将这些一般性的评述应用于在图3a中示出的实施例,初始位序列包括与原始多项式的阶次相对应的n=10位。这意味着可以导出210-11=1013个静态多项式并且可以并行地计算它们以获得1023位(包括十个初始位)的完整序列。如前所言,图3b的组合逻辑10可以根据上文所定义的多项式实施为硬件组合逻辑或者包括组合逻辑关系的软件模块。
应用前述多项式以获得伪随机数允许以与迭代和递归方法相比相反的次序生成伪随机数。首先可以获得伪随机数的较低位,随后获得伪随机数的较高位。
如图3a示例性图示的组合逻辑在集成电路内的集成允许同时地获得用于形成包括位序列的伪随机数的这一序列并且最终地获得初始位(即种子位)序列。该集成电路例如包括数目为n的各自能够存储一位值的存储单元。n个存储单元用以存储初始位值或者种子值,这n个存储单元在图3a中由单元x1到x10来示例性地表示。该集成电路例如还包括数目为m的各自也能够存储一位值的存储单元,这m个存储单元在图3a中通过单元x0到x-33来示例性地表示。m个存储单元的每个输入根据上述多项式耦合到组合逻辑。每个组合逻辑从对应多项式所定义的对n个存储单元的对应选择的输出端子接收它的输入值。
参照在图3a中图示的实施例,单元x0的值由单元x3和x10的如下值来确定,这些值通过XOR逻辑关系或者XOR逻辑组件来组合。单元x-33由x10、x9、x5、x4、x3、x2和x1的如下值来定义,这些值各自通过XOR逻辑关系或者XOR逻辑组件来组合。从进一步的多项式获得对应的组合逻辑。本领域技术人员将认识到存储单元的最大数目mmax等于可导出的多项式的如下最大数目,该最大数目等于如上文所定义的2n-(n+1)。在m个存储单元的数目小于最大数目mmax的情况下,较低单元(即具有较低指数的单元)的单元值可以分别地用作初始值和种子值。因此,即使在实施数目有限的存储单元和组合逻辑元件时仍然可以总是获得最大的位序列。
本领域技术人员将认识到可以修改在图3a和图3b中图示的并且参照这些图所描述的实施例。具体而言,前述实施例包括用以存储初始(种子)值和通过组合逻辑而获得的结果值的存储单元。对这些实施例的修改可以实现无需存储单元的发明概念。这意味着可选的(经修改的)实施例包括提供有数目为n的信号和状态的上述组合逻辑,这些信号和状态分别地代表初始(种子)值以及如此地加以使用。因而,该组合逻辑分别产生数目为m的信号和状态,这些信号和状态代表由输入了初始状态的组合逻辑所产生的结果值。
正如本发明的背景技术中简短提到的,伪随机数有广泛应用。具体而言,GPS接收器和CDMA传输技术使得伪随机数应用广泛。
图4a和4b示意性图示了都将伪随机数生成器用于操作的基站CDMA发送器和GPS接收器的框图。
参照图4a,每个话音对话都被转换成数字代码(借助于模数转换器ADC110)并且借助于话音编码器或者音码器120进行编码。音码器输出被提供给添加冗余度以供纠错的卷积编码器130,并且每位重复64次(未示出)。另外,所得的位序列与沃尔什码生成器140所提供的沃尔什码进行异或,该沃尔什码用来标识此呼叫以区别于其它的,并且异或后的位序列的输出再次与来自伪随机生成器150的伪随机位串进行异或,该位串用来标识特定小区扇区内的所有呼叫。在基站处的所有呼叫在组合器和调制器160处被组合和调制到载波频率并且经由天线170发送到移动台。在接收移动台处,接收的信号被量子化并且输入沃尔什码和伪随机数序列相关接收器以便重建专用于对应移动台的原始信号的发送位。
参照图4b,在L1(1575.42MHz)载波频率上的GPS信号或者在L1和L2(1227.60MHz)载波频率上的GPS信号经由天线200被接收并且提供给放大器210。在L2载波频率上的GPS信号被常规地加扰并且专用于独占性的军方使用。在L1载波频率上承载的GPS信号被称为粗采集信号,并且由都被调制到L1载波频率上的1.023MHz伪随机序列信号以及50Hz导航和系统数据信号组成。
1MHz伪随机序列信号用于确定由GPS卫星发射和由GPS接收器接收的GPS信号的飞行时间。向GPS接收器通知由GPS卫星用来生成1.023MHz伪随机序列信号的种子值。C/A码生成器代表伪随机数生成器230,GPS接收器借助于该生成器利用已知种子值来生成同一伪随机序列信号。由于GPS信号的有限飞行时间,接收到的伪随机序列信号和生成的伪随机序列信号相对于彼此在相移上有所不同。可以用码片移位码的形式确定该相移,使得可以获得与GPS卫星和GPS接收器之间的距离相近似的伪范围。
这两个例子即CDMA发送器以及GPS接收器将伪随机生成器用于操作。在CDMA发送器的情况下,所采用的伪随机生成器所需要的生成速率是由将要与伪随机序列异或的位序列的数据速率来定义的。在GPS接收器的情况下,所采用的伪随机生成器所需要的生成速率是由GPS卫星所生成和发射的伪随机序列信号来定义的。本领域技术人员将认识到这两个例子仅仅说明了需要既快速又经济的伪随机生成器的许多应用中的两个应用。在采用CDMA技术的移动数据通信技术中增涨的数据速率尤其地驱使了对这种既快速又经济的伪随机生成器的需求,这些生成器可以基于结合实施例在上文中具体说明的本发明概念来实现。
尽管根据附图参照实施例在上文中描述了本发明,但是不言而喻,本发明并不限于此,而是可以在所附权利要求的范围内以多种方式进行修改。
Claims (19)
1.一种用于生成伪随机数的方法,包括:
-提供m个多项式,其中所述多项式是从原始多项式导出的,所述原始多项式定义了线性反馈移位寄存器的反馈函数,其中所述多项式是用作初始位的n位的函数;
-对所述初始位应用所述多项式以便生成所述伪随机数,其中所述伪随机数至少包括从所述多项式获得的m位。
2.根据权利要求1所述的方法,包括:
通过以下过程从所述原始多项式导出所述m个多项式:
-在每个迭代中逐步地定义代表所述反馈函数的多项式;以及
-化减所述多项式以便获得作为所述初始位的函数的多项式。
3.根据权利要求1或2所述的方法,包括:
-基本上同时地应用所述多项式。
4.根据权利要求1或2所述的方法,包括:
-以相反的次序应用所述多项式以便首先生成所述伪随机数的较低位并且随后生成所述伪随机数的较高位。
5.根据任一前述权利要求所述的方法,其中所述多项式代表用于组合各自具有一位值域的至少两个值的逻辑关系。
6.根据权利要求1至5中任一权利要求所述的方法,其中所述m个多项式是可以固定提供的静态多项式。
7.根据权利要求1至5中任一权利要求所述的方法,其中所述m个多项式是动态多项式,所述动态多项式可通过将所述多项式的阶次化减成等于或者小于所述原始多项式的阶次而从所述原始多项式获得。
8.根据任一前述权利要求所述的方法,其中所述多项式的所述最大数目mmax小于或者等于2np-(n+1),其中np代表所述原始多项式的阶次。
9.根据任一前述权利要求所述的方法,其中所述多项式的阶次等于或者小于np,其中np代表所述原始多项式的阶次。
10.根据任一前述权利要求所述的方法,其中包括从所述多项式和所述n个初始位获得的所述m位的所述伪随机数与从用作伪随机数生成器并且应用与所述原始多项式相对应的反馈函数的线性反馈移位寄存器所获得的序列相同。
11.一种用于生成伪随机数的模块,包括:
-数目为n的各自用作一位存储的初始存储单元;
-数目为m的各自用作一位存储的结果存储单元;以及
-组合逻辑,有选择地耦合到所述n个初始存储单元的输出端子以及有选择地耦合到所述m个结果存储单元的输入端子,其中所述组合逻辑实施数目为m的多项式,其中所述多项式是从原始多项式导出的,所述原始多项式定义了线性反馈移位寄存器的反馈函数,其中所述多项式是用作初始位的n位的函数。
12.根据权利要求11所述的模块,其中所述组合逻辑被实施为包括代码部分的软件模块,所述代码部分当在处理单元上被执行时根据所述组合逻辑执行逻辑关系操作。
13.根据权利要求11所述的模块,其中所述组合逻辑借助于多个逻辑组件来实施,每个逻辑组件具有用于接收一位输入的至少两个输入端子,并且每个逻辑组件具有用于提供一位输出的至少一个输出端子,所述输出由预先定义的组合逻辑关系来定义。
14.一种用于生成伪随机数的电子装置,包括至少一个用于生成伪随机数的模块,所述模块包括:
-数目为n的各自用作一位存储的初始存储单元;
-数目为m的各自用作一位存储的结果存储单元;以及
-组合逻辑,有选择地耦合到所述n个初始存储单元的输出端子以及有选择地耦合到所述m个结果存储单元的输入端子,其中所述组合逻辑实施数目为m的多项式,其中所述多项式是从原始多项式导出的,所述原始多项式定义了线性反馈移位寄存器的反馈函数,其中所述多项式是用作初始位的n位的函数。
15.一种用于生成伪随机数的系统,包括:
-数目为n的代表n个初始1位值的初始状态;
-数目为m的代表m个结果1位值的结果状态;以及
-组合逻辑,有选择地被提供以所述n个初始状态以及有选择地提供所述m个结果状态,其中所述组合逻辑实施数目为m的多项式,其中所述多项式是从原始多项式导出的,所述原始多项式定义了线性反馈移位寄存器的反馈函数,其中所述多项式是用作初始位的n个1位状态的函数。
16.一种用于生成伪随机数的计算机程序产品,包括程序代码部分,所述程序代码部分用于当所述程序运行于基于处理器的设备、终端设备、网络设备、便携终端、用户电子设备或者具有移动通信功能的终端上时实现根据权利要求1至10中任一权利要求所述的步骤。
17.一种用于生成伪随机数的计算机程序产品,包括存储于机器可读介质上的程序代码部分,所述程序代码部分用于当所述程序产品运行于基于处理器的设备、终端设备、网络设备、便携终端、用户电子设备或者具有移动通信功能的终端上时实现根据权利要求1至10中任一权利要求所述的步骤。
18.一种用于生成伪随机数的软件工具,包括程序部分,所述程序部分用于在所述程序实施于计算机程序中以便在基于处理器的设备、终端设备、网络设备、便携终端、用户电子设备或者具有移动通信功能的终端上执行时实现根据权利要求1至10中任一权利要求所述的操作。
19.一种在载波中实现并且代表指令的计算机数据信号,所述指令在由处理器执行时使根据权利要求1至10中任一权利要求所述的步骤得以实现。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2004/003085 WO2006032941A1 (en) | 2004-09-22 | 2004-09-22 | Method and apparatus for generating pseudo random numbers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101019099A true CN101019099A (zh) | 2007-08-15 |
CN101019099B CN101019099B (zh) | 2010-12-08 |
Family
ID=36089890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200480044007.8A Expired - Fee Related CN101019099B (zh) | 2004-09-22 | 2004-09-22 | 用于生成伪随机数的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20080281892A1 (zh) |
EP (1) | EP1792252A1 (zh) |
CN (1) | CN101019099B (zh) |
WO (1) | WO2006032941A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011029302A1 (zh) * | 2009-09-09 | 2011-03-17 | 中兴通讯股份有限公司 | 一种伪随机序列的生成方法及装置 |
CN102707923A (zh) * | 2011-04-25 | 2012-10-03 | 中国电子科技集团公司第三十八研究所 | 一种伪随机数生成电路及伪随机数产生方法 |
CN103235714A (zh) * | 2013-04-02 | 2013-08-07 | 四川长虹电器股份有限公司 | 一种构造随机序列的最短线性移位寄存器的方法 |
CN103412738A (zh) * | 2013-07-08 | 2013-11-27 | 中国航空无线电电子研究所 | 基于单步迭代生成多项式的伪随机序列发生器及其实现方法 |
CN104579630A (zh) * | 2013-10-25 | 2015-04-29 | 上海华力创通半导体有限公司 | 系统随机数生成方法 |
CN105190534A (zh) * | 2013-03-14 | 2015-12-23 | 国际商业机器公司 | 执行伪随机数种子操作的指令 |
CN103812647B (zh) * | 2014-03-13 | 2017-02-22 | 宿迁学院 | 基于gps精确地理位置与量子时间的加密器 |
CN107450887A (zh) * | 2017-08-24 | 2017-12-08 | 杨嵩岩 | 一种真随机数发生器及真随机数产生方法 |
CN108139889A (zh) * | 2015-10-12 | 2018-06-08 | 甲骨文国际公司 | 通过多个辅助伪随机数生成器的非线性混合生成伪随机数序列 |
CN112947895A (zh) * | 2021-01-28 | 2021-06-11 | 长春汇通光电技术有限公司 | 位置读数获得方法、装置、编码器以及存储介质 |
CN114244474A (zh) * | 2021-12-20 | 2022-03-25 | 深圳忆联信息系统有限公司 | 扰码的生成方法、装置、设备及存储介质 |
CN115494512A (zh) * | 2022-11-15 | 2022-12-20 | 中国科学院西安光学精密机械研究所 | 一种基于伪随机编码的多重频单光子测距方法及系统 |
CN116382634A (zh) * | 2023-05-29 | 2023-07-04 | 牛芯半导体(深圳)有限公司 | 伪随机码生成电路、方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7668893B2 (en) * | 2005-08-30 | 2010-02-23 | Micron Technology, Inc. | Data generator having linear feedback shift registers for generating data pattern in forward and reverse orders |
EP2316180A4 (en) | 2008-08-11 | 2011-12-28 | Assa Abloy Ab | SECURE WIEGAND INTERFACE COMMUNICATIONS |
US8244909B1 (en) * | 2009-06-18 | 2012-08-14 | Google Inc. | Method, apparatus and networking equipment for performing flow hashing using quasi cryptographic hash functions |
US9246810B2 (en) * | 2011-03-11 | 2016-01-26 | Broadcom Corporation | Hash-based load balancing with per-hop seeding |
US10359996B2 (en) | 2013-02-28 | 2019-07-23 | Koninklijke Philips N.V. | Random number generator and stream cipher |
US20150363263A1 (en) * | 2014-06-12 | 2015-12-17 | HGST Netherlands B.V. | ECC Encoder Using Partial-Parity Feedback |
US10452877B2 (en) | 2016-12-16 | 2019-10-22 | Assa Abloy Ab | Methods to combine and auto-configure wiegand and RS485 |
CN110058842B (zh) * | 2019-03-14 | 2021-05-18 | 西安电子科技大学 | 一种结构可变的伪随机数生成方法及装置 |
CN111124364A (zh) * | 2020-02-10 | 2020-05-08 | 成都烨软科技有限公司 | 一种不同级数伪随机序列的产生装置及其产生方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57194621A (en) * | 1981-05-26 | 1982-11-30 | Nec Corp | Random number generator |
JPS6197746A (ja) * | 1984-10-15 | 1986-05-16 | インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション | 乱数発生装置 |
US5226171A (en) * | 1984-12-03 | 1993-07-06 | Cray Research, Inc. | Parallel vector processing system for individual and broadcast distribution of operands and control information |
US4965881A (en) * | 1989-09-07 | 1990-10-23 | Northern Telecom Limited | Linear feedback shift registers for data scrambling |
US5910907A (en) * | 1997-02-20 | 1999-06-08 | C.K. Chen | Shift register based pseudorandom number generator |
US6339645B2 (en) * | 1998-03-06 | 2002-01-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Pseudo-random sequence generator and associated method |
US6640236B1 (en) * | 1999-08-31 | 2003-10-28 | Qualcomm Incorporated | Method and apparatus for generating multiple bits of a pseudonoise sequence with each clock pulse by computing the bits in parallel |
KR100416250B1 (ko) * | 2001-02-05 | 2004-01-24 | 삼성전자주식회사 | 시분할 방식의 행렬연산기 |
KR100396592B1 (ko) * | 2001-05-02 | 2003-09-02 | 엘지전자 주식회사 | 시간 천이된 pn 스테이트 발생기 |
US6735606B2 (en) * | 2001-05-15 | 2004-05-11 | Qualcomm Incorporated | Multi-sequence fast slewing pseudorandom noise generator |
IL147359A (en) * | 2001-12-27 | 2007-03-08 | Eci Telecom Ltd | High speed PRBS creation technique |
-
2004
- 2004-09-22 EP EP04769448A patent/EP1792252A1/en not_active Ceased
- 2004-09-22 CN CN200480044007.8A patent/CN101019099B/zh not_active Expired - Fee Related
- 2004-09-22 WO PCT/IB2004/003085 patent/WO2006032941A1/en active Application Filing
- 2004-09-22 US US11/575,710 patent/US20080281892A1/en not_active Abandoned
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011029302A1 (zh) * | 2009-09-09 | 2011-03-17 | 中兴通讯股份有限公司 | 一种伪随机序列的生成方法及装置 |
CN102707923A (zh) * | 2011-04-25 | 2012-10-03 | 中国电子科技集团公司第三十八研究所 | 一种伪随机数生成电路及伪随机数产生方法 |
US10313109B2 (en) | 2013-03-14 | 2019-06-04 | International Business Machines Corporation | Instruction for performing a pseudorandom number seed operation |
CN105190534A (zh) * | 2013-03-14 | 2015-12-23 | 国际商业机器公司 | 执行伪随机数种子操作的指令 |
CN105190534B (zh) * | 2013-03-14 | 2017-12-05 | 国际商业机器公司 | 执行伪随机数种子操作的指令 |
US9860056B2 (en) | 2013-03-14 | 2018-01-02 | International Business Machines Corporation | Instruction for performing a pseudorandom number seed operation |
CN103235714A (zh) * | 2013-04-02 | 2013-08-07 | 四川长虹电器股份有限公司 | 一种构造随机序列的最短线性移位寄存器的方法 |
CN103412738A (zh) * | 2013-07-08 | 2013-11-27 | 中国航空无线电电子研究所 | 基于单步迭代生成多项式的伪随机序列发生器及其实现方法 |
CN103412738B (zh) * | 2013-07-08 | 2016-02-17 | 中国航空无线电电子研究所 | 基于单步迭代生成多项式的伪随机序列发生器及其实现方法 |
CN104579630A (zh) * | 2013-10-25 | 2015-04-29 | 上海华力创通半导体有限公司 | 系统随机数生成方法 |
CN103812647B (zh) * | 2014-03-13 | 2017-02-22 | 宿迁学院 | 基于gps精确地理位置与量子时间的加密器 |
CN108139889A (zh) * | 2015-10-12 | 2018-06-08 | 甲骨文国际公司 | 通过多个辅助伪随机数生成器的非线性混合生成伪随机数序列 |
CN107450887A (zh) * | 2017-08-24 | 2017-12-08 | 杨嵩岩 | 一种真随机数发生器及真随机数产生方法 |
CN112947895A (zh) * | 2021-01-28 | 2021-06-11 | 长春汇通光电技术有限公司 | 位置读数获得方法、装置、编码器以及存储介质 |
CN114244474A (zh) * | 2021-12-20 | 2022-03-25 | 深圳忆联信息系统有限公司 | 扰码的生成方法、装置、设备及存储介质 |
CN114244474B (zh) * | 2021-12-20 | 2024-02-13 | 深圳忆联信息系统有限公司 | 扰码的生成方法、装置、设备及存储介质 |
CN115494512A (zh) * | 2022-11-15 | 2022-12-20 | 中国科学院西安光学精密机械研究所 | 一种基于伪随机编码的多重频单光子测距方法及系统 |
CN116382634A (zh) * | 2023-05-29 | 2023-07-04 | 牛芯半导体(深圳)有限公司 | 伪随机码生成电路、方法 |
CN116382634B (zh) * | 2023-05-29 | 2023-08-08 | 牛芯半导体(深圳)有限公司 | 伪随机码生成电路、方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2006032941A1 (en) | 2006-03-30 |
EP1792252A1 (en) | 2007-06-06 |
US20080281892A1 (en) | 2008-11-13 |
CN101019099B (zh) | 2010-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101019099B (zh) | 用于生成伪随机数的方法和装置 | |
CN101821953B (zh) | 用于信号的低复杂度组合编码的设备和方法 | |
US9575726B2 (en) | Bit sequence generator and apparatus for calculating a sub-rate transition matrix and a sub-rate initial state for a state machine of a plurality of state machines | |
CN101292223A (zh) | 产生伪随机数的方法 | |
CN109557568B (zh) | 一种测距码产生方法及装置 | |
RU2691587C2 (ru) | Система комбинирования сигналов для передачи информации посредством постоянной огибающей | |
CN100409026C (zh) | 专门用于射频信号接收机的数字可控振荡器 | |
US7340496B2 (en) | System and method for determining the Nth state of linear feedback shift registers | |
EP2827516B1 (en) | Scrambling code generation method, apparatus and scrambling code processing apparatus | |
CN106405575B (zh) | 一种gps系统的p码生成器、生成系统及方法 | |
CA2238294C (en) | Pn sequence generator with bidirectional shift register and eulerian-graph feedback circuit | |
US9496917B2 (en) | Accumulating data values | |
Song et al. | Algorithm and realization of high dynamic satellite signal Doppler simulation based on FPGA | |
KR100302847B1 (ko) | 유한필드에서의긴다항식제산장치 | |
CN103412738B (zh) | 基于单步迭代生成多项式的伪随机序列发生器及其实现方法 | |
CN101151549A (zh) | 通过快速傅立叶变换在扩频传输系统中进行相关性检测的方法和设备 | |
KR20070048790A (ko) | 의사난수를 발생하기 위한 방법 및 장치 | |
CN104614738B (zh) | Gnss中频信号模拟源量化误差修正方法 | |
CN116382634B (zh) | 伪随机码生成电路、方法 | |
CN100580659C (zh) | 在多个处理循环中处理数据字的方法和装置 | |
Fúster-Sabater et al. | A simple computational model for acceptance/rejection of binary sequence generators | |
Aiholli et al. | Implementation of Arithmetic Unit for RNS Using 2 n+ 3 as Base | |
Ramesh et al. | SRAM based random number generator for non-repeating pattern generation | |
Salih | Representation of Nonlinear Pseudo-Random Generators Using State-Space Equations | |
KR100399199B1 (ko) | 가변 복잡도를 갖는 선택적 확산 코드 발생 장치 및 방법 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101208 Termination date: 20110922 |