CN110661591B - 数据处理方法、设备以及计算机可读存储介质 - Google Patents
数据处理方法、设备以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110661591B CN110661591B CN201810691019.3A CN201810691019A CN110661591B CN 110661591 B CN110661591 B CN 110661591B CN 201810691019 A CN201810691019 A CN 201810691019A CN 110661591 B CN110661591 B CN 110661591B
- Authority
- CN
- China
- Prior art keywords
- sequence
- subsequence
- formula
- bits
- generating
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03828—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
- H04L25/03866—Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
- H04L25/03872—Parallel scrambling or descrambling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J13/00—Code division multiplex systems
- H04J13/0007—Code type
- H04J13/0022—PN, e.g. Kronecker
- H04J13/0029—Gold
-
- 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
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Error Detection And Correction (AREA)
- Complex Calculations (AREA)
Abstract
本发明实施例公开一种数据处理方法、设备以及计算机可读存储介质,该方法包括:确定生成伪随机序列的并行线程数的基准值;根据第一序列生成公式生成的第一序列,得到第一序列的第一子序列;并推导出第一序列的递推公式;根据第二序列生成公式生成的第二序列,得到第二序列的第一子序列;并推导出第二序列的递推公式;根据第一序列的递推公式、第二序列的递推公式、第一序列的第一子序列以及第二序列的第一子序列,并行迭代生成伪随机序列;对数据进行加扰或解扰。本发明实施例通过并行迭代生成伪随机序列对数据进行加扰或解扰;伪随机序列生成时间不会随序列长度线性增加。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据处理方法、设备以及计算机可读存储介质。
背景技术
加扰和解扰是无线通信中常用的技术,发送端通过扰码序列对数据进行加扰,接收端使用相同的扰码序列对数据进行解扰,其目的是可以使信道中传输的数据具有随机性,能够有效避免数据之间的干扰。
扰码序列通常采用伪随机序列,伪随机序列包括m序列、Gold序列等。其中Gold序列是1967年R.Gold在m序列基础上提出并分析的一种特性较好的伪随机序列,它是由两个码长相等、码时钟速率相同的m序列优选对通过模2相加而构成。
现有技术存在的问题是,加扰和解扰中的伪随机序列生成耗时,且随着序列长度的增加,伪随机生成的时间呈线性增长。
发明内容
有鉴于此,本发明实施例的目的在于提供一种数据处理方法、设备以及计算机可读存储介质,以解决加扰和解扰中的伪随机序列生成耗时,且随着序列长度的增加,伪随机生成的时间呈线性增长的问题。
本发明实施例解决上述技术问题所采用的技术方案如下:
根据本发明实施例的一个方面,提供的一种数据处理方法,所述方法包括:
确定生成伪随机序列的并行处理位宽M;
根据第一序列生成公式生成的第一序列,得到所述第一序列的第一子序列X1_M;并根据所述第一序列生成公式和所述第一序列的第一子序列X1_M,推导出第一序列的递推公式x1(n+i*M)(i≥1);
根据第二序列生成公式生成的第二序列,得到所述第二序列的第一子序列X2_M;并根据所述第二序列生成公式和所述第二序列的第一子序列X2_M,推导出第二序列的递推公式x2(n+i*M)(i≥1);
根据所述第一序列的递推公式x1(n+i*M)(i≥1)、所述第二序列的递推公式x2(n+i*M)(i≥1)、所述第一序列的第一子序列X1_M以及所述第二序列的第一子序列X2_M,并行迭代生成伪随机序列;
根据生成的伪随机序列,对数据进行加扰或解扰。
根据本发明实施例的另一个方面,提供的一种数据处理设备,所述设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现上述的数据处理方法的步骤。
根据本发明实施例的另一个方面,提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现上述的数据处理方法的步骤。
本发明实施例的数据处理方法、设备以及计算机可读存储介质,通过第一序列的递推公式、第二序列的递推公式、第一序列的第一子序列以及第二序列的第一子序列,并行迭代生成伪随机序列并对数据进行加扰或解扰;解决了加扰和解扰中的伪随机序列生成耗时,且随着序列长度的增加,伪随机生成的时间呈线性增长的问题。
附图说明
图1为本发明实施例的Gold序列生成结构示意图;
图2为本发明第一实施例的数据处理方法流程示意图;
图3为本发明实施例的Gold序列64位生成方法示意图;
图4为本发明实施例的伪随机第一、第二序列并行迭代生成方法示意图;
图5为本发明实施例的M=64的伪随机序列迭代并行过程示意图;
图6为本发明第二实施例的数据处理设备结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一实施例
为了更好地阐述本实施例,以下对本实施例涉及到的有关技术进行详细地说明:
在3GPP LTE和5G NR中,采用Gold序列对数据进行加扰和解扰,其生成公式如下:
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)
从上述的伪随机序列生成公式可以看出,Gold序列由两个m序列移位相加得到,图1为Gold序列生成示意结构图。
然而随着传输速率越来越高,所需的扰码速率也越来越高,通常的扰码序列生成方法耗时高,不能满足高速通信的要求。扰码的并行生成方式可以提高扰码序列的生成速率,常见的扰码并行技术主要有查表法、矩阵法等。
查表法采用的是空间换取时间的思想,优点是速度快、复杂度低,但是所需存储空间随着扰码长度的增加而指数增大,只适用生成多项式阶数低的扰码序列的生成。对于LTE和5G NR来说,扰码序列的生成多项式已经达到了31阶,查找表法已不适用。
矩阵法是采用状态转移矩阵和初始向量,来减少扰码序列生成时的多次移位迭代。矩阵法对节省存储空间起到一定的作用,但是矩阵的乘法随着矩阵的维数增加,运算量急剧增加。对于较长的扰码序列,也无法并行生成。
基于上述技术,如图2所示,本发明第一实施例提供一种数据处理方法,所述方法包括:
步骤S11:确定生成伪随机序列的并行处理位宽M;
在本实施例中,M和处理器的位宽有关,一般地为32位或64位。
步骤S12:根据第一序列生成公式生成的第一序列,得到所述第一序列的第一子序列X1_M;并根据所述第一序列生成公式和所述第一序列的第一子序列X1_M,推导出第一序列的递推公式x1(n+i*M)(i≥1)。
在本实施例中,第一序列生成公式可参考前述公式(2)所示。
在本实施例中,得到的所述第一序列的第一子序列X1_M为M位的无符号数,M位无符号数表示为:
X1=aM-1x1(m+M-1)+aM-2x1(m+M-2)+……+a0x1(m)
m=0,M,2M,...
ai∈{0,1} i=0,1,2,...,M-1;
步骤S13:根据第二序列生成公式生成的第二序列,得到所述第二序列的第一子序列X2_M;并根据所述第二序列生成公式和所述第二序列的第一子序列X2_M,推导出第二序列的递推公式x2(n+i*M)(i≥1)。
在本实施例中,第二序列生成公式可参考前述公式(3)所示。
与前述类似的,得到的所述第二序列的第一子序列X2_M也为M位的无符号数,M位无符号数表示为:
X2=aM-1x2(m+M-1)+aM-2x2(m+M-2)+……+a0x2(m)
m=0,M,2M,...
ai∈{0,1} i=0,1,2,...,M-1;
作为示例地,以下以M=64为例对所述第一序列的第一子序列X1_M的计算、以及第一序列的递推公式x1(n+i*M)(i≥1)的推导进行说明:
定义32位无符号数X1_low和X1_high分别保存X1_M序列的低32位和高32位,X1_low的初始值为1。根据前述公式(2),可得到X1_M的计算方法如下:
X1_tmp1=(X1_low>>1)^(X1_low>>4) X1:bit32-bit59
X1_tmp2=(X1_low>>29)|(X1_tmp1<<3) X1:bit29-bit60
X1_high=((X1_tmp1<<4)>>4)|((X1_tmp1^X1_tmp2)<<28)
X1_M=X1_low+(X1_high<<32)
计算过程可参考附图3所示。
已知第一序列的第一子序列X1_M X1_M,可以并行计算第一序列的x1(n) n∈[64,127],即X1_2M。x1(n+64)的推导过程为例:
x1(n+64)
=x1(n+33+31)
=x1(n+33+3)+x1(n+33)
=x1(n+5+31)+x1(n+2+31)
=x1(n+5+3)+x1(n+5)+x1(n+2+3)+x1(n+2)
=x1(n+8)+x1(n+2)
上述推导中x1(n) n∈[0,31],从x1(n+64)的递推公式,可以看出能够一次并行生成序列的56位,其余8位用生成的56位和x1(n+31)的递推公式得到。计算公式如下:
X1_tmp1=(X1_M>>8)^(X1_M>>2) X1:bit64-bit119
X1_tmp2=(X1_tmp1>>28)|(X1_tmp1>>25) X1:bit120-bit127
X1_2M=(X1_tmp2<<56)|(X1_tmp1)
以此类推,可以推导出x1(n+2*64)......x1(n+i*64)的计算公式。
需要说明的是,所述第二序列的第一子序列X2_M的计算、以及第二序列的递推公式x2(n+i*M)(i≥1)的推导与此类似,在此不作赘述。
在一种实施方式中,所述根据第一序列生成公式生成的第一序列,得到所述第一序列的第一子序列X1_M包括:
根据第一序列生成公式生成所述第一序列的前M位,将所述第一序列的前M位作为所述第一序列的第一子序列X1_M;
所述根据第二序列生成公式生成的第二序列,得到所述第二序列的第一子序列X2_M包括:
根据第二序列生成公式生成所述第二序列的前M位,将所述第二序列的前M位作为所述第二序列的第一子序列X2_M。
在该实施方式中,由于没有序列偏移Nc,直接将所述第一序列的前M位作为所述第一序列的第一子序列X1_M。
在另一种实施方式中,所述根据第一序列生成公式生成的第一序列,得到所述第一序列的第一子序列X1_M包括:
根据第一序列生成公式生成所述第一序列的前M位,并根据序列偏移Nc计算并行迭代次数;根据计算出的并行迭代次数,并行迭代生成所述第一序列的前K位,其中K≥M+Nc;将所述第一序列的序列偏移Nc之后的M位,作为所述第一序列的第一子序列X1_M;
所述根据第二序列生成公式生成的第二序列,得到所述第二序列的第一子序列X2_M包括:
根据第二序列生成公式生成所述第二序列的前M位,并根据序列偏移Nc计算并行迭代次数;根据计算出的并行迭代次数,并行迭代生成所述第二序列的前K位,其中K≥M+Nc;将所述第二序列的序列偏移Nc之后的M位,作为所述第二序列的第一子序列X2_M。
在该实施方式中,所述根据序列偏移Nc计算并行迭代次数包括:
作为示例地,假设在生成LTE或5G NR的扰码序列生成时,跳过1600位的序列偏移,即Nc=1600。
因此在扰码序列生成时,需要对第一、第二序列跳过Nc=1600位,其中c(n)=(x1(n+NC)+x2(n+NC))mod2。取M=64,采用本实施方式,可以一次得到序列的1600位到1663位。以第一序列x1(n)为例,参考图4描述实施过程:
根据第一序列生成公式生成所述第一序列的前64位。
按照并行迭代方法,经过5次并行迭代,可生成第一序列的1-2048位。进而生成第一序列的第1600位,即第一序列跳过1600位的值。同样的得到第二序列跳过1600位的值。
步骤S14:根据所述第一序列的递推公式x1(n+i*M)(i≥1)、所述第二序列的递推公式x2(n+i*M)(i≥1)、所述第一序列的第一子序列X1_M以及所述第二序列的第一子序列X2_M,并行迭代生成伪随机序列。
请参考图5所示,在本实施例中,所述根据所述第一序列的递推公式x1(n+i*M)(i≥1)、所述第二序列的递推公式x2(n+i*M)(i≥1)、所述第一序列的第一子序列X1_M以及所述第二序列的第一子序列X2_M,并行迭代生成伪随机序列包括:
启动一个线程,根据所述第一序列的递推公式x1(n+M)以及所述第一序列的第一子序列X1_M,计算得到所述第一序列的第二子序列X1_2M;同样地计算得到所述第二序列的第二子序列X2_2M;
启动二个线程,根据所述第一序列的递推公式x1(n+2M)以及所述第一序列的第一、第二子序列X1_M、X1_2M,通过所述二个线程并行计算得到所述第一序列的第三、第四子序列X1_3M、X1_4M;同样地计算得到所述第二序列的第三、第四子序列X2_3M、X2_4M;
启动四个线程,根据所述第一序列的递推公式x1(n+4M)以及所述第一序列的第一、第二、第三、第四子序列X1_M、X1_2M、X1_3M、X1_4M,通过所述四个线程并行计算得到所述第一序列的第五、第六、第七、第八子序列X1_5M、X1_6M、X1_7M、X1_8M;同样地计算得到所述第二序列的第五、第六、第七、第八子序列X2_5M、X2_6M、X2_7M、X2_8M;
依次进行迭代计算,直到完成伪随机序列的生成。
可选的,所述依次进行迭代计算,直到完成伪随机序列的生成包括:
每次迭代计算启动的线程数为上次迭代计算启动的线程数的2倍;若启动的线程数达到最大线程数,则后续迭代计算启动的线程数保持不变;
当伪随机序列长度等于伪随机序列的目标长度时,终止迭代计算。
可选的,所述迭代计算的次数通过以下公式进行计算:
步骤S15、根据生成的伪随机序列,对数据进行加扰或解扰。
为了更好地阐述并行迭代生成伪随机序列的过程,以下仍以M=64为例(假设最大线程数为1024)进行说明:
1)、第一次迭代:
启动一个线程,根据第一序列的递推公式x1(n+64)以及第一序列的第一子序列X1_M,并行计算得到第一序列的第二个序列X1_2M。同样地计算得到第二序列的第二子序列X2_2M。
2)、第二次迭代:
启动二个线程,根据第一序列的递推公式x1(n+2*64),第一序列的第一、第二子序列X1_M、X1_2M,由二个线程并行计算得到第一序列的第三、第四子序列X1_3M、X1_4M。其中第一个子序列X1_M作为初始值递推得到第三个子序列X1_3M,第二个子序列X1_2M作为初始值递推得到第四个子序列X1_4M。同样方法计算第二序列的第三、第四子序列X2_3M、X2_4M。
3)、第三次迭代:
启动四个线程,根据第一序列的递推公式x1(n+4*64)以及第一序列的第一、第二、第三、第四子序列X1_M、X1_2M、X1_3M、X1_4M,通过四个线程并行计算得到第一序列的第五、第六、第七、第八子序列X1_5M、X1_6M、X1_7M、X1_8M。其中由第一子序列X1_M作为初始值递推得到第五子序列X1_5M,由第二子序列X1_2M作为初始值递推得到第六子序列X1_6M,由第三子序列X1_3M作为初始值递推得到第七子序列X1_7M,由第四子序列X1_4M作为初始值递推得到第八子序列X1_8M。同样地计算得到第二序列的第五、第六、第七、第八子序列X2_5M、X2_6M、X2_7M、X2_8M。
4)、依次进行迭代计算,每次迭代计算启动的线程数为上次迭代计算启动的线程数的2倍;若启动的线程数达到1024时,则后续迭代计算启动的线程数保持不变;当伪随机序列长度等于伪随机序列的目标长度时,终止迭代计算。
以下对第一、第二序列跳过Nc=1600位的并行迭代生成伪随机序列的过程进行说明,仍假设M=64、最大线程数为1024:
首先生成第一、第二序列的前64位;然后按照前述实施方式,对第一、二序列跳过Nc=1600位,得到第一、第二序列的1600位到1663位。
以跳过Nc=1600位后的第一、第二序列为初始值,生成扰码对数据进行加扰。假设待加扰数据长度L,包含64位的个数为:共需要迭代的次数t2=log2B2。每次迭代根据已生成序列包含的子序列个数,启动对应数量的线程并行生成。每次迭代中,每个线程对生成的64位第一、第二序列进行异或运算,生成扰码并对数据进行加扰。
当已生成序列的长度大于等于1024×64位后,每次迭代启动1024个线程,使用最后的1024×64位数据,生成新的1024×64位数据。
本发明实施例的伪随机序列的并行生成方法,与查找表法相比,占用的存储空间小,且不会随序列长度增加;与矩阵法相比,计算量小。
本发明实施例的数据处理方法,通过第一序列的递推公式、第二序列的递推公式、第一序列的第一子序列以及第二序列的第一子序列,并行迭代生成伪随机序列并对数据进行加扰或解扰;解决了加扰和解扰中的伪随机序列生成耗时,且随着序列长度的增加,伪随机生成的时间呈线性增长的问题。
第二实施例
如图6所示,本发明第二实施例提供一种数据处理设备,所述设备包括:存储器21、处理器22及存储在所述存储器21上并可在所述处理器22上运行的数据处理程序,所述数据处理程序被所述处理器22执行时,用于实现以下所述的数据处理方法的步骤:
确定生成伪随机序列的并行处理位宽M;
根据第一序列生成公式生成的第一序列,得到所述第一序列的第一子序列X1_M;并根据所述第一序列生成公式和所述第一序列的第一子序列X1_M,推导出第一序列的递推公式x1(n+i*M)(i≥1);
根据第二序列生成公式生成的第二序列,得到所述第二序列的第一子序列X2_M;并根据所述第二序列生成公式和所述第二序列的第一子序列X2_M,推导出第二序列的递推公式x2(n+i*M)(i≥1);
根据所述第一序列的递推公式x1(n+i*M)(i≥1)、所述第二序列的递推公式x2(n+i*M)(i≥1)、所述第一序列的第一子序列X1_M以及所述第二序列的第一子序列X2_M,并行迭代生成伪随机序列;
根据生成的伪随机序列,对数据进行加扰或解扰。
所述数据处理程序被所述处理器22执行时,还用于实现以下所述的数据处理方法的步骤:
所述并行处理位宽M为32位或64位。
所述数据处理程序被所述处理器22执行时,还用于实现以下所述的数据处理方法的步骤:
所述根据第一序列生成公式生成的第一序列,得到所述第一序列的第一子序列X1_M包括:
根据第一序列生成公式生成所述第一序列的前M位,将所述第一序列的前M位作为所述第一序列的第一子序列X1_M;
所述根据第二序列生成公式生成的第二序列,得到所述第二序列的第一子序列X2_M包括:
根据第二序列生成公式生成所述第二序列的前M位,将所述第二序列的前M位作为所述第二序列的第一子序列X2_M。
所述数据处理程序被所述处理器22执行时,还用于实现以下所述的数据处理方法的步骤:
所述根据第一序列生成公式生成的第一序列,得到所述第一序列的第一子序列X1_M包括:
根据第一序列生成公式生成所述第一序列的前M位,并根据序列偏移Nc计算并行迭代次数;根据计算出的并行迭代次数,并行迭代生成所述第一序列的前K位,其中K≥M+Nc;将所述第一序列的序列偏移Nc之后的M位,作为所述第一序列的第一子序列X1_M;
所述根据第二序列生成公式生成的第二序列,得到所述第二序列的第一子序列X2_M包括:
根据第二序列生成公式生成所述第二序列的前M位,并根据序列偏移Nc计算并行迭代次数;根据计算出的并行迭代次数,并行迭代生成所述第二序列的前K位,其中K≥M+Nc;将所述第二序列的序列偏移Nc之后的M位,作为所述第二序列的第一子序列X2_M。
所述数据处理程序被所述处理器22执行时,还用于实现以下所述的数据处理方法的步骤:
所述数据处理程序被所述处理器22执行时,还用于实现以下所述的数据处理方法的步骤:
启动一个线程,根据所述第一序列的递推公式x1(n+M)以及所述第一序列的第一子序列X1_M,计算得到所述第一序列的第二子序列X1_2M;同样地计算得到所述第二序列的第二子序列X2_2M;
启动二个线程,根据所述第一序列的递推公式x1(n+2M)以及所述第一序列的第一、第二子序列X1_M、X1_2M,通过所述二个线程并行计算得到所述第一序列的第三、第四子序列X1_3M、X1_4M;同样地计算得到所述第二序列的第三、第四子序列X2_3M、X2_4M;
启动四个线程,根据所述第一序列的递推公式x1(n+4M)以及所述第一序列的第一、第二、第三、第四子序列X1_M、X1_2M、X1_3M、X1_4M,通过所述四个线程并行计算得到所述第一序列的第五、第六、第七、第八子序列X1_5M、X1_6M、X1_7M、X1_8M;同样地计算得到所述第二序列的第五、第六、第七、第八子序列X2_5M、X2_6M、X2_7M、X2_8M;
依次进行迭代计算,直到完成伪随机序列的生成。
所述数据处理程序被所述处理器22执行时,还用于实现以下所述的数据处理方法的步骤:
每次迭代计算启动的线程数为上次迭代计算启动的线程数的2倍;若启动的线程数达到最大线程数,则后续迭代计算启动的线程数保持不变;
当伪随机序列长度等于伪随机序列的目标长度时,终止迭代计算。
所述数据处理程序被所述处理器22执行时,还用于实现以下所述的数据处理方法的步骤:
本发明实施例的数据处理设备,通过第一序列的递推公式、第二序列的递推公式、第一序列的第一子序列以及第二序列的第一子序列,并行迭代生成伪随机序列并对数据进行加扰或解扰;解决了加扰和解扰中的伪随机序列生成耗时,且随着序列长度的增加,伪随机生成的时间呈线性增长的问题。
第三实施例
本发明第三实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时用于实现第一实施例所述的数据处理方法的步骤。
需要说明的是,本实施例的计算机可读存储介质,与第一实施例的方法属于同一构思,其具体实现过程详细见方法实施例,且方法实施例中的技术特征在本实施例中均对应适用,这里不再赘述。
本发明实施例的计算机可读存储介质,通过第一序列的递推公式、第二序列的递推公式、第一序列的第一子序列以及第二序列的第一子序列,并行迭代生成伪随机序列并对数据进行加扰或解扰;解决了加扰和解扰中的伪随机序列生成耗时,且随着序列长度的增加,伪随机生成的时间呈线性增长的问题。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (10)
1.一种数据处理方法,所述方法包括:
确定生成伪随机序列的并行处理位宽M;
根据第一序列生成公式生成的第一序列,得到所述第一序列的第一子序列X1_M;并根据所述第一序列生成公式和所述第一序列的第一子序列X1_M,推导出第一序列的第二子序列X1_2M,并根据所述第一序列的第二子序列X1_2M的推导过程,推导出所述第一序列的第二子序列X1_2M的计算公式,以此类推,得到所述第一序列的每个子序列的计算公式,形成所述第一序列的递推公式x1(n+i*M)(i≥1);
根据第二序列生成公式生成的第二序列,得到所述第二序列的第一子序列X2_M;并根据所述第二序列生成公式和所述第二序列的第一子序列X2_M,推导出第二序列的递推公式x2(n+i*M)(i≥1);
根据所述第一序列的递推公式x1(n+i*M)(i≥1)、所述第二序列的递推公式x2(n+i*M)(i≥1)、所述第一序列的第一子序列X1_M以及所述第二序列的第一子序列X2_M,并行迭代生成伪随机序列;
根据生成的伪随机序列,对数据进行加扰或解扰。
2.根据权利要求1所述的方法,其特征在于,所述并行处理位宽M为32位或64位。
3.根据权利要求1所述的方法,其特征在于,所述根据第一序列生成公式生成的第一序列,得到所述第一序列的第一子序列X1_M包括:
根据第一序列生成公式生成所述第一序列的前M位,将所述第一序列的前M位作为所述第一序列的第一子序列X1_M;
所述根据第二序列生成公式生成的第二序列,得到所述第二序列的第一子序列X2_M包括:
根据第二序列生成公式生成所述第二序列的前M位,将所述第二序列的前M位作为所述第二序列的第一子序列X2_M。
4.根据权利要求1所述的方法,其特征在于,所述根据第一序列生成公式生成的第一序列,得到所述第一序列的第一子序列X1_M包括:
根据第一序列生成公式生成所述第一序列的前M位,并根据序列偏移Nc计算并行迭代次数;根据计算出的并行迭代次数,并行迭代生成所述第一序列的前K位,其中K≥M+Nc;将所述第一序列的序列偏移Nc之后的M位,作为所述第一序列的第一子序列X1_M;
所述根据第二序列生成公式生成的第二序列,得到所述第二序列的第一子序列X2_M包括:
根据第二序列生成公式生成所述第二序列的前M位,并根据序列偏移Nc计算并行迭代次数;根据计算出的并行迭代次数,并行迭代生成所述第二序列的前K位,其中K≥M+Nc;将所述第二序列的序列偏移Nc之后的M位,作为所述第二序列的第一子序列X2_M。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一序列的递推公式x1(n+i*M)(i≥1)、所述第二序列的递推公式x2(n+i*M)(i≥1)、所述第一序列的第一子序列X1_M以及所述第二序列的第一子序列X2_M,并行迭代生成伪随机序列包括:
启动一个线程,根据所述第一序列的递推公式x1(n+M)以及所述第一序列的第一子序列X1_M,计算得到所述第一序列的第二子序列X1_2M;同样地计算得到所述第二序列的第二子序列X2_2M;
启动二个线程,根据所述第一序列的递推公式x1(n+2M)以及所述第一序列的第一、第二子序列X1_M、X1_2M,通过所述二个线程并行计算得到所述第一序列的第三、第四子序列X1_3M、X1_4M;同样地计算得到所述第二序列的第三、第四子序列X2_3M、X2_4M;
启动四个线程,根据所述第一序列的递推公式x1(n+4M)以及所述第一序列的第一、第二、第三、第四子序列X1_M、X1_2M、X1_3M、X1_4M,通过所述四个线程并行计算得到所述第一序列的第五、第六、第七、第八子序列X1_5M、X1_6M、X1_7M、X1_8M;同样地计算得到所述第二序列的第五、第六、第七、第八子序列X2_5M、X2_6M、X2_7M、X2_8M;
依次进行迭代计算,直到完成伪随机序列的生成。
7.根据权利要求6所述的方法,其特征在于,所述依次进行迭代计算,直到完成伪随机序列的生成包括:
每次迭代计算启动的线程数为上次迭代计算启动的线程数的2倍;若启动的线程数达到最大线程数,则后续迭代计算启动的线程数保持不变;
当伪随机序列长度等于伪随机序列的目标长度时,终止迭代计算。
9.一种数据处理设备,其特征在于,所述设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理程序,所述数据处理程序被所述处理器执行时实现如权利要求1至8中任一项所述的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据处理程序,所述数据处理程序被处理器执行时实现如权利要求1至8中任一项所述的数据处理方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810691019.3A CN110661591B (zh) | 2018-06-28 | 2018-06-28 | 数据处理方法、设备以及计算机可读存储介质 |
PCT/CN2019/093106 WO2020001499A1 (zh) | 2018-06-28 | 2019-06-26 | 数据处理方法、设备以及计算机可读存储介质 |
EP19825814.7A EP3817251B1 (en) | 2018-06-28 | 2019-06-26 | Data processing method, device, and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810691019.3A CN110661591B (zh) | 2018-06-28 | 2018-06-28 | 数据处理方法、设备以及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110661591A CN110661591A (zh) | 2020-01-07 |
CN110661591B true CN110661591B (zh) | 2022-01-25 |
Family
ID=68985369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810691019.3A Active CN110661591B (zh) | 2018-06-28 | 2018-06-28 | 数据处理方法、设备以及计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3817251B1 (zh) |
CN (1) | CN110661591B (zh) |
WO (1) | WO2020001499A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022128086A1 (en) * | 2020-12-16 | 2022-06-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Bit sequence generation |
CN113613224A (zh) * | 2021-07-23 | 2021-11-05 | 上海磐启微电子有限公司 | 一种基于2.4g芯片的蓝牙通讯方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102405602A (zh) * | 2011-07-18 | 2012-04-04 | 华为技术有限公司 | 用于生成伪随机序列数据的数据序列的生成方法及设备 |
CN108023661A (zh) * | 2016-10-31 | 2018-05-11 | 深圳市中兴微电子技术有限公司 | 一种获取伪随机序列的方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101925056B (zh) * | 2009-06-10 | 2013-08-28 | 华为技术有限公司 | 用于加扰或解扰的扰码序列生成方法、装置及系统 |
CN101610122B (zh) * | 2009-07-03 | 2013-03-20 | 中兴通讯股份有限公司 | 一种并行帧同步的扰码装置及其解扰码装置 |
CN105227259B (zh) * | 2015-07-02 | 2018-09-07 | 中国科学院计算技术研究所 | 一种m序列并行产生方法和装置 |
CN105391545B (zh) * | 2015-11-27 | 2018-11-16 | 东南大学 | 一种lte系统中伪随机序列的生成方法 |
-
2018
- 2018-06-28 CN CN201810691019.3A patent/CN110661591B/zh active Active
-
2019
- 2019-06-26 EP EP19825814.7A patent/EP3817251B1/en active Active
- 2019-06-26 WO PCT/CN2019/093106 patent/WO2020001499A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102405602A (zh) * | 2011-07-18 | 2012-04-04 | 华为技术有限公司 | 用于生成伪随机序列数据的数据序列的生成方法及设备 |
CN108023661A (zh) * | 2016-10-31 | 2018-05-11 | 深圳市中兴微电子技术有限公司 | 一种获取伪随机序列的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020001499A1 (zh) | 2020-01-02 |
EP3817251B1 (en) | 2023-09-20 |
EP3817251A1 (en) | 2021-05-05 |
CN110661591A (zh) | 2020-01-07 |
EP3817251A4 (en) | 2021-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Canteaut et al. | Improved fast correlation attacks using parity-check equations of weight 4 and 5 | |
KR101255393B1 (ko) | 타원 곡선 점 곱셈 | |
GB2549981A (en) | A public key cryptosystem based on the partitioning of elements of vectors | |
Von Maurich et al. | Towards side-channel resistant implementations of QC-MDPC McEliece encryption on constrained devices | |
CN109791517B (zh) | 保护并行乘法运算免受外部监测攻击 | |
CN110661591B (zh) | 数据处理方法、设备以及计算机可读存储介质 | |
US20110142232A1 (en) | System and method for effective scrambling or descrambling | |
US7412057B2 (en) | Fast-software-implemented pseudo-random code generator | |
CN105391545A (zh) | 一种lte系统中伪随机序列的生成方法 | |
CN109375897B (zh) | 伪随机序列的生成方法 | |
CN105262557A (zh) | Lte系统中一种伪随机序列的生成方法 | |
EP2294752A2 (en) | Cryptographic system | |
WO2019153142A1 (zh) | 一种信道传输方法及装置 | |
CN112579045A (zh) | 伪随机序列的生成方法、装置及存储介质 | |
CN108809323B (zh) | 循环冗余校验码的生成方法和装置 | |
CN111510292B (zh) | hill高阶密钥矩阵随机生成方法、系统、装置和存储介质 | |
Al Abdouli et al. | DRANKULA: a McEliece-like rank metric based cryptosystem implementation | |
Lee et al. | Ciphertext-only attack on linear feedback shift register-based Esmaeili-Gulliver cryptosystem | |
CN114553386B (zh) | 一种序列生成方法及装置、计算机可读存储介质 | |
CN111130562A (zh) | Crc并行计算方法及系统 | |
CN114297726A (zh) | 基于安全多方计算的乘法执行方法及装置 | |
WO2022129898A1 (en) | Methods and systems for updatable encryption | |
CN102405602B (zh) | 用于生成伪随机序列数据的数据序列的生成方法及设备 | |
CN111082889A (zh) | 一种Gold序列生成方法及系统 | |
CN113328849B (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 |