CN108023661B - 一种获取伪随机序列的方法和装置 - Google Patents

一种获取伪随机序列的方法和装置 Download PDF

Info

Publication number
CN108023661B
CN108023661B CN201610927601.6A CN201610927601A CN108023661B CN 108023661 B CN108023661 B CN 108023661B CN 201610927601 A CN201610927601 A CN 201610927601A CN 108023661 B CN108023661 B CN 108023661B
Authority
CN
China
Prior art keywords
sequence
value
cross
talk
subsequence
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.)
Active
Application number
CN201610927601.6A
Other languages
English (en)
Other versions
CN108023661A (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.)
Shenzhen ZTE Microelectronics Technology Co Ltd
Original Assignee
Shenzhen ZTE Microelectronics Technology Co Ltd
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 Shenzhen ZTE Microelectronics Technology Co Ltd filed Critical Shenzhen ZTE Microelectronics Technology Co Ltd
Priority to CN201610927601.6A priority Critical patent/CN108023661B/zh
Priority to PCT/CN2017/097350 priority patent/WO2018076894A1/zh
Publication of CN108023661A publication Critical patent/CN108023661A/zh
Application granted granted Critical
Publication of CN108023661B publication Critical patent/CN108023661B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • H04B1/7075Synchronisation aspects with code phase acquisition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/18Phase-modulated carrier systems, i.e. using phase-shift keying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明实施例公开了一种获取伪随机序列的方法和装置,所述方法包括:对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,再计算第一序列、第二序列的N段子序列中每段子序列的序列值,依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。还公开了一种获取伪随机序列的装置。可实现伪随机序列的快速计算,可有效减少计算量和节约存储空间。

Description

一种获取伪随机序列的方法和装置
技术领域
本发明涉及伪随机序列生成技术,具体涉及一种获取伪随机序列的方法和装置。
背景技术
伪随机序列既有随机信号所具备的优良的相关性,又具有随机信号不具备的规律性,使得它极易于从干扰信号中被识别和/或分离出来,且易于重复的产生和复制。由于具有这些特点,伪随机序列在扩频通信、多址通信、误码测试、信号同步等方面有着广泛的应用。
目前,在长期演进(LTE)系统中常用的伪随机序列(伪随机序列的序列值)产生方法有串行迭代公式法和基于状态转移矩阵乘法的产生方法。其中,串行迭代公式法计算效率低,需要很长的迭代时间才能将伪随机序列计算出来。基于状态转移矩阵乘法的产生方法由于存在矩阵的乘法运算使得计算量大大增加且矩阵的大量计算增加了对存储空间的较大占用,不利于存储空间的节省。
发明内容
为解决现有存在的技术问题,本发明实施例提供一种获取伪随机序列的方法和装置,至少能够实现伪随机序列的快速计算,减少计算量和节约存储空间。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种获取伪随机序列的方法,所述方法包括:
对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,N为正整数;
计算第一序列的N段子序列中每段子序列的序列值;
计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算;
依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。
上述方案中,所述计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算,包括:
确定第二序列的初值序列的序列值;
依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,L为正整数;
依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值;
将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值。
上述方案中,在确定第二序列的初值序列的序列值之前,所述方法还包括:
确定第二序列的初值序列;
确定第二序列中各段子序列的前L位与所述初值序列的关系式;
相应的,所述依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,包括:
根据各段子序列的前L位与所述初值序列的关系式和所述初值序列的序列值,计算第二序列中各段子序列的前L个值。
上述方案中,所述依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值,包括:
针对各段子序列中任意一段子序列的前L个值,
将该段子序列的前L个值至少进行三次移位,得到至少三个第一移位序列;
将该段子序列的前L个值及所述至少三个第一移位序列进行M位的异或运算,得到第一目标序列,M为正整数;
将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度;
依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值。
上述方案中,所述依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值,包括:
将第一目标序列的第二部分子序列至少进行三次移位,得到至少三个第二移位序列;
将第一目标序列的第一部分子序列与所述至少三个第二移位序列进行M位的异或运算,得到第二目标序列;
将第二目标序列进行分割,得到第二目标序列的第一部分子序列和第二部分子序列,第二目标序列的第二部分子序列的长度大于第二目标序列的第一部分子序列的长度;
将第二目标序列的第二部分子序列至少进行三次移位,得到至少三个第三移位序列;
将第二目标序列的第一部分子序列与所述至少三个第三移位序列进行M位的异或运算,得到第三目标序列;
以此类推,直至计算出最后一个目标序列;
确定第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为该段子序列中除前L个值之外的其它值。
本发明实施例还提供一种获取伪随机序列的装置,所述装置包括:
第一划分单元,用于对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,N为正整数;
第一计算单元,用于计算第一序列的N段子序列中每段子序列的序列值;
第二计算单元,用于计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算;
第一获取单元,用于依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。
上述方案中,所述第二计算单元,用于:
确定第二序列的初值序列的序列值;
依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,L为正整数;
依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值;
将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值。
上述方案中,所述第二计算单元,用于:
确定第二序列的初值序列;
确定第二序列中各段子序列的前L位与所述初值序列的关系式;
根据各段子序列的前L位与所述初值序列的关系式和所述初值序列的序列值,计算第二序列中各段子序列的前L个值。
上述方案中,所述第二计算单元,还用于:
针对各段子序列中任意一段子序列的前L个值,
将该段子序列的前L个值至少进行三次移位,得到至少三个第一移位序列;
将该段子序列的前L个值及所述至少三个第一移位序列进行M位的异或运算,得到第一目标序列,M为正整数;
将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度;
依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值。
上述方案中,所述第二计算单元,还用于:
将第一目标序列的第二部分子序列至少进行三次移位,得到至少三个第二移位序列;
将第一目标序列的第一部分子序列与所述至少三个第二移位序列进行M位的异或运算,得到第二目标序列;
将第二目标序列进行分割,得到第二目标序列的第一部分子序列和第二部分子序列,第二目标序列的第二部分子序列的长度大于第二目标序列的第一部分子序列的长度;
将第二目标序列的第二部分子序列至少进行三次移位,得到至少三个第三移位序列;
将第二目标序列的第一部分子序列与所述至少三个第三移位序列进行M位的异或运算,得到第三目标序列;
以此类推,直至计算出最后一个目标序列;
确定第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为该段子序列中除前L个值之外的其它值。
本发明实施例提供的获取伪随机序列的方法和装置,所述方法包括:对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,再计算第一序列、第二序列的N段子序列中每段子序列的序列值,依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。本实施例在对第二序列进行N段子序列的划分后,对各段子序列的序列值进行并行运算。与相关技术相比,可实现伪随机序列的快速计算,可有效减少计算量和节约存储空间。
附图说明
图1为本发明提供的获取伪随机序列的第一实施例的实现流程示意图;
图2为本发明提供的获取伪随机序列的第二实施例的实现流程示意图;
图3为本发明提供的获取伪随机序列的第三实施例的实现流程示意图;
图4为本发明提供的获取第二序列的第Np段子序列的序列值的示意图;
图5为本发明提供的获取伪随机序列的装置的组成结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明提供的获取伪随机序列的第一实施例,应用于通信系统中如码分多址系统、时分多址系统、频分多址系统及LTE系统中,优选为LTE系统。第三代合作伙伴计划3GPPLTE规范规定可采用一种31-bit戈尔德(Gold)序列经公式(1)~(3)的运算产生伪随机序列c(n)。
c(n)=(x1(n+NC)+x2(n+NC)mod2) (1)
x1(n+31)=(x1(n+3)+x1(n))mod2 (2)
x2(n+31)=(x2(n+3)+x2(n+2)+x2(n+1)+x2(n))mod2 (3)
其中,x1(n)、x2(n)为Gold序列;NC为预先设置的数值,可以根据实际情况而取值,如取值为1600;n=0,1,...,MPN-1,MPN为伪随机序列c(n)的长度。
图1为本发明提供的获取伪随机序列第一实施例的流程示意图;如图1所示,所述方法包括:
步骤101:对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,N为正整数;
这里,执行步骤101的通信实体可以为终端和/或基站。所述终端包括但不限定于传统手机、智能手机、掌上电脑PAD、智能手表、智能手环等。当伪随机序列c(n)的长度是MPN时,x1(n)、x2(n)的序列长度均为MPN+Nc。在公式(1)中,当n=0时,c(n)=c(0)=(x1(0+NC)+x2(0+NC)mod2)即伪随机序列c(n)的第一个值c(0)与x1(NC)、x2(NC)有关,伪随机序列c(n)的第二个值c(1)与x1(1+NC)、x2(1+NC)有关,由此可见,伪随机序列c(0)、c(1)…c(MPN-1)与x1(0)…x1(NC-1)和x2(0)…x2(NC-1)无关。基于此,第一序列是x1(NC)、x1(1+NC)…x1(MPN+NC);第二序列是x2(NC)、x2(1+NC)…x2(MPN-1+NC)。对第一序列x1(NC)、x1(1+NC)…x1(MPN-1+NC),第二序列是x2(NC)、x2(1+NC)…x2(MPN-1+NC)进行N段的划分,得到第一序列的第1段子序列~第N段子序列、第二序列的第1段子序列~第N段子序列,N为正整数,优选为N=2x,x为自然数。在第一序列的各段子序列中具有的bit位相同,在第二序列的各段子序列中具有的bit位相同。举个例子,假定要获取的伪随机序列c(n)的长度是MPN=16000,那么第一序列和第二序列的长度也应该是16000,如果取N=16段,那么第一序列、第二序列中的每段子序列均具有c(n)/16=16000/16=1000位。当NC=1600时,第一序列的第1段子序列是x1(1600)、x1(1601)…x1(2599),第2段子序列是x1(2600)、x1(2601)…x1(3599)…以此类推。第二序列的第1段子序列是x2(1600)、x2(1601)…x2(2599),第2段子序列是x2(2600)、x2(2601)…x2(3599)…以此类推。
步骤102:计算第一序列的N段子序列中每段子序列的序列值;
这里,执行步骤102的通信实体可以为终端和/或基站。将第一序列x1(NC)、x1(1+NC)…x1(MPN+NC)按段进行划分后,计算每段子序列的序列值。在LTE系统中,第一序列的初值序列是x1(0)…x1(30),该初值序列的序列值(即x1(0)的取值至x1(30)的取值)是固定好的,那么根据公式(2)第一序列中的各段子序列的序列值是可以计算出来的。根据公式(2),可以将第一序列中各个位的值进行依次计算(串行运算),也可以根据公式(2)及对第一序列的各段子序列的划分结果对各段子序列的序列值进行同时运算(并行运算)。并行运算的好处在于节省计算时间。
步骤103:计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算;
这里,执行步骤103的通信实体可以为终端和/或基站。在LTE系统中,第二序列的初值序列x2(0)…x2(30)通常是不固定的,根据使用场景的不同而不同,如此在对第二序列x2(NC)、x2(1+NC)…x2(MPN-1+NC)进行N段子序列的划分后,对各段子序列的序列值进行同时运算(并行运算),具体运算过程参见后续说明此处暂不详细描述。与相关计算技术中的串行迭代公式法相比,并行运算的好处在于节省计算时间,加速对伪随机序列c(n)的运算。
需要说明的是,由于第一序列和第二序列是两个独立的序列,所以可同时计算各自的子序列的序列值,即步骤102和步骤103可以同时进行。
步骤104:依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。
这里,执行步骤104的通信实体可以为终端和/或基站。将第一序列中各段子序列的序列值和第二序列中对应子序列的序列值代入至公式(1)中,得到伪随机序列的取值。以MPN=16000、N=16段、NC=1600为例,伪随机序列的第一个值c(0)=(x1(1600)+x2(1600)mod2);第二个值c(1)=(x1(1601)+x2(1601)mod2)…以此类推得到伪随机序列c(0)、c(1)…c(MPN-1)的取值。
本发明实施例中,对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,再计算第一序列、第二序列的N段子序列中每段子序列的序列值,依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。其中,考虑到在LTE系统中第二序列的初值序列通常为不固定,本实施例在对第二序列x2(NC)、x2(1+NC)…x2(MPN-1+NC)进行N段子序列的划分后,对各段子序列的序列值进行并行运算。与相关技术相比,对第二序列的各段子序列的序列值进行并行运算可实现伪随机序列的快速计算,可有效减少计算量和节约存储空间。
本发明提供的获取伪随机序列的第二实施例,在前述第一实施例的基础上,步骤102进一步包括:
步骤1021:确定第二序列的初值序列的序列值;
这里,执行步骤1021的通信实体可以为终端和/或基站。第二序列x2(NC)、x2(1+NC)…x2(MPN-1+NC)的初值序列是x2(0)…x2(30),初值序列的这31个数值(初值序列的序列值)是可以通过对初值序列的初始化得到。
步骤1022:依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,L为正整数;
这里,执行步骤1022的通信实体可以为终端和/或基站。考虑到在L TE系统中采用31-bit Gold序列进行伪随机序列c(n)的生成,此处L可取值为31。当然,L还可以取为其它值,根据实际使用情况而灵活取值。
步骤1023:依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值;
这里,执行步骤1023的通信实体可以为终端和/或基站。通过前面对第二序列的N段划分,各段子序列中具有相同数量的位值,本步骤中可通过各段子序列的前L个值,可得到各段子序列中除了前L个值之外的其它值。举个例子,针对第二序列的某段子序列,如果其具有1000位,可通过该段子序列的前L个值计算出该段子序列中剩余的(1000-L)位值。
步骤1024:将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值。
这里,执行步骤1024的通信实体可以为终端和/或基站。第二序列中某段子序列的序列值就是该段子序列的前L个值和剩余值的集合。
这里,因为已经将第二序列划分为N段子序列,本发明实施例中,不需要依次计算各段子序列的前L个值和对应段子序列的剩余值,需要对第1段子序列至第N段子序列的前L个值和对应段子序列的剩余值进行同时计算(并行计算),可缩短伪随机序列的计算时间。
在一个优选的实施例中,在确定第二序列的初值序列的序列值之前,所述方法还包括:
确定第二序列的初值序列;确定第二序列中各段子序列的前L位与所述初值序列的关系式;相应的,所述依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,包括:根据各段子序列的前L位与所述初值序列的关系式和所述初值序列的序列值,计算第二序列中各段子序列的前L个值。
考虑到在L TE系统中采用31-bit Gold序列进行伪随机序列c(n)的生成,所以第二序列的初值序列是x2(0)…x2(30)。确定第二序列中各段子序列的前L位与所述初值序列的关系式就是各段子序列的前L位用初值序列中的部分或全部元素来表达,得到各段子序列的前L位与第二序列的初值序列的关系(表达)式;再将初值序列的序列值代入至所得到的关系式,得到各段子序列的前L个值。前述的关系式可通过预先设置而实现。
下面,举个例子,假定L=31、NC=31为例,第二序列的初值序列是x2(0)…x2(30),第1段子序列中的前31位中的前6位用初值序列的部分元素来表达的关系式是:
x2(31)=(x2(0)+x2(1)+x2(2)+x2(3))mod2;
x2(32)=(x2(1)+x2(2)+x2(3)+x2(4))mod2;
x2(33)=(x2(2)+x2(3)+x2(4)+x2(5))mod2;
x2(34)=(x2(3)+x2(4)+x2(5)+x2(6))mod2;
x2(35)=(x2(7)+x2(4)+x2(5)+x2(6))mod2;
将初值序列的序列值代入至上述的关系式,就可以得到第1段子序列中的前6个值x2(31)~x2(35)。
上述的关系式仅为具体举例而已,并不限定于本发明实施例的所有表现形式。当第二序列的初值序列确定后,只要找出第二序列中的各子序列的前L位与初值序列的部分或全部元素之间的关系,并用初值序列中的部分或全部元素对各段子序列的前L位进行关系式表达即可。
本发明实施例中,对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,再计算第一序列的N段子序列中每段子序列的序列值;确定第二序列的初值序列的序列值,依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值,将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值,依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。其中,考虑到在LTE系统中第二序列的初值序列通常为不固定,本实施例在对第二序列x2(NC)、x2(1+NC)…x2(MPN-1+NC)进行N段子序列的划分后,依据初值序列的序列值,同时得到第二序列中各段子序列的前L个值,并依据各段子序列的前L个值,同时得到各段子序列中除前L个值之外的其它值,即对各段子序列的序列值进行并行运算。与相关技术相比,对第二序列的各段子序列的序列值进行并行运算可实现伪随机序列的快速计算,可有效减少计算量和节约存储空间。
本发明提供的获取伪随机序列的第三实施例,在前述第二实施例的基础上,如图2所示,所述依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值(步骤1023),包括:
步骤1023A:针对各段子序列中任意一段子序列的前L个值,将该段子序列的前L个值至少进行三次移位,得到至少三个第一移位序列;
这里,执行步骤1024A~1023D的通信实体可以为终端和/或基站。因为对第二序列进行了N段子序列的划分,各个子序列之间是相互独立的,可以同时对各段子序列进行自身序列值的计算,在计算完成后再将每段子序列的序列值按照段号进行依次集合即可得到第二序列的序列值。第二序列与第一序列按照前述公式(1)进行序列值的代入即可得到伪随机序列c(n)。
由于第二序列的各段子序列的序列值是同时运算且运算方法相同,所以步骤1023A~步骤1023D中描述的方法是针对第二序列的任意段子序列的序列值的计算方法。
在前述方案中,可以根据第二序列的初值公式与各段子序列的前L位的关系式,得到各段子序列的前L个值。在硬件实现上,对每段子序列的前L个值至少进行三次移位如至少三次左移或至少三次右移,每次可移动相同的位数如每次移动一位,当然也可以每次移动二位或三位,此处不做限定。每次移动得到一个第一移位序列。
步骤1023B:将该段子序列的前L个值及所述至少三个第一移位序列进行M位的异或运算,得到第一目标序列,M为正整数;
这里,针对N段子序列中的其中一段子序列,将该子序列中的前L个值及前L值经过至少三次移位而得到的至少三个第一移位序列进行M位的异或运算。通常选取M的位数大于L的位数,如L=31bit时,M可取32bit,当然M还可以取其它值。
步骤1023C:将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度;
这里,对第一目标序列进行两部分的分割得到两部分子序列即第一部分子序列和第二部分子序列,这两部分子序列的bit长度需不同,通常分割的第二部分子序列的长度大于第一部分子序列的长度。
步骤1023D:依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值。
这里,通过对第一目标序列分割而得到的两部分子序列得到该段子序列中的除了L个值之外的其他值。
其中,所述依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值(步骤1023D),进一步为:
将第一目标序列的第二部分子序列至少进行三次移位,得到至少三个第二移位序列;将第一目标序列的第一部分子序列与所述至少三个第二移位序列进行M位的异或运算,得到第二目标序列;将第二目标序列进行分割,得到第二目标序列的第一部分子序列和第二部分子序列,第二目标序列的第二部分子序列的长度大于第二目标序列的第一部分子序列的长度;将第二目标序列的第二部分子序列至少进行三次移位,得到至少三个第三移位序列;将第二目标序列的第一部分子序列与所述至少三个第三移位序列进行M位的异或运算,得到第三目标序列;以此类推,直至计算出最后一个目标序列;确定第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为该段子序列中除前L个值之外的其它值。
此处,在硬件实现上,第一目标序列的第二部分子序列、第二目标序列的第二部分子序列移位以及其它目标序列(第三目标序列、第四目标序列…最后一个目标序列)的第二部分子序列的移位的次数需相同,每次移动的方向及位数也需相同,优选为与对应段子序列的前L个值的移位次数与位数保持一致但移动方向相反。
在本发明实施例中,对第二序列中的各段子序列的序列值进行并行运算,具体的先通过各段子序列的前L位与第二序列的初值序列之间的关系式得到各段子序列的前L个值,针对各段子序列中任意一段子序列的前L个值,将该段子序列的前L个值至少进行三次移位,得到至少三个第一移位序列,将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度,依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值。在硬件上某段子序列中的某个值占用的比特位较少,优选为占用1bit,与相关技术中基于状态转移矩阵乘法的伪随机序列的产生方法相比,可有效节省存储空间,且移位运算较矩阵乘法运算更为简单,有易于物理实现。另外,同时对各段子序列的序列值进行运算可实现伪随机序列的快速计算,节省计算时间。
下面结合图4对本发明实施例做进一步的说明,以加深对本实施例的理解。
在图4中假定L=31,是第二序列的N段子序列中其中一段子序列如第Np(Np=1、2…N)段子序列的序列值的计算过程。同时,M=32,采用32bit(图4中的每一行均具有32个小格)的运算单元进行异或运算。
在第Np段子序列中,根据第二序列的初值公式x2(0)…x2(30)与第Np段子序列的前L=31位的关系式,得到第Np段子序列的前L=31个值,如图4中的第1行所示的数值0~数值30所占用的小格。将第Np段子序列的前L=31个值进行一次右移,右移一位,得到第一个第一移位序列如图4中的第2行所示的数值1~30所占的小格。然后,将第一个第一移位序列再进行一次右移且右移一位,得到第二个第一移位序列如图4中的第3行所示的数值2~30所占的小格。再将第二个第一移位序列进行一次右移且右移一位,得到第三个第一移位序列如图4中的第4行所示的数值3~30所占的小格。将所述前L=31个值、第一个~第三个第一移位序列进行32位的异或运算,得到第一目标序列,如图4中的第5行所示的数值31~58及H0~H3所占的小格。
将第一目标序列进行两部分的分割得到第一部分子序列(如图4中第5行所示的H0~H3所占的小格)和第二部分子序列(如图4中第5行所示的数值31~58所占的小格),将第一目标序列的第二部分子序列保留下来作为图4中第6行的数据。将所保留下来的第二部分子序列进行一次左移且左移一位,得到第一个第二移位序列如图4中第7行数值31~58所占的小格,再将第一个第二移位序列进行一次左移且左移一位,得到第二个第二移位序列如图4中第8行数值31~58所占的小格,再将第二个第二移位序列进行一次左移且左移一位,得到第三个第二移位序列如图4中第9行数值31~58所占的小格,将第一目标序列的第一部分子序列即第5行所示的H0~H3所占的小格保留下来并作为32位异或运算的低四位。接下来,将第一目标序列的第二部分子序列、第一个~第三个第二移位序列及第一目标序列的第一部分子序列进行32位的异或运算,得到第二目标序列如图4中的第11行数值59~86以及H0~H3所占的小格)。
将第二目标序列进行两部分的分割得到第一部分子序列(如图4中第11行所示的H0~H3所占的小格)和第二部分子序列(如图4中第11行所示的数值59~86所占的小格),将第二目标序列的第二部分子序列保留下来作为图4中第12行的数据。将所保留下来的第二部分子序列进行一次左移且左移一位,得到第一个第二移位序列如图4中第13行数值59~86所占的小格,再将第一个第二移位序列进行一次左移且左移一位,得到第二个第二移位序列如图4中第14行数值59~86所占的小格,再将第二个第二移位序列进行一次左移且左移一位,得到第三个第二移位序列如图4中第15行数值59~86所占的小格,将第二目标序列的第一部分子序列即第16行所示的H0~H3所占的小格保留下来并作为32位异或运算的低四位。接下来,将第二目标序列的第二部分子序列、第一个~第三个第三移位序列及第二目标序列的第一部分子序列进行32位的异或运算,得到第三目标序列如图4中的第17行数值87~114以及H0~H3所占的小格)。
以此类推,直至计算出第Np段子序列中的最后一个目标序列。第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为第Np段子序列中除前L个值之外的其它值。
需要说明的是第一目标序列、第二目标序列、第三目标序列及其他目标序列的一部分子序列之所以占用4个小格,是因为前述公式(3)中x2(n+31)与x2(n+3),x2(n+2),x2(n+1),x2(n)这4个值有关。
这里,因为第一序列x1(NC)、x1(1+NC)…x1(MPN+NC)的初值序列x1(0)…x1(30)是已知的,根据前述公式(2)可得出第一序列的N段子序列中的各个元素的值即第一序列的N段子序列的序列值是已知的。考虑到第二序列中的N段子序列的序列值是并行运算的,当第二序列中的N段子序列中的第Np段子序列的序列值计算出时立即读取第一序列的第Np段子序列的序列值,并根据前述公式(1)得出伪随机序列的部分序列值。
在上述实施例中,采用32bit的运算单元进行异或运算即图4中的一个小格仅占用1个比特位,与相关技术中基于状态转移矩阵乘法的伪随机序列的产生方法相比,可有效节省存储空间,且移位运算较矩阵乘法运算更为简单,有易于物理实现。另外,同时对各段子序列的序列值进行运算可实现伪随机序列的快速计算,节省计算时间。
本发明提供的获取伪随机序列的装置,应用于通信系统中如码分多址系统、时分多址系统、频分多址系统及LTE系统中,优选为LTE系统。如图5所示,所述装置包括:第一划分单元501、第一计算单元502、第二计算单元503、第一获取单元504;其中,
第一划分单元501,用于对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,N为正整数;
第一计算单元502,用于计算第一序列的N段子序列中每段子序列的序列值;
第二计算单元503,用于计算第二序列的N段子序列中每段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算;
第一获取单元504,用于依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。
其中,所述第二计算单元502,进一步用于:
确定第二序列的初值序列的序列值;
依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,L为正整数;
依据各段子序列的前L个值,得到各段子序列中除前L个值之外的其它值;
将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值。
所述第二计算单元502,用于:在确定第二序列的初值序列的序列值之前,确定第二序列的初值序列;
确定第二序列中各段子序列的前L位与所述初值序列的关系式;
根据各段子序列的前L位与所述初值序列的关系式和所述初值序列的序列值,计算第二序列中各段子序列的前L个值。
上述方案中,所述第二计算单元502,还用于:
针对各段子序列中任意一段子序列的前L个值,
将该段子序列的前L个值至少进行三次移位,得到至少三个第一移位序列;
将该段子序列的前L个值及所述至少三个第一移位序列进行M位的异或运算,得到第一目标序列,M为正整数;
将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度;
依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值。
所述第二计算单元502,具体用于:
将第一目标序列的第二部分子序列至少进行三次移位,得到至少三个第二移位序列;
将第一目标序列的第一部分子序列与所述至少三个第二移位序列进行M位的异或运算,得到第二目标序列;
将第二目标序列进行分割,得到第二目标序列的第一部分子序列和第二部分子序列,第二目标序列的第二部分子序列的长度大于第二目标序列的第一部分子序列的长度;
将第二目标序列的第二部分子序列至少进行三次移位,得到至少三个第三移位序列;
将第二目标序列的第一部分子序列与所述至少三个第三移位序列进行M位的异或运算,得到第三目标序列;
以此类推,直至计算出最后一个目标序列;
确定第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为该段子序列中除前L个值之外的其它值。
本发明实施例中,对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,再计算第一序列、第二序列的N段子序列中每段子序列的序列值,依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。其中,考虑到在LTE系统中第二序列的初值序列通常为不固定,本实施例在对第二序列x2(NC)、x2(1+NC)…x2(MPN-1+NC)进行N段子序列的划分后,对各段子序列的序列值进行并行运算。与相关技术相比,对第二序列的各段子序列的序列值进行并行运算可实现伪随机序列的快速计算,可有效减少计算量和节约存储空间。
需要说明的是,本发明实施例的获取伪随机序列的装置,由于该装置解决问题的原理与前述的获取伪随机序列的方法相似,因此,装置的实施过程及实施原理均可以参见前述获取伪随机序列的方法的实施过程及实施原理描述,重复之处不再赘述。
在实际应用中,所述第一划分单元501、第一计算单元502、第二计算单元503及第一获取单元504均可由中央处理单元(CPU,Central Processing Unit)、或数字信号处理(DSP,Digital Signal Processor)、或微处理器(MPU,Micro Processor Unit)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)等来实现。
本领域技术人员应当理解,图5中所示的获取伪随机序列的装置中的各处理单元的实现功能可参照前述获取伪随机序列方法的相关描述而理解。本领域技术人员应当理解,图5所示的获取伪随机序列的装置中各处理单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种获取伪随机序列的方法,其特征在于,所述方法包括:
对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,N为正整数;
计算第一序列的N段子序列中每段子序列的序列值;
确定第二序列的初值序列的序列值;
依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,L为正整数;
针对各段子序列中任意一段子序列的前L个值,将该段子序列的前L个值至少进行三次移位,得到至少三个第一移位序列;
将该段子序列的前L个值及所述至少三个第一移位序列进行M位的异或运算,得到第一目标序列,M为正整数;
将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度;
依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值;
将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算;
依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。
2.根据权利要求1所述的方法,其特征在于,
在第一序列的各段子序列中具有的bit位相同,在第二序列的各段子序列中具有的bit位相同。
3.根据权利要求1所述的方法,其特征在于,在确定第二序列的初值序列的序列值之前,所述方法还包括:
确定第二序列的初值序列;
确定第二序列中各段子序列的前L位与所述初值序列的关系式;
相应的,所述依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,包括:
根据各段子序列的前L位与所述初值序列的关系式和所述初值序列的序列值,计算第二序列中各段子序列的前L个值。
4.根据权利要求1所述的方法,其特征在于,
所述第二序列的初值序列是不固定的。
5.根据权利要求1所述的方法,其特征在于,所述依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值,包括:
将第一目标序列的第二部分子序列至少进行三次移位,得到至少三个第二移位序列;
将第一目标序列的第一部分子序列与所述至少三个第二移位序列进行M位的异或运算,得到第二目标序列;
将第二目标序列进行分割,得到第二目标序列的第一部分子序列和第二部分子序列,第二目标序列的第二部分子序列的长度大于第二目标序列的第一部分子序列的长度;
将第二目标序列的第二部分子序列至少进行三次移位,得到至少三个第三移位序列;
将第二目标序列的第一部分子序列与所述至少三个第三移位序列进行M位的异或运算,得到第三目标序列;
以此类推,直至计算出最后一个目标序列;
确定第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为该段子序列中除前L个值之外的其它值。
6.一种获取伪随机序列的装置,其特征在于,所述装置包括:
第一划分单元,用于对第一序列、第二序列分别进行N段的划分,得到第一序列的N段子序列、第二序列的N段子序列,N为正整数;
第一计算单元,用于计算第一序列的N段子序列中每段子序列的序列值;
第二计算单元,用于确定第二序列的初值序列的序列值;依据所述初值序列的序列值,得到第二序列中各段子序列的前L个值,L为正整数;针对各段子序列中任意一段子序列的前L个值,将该段子序列的前L个值至少进行三次移位,得到至少三个第一移位序列;将该段子序列的前L个值及所述至少三个第一移位序列进行M位的异或运算,得到第一目标序列,M为正整数;将第一目标序列进行分割,得到第一目标序列的第一部分子序列和第二部分子序列,第一目标序列的第二部分子序列的长度长于第一目标序列的第一部分子序列的长度;依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值;将各段子序列的前L个值和对应段子序列中除前L个值之外的其它值进行集合,得到第二序列中各段子序列的序列值,其中至少对第二序列的各段子序列的序列值进行并行运算;
第一获取单元,用于依据第一序列中每段子序列的序列值和第二序列中每段子序列的序列值,得到伪随机序列。
7.根据权利要求6所述的装置,其特征在于,
在第一序列的各段子序列中具有的bit位相同,在第二序列的各段子序列中具有的bit位相同。
8.根据权利要求6所述的装置,其特征在于,所述第二计算单元,还用于:
在确定第二序列的初值序列的序列值之前,确定第二序列的初值序列;
确定第二序列中各段子序列的前L位与所述初值序列的关系式;
根据各段子序列的前L位与所述初值序列的关系式和所述初值序列的序列值,计算第二序列中各段子序列的前L个值。
9.根据权利要求6所述的装置,其特征在于,
所述第二序列的初值序列是不固定的。
10.根据权利要求6所述的装置,其特征在于,所述第二计算单元,具体用于依据第一目标序列的第一部分子序列和第二部分子序列,得到该段子序列中除前L个值之外的其它值,包括:
将第一目标序列的第二部分子序列至少进行三次移位,得到至少三个第二移位序列;
将第一目标序列的第一部分子序列与所述至少三个第二移位序列进行M位的异或运算,得到第二目标序列;
将第二目标序列进行分割,得到第二目标序列的第一部分子序列和第二部分子序列,第二目标序列的第二部分子序列的长度大于第二目标序列的第一部分子序列的长度;
将第二目标序列的第二部分子序列至少进行三次移位,得到至少三个第三移位序列;
将第二目标序列的第一部分子序列与所述至少三个第三移位序列进行M位的异或运算,得到第三目标序列;
以此类推,直至计算出最后一个目标序列;
确定第一目标序列的第二部分子序列至倒数第二个目标序列的第二部分子序列以及最后一个目标序列的集合为该段子序列中除前L个值之外的其它值。
CN201610927601.6A 2016-10-31 2016-10-31 一种获取伪随机序列的方法和装置 Active CN108023661B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610927601.6A CN108023661B (zh) 2016-10-31 2016-10-31 一种获取伪随机序列的方法和装置
PCT/CN2017/097350 WO2018076894A1 (zh) 2016-10-31 2017-08-14 一种获取伪随机序列的方法和装置、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610927601.6A CN108023661B (zh) 2016-10-31 2016-10-31 一种获取伪随机序列的方法和装置

Publications (2)

Publication Number Publication Date
CN108023661A CN108023661A (zh) 2018-05-11
CN108023661B true CN108023661B (zh) 2019-08-06

Family

ID=62023077

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610927601.6A Active CN108023661B (zh) 2016-10-31 2016-10-31 一种获取伪随机序列的方法和装置

Country Status (2)

Country Link
CN (1) CN108023661B (zh)
WO (1) WO2018076894A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110661591B (zh) * 2018-06-28 2022-01-25 中兴通讯股份有限公司 数据处理方法、设备以及计算机可读存储介质
CN114063980A (zh) * 2020-07-31 2022-02-18 深圳市中兴微电子技术有限公司 产生伪随机序列的方法和装置、电子设备、存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1783939A1 (fr) * 2005-11-07 2007-05-09 Alcatel Lucent Dispositif de génération de séquences d'éléments de codage pour un équipement de transmission d'un réseau de communication de type CDMA
US7681098B2 (en) * 2006-04-20 2010-03-16 Kabushiki Kaisha Toshiba Systems and methods for improved fault coverage of LBIST testing
US8756264B2 (en) * 2006-06-20 2014-06-17 Google Inc. Parallel pseudorandom number generation
CN101132383B (zh) * 2007-09-26 2014-09-10 中兴通讯股份有限公司 伪随机序列的生成方法
CN101394266B (zh) * 2008-10-24 2010-12-08 华中科技大学 一种生成变参数混沌信号的方法及混沌保密通信系统
CN101662305B (zh) * 2009-09-25 2012-06-27 西安电子科技大学 直接序列扩频系统伪随机码估计方法
CN103812596B (zh) * 2012-11-09 2017-07-04 联芯科技有限公司 伪随机序列的生成方法和装置
CN105515608A (zh) * 2014-09-26 2016-04-20 中兴通讯股份有限公司 一种扩频处理方法及装置
CN105227259B (zh) * 2015-07-02 2018-09-07 中国科学院计算技术研究所 一种m序列并行产生方法和装置

Also Published As

Publication number Publication date
CN108023661A (zh) 2018-05-11
WO2018076894A1 (zh) 2018-05-03

Similar Documents

Publication Publication Date Title
CN105138769B (zh) 一种用于可编程电路的时序模型生成方法及装置
WO2020220743A1 (zh) 一种计算机数据处理方法及装置
CN108023661B (zh) 一种获取伪随机序列的方法和装置
TWI406173B (zh) 微處理器之除錯及追查介面之追查壓縮方法
CN103812596B (zh) 伪随机序列的生成方法和装置
CN102945224A (zh) 基于fpga的高速可变点fft处理器及其处理方法
CN108809506A (zh) 一种编码方法及装置
CN105227259B (zh) 一种m序列并行产生方法和装置
CN109150383A (zh) 一种Polar码的编码方法及装置
CN109375897A (zh) 伪随机序列的生成方法
CN106303312B (zh) 用于压缩感知cmos图像传感器的二维随机序列产生电路
EP2827516B1 (en) Scrambling code generation method, apparatus and scrambling code processing apparatus
US11586419B2 (en) Dynamic pseudo-random bit sequence generator and methods therefor
US20200412479A1 (en) Polar coding system and parallel computation method for polar coding system
CN105843588A (zh) 一种基于mic的随机数发生器分段式并行化方法
CN103929278B (zh) 一种基于交织器伪随机码的构造方法
CN103793333B (zh) 非易失性存储器加密的方法和装置以及非易失性存储器
CN104199635B (zh) 集成crc校验电路的伪随机数发生器
CN104767544B (zh) 一种实现解扰解扩的方法和矢量运算器
RU154062U1 (ru) Устройство для перебора перестановок
CN103929271B (zh) 一种lte系统速率匹配的并行实现方法和装置
JP5328447B2 (ja) 高位合成装置および高位合成方法、半導体集積回路の製造方法、制御プログラム、可読記憶媒体
CN110313015A (zh) 数据处理方法和处理电路
CN105871358A (zh) 展频时脉产生方法及装置
CN113741975B (zh) 芯片、随机选取多个数据的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant