CN105790877B - 扰码快速产生装置和方法 - Google Patents

扰码快速产生装置和方法 Download PDF

Info

Publication number
CN105790877B
CN105790877B CN201410820585.1A CN201410820585A CN105790877B CN 105790877 B CN105790877 B CN 105790877B CN 201410820585 A CN201410820585 A CN 201410820585A CN 105790877 B CN105790877 B CN 105790877B
Authority
CN
China
Prior art keywords
sequence
mask
index value
state
register
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
CN201410820585.1A
Other languages
English (en)
Other versions
CN105790877A (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.)
Keen Chongqing Microelectronics Technology Co ltd
Original Assignee
Keen Chongqing 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 Keen Chongqing Microelectronics Technology Co ltd filed Critical Keen Chongqing Microelectronics Technology Co ltd
Priority to CN201410820585.1A priority Critical patent/CN105790877B/zh
Publication of CN105790877A publication Critical patent/CN105790877A/zh
Application granted granted Critical
Publication of CN105790877B publication Critical patent/CN105790877B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Error Detection And Correction (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明涉及通信系统数字信号处理领域,提供扰码快速生成装置,包括X序列产生器、Y序列产生器、第一异或单元、第二异或单元,还包括状态存储器、掩码存储器、X序列索引计算器和Y序列索引计算器;所述状态存储器中存储了X序列产生器和Y序列产生器分别所需的寄存器状态;所述掩码存储器中存储了X序列产生器和Y序列产生器分别所需的掩码;还提供扰码快速生成方法;本发明采用预先存储寄存器状态和掩码来实现,能够快速的产生所需的扰码,且充分利用扰码与X序列和Y序列的关系特征,减少了存储空间,运算比较简单。

Description

扰码快速产生装置和方法
技术领域
本发明涉及通信系统数字信号处理领域,特别涉及扰码快速产生装置和方法。
背景技术
在现有的通信系统中,常采用扰码来实现抗干扰、抗多径、保密、多址通信等,基站和终端需要利用扰码进行加扰和解扰操作,因此简单快速的产生扰码非常重要。
例如,3GPP TS25.213的5.2.2节对WCDMA系统扰码的生成和使用做了规定。WCDMA的下行扰码是一个复数的GOLD序列,这个GOLD序列由两个复数的m序列:X序列和Y序列生成,X序列的本原多项式为1+X7+X18,Y序列的本原多项式为1+X5+X7+X10+X18
X序列和Y序列的初始条件为:
x(0)=1,x(1)=x(2)=...=x(16)=x(17)=0. 式1
y(0)=y(1)=…=y(16)=y(17)=1. 式2
X序列和Y序列的迭代公式为:
x(i+18)=x(i+7)+x(i)modulo 2,i=0,…,218-20. 式3
y(i+18)=y(i+10)+y(i+7)+y(i+5)+y(i)modulo 2,i=0,…,218-20. 式4
扰码n的定义如下:
zn(i)=x((i+n)modulo(218-1))+y(i)modulo 2,i=0,…,218-2. 式5
二进制序列按照如下方式转化为实数值:
Figure BDA0000643097500000011
式6
最后从Zn中截取获得最终扰码序列的实部和虚部构成复数的扰码序列:
Sdl,n(i)=Zn(i)+j Zn((i+131072)modulo(218-1)),i=0,1,…,38399. 式7
3GPP协议中给出的扰码生成的实现结构如图1所示:
产生扰码的线性反馈移位寄存器的生成多项式是18阶,因此可以产生218-1=262143个扰码,编号为0、1、…、262142。目前,WCDMA系统只使用了前24576个扰码(0~24575,即式5中的n),其中前8192(0~8191)个扰码在正常模式下使用,从8192到16383(8192个)扰码是左压缩模式扰码,从16384到24575(8192个)扰码是右压缩模式扰码,这两种压缩模式扰码在压缩帧中使用(用于异系统测量),根据扩频码的不同选择不同的压缩模式。每8192个扰码被分为512组,每组16个扰码,一个是主扰码,其他15个是辅扰码,主扰码的编号为16×i,i=0,1,……511,第i组的辅扰码为16×i+k,k=1,2,……,15。
图1中上半部分为X序列发生器,下半部分为Y序列发生器,⊕表示对各个输入做模二加操作,带方框的0~17分别为X序列、Y序列的寄存器状态值,式1和式2中分别给出了X序列、Y序列的初始状态值,式3和式4中分别给出了X序列、Y序列寄存器状态的迭代产生公式,从式5中可以看出在产生扰码时Y序列的寄存器实际初始状态与扰码编号n没有关系(就是式2的初始状态值),X序列的寄存器实际初始状态与扰码编号n有关(利用式1的初始状态值和式3迭代计算产生)。
扰码每帧(10ms)重复一次,WCDMA系统每帧包含38400个chip,即每个扰码是一个38400(如式7所述i的取值为0~38399)长度的复数序列,实虚部的取值为±1(式5得到的二进制序列0、1比特按照式6转换得到),且实虚部在相位上相差半个码周期(见式7)。
对于扰码的产生可以按照3GPP给出的公式(式1~7)来产生,但是此方法可能由于开始产生的扰码无效而导致产生扰码存在一定的延时,不能满足实际的应用需求,因此,在实际使用中按照这种方式来实现的可能性较小。
现有技术中,常见的扰码产生装置结构如图2所示,工作过程如下所述:
1、根据控制信号“INI”来初始化扰码发生器中移位寄存器的状态。根据扰码编号从X序列状态存储器中取出相应的X序列状态输入到X序列发生器的移位寄存器中,3GPP规定,Y序列发生器的移位寄存器初始化为全1。
2、根据控制信号“NEXT”以固定的频率(3GPP规定的每秒3840000次)产生扰码,每产生一个扰码包括以下过程:
a)移位寄存器与掩码进行按位与运算,并对结果进行模二加。即SHIFT_REG_X分别与MASK_X_I、MASK_X_Q进行按位与运算并模二加得到X_I、X_Q;SHIFT_REG_Y分别与MASK_Y_I、MASK_Y_Q进行按位与运算并模二加得到Y_I、Y_Q。其中MASK_X_I=0000000000000000012、MASK_X_Q=0010000000010100002,MASK_Y_I=0000000000000000012、MASK_Y_Q=0011111111011000002
b)X_I、X_Q与Y_I、Y_Q分别进行模二加运算,得到一个I、Q,按照式6转化为实数值合并在一起得到一个复数扰码。
c)移位寄存器与反馈进行按位与运算,并对结果进行模二加。即SHIFT_REG_X与FB_X进行按位与运算并模二加得到x_n,SHIFT_REG_Y与FB_Y进行按位与运算并模二加得到y_n。其中FB_X=0000000000100000012,FB_Y=0000000100101000012
d)移位寄存器右移一位,将步骤c)产生的结果放在移位寄存器的最高位,产生新的移位寄存器状态。
现有扰码产生方式存在以下问题:
1)需要较大的存储空间来存储X序列的状态。由于3GPP规定有24576个扰码,每个扰码的寄存器状态需要18比特来存储,一共需要24576×18比特的存储空间。
2)图3的产生方式只能固定从帧的开始产生扰码,扰码生成不能够快速的切换。WCDMA中扰码的应用具有一定的特征,如:在正常模式一帧中可能出现短期使用压缩模式,有时接收机只需要对一帧中的一段数据进行解扰,不同信道使用的辅扰码可能不同,不同信道可能存在定时偏差,所以扰码生成需要能够快速的切换。
现有技术中,中国发明专利CN200410017916.4提出了在数字通信系统中生成扰码的方法及其装置,如图3所示,包括存储器、第一状态延迟模块、第二状态延迟模块(X序列和Y序列各一个)和扰码产生模块。扰码产生模块与图3类似,不同点在于X序列的掩码不是固定的,而是从存储器中得到的(MASK_X_I和MASK_X_Q),X序列和Y序列的移位寄存器的状态是从第二状态延迟模块得到的。第二状态延迟模块主要用于产生指定扰码在任意指定相位的序列X和Y的状态,从而可以使扰码产生模块可以在一帧中的任意时刻开始产生扰码。第一状态延迟模块主要用于产生指定扰码在相位0对应的X序列状态,即用于产生指定扰码在帧开始位置的X序列的寄存器状态。存储器中存储了部分扰码(非所有的24576个扰码)的X序列的状态和掩码。
第一状态延迟模块与存储器之间存在以下关系:记扰码编号总数为N(WCDMA为24576),第一状态延迟模块的参数为N3,即对X序列状态的延迟不超过N3,可能的延迟状态为0、1、N3-1,存储器中X序列的状态数目为N1,存储器中掩码数目为N2,则N=N1×N2×N3。专利还进一步提供包含第一状态延迟模块和第二状态延迟模块中的一个或不包含,可以通过调整N1、N2、N3的参数使所需存储空间最小。
上述专利中的X序列第二状态延迟模块和Y序列第二状态延迟模块只是简单的从扰码产生模块剥离了出来,以实现从任意时刻产生扰码,但仍然需要计算的过程,计算没有任何节省,如果不包含该模块则不能实现发明目的。第一状态延迟模块的增加进一步增加了计算过程,使得扰码的产生仍然存在一定的时延,并且上述专利不能并行产生多个扰码。
发明内容
为解决以上问题,本发明提供扰码快速产生装置和方法。
本发明扰码快速生成装置,包括X序列产生器、Y序列产生器、第一异或单元、第二异或单元,还包括状态存储器、掩码存储器、X序列索引计算器和Y序列索引计算器;
所述状态存储器中存储了X序列产生器和Y序列产生器分别所需的寄存器状态;所述掩码存储器中存储了X序列产生器和Y序列产生器分别所需的掩码;
所述X序列索引计算器用于计算X序列寄存器状态的索引值和X序列掩码的索引值,利用所述X序列寄存器状态的索引值从状态存储器读取与该X序列寄存器状态的索引值对应的X序列寄存器状态,利用所述X序列掩码的索引值从掩码存储器读取与该X序列掩码的索引值对应的掩码;
所述Y序列索引计算器用于计算Y序列寄存器状态的索引值和Y序列掩码的索引值,利用Y序列寄存器状态的索引值从状态存储器读取对应的Y序列寄存器状态,利用所述Y序列掩码的索引值从掩码存储器读取与该Y序列掩码的索引值对应的掩码。
本发明扰码快速生成方法,包括
A、获得索引值参数向量Para;
B、根据索引值参数向量Para计算寄存器状态的索引值和掩码的索引值;将掩码的索引值标记为掩码的初始索引值;
C、根据寄存器状态的索引值获得寄存器状态值,根据掩码的索引值获得掩码,包括X序列寄存器的状态值、X序列的PL个掩码、Y序列寄存器的状态值、Y序列的PL个掩码;
D、以X序列寄存器的状态值和X序列的PL个掩码按位与运算后模二加得到PL个X序列I路序列值和PL个X序列Q路序列值;通过Y序列寄存器的状态值和Y序列的PL个掩码按位与运算后模二加得到PL个Y序列I路序列值和PL个Y序列Q路序列值;
E、对PL个X序列I路序列值和PL个Y序列I路序列值行模二加得到I路的PL个扰码;对PL个X序列Q路序列值和PL个Y序列Q路序列值行模二加得到Q路的PL个扰码;
F、更新掩码的索引值和寄存器状态的索引值,返回计算下一次PL个扰码,直到全部扰码计算完毕;
其中,PL为扰码产生并行度。
本发明采用预先存储寄存器状态和掩码来实现,能够快速的产生所需的扰码,且充分利用扰码与X序列和Y序列的关系特征,减少了存储空间,运算比较简单。本发明能够并行产生多个扰码的方式,由于状态寄存器的值和掩码实现了扰码产生的全覆盖,不需要线性反馈移位寄存器来产生扰码,也与扰码产生的多项式没有关系,可以适用于任何Gold序列的产生。本发明还可以在扰码产生参数发生变化时,快速的产生所需的扰码,具有很强的实用性和广泛的应用场景。
附图说明
图1是现有技术扰码生成实现结构框图;
图2是现有技术扰码生成装置结构框图;
图3是现有技术生成扰码的方法及其装置;
图4是本发明扰码快速生成装置优选实施例结构示意图;
图5是本发明扰码快速生成方法优选实施例结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明做进一步详细说明。
以下以WCDMA系统中扰码的产生为例,同时结合附图对本发明进行详细的描述,但本发明对其他系统的扰码的产生同样适用。
本发明的扰码快速生成装置,如图4所示,包括X序列产生器、Y序列产生器、第一异或单元、第二异或单元,还包括状态存储器、掩码存储器、X序列索引计算器和Y序列索引计算器;
所述状态存储器中存储了X序列产生器和Y序列产生器分别所需的寄存器状态;所述掩码存储器中存储了X序列产生器和Y序列产生器分别所需的掩码;
所述X序列索引计算器用于计算X序列寄存器状态的索引值和X序列掩码的索引值,利用所述X序列寄存器状态的索引值从状态存储器读取与该X序列寄存器状态的索引值对应的X序列寄存器状态,利用所述X序列掩码的索引值从掩码存储器读取与该X序列掩码的索引值对应的掩码;
所述Y序列索引计算器用于计算Y序列寄存器状态的索引值和Y序列掩码的索引值,利用Y序列寄存器状态的索引值从状态存储器读取对应的Y序列寄存器状态,利用所述Y序列掩码的索引值从掩码存储器读取与该Y序列掩码的索引值对应的掩码。
所述状态存储器分别与X序列产生器、Y序列产生器相连接,所述掩码存储器分别与X序列产生器、Y序列产生器相连接;
所述X序列产生器利用从状态存储器获取的X序列寄存器状态和从掩码存储器获取的掩码,计算X序列;
所述Y序列产生器利用从状态存储器获取的Y序列寄存器状态和从掩码存储器获取的掩码,计算Y序列;
所述第一异或单元将X序列产生器输出的X序列和Y序列产生器输出的Y序列作为输入并进行异或运算得到I路输出,第二异或单元将X序列产生器和Y序列产生器作为输入并进行异或运算得到Q路输出;
所述X序列产生器所需的寄存器状态是指某时刻X序列产生器移位寄存器中的18比特的二进数,即对应图1中的0~17,18个方框中的值,每个方框中1个比特,0代表最低位,17代表最高位。也可以将这18个比特合并在一起表示为十进制或十六进制数,这只是数值表示方式不同,没有实质差异。
所述Y序列产生器所需的寄存器状态的含义同上述X序列产生器的寄存器状态。
本专利利用WCDMA扰码的一个特性:扰码编号m与扰码编号m+1的X序列存在以下关系。
假设扰码编号m的X序列为Xm_I、Xm_Q(均为38400长度的比特序列),则Xm_I、Xm_Q的比特序列除去第一个比特,剩下的38399个比特序列即为扰码编号m+1的X序列的前38399个比特。
根据以上特性,扰码编号总数为N(取值为24576)的X序列使用的总比特长度为XL=XLI+XLQ,其中,X序列I路序列长度XLI和X序列Q路序列长度XLQ分别为N+38400,而Y序列与扰码编号没有关系,总的比特长度为YL=YLI+YLQ,其中,Y序列I路序列长度YLI和Y序列Q路序列长度YLQ分别为38400。
本发明考虑到以上特性,在存储时将X序列和Y序列的比特序列分别存储,分别以NL为间隔分为若干段,将每段开始比特对应的寄存器状态存储到状态存储器中;而每段内部的段内偏移是通过掩码来实现的,其中,NL是序列段内比特长度,取值范围为[1,XL/2],优选256,当为256时使状态存储器与掩码存储器总的存储空间与设备复杂度可以达到较好平衡。
所述X序列产生器所需的寄存器状态包括:
Figure BDA0000643097500000082
个X序列I路的寄存器状态值Xi_state,每个18比特,编号为
Figure BDA0000643097500000083
表示向上取整运算。
Figure BDA0000643097500000084
个X序列Q路的寄存器状态值Xq_state,每个18比特,编号为
Figure BDA0000643097500000085
表示向上取整运算。
所述X序列I路的寄存器状态值Xi_state通过以下方式计算产生:
a1)设定X序列初始条件,即x(0)=1,x(1)=x(2)=...=x(16)=x(17)=0,令n=0;
b1)计算Xi_state(n)
Figure BDA0000643097500000081
式9
c1)n=n+1,若
Figure BDA0000643097500000086
时退出,否则进入d1;
d1)设预备位为x(7)与x(0)模二加,将X序列从高位到低位移动1位,将预备位移入X序列最位高;重复本步骤NL次后返回步骤b1。
所述X序列Q路的寄存器状态值Xq_state通过以下方式计算产生:
a2)设定X序列初始条件,即x(0)=1,x(1)=x(2)=...=x(16)=x(17)=0,令n=0;
b2)设预备位为x(7)与x(0)模二加,将X序列从高位到低位移动1位,将预备位移入X序列最位高;重复本步骤NNL次;当n=0时,NNL=131072,当n为其他值时,NNL=NL;
c2)计算Xq_state(n)
Figure BDA0000643097500000091
式8
d2)n=n+1,若
Figure BDA0000643097500000094
时退出,否则返回步骤b2。
所述Y序列产生器所需的寄存器状态包括:
Figure BDA0000643097500000095
个Y序列I路的寄存器状态值Yi_state,每个18比特,编号为
Figure BDA0000643097500000096
表示向上取整运算;
Figure BDA0000643097500000097
个Y序列Q路的寄存器状态值Yq_state,每个18比特,编号为
Figure BDA0000643097500000098
表示向上取整运算
所述Y序列I路的寄存器状态值Yi_state通过以下方式计算产生的;
a3)设定Y序列初始条件,即y(0)=y(1)=…=y(16)=y(17)=1,令n=0;
b3)计算Yi_state(n)
Figure BDA0000643097500000092
式12
c3)n=n+1,若
Figure BDA0000643097500000099
时退出,否则进入步骤d3
d3)设预备位为y(10)、y(7)、y(5)与y(0)模二加,将Y序列从高位到低位移动1位,将预备位移入Y序列最位高;重复本步骤NL次后返回b3。
所述Y序列Q路的寄存器状态值Yq_state通过以下方式计算产生的;
a4)设定Y序列初始条件,即y(0)=y(1)=…=y(16)=y(17)=1,令n=0;
b4)设预备位为y(10)、y(7)、y(5)与y(0)模二加,将Y序列从高位到低位移动1位,将预备位移入Y序列最位高;重复本步骤NNL次;当n=0时,NNL=131072,当n为其他值时,NNL=NL;
c4)计算Yq_state(n)
Figure BDA0000643097500000093
式12
d4)n=n+1,若
Figure BDA00006430975000000910
时退出,否则返回步骤b4。
本发明掩码用于使线性反馈移位寄存器序列的输出产生延迟,即对于任意线性反馈移位寄存器,在特定掩码作用下的输出与原线性反馈移位寄存器在经过特定时间后的输出完全一致。掩码也是一个18比特的二进制数,也可以将这18个比特合并在一起表示为十进制或十六进制数,这只是数值表示方式不同,没有实质差异。
通常可以认为扰码单个产生,也可以并行产生,当并行产生时,假设PL为扰码产生并行度,即一次产生PL个扰码,本发明PL取值范围为[1,16],当扰码产生并行度为16时,需要多存储一些掩码,X、Y序列的掩码为PP=NL+PL-1个,则掩码存储器共需要存储PP×2个掩码;
所述掩码存储器中存储的掩码为:
X序列对应的PP个不同时间偏移的掩码X_mask,每个18比特,编号为0~PP-1;
Y序列对应的PP个不同时间偏移的掩码Y_mask,每个18比特,编号为0~PP-1;
当PL为1时,是计算单个扰码,当PL为2到16的整数时,表示并行计算并输出PL个扰码。
对于掩码的产生,本发明总结了一个递推产生公式,该公式与本原多项式有关,适合于任何m序列的掩码产生。
所述X序列产生器所需的掩码的递推计算公式为:
Figure BDA0000643097500000101
所述X序列产生器所需的掩码的递推计算公式为:
Figure BDA0000643097500000102
其中掩码的初始值X_mask0为1,218中18为本原多项式的阶数,“^”为异或运算,“0x40081”与本原多项式有关,“0x40081”共有18+1比特(18为阶数),且最高位恒为1,低18比特中非0比特对应的是本原多项式中的非0项。
根据上述方法及本原多项式修改掩码的递推公式,可以用于任意M序列任意相位偏移的掩码产生。本发明中n的取值范围0-PP-1
为帮助理解,下面以X序列产生器所需的掩码为例进行具体描述,包括:
1、初始掩码X_mask0为1(此为整数,也可以用18比特表示)
2、当前的掩码是使用前一个掩码根据递推公式计算产生,即前面一个掩码首先乘以2得到一个新的数a,如果这个数a大于等于218,则需要将这个数与十六进制的0x40081进行按位异或操作,得到数b,数b就是当前的掩码;如果a小于218,则数a就是当前的掩码。
所述X序列索引计算器用于计算X序列寄存器状态的索引值以及X序列掩码的起始索引,利用X序列寄存器状态的索引值从状态存储器读取对应的X序列寄存器状态;
特别地,所述X序列索引计算器可以位于X序列产生器外部,也可以设置于X序列产生器内部。
所述Y序列索引计算器用于计算Y序列寄存器状态的索引值和Y序列掩码的索引值,利用Y序列寄存器状态的索引值从状态存储器读取对应的Y序列寄存器状态。
特别地,所述Y序列索引计算器可以位于Y序列产生器外部,也可以设置于Y序列产生器内部。
所述X序列寄存器状态的索引值和Y序列寄存器状态的索引值通过以下方式得到:
将Para的高16比特除以NL后向下取整(本发明实施例除以256),得到Y序列寄存器状态的索引值ys,用于根据该索引值得到相应编号的Y序列的寄存器状态的初值y0_i,y0_q(可分别从Yi_state和Yq_state中查表得到)。
将Para的低16比特除以NL后向下取整,得到X序列寄存器状态的索引值xs,用于根据该索引值得到相应编号的X序列的寄存器状态的初值x0_i,x0_q(可分别从Xi_state和Xq_state中查表得到)。
所述X序列掩码的索引值和Y序列掩码的索引值通过以下方式得到:
将Para的高16比特对NL取余得到Y序列掩码的索引值ym;
将Para的低16比特对NL取余得到X序列掩码的索引值xm;
所述Para是索引值参数向量,是32比特(bit)的一个中间参数,分成高16bit和低16bit两部分,高16比特表示从一帧中的哪个时刻开始生成扰码,低16比特为扰码编号与高16比特的和;
高16bit计算方式:第一个扰码的chip级偏移量k,k值为扰码的第一个比特与帧头的偏移量,取值范围0~38399;
低16bit计算方式:8192×m+n×16+t+k;其中:m为加扰模式,取值为0、1、2,取值为0时,即normal,也叫常规扰码;取值为1时,即left alternative scrambling code,也叫左备选扰码;取值为2时,即right alternative scrambling code,也叫右备选扰码;n为主扰码,取值范围0~511;t为辅扰码,取值范围0~15;所述m、n、t均由高层提供。
本发明采用预先存储寄存器状态和掩码来实现,能够快速的产生所需的扰码,且充分利用扰码与X序列和Y序列的关系特征,减少了存储空间,运算比较简单。本发明能够并行产生多个扰码的方式,由于状态寄存器的值和掩码实现了扰码产生的全覆盖,不需要线性反馈移位寄存器来产生扰码,也与扰码产生的多项式没有关系,可以适用于任何Gold序列的产生。本发明还可以在扰码产生参数发生变化时,快速的产生所需的扰码,具有很强的实用性和广泛的应用场景。
本发明的扰码快速生成方法,包括:
101、获得索引值参数向量Para
索引值参数向量Para是32比特(bit)的一个数,分成高16bit和低16bit两部分,高16比特表示从一帧中的哪个时刻开始生成扰码,低16比特为扰码编号与高16比特的和;
高16bit计算方式:第一个扰码的chip级偏移量k,k值为扰码的第一个比特与帧头的偏移量,取值范围0~38399;
低16bit计算方式:8192×m+n×16+t+k;其中:m为加扰模式,取值为0、1、2,取值为0时,即normal,也叫常规扰码;取值为1时,即left alternative scrambling code,也叫左备选扰码;取值为2时,即right alternative scrambling code,也叫右备选扰码;n为主扰码,取值范围0~511;t为辅扰码,取值范围0~15;所述m、n、t均由高层提供。
102、根据索引值参数向量Para计算寄存器状态的索引值和掩码的索引值,将该掩码的索引值标记为掩码的索引值;
所述计算寄存器状态的索引值包括X序列寄存器状态的索引值和Y序列寄存器状态的索引值,分别通过以下方式得到:
将Para的高16比特除以NL后向下取整(本发明实施例NL取256,相当于取Para的高16比特中的低8比特),得到Y序列寄存器状态的索引值ys;
将Para的低16比特除以NL后向下取整,得到X序列寄存器状态的索引值xs;
进一步地,所述计算掩码的索引值包括X序列掩码的索引值和Y序列掩码的索引值,分别通过以下方式得到:
将Para的高16比特对NL取余,得到Y序列掩码的索引值ym,标记为掩码起始索引;
将Para的低16比特对NL取余,得到X序列掩码的索引值xm,标记掩码起始索引;
103、根据寄存器状态的索引值获得寄存器状态值,根据掩码的索引值获得掩码,包括X序列寄存器的状态值、X序列的PL个掩码、Y序列寄存器的状态值、Y序列的PL个掩码;
根据索引值ys得到相应编号的Y序列的寄存器状态的初值y0_i,y0_q,分别从Yi_state和Yq_state中查表得到;
根据索引值xs得到相应编号的X序列的寄存器状态的初值x0_i,x0_q,分别从Xi_state和Xq_state中查表得到;
根据索引值ym从Y_mask中取编号为ym、ym+1、ym+2……、ym+PL-1的PL个Y序列的掩码。
根据索引值xm从X_mask中取编号为xm、xm+1、xm+2……、xm+PL-1的PL个X序列的掩码。
104、以X序列寄存器的初值和X序列的PL个掩码按位与运算后模二加得到PL个X序列I路序列值和PL个X序列Q路序列值;通过Y序列寄存器的初值和Y序列的PL个掩码按位与运算后模二加得到PL个Y序列I路序列值和PL个Y序列Q路序列值;
本实施例中,假设PL=16,将X序列寄存器的初值(x0_i,x0_q)与X序列的16个掩码分别进行按位与运算后模二加,得到结果XI0,XI1,……,XI15和XQ0,XQ1,……,XQ15。
将Y序列寄存器的初值(y0_i,y0_q)与Y序列的16个掩码分别进行按位与运算后模二加,得到结果YI0,YI1,……,YI15和YQ0,YQ1,……,YQ15;
105、对PL个X序列I路序列值和PL个Y序列I路序列值行模二加得到I路的PL个扰码;对PL个X序列Q路序列值和PL个Y序列Q路序列值行模二加得到Q路的PL个扰码;
本实施例中,XI0,XI1,……,XI15与YI0,YI1,……,YI15分别进行模二加得到I路的16个扰码I0,I1,……,I15。XQ0,XQ1,……,XQ15与YQ0,YQ1,……,YQ15分别进行模二加得到Q路的16个扰码Q0,Q1,……,Q15;
106、更新掩码的索引值和寄存器状态的索引值,返回计算下一次PL个扰码,直到全部扰码计算完毕
更新Y序列掩码的索引值ym,ym=ym+PL;
如果ym<256,此时,表示本次产生的Y序列与上一次产生的Y序列在相同段内,寄存器状态不更新,只更新掩码
如果ym>=256,则ys加1且ym=ym-NL,此时,表示本次产生的Y序列与上一次产生的Y序列不完全在相同段内,寄存器状态要更新,掩码也要更新;
更新后,返回步骤103计算下一次PL个扰码,直到全部扰码计算完毕;
特别地,在Y的状态寄存器更新到最后一个的时候,需要注意判断帧边界,
即当
Figure BDA0000643097500000151
且NL-掩码起始索引<PL时,认为到达了帧边界,此时计算的PL个扰码只有部分有效,有效值的个数为NL-掩码起始索引。
将Para参数的低16比特减去高16比特作为新的低16比特的值,高16比特赋0,此时Para参数进行了更新,先返回步骤102重新计算寄存器状态的索引值和掩码的索引值;为了使本发明每次固定产生PL个有效扰码,在出现有效扰码不足PL个时,可以将下一次产生的扰码与本次的扰码进行拼接。
以上步骤中,I路扰码和Q路扰码计算类似,只需要采用相应的寄存器状态和掩码即可。
本发明与包括专利CN200410017916.4在内的相关现有技术相比,存在以下区别:
1)本发明寄存器状态和掩码预先分别存储于状态存储器和掩码存储器中;
2)本发明状态存储器所存储的寄存器状态与掩码存储器所存储的掩码采用特定方式获得;
3)本发明中X序列发生器和Y序列发生器,与前面的专利也有所不同,本发明没有图2中所说的反馈FB_X和反馈FB_Y。由于本发明的存储特性,通过状态寄存器的值和掩码实现了全覆盖(可以根据存储的状态和掩码产生任意掩码编号任意时刻的扰码,不需要通过反馈改变寄存器的状态),只需要状态寄存器的值和掩码进行简单的按位与运算和模二加来实现,设备复杂度更低,运算更加简单。现有技术的X序列发生器和Y序列发生器中I、Q路是使用相同的寄存器状态,不同的掩码来产生,本发明I、Q路使用相同的掩码,不同的寄存器状态来产生。
4)类似WCDMA系统要求在扰码编号发生变化时,能够快速的产生相应的扰码,实现快速的切换,专利CN200410017916.4在扰码编号发生变化时,可能会涉及到第一状态延迟模块或第二状态延迟模块的计算过程。而本发明采用的是预先存储寄存器状态和掩码的方式(且全覆盖)来实现,在扰码编号发生变化时,只需要从状态存储器和掩码存储器中取出相应的寄存器状态和掩码进行计算,即可产生扰码,非常简单快速。
综上,本发明采用预先存储寄存器状态和掩码来实现,能够快速的产生所需的扰码,且充分利用扰码与X序列和Y序列的关系特征,减少了存储空间,运算比较简单。本发明能够并行产生多个扰码的方式,由于状态寄存器的值和掩码实现了扰码产生的全覆盖,不需要线性反馈移位寄存器来产生扰码,也与扰码产生的多项式没有关系,可以适用于任何Gold序列的产生。本发明还可以在扰码产生参数发生变化时,快速的产生所需的扰码,具有很强的实用性和广泛的应用场景。
本发明所举实施例对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.扰码快速生成装置,包括X序列产生器、Y序列产生器、第一异或单元、第二异或单元,其特征在于:还包括状态存储器、掩码存储器、X序列索引计算器和Y序列索引计算器;
所述状态存储器中存储了X序列产生器和Y序列产生器分别所需的寄存器状态;所述掩码存储器中存储了X序列产生器和Y序列产生器分别所需的掩码;所述X序列索引计算器用于计算X序列寄存器状态的索引值和X序列掩码的索引值,利用所述X序列寄存器状态的索引值从状态存储器读取与该X序列寄存器状态的索引值对应的X序列寄存器状态,利用所述X序列掩码的索引值从掩码存储器读取与该X序列掩码的索引值对应的掩码;
所述Y序列索引计算器用于计算Y序列寄存器状态的索引值和Y序列掩码的索引值,利用Y序列寄存器状态的索引值从状态存储器读取对应的Y序列寄存器状态,利用所述Y序列掩码的索引值从掩码存储器读取与该Y序列掩码的索引值对应的掩码;
所述扰码快速生成装置采用如下方式生成所述扰码:A、获得索引值参数向量Para;B、根据索引值参数向量Para计算寄存器状态的索引值和掩码的索引值;将掩码的索引值标记为掩码的索引值;C、根据寄存器状态的索引值获得寄存器状态值,根据掩码的索引值获得掩码,包括X序列寄存器的状态值、X序列的PL个掩码、Y序列寄存器的状态值、Y序列的PL个掩码;D、以X序列寄存器的状态值和X序列的PL个掩码按位与运算后模二加得到PL个X序列I路序列值和PL个X序列Q路序列值;通过Y序列寄存器的状态值和Y序列的PL个掩码按位与运算后模二加得到PL个Y序列I路序列值和PL个Y序列Q路序列值;E、对PL个X序列I路序列值和PL个Y序列I路序列值行模二加得到I路的PL个扰码;对PL个X序列Q路序列值和PL个Y序列Q路序列值行模二加得到Q路的PL个扰码;F、更新掩码的索引值和寄存器状态的索引值,返回计算下一次PL个扰码,直到全部扰码计算完毕;其中,PL为扰码产生并行度;
所述计算寄存器状态的索引值包括X序列寄存器状态的索引值和Y序列寄存器状态的索引值,分别通过以下方式得到:将Para的高16比特除以NL后向下取整,得到Y序列寄存器状态的索引值ys;将Para的低16比特除以NL后向下取整,得到X序列寄存器状态的索引值xs;
所述计算掩码的索引值包括X序列掩码的索引值和Y序列掩码的索引值,分别通过以下方式得到:将Para的高16比特对NL取余,得到Y序列掩码的索引值ym;将Para的低16比特对NL取余,得到X序列掩码的索引值xm;
所述更新掩码的索引值和寄存器状态的索引值包括:更新Y序列掩码的索引值ym,ym=ym+PL;如果ym<256,此时,表示本次产生的Y序列与上一次产生的Y序列在相同段内,寄存器状态不更新,只更新掩码;如果ym≥256,则Y序列寄存器状态的索引值ys加1且Y序列掩码的索引值ym=ym-NL,此时,表示本次产生的Y序列与上一次产生的Y序列不完全在相同段内,寄存器状态要更新,掩码也要更新;其中,NL是序列段内比特长度。
2.根据权利要求1所述扰码快速生成装置,其特征在于:
所述X序列产生器所需的寄存器状态包括:
Figure QLYQS_1
个X序列I路的寄存器状态值Xi_state,计算方式包括:
a1)设定X序列初始条件,即x(0)=1,x(1)=x(2)=...=x(16)=x(17)=0,令n=0;
b1)计算Xi_state(n)
Figure QLYQS_2
c1)n=n+1,若
Figure QLYQS_3
时退出,否则进入d1;
d1)设预备位为x(7)与x(0)模二加,将X序列从高位到低位移动1位,将预备位移入X序列最位高;重复本步骤NL次后返回步骤b1;
Figure QLYQS_4
个X序列Q路的寄存器状态值Xq_state,计算方式包括:
a2)设定X序列初始条件,即x(0)=1,x(1)=x(2)=...=x(16)=x(17)=0,令n=0;
b2)设预备位为x(7)与x(0)模二加,将X序列从高位到低位移动1位,将预备位移入X序列最位高;重复本步骤NNL次;当n=0时,NNL=131072,当n为其他值时,NNL=NL;
c2)计算Xq_state(n)
Figure QLYQS_5
d2)n=n+1,若
Figure QLYQS_6
时退出,否则返回步骤b2;
其中,NL是序列段内比特长度;XLI是X序列I路序列长度,XLQ是X序列Q路序列长度,
Figure QLYQS_7
表示向上取整运算。
3.根据权利要求1所述扰码快速生成装置,其特征在于:
所述Y序列产生器所需的寄存器状态包括:
Figure QLYQS_8
个Y序列I路的寄存器状态值Yi_state,计算方式包括:
a3)设定Y序列初始条件,即y(0)=y(1)=…=y(16)=y(17)=1,令n=0;
b3)计算Yi_state(n)
Figure QLYQS_9
c3)n=n+1,若
Figure QLYQS_10
时退出,否则进入步骤d3;
d3)设预备位为y(10)、y(7)、y(5)与y(0)模二加,将Y序列从高位到低位移动1位,将预备位移入Y序列最位高;重复本步骤NL次后返回b3;
Figure QLYQS_11
个Y序列Q路的寄存器状态值Yq_state:
a4)设定Y序列初始条件,即y(0)=y(1)=…=y(16)=y(17)=1,令n=0;
b4)设预备位为y(10)、y(7)、y(5)与y(0)模二加,将Y序列从高位到低位移动1位,将预备位移入Y序列最位高;重复本步骤NNL次;当n=0时,NNL=131072,当n为其他值时,NNL=NL;
c4)计算Yq_state(n)
Figure QLYQS_12
d4)n=n+1,若
Figure QLYQS_13
时退出,否则返回步骤b4;
其中,NL是序列段内比特长度;YLI是Y序列I路序列长度,YLQ是Y序列Q路序列长度,
Figure QLYQS_14
表示向上取整运算。
4.根据权利要求1所述扰码快速生成装置,其特征在于:
所述掩码存储器中存储的掩码为:
X序列对应的PP个不同时间偏移的掩码X_mask;
Figure QLYQS_15
Y序列对应的PP个不同时间偏移的掩码Y_mask;
Figure QLYQS_16
其中,n的取值范围0-PP-1,PP表示掩码个数,PP=NL+PL-1,NL是序列段内比特长度,PL为扰码产生并行度。
5.扰码快速生成方法,其特征在于:包括
A、获得索引值参数向量Para;
B、根据索引值参数向量Para计算寄存器状态的索引值和掩码的索引值;将掩码的索引值标记为掩码的索引值;所述计算寄存器状态的索引值包括X序列寄存器状态的索引值和Y序列寄存器状态的索引值,分别通过以下方式得到:将Para的高16比特除以NL后向下取整,得到Y序列寄存器状态的索引值ys;将Para的低16比特除以NL后向下取整,得到X序列寄存器状态的索引值xs;所述计算掩码的索引值包括X序列掩码的索引值和Y序列掩码的索引值,分别通过以下方式得到:将Para的高16比特对NL取余,得到Y序列掩码的索引值ym;将Para的低16比特对NL取余,得到X序列掩码的索引值xm;
C、根据寄存器状态的索引值获得寄存器状态值,根据掩码的索引值获得掩码,包括X序列寄存器的状态值、X序列的PL个掩码、Y序列寄存器的状态值、Y序列的PL个掩码;
D、以X序列寄存器的状态值和X序列的PL个掩码按位与运算后模二加得到PL个X序列I路序列值和PL个X序列Q路序列值;通过Y序列寄存器的状态值和Y序列的PL个掩码按位与运算后模二加得到PL个Y序列I路序列值和PL个Y序列Q路序列值;
E、对PL个X序列I路序列值和PL个Y序列I路序列值行模二加得到I路的PL个扰码;对PL个X序列Q路序列值和PL个Y序列Q路序列值行模二加得到Q路的PL个扰码;
F、更新掩码的索引值和寄存器状态的索引值,返回计算下一次PL个扰码,直到全部扰码计算完毕;所述更新掩码的索引值和寄存器状态的索引值包括:更新Y序列掩码的索引值ym,ym=ym+PL;如果ym<256,此时,表示本次产生的Y序列与上一次产生的Y序列在相同段内,寄存器状态不更新,只更新掩码;如果ym≥256,则Y序列寄存器状态的索引值ys加1且Y序列掩码的索引值ym=ym-NL,此时,表示本次产生的Y序列与上一次产生的Y序列不完全在相同段内,寄存器状态要更新,掩码也要更新;其中,NL是序列段内比特长度;
其中,PL为扰码产生并行度。
6.根据权利要求5所述扰码快速生成方法,其特征在于:当
Figure QLYQS_17
且NL-掩码起始索引<PL时,将Para的低16比特减去高16比特作为新的低16比特的值,高16比特赋0,对Para进行更新,先回步骤B重新计算寄存器状态的索引值和掩码的索引值,其中,YLQ是Y序列Q路序列长度,/>
Figure QLYQS_18
表示向上取整运算。/>
CN201410820585.1A 2014-12-25 2014-12-25 扰码快速产生装置和方法 Active CN105790877B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410820585.1A CN105790877B (zh) 2014-12-25 2014-12-25 扰码快速产生装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410820585.1A CN105790877B (zh) 2014-12-25 2014-12-25 扰码快速产生装置和方法

Publications (2)

Publication Number Publication Date
CN105790877A CN105790877A (zh) 2016-07-20
CN105790877B true CN105790877B (zh) 2023-05-23

Family

ID=56378531

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410820585.1A Active CN105790877B (zh) 2014-12-25 2014-12-25 扰码快速产生装置和方法

Country Status (1)

Country Link
CN (1) CN105790877B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108183765B (zh) * 2017-09-14 2019-07-26 中国人民解放军国防科技大学 一种宽带码分多址信号的扰码恢复方法及设备
CN109889863A (zh) * 2019-02-11 2019-06-14 湖南国科微电子股份有限公司 一种扰码获取方法及相关装置
CN112269806B (zh) * 2020-12-11 2021-03-19 深圳市房多多网络科技有限公司 数据查询方法、装置、设备以及计算机存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1388716A (zh) * 2001-05-29 2003-01-01 Lg电子株式会社 在移动通信系统中生成扰码的装置和方法
CN1691656A (zh) * 2004-04-26 2005-11-02 上海明波通信技术有限公司 在数字通信系统中生成扰码的方法及其装置
CN101068135A (zh) * 2007-06-27 2007-11-07 中兴通讯股份有限公司 主扰码序列生成装置
CN103095625A (zh) * 2011-10-27 2013-05-08 普天信息技术研究院有限公司 一种扰码初始值的配置方法
EP2639967A1 (fr) * 2012-03-15 2013-09-18 Commissariat à l'Énergie Atomique et aux Énergies Alternatives Méthode d'estimation aveugle d'un code d'embrouillage d'une liaison montante CDMA2000

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100724929B1 (ko) * 2001-10-06 2007-06-04 삼성전자주식회사 부호분할다중접속 이동통신시스템에서 스크램블링 코드생성장치 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1388716A (zh) * 2001-05-29 2003-01-01 Lg电子株式会社 在移动通信系统中生成扰码的装置和方法
CN1691656A (zh) * 2004-04-26 2005-11-02 上海明波通信技术有限公司 在数字通信系统中生成扰码的方法及其装置
CN101068135A (zh) * 2007-06-27 2007-11-07 中兴通讯股份有限公司 主扰码序列生成装置
CN103095625A (zh) * 2011-10-27 2013-05-08 普天信息技术研究院有限公司 一种扰码初始值的配置方法
EP2639967A1 (fr) * 2012-03-15 2013-09-18 Commissariat à l'Énergie Atomique et aux Énergies Alternatives Méthode d'estimation aveugle d'un code d'embrouillage d'une liaison montante CDMA2000

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Scrambling and Data Inversion Techniques for Yield Enhancement of NROM-Based ROMs";Shyue-Kung Lu,等;《2012 IEEE 21st Asian Test Symposium》;20121231;全文 *
m序列在移动通信扰码中的应用及仿真;陈顺林等;《现代电子技术》;20020325(第03期);全文 *
R1-99b58 "Discussion on Multiple Scrambling Codes";SAMSUNG electronics co;《3GPP tsg_ran\WG1_RL1》;19990913;全文 *

Also Published As

Publication number Publication date
CN105790877A (zh) 2016-07-20

Similar Documents

Publication Publication Date Title
CN105790877B (zh) 扰码快速产生装置和方法
CN103199873B (zh) 两级分块crc运算的快速配置方法
CN101072098A (zh) 宽带码分多址系统的长扰码序列相位偏移方法和装置
CN103378917B (zh) 扰码的生成方法、装置和扰码的处理装置
CN114077605A (zh) 一种数据处理方法及装置
CN108811077A (zh) 一种辅同步序列的生成方法、检测方法、基站及用户设备
CN103002561B (zh) 辅同步信号序列处理方法及装置
US20090254333A1 (en) LFSR Emulation
CN109033847B (zh) Aes加密运算单元、aes加密电路及其加密方法
CN108566271B (zh) 复用轮变换电路、aes加密电路及其加密方法
CN104753662B (zh) 基于aes算法的加密密钥流产生方法
CN105577362B (zh) 一种应用于aes算法的字节替换方法及系统
CN105187151B (zh) 一种wcdma系统下行扰码序列的产生方法及系统
CN116055650A (zh) 基于des的尿液试纸图像加密方法
JP3770584B2 (ja) 暗号鍵生成回路
CN104702293A (zh) 一种面向体域网的双模式bch解码器电路
CN107437990A (zh) 加密方法、解密方法、加密装置和解密装置
CN109039608B (zh) 一种基于双S核的8-bitAES电路
CN108989018B (zh) 一种aes加密单元、aes加密电路及加密方法
US20120128096A1 (en) Method and device for generating scrambling code
CN1929320B (zh) 一种wcdma系统中实时产生辅助同步码的方法和装置
US20160336995A1 (en) Method and Vector Computing Unit for Implementing De-scrambling and De-spreading, and Computer Storage Medium
US7286589B1 (en) Method and apparatus for generation of downlink scrambling code in wideband CDMA mobile devices
CN102868411B (zh) Crc逆序串行解码算法、扩展的并行逆序解码方法及装置
CN100530993C (zh) Wcdma小区搜索中多扰码并行产生器及其方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180108

Address after: Nanping Street 400060 Chongqing Nan'an District Nancheng Road No. 199 left attached to the floor 403

Applicant after: Keen (Chongqing) Microelectronics Technology Co.,Ltd.

Address before: 400065 Chongqing Nan'an District huangjuezhen pass Fort Park No. 1

Applicant before: CHONGQING CYIT COMMUNICATION TECHNOLOGIES Co.,Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 400060 Yuen No. 8, South Bank district, Chongqing City, B

Applicant after: Keen (Chongqing) Microelectronics Technology Co.,Ltd.

Address before: Nanping Street 400060 Chongqing Nan'an District Nancheng Road No. 199 left attached to the floor 403

Applicant before: Keen (Chongqing) Microelectronics Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant