CN1117673A - 代码序列发生器 - Google Patents
代码序列发生器 Download PDFInfo
- Publication number
- CN1117673A CN1117673A CN95104236.XA CN95104236A CN1117673A CN 1117673 A CN1117673 A CN 1117673A CN 95104236 A CN95104236 A CN 95104236A CN 1117673 A CN1117673 A CN 1117673A
- Authority
- CN
- China
- Prior art keywords
- code sequence
- matrix
- sequence generator
- integer
- code
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J13/00—Code division multiplex systems
- H04J13/10—Code generation
-
- 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
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Complex Calculations (AREA)
Abstract
一种代码序列发生器,包括用于保存n位代码的寄存器,用于对寄存器的内容执行矩阵运算的运算电路,并通过把运算结果反馈回到该寄存器来顺序地产生代码序列。通过选择性地从存放预先计算好的矩阵的存储器电路读出一个矩阵来改变被置于运算电路中的矩阵。这就能够在短时间内设置所需的寄存状态,即使所需的代码序列很长,并且在不改变时钟信号速率的情况下产生任何代码序列。
Description
本发明涉及产生最大长度序列或黄金序列的一种代码序列发生器。
数字代码序列用在各种领域中,例如数字信息的密码技术,以及用于扩展展布频谱通讯的信号带宽的扩展代码。尤其是,把最大长度序列(M—序列)用作随机代码或伪噪声信号,因为它们具有很长的周期,并且其自相关特性是脉冲式的。
通过使用一个寄存器和对该寄存器的内容进行计算的一个运算电路,并且把计算结果反馈给寄存器,就能产生数字代码。
例如,产生具有15周期的M序列的计算过程可由图1所示的单个异或线路和一个简单的反馈电路来实现。
在图1中,引用数字1代表由4个寄存器R1—R4组成的4级移位寄存器,引用数字2代表对寄存器R1和R4的输出进行异或运算的异或电路。异或电路2的输出被反馈到寄存器R1的输入端。对寄存器R1—R4中的每一个置初值(不是所有的初值都是零),并且通过所提供的时钟信号对寄存器R1—R4的内容进行移位操作,因此产生15周期的M序列代码。
图2给出由图1发生器的一般化所得到的15周期M—序列发生器。该发生器包括四个1位的寄存器,而不是图1的移位寄存器1。在图2中,引用数字3代表包括四个1位寄存器REG1—REG4的寄存器电路,引用数字4代表对寄存器电路3的内容执行运算的运算电路,并把运算结果反馈到寄存器电路3。M序列是从寄存器REG4的输出端输出的。
在这些M序列代码发生器中,假定在为寄存器电路3提供给定数目的时钟脉冲而改变其状态之后开始产生代码序列。例如,为了在提供5个时钟脉冲之后开始产生代码序列,这5个时钟脉冲必须很快地被作用到寄存器电路3上,使之处于启动状态。在这种情况下,虽然很容易从某个所需的相位中产生15周期的M—序列,但是要通过为寄存器提供所需数目的时钟脉冲,使之处于所需的启动状态,以便从所需的状态中产生具有长得多的周期的代码序列,将需要长得多的时间。
而且,为了按每隔一个代码序列产生一个代码序列,需要以双速率的时钟信号操作代码序列发生器,以便选择每隔一个的代码序列。因此,在以代码序列区间产生一个代码序列需要以比正常速率快m倍的时钟速率操作代码序列发生器。因此,常规的代码序列发生器需要比一般速率的时钟信号更高的速率的时钟信号。
因此,当代码序列的周期很长时,现有的技术需要很长的时间才能从所需状态中开始产生代码序列。此外,在为代码序列的整数倍的所需区间上,需要较高速率的时钟信号来产生代码序列。
因此,本发明的目的之一是提供在任何情况下都能在短时间达到某个所需的启动相位、并且使用一般速率的时钟就能在为代码序列整数倍的所需区间上产生代码序列的一种代码序列发生器。
在本发明的第一方面,提供了一种代码序列发生器,通过对由n×n的矩阵A到n位数据X所定义的线性变换重复m次(m为正整数),产生代码序列Y=AmX该代码序列发生器包括:
对每个预定的t+1个正整数Pj(j=0,1,2,…,t)预先存储矩阵A的Pj次幂(即APj)的存储装置;
把整数m分解为整数Pj的线性组合(即m=k0+K1P1+K2P2+…KtPt,其中K0,K1,K2,…Kt为等于或大于零的整数)的装置;
从存储装置中顺序选择和K0,K1,K2,…,Kt中的非零元素相关的矩阵AP0、AP1、AP2,…APt的选择装置;以及
对K0,K1,K2…,Kt中的非零元素执行下面矩阵运算的装置:
Y=(AP0)(AP1)K1(AP2)K2…(APt)KtX
整数Pj可以这样确定:顺序地让n除以2(即P0=1,P1=n/2,P2=n/22,…,Pt=n/2t)。并把最后的结果向下舍入为最接近的整数。
选择装置可能包括并行操作的n个t+1对1的行多路转换器。
选择装置可能选择性地为存储装置提供和从矩阵APj中被选择出来的某个矩阵相关的地址。
选择装置可以为运算装置提供从矩阵APj中选择出来的某个特定的矩阵,使得代码序列发生器能产生具有某个所需代码区间的代码序列,该代码区间被定义为两个相继代码序列的值m之差。
根据本发明,移动状态一步,代码序列发生器的寄存器电路的第i个状态向量Xi(i为正整数)被改变为第i+1个状态间量Xi+1,其中Xi+1表示如下:
Xi+1=AXi其中,矩阵A表示常规技术中的一个运算过程,m步(m为正整数)后的寄存器状态被表示为:
Xi+m=AmXi换句话说,必须对矩阵A执行m次乘法。在根据本发明的代码序列发生器中,可以减少运算电路的乘法次数。例如,假定m由下式表示:
m=K0+K1P1+K2P2
其中,K0,K2,P1,P1和P2为等于或大于零的整数。如果必须预先计算好矩阵A、AP1和AP2,则m步后的寄存器状态Xi+m=AmXi=(AP0)(AP1)K1(AP2)K2这意味着乘法的次数M由下式给出:
M=K0+K1+K2因此,大大地减少了乘法的次数M。例如,当m=127、P1=100和P2=10时,有K0=7,K1=1,K2=2,且乘法的次数M=10。可以预期,随着值m的增加,乘法次数M将会更加减少。
此外,根据本发明,组合若干矩阵,就能很快地将寄存器置到所需的相位,然后开始从所需的相位中产生代码序列。
本发明和常规技术的区别在于它不是顺序地逐步得到下一个寄存器的状态,而是预先准备好表示给出非连续寄存器状态的运算过程的矩阵。
此外,根据本发明,代码序列能在某个预期的区间上被产生,而不需要改变时钟速率。因此,当代码序列很长且远离当前状态的寄存器状态被设置时,本发明尤其有效。
从下面结合附图对实施例的描述中,本发明的上述和其他目的、效果、特征和优点将会更加明显。
图1是说明15周期的常规M—序列发生器的具体例子的框图;
图2是说明常规的M—序列发生器的一般结构的框图;以及
图3是说明根据本发明的代码序列发生器的一个示例的框图。
现在结合附图来描述本发明。
图3是说明根据本发明的代码序列发生器的一个实施例的框图。在图3中,引用数字5表示一个n位的寄存器,包括n个1位的寄疗器REG1,REG2,…REGn。寄存器5保存n位状态的向量Xi(i为等于或大于零的整数),被送到运算电路6。
另一方面,引用数字7代表存储器电路,它预先存放t+1个n×n的矩阵AP0,AP1,AP2,…APt。其中,值t根据存储器电路7的容量和运算的简化程度来决定。例如,当t=4和n=100时,Pj(j=0,1,2,…,t=4)如下确定:首先,因为矩阵A是最基本的,P0被设置为P0=1。接着,顺序被2除并对结果向下舍入为最接近的整数:P1=n/2=50,P2=n/22=25,P3=n/23=12,而P4=Pt=n/24=6。
存储器电路7的输出数据被送到选择开关8的t+1个n位输入端。选择开关8包括n个并行操作的t+1对1行多路转换器,在控制电路9的控制下选择所需的矩阵APi,并且通过选择开关8的n位输出端顺序地为运算电路6提供所选矩阵的每一行。运算电路6用矩阵APi乘以状态向量Xi。
状态向量Xi前进一步的状态向量Xi+1由下式给出:
Xi+1=AXi而前进m步的状态向量Xi+m由下式给出:
Xi+m=AmXi (2)
控制电路9把m分解为如下的Pj线性表达式:
m=K0+K1P1+K2P2+…+KtPt (3)例如,在上述的例子中,其中,n=100,t=4,则m=81可分解如下:
m=1×50+1×25+6 (4)
顺序地执行m除以2,就能很容易地实现这种分解。根据这一分解,控制电路9控制选择开关8,使得用在运算中的矩阵APj能从存储器电路7被送到运算电路6上。接着,控制电路9把读出信号送给存储器电路7,使得矩阵APj的各行能从顶行开始顺序地逐行被读出,并且通过选择开关8被送到运算电路6上。此外,控制电路9还为运算电路6提供有关运算(乘法)次数的信息。
按照这样的安排,AmXi用等式(3)表达如下:
AmXi=(A)K0(AP1)Kt…(APt)KtX;) (5)
在这种情况下,由于APj已给预先被计算并预先存放在存储器电路7中,只需从存储器电路7中读出这些信息就可以了。因此,通过对矩阵(APj)的乘法重复Kj次就能得到(APj)Kj。所以,等式(5)的运算可由M=K0+K1…+Kt次乘法得到结果。运算结果被存入寄存器5中,并且从那里输出。
考虑到常规的技术中矩阵A的乘法被重复m次这样的事实,显然计算量可以被大大地减少了。例如,当m=81时,由等式(4)可得出M=1+1+6=8。这意味着只需做8次乘法,就能提供所要的结果。
在本实施例中,虽然将被送到运算电路6的矩阵APj是由选择开关8选择的,但也可以通过为存储器电路7提供来自控制电路9的地址信息来选择该矩阵。在这种情况下,可以不用选择开关8,而让控制电路9承担选择装置的功能。
此外,随着本实施例中t值的增加,运算的速度也会加快。然而,这将增加必须被预先计算好的矩阵个数,并且需要较大容量的存储电路。此外,把来自存储器电路7的某个固定的矩阵AP1提供给运算电路6,就能由每个P1步产物状态向量。此外,虽然本实施例只用了一个运算电路6,但是通过把若干矩阵中的一个读出存储器电路7而对其设置,但也可以使用多个运算电路,每个电路关联一个矩阵,并通过组合这些运算电路来执行运算。
而且,在本实施例中能很快地达到所需的寄存器状态。结果,能在很短的时间内得到代码序列的特定相位,使得代码序列能从该相位中被产生。此外,代码序列能在所需的区间上产生,而不必使用较高速率的时钟信号。因此,本发明在设置和长代码序列相关并且被大量步骤隔开的寄存器状态时特别有效。
上面已经结合一个实施例详细介绍了本发明,根据上述的内容,熟悉这一技术的人显然可以进行各种修改和改进,而不脱离本发明的较广义范围,因此,下面的权利要求书打算复盖落在本发明基本原理内的所有各种修改和改进。
Claims (5)
1.一种代码序列发生器,通过重复m次由n×n矩阵A对n位数据X定义的线性变换来产生代码序列y=AmX,m为正整数,所述的代码序列发生器包括:
对预定义的t+1个正整数Pj(j=0,1,2,…t)中的每一个正整数预先存储所述矩阵A的Pj次幂,即APj的存储装置;
把所述的整数m分解为所述整数Pj的线性变换的装置,即,m=K0+K1P1+K2P2+…+KtPt其中K0,K1,K2,…Kt为等于或大于零的整数;
顺序地选择和来自所述存储装置中的非零的所述K0,K1,K2,…Kt相关的矩阵AP0,AP1,AP2,…APt的选择装置;以及
对非零的所述K0,K1,K2,…Kt执行下面矩阵运算的装置:
Y=(AP0)(AP1)K1(AP2)K2…(APt)KtX。
2.权利要求1的代码序列发生器,其中,所述的整数Pj是这样确定的:顺序执行n除以2,即P0=1,P1=n/2,P2=n/22,…,P1=n/2t,并且将结果下舍入到最近的整数。
3.权利要求2的代码序列发生器,其中所述的选择装置包括n个并行操作的t+1对1行多路转换器。
4.权利要求2的代码序列发生器,其中,所述的选择装置选择性地把和从所述矩阵APj中选择的矩阵相关的地址提供给所述的存储装置。
5.权利要求1的代码序列发生器,其中,所述的选择装置把从所述矩阵APj中选择出来的某个特定的矩阵提供给所述的运算装置,使得所述的代码序列发生器能产生具有被定义为两个相继的代码序列的m值之差的所需代码区间的代码序列。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP90353/1994 | 1994-04-27 | ||
JP90353/94 | 1994-04-27 | ||
JP9035394 | 1994-04-27 | ||
JP7087191A JPH0818550A (ja) | 1994-04-27 | 1995-04-12 | 符号系列発生器 |
JP87191/95 | 1995-04-12 | ||
JP87191/1995 | 1995-04-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1117673A true CN1117673A (zh) | 1996-02-28 |
CN1051661C CN1051661C (zh) | 2000-04-19 |
Family
ID=26428488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN95104236.XA Expired - Fee Related CN1051661C (zh) | 1994-04-27 | 1995-04-26 | 代码序列发生器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5596516A (zh) |
EP (1) | EP0680172B1 (zh) |
JP (1) | JPH0818550A (zh) |
CN (1) | CN1051661C (zh) |
DE (1) | DE69503308T2 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5943248A (en) * | 1997-01-17 | 1999-08-24 | Picturetel Corporation | w-bit non-linear combiner for pseudo-random number generation |
WO1998032070A1 (en) * | 1997-01-17 | 1998-07-23 | Picturetel Corporation | Pseudo-random number generator exploiting processors having instruction-level parallelism and the use thereof for encryption |
JP3329705B2 (ja) | 1997-09-02 | 2002-09-30 | 松下電器産業株式会社 | Pn符号発生装置及び移動無線通信システム |
EP0963070B1 (en) * | 1997-11-19 | 2012-04-11 | Ntt Mobile Communications Network Inc. | Device for generating a plurality of code series simultaneously and CDMA radio receiver comprising the device |
KR100250466B1 (ko) * | 1997-12-27 | 2000-04-01 | 정선종 | 난수기의 효율적 구현방법 |
US6141669A (en) * | 1998-05-06 | 2000-10-31 | Nortel Networks Corporation | Pseudorandom binary sequence block shifter |
AU1317600A (en) * | 1998-10-19 | 2000-05-08 | Qualcomm Incorporated | Method and apparatus for pseudonoise spreading in a cdma communication system |
US6636553B1 (en) * | 1998-12-29 | 2003-10-21 | Texas Instruments Incorporated | Pseudorandom noise generator for WCDMA |
JP3499460B2 (ja) | 1999-02-25 | 2004-02-23 | 松下電器産業株式会社 | 拡散符号発生回路および拡散符号発生方法 |
JP2000307477A (ja) | 1999-04-21 | 2000-11-02 | Matsushita Electric Ind Co Ltd | 符号発生装置、その装置を用いた通信装置、通信システム及び符号発生方法 |
FI107094B (fi) * | 1999-05-10 | 2001-05-31 | Nokia Mobile Phones Ltd | Menetelmä päivittää koodigeneraattorin lineaarinen palautesiirtorekisteri |
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 |
US6909783B2 (en) * | 1999-10-29 | 2005-06-21 | Joseph Samuel Incarnato | Alphabet soup cryptography |
JP2002084257A (ja) | 2000-07-05 | 2002-03-22 | Sanyo Electric Co Ltd | 直交符号生成装置、スクランブル符号生成装置、およびそれらを用いた携帯無線端末 |
US7461111B2 (en) | 2002-09-30 | 2008-12-02 | Fdk Corporation | Method of uniforming physical random number and physical number generation device |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1190809A (en) * | 1967-06-26 | 1970-05-06 | Ericsson Telefon Ab L M | Improvements in and relating to the Generation of a Pulse Code |
US4685132A (en) * | 1985-07-30 | 1987-08-04 | Sperry Corporation | Bent sequence code generator |
JP2620069B2 (ja) * | 1986-10-09 | 1997-06-11 | クラリオン株式会社 | スペクトラム拡散通信方式 |
JPH0457407A (ja) * | 1990-06-27 | 1992-02-25 | Fujitsu Ltd | 直列pnパターン並列発生回路、および、該回路の構成方法 |
EP0580870A4 (en) * | 1992-02-14 | 1994-06-08 | Advantest Corp | Multi-channel pseudo-random pattern generator |
JP2845308B2 (ja) * | 1993-04-02 | 1999-01-13 | 株式会社アドバンテスト | 並列疑似ランダムパターン発生器 |
US5515307A (en) * | 1994-08-04 | 1996-05-07 | Bell Communications Research, Inc. | Pseudo-random generator |
-
1995
- 1995-04-12 JP JP7087191A patent/JPH0818550A/ja active Pending
- 1995-04-25 US US08/428,389 patent/US5596516A/en not_active Expired - Fee Related
- 1995-04-25 EP EP95302772A patent/EP0680172B1/en not_active Expired - Lifetime
- 1995-04-25 DE DE69503308T patent/DE69503308T2/de not_active Expired - Fee Related
- 1995-04-26 CN CN95104236.XA patent/CN1051661C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0680172A2 (en) | 1995-11-02 |
EP0680172A3 (en) | 1996-03-06 |
JPH0818550A (ja) | 1996-01-19 |
DE69503308T2 (de) | 1999-04-15 |
DE69503308D1 (de) | 1998-08-13 |
CN1051661C (zh) | 2000-04-19 |
EP0680172B1 (en) | 1998-07-08 |
US5596516A (en) | 1997-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1051661C (zh) | 代码序列发生器 | |
Wilcox | Fibonacci sequences of period n in groups | |
Goresky et al. | Fibonacci and Galois representations of feedback-with-carry shift registers | |
Storjohann | Near optimal algorithms for computing Smith normal forms of integer matrices | |
L’ecuyer | Maximally equidistributed combined Tausworthe generators | |
US7921145B2 (en) | Extending a repetition period of a random sequence | |
CN1103084C (zh) | 进行快速阿达玛变换的方法和装置 | |
CN101021777B (zh) | 基于除数(2n-1)的有效求模操作运算 | |
JP4663872B2 (ja) | 均一な分布を有する非反復性の数の列を発生する方法 | |
US20050044119A1 (en) | Pseudo-random number generator | |
Aluru et al. | A random number generator for parallel computers | |
Aluru | Lagged Fibonacci random number generators for distributed memory parallel computers | |
Mascagni et al. | Parallel linear congruential generators with Sophie–Germain moduli | |
Goresky et al. | Efficient multiply-with-carry random number generators with maximal period | |
Bulutoglu | Cyclicly constructed E (s2)-optimal supersaturated designs | |
US6275558B1 (en) | Circuit and method for arbitrarily shifting M-sequence | |
RU2427885C1 (ru) | Быстродействующий генератор случайных перестановок и сочетаний | |
Mascagni et al. | Recent Developments in Parallel Pseudorandom Number Generation. | |
Cohendet et al. | Fokker-Planck equation associated with the Wigner function of a quantum system with a finite number of states | |
CN1550975A (zh) | 蒙哥马利模数乘法器及其方法 | |
CN106603085A (zh) | 生成多项式的生成方法、其装置、编码器、控制器及电子设备 | |
JP3965805B2 (ja) | 符号系列生成器 | |
Alioto et al. | Analysis and design of digital PRNGS based on the discretized sawtooth map | |
Almirantis et al. | Rich dynamical behaviors from a digital reversal operation | |
Kuehnel et al. | Parallel random number generators for sequences uniformly distributed over any range of integers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |