一种快速扰码发生器及其实现方法

文档序号:7628974阅读:359来源:国知局
专利名称:一种快速扰码发生器及其实现方法
技术领域
本发明属于扰码发生器技术领域,具体地说是一种快速扰码发生器及其实现方法。
背景技术
在WCDMA移动通信中,扰码发生器是最基本的理论基础之一,在WCDMA的上下行发生与接收中,都会用到扰码发生器。所谓扰码发生器,事实上就是用移位寄存器实现的伪随机序列发生器,该伪随机序列具有良好的自相关性与互相关性等一系列算法运算。
在现有技术中,3G TS 25.213 V3.4.0分发与调制(Spreading andmodulation)技术提出了中下行扰码的产生方法,现有下行扰码产生方法如下下行扰码共有218-1=262,143个扰码,标号为0~262,142。扰码分成512个扰码集,每个扰码集有16个扰码,其中1个是主扰码(primary scrambling code),其它15个是从扰码(secondary scrambling code)。主扰码包含扰码n=16×i(i=0~511),第i个集的从扰码包含扰码16×i+k(k=1~15)。主扰码和从扰码是唯一对应的。因此,扰码k=0~8191得到利用。
512个主扰码又进一步分成64个扰码组,每个扰码组包含8个扰码。16×8×j+16×k(j=0~63,k=0~7)。每个小区分配一个主扰码。
下行扰码序列是通过两个实序列合并成复序列,每个实序列由两个m序列模2加生成的序列的38400片断(扰码长度是38400)。每个m序列的生成多项式阶数是18,对x是1+x7+x18,y是1+y5+y7+y10+y18。因此,扰码是Gold序列的38400片断。
上述说明的是协议中的扰码。扰码的具体生成方法请参阅图1现有技术中扰码发生器扰码生成图。扰码的具体生成方法是用扰码号为n的扰码用序列zn来生成,zn(i)表示n号扰码的第i个符号。
初始条件x(0)=1,x(1)=x(2)=...=x(16)=x(17)=0y(0)=y(1)=...=y(16)=y(17)=1递推公式x(i+18)=x(i+7)+x(i)mod2,i=0,...,218-20y(i+18)=y(i+10)+y(i+7)+y(i+5)+y(i)mod2,i=0,...,218-20因此,Gold序列zn为zn(i)=x((i+n)mod(218-1))+y(i)mod2,i=0,...,218-2.
则扰码号为n的扰码是Sdl,n(i)=zn(i)+jZn(i+M),i=0,...,N-1.
其中j表示虚数,M=131072,N是码片周期,即38400。
当配置的码号为n时,需要对图1中的x序列移位n次,然后才能出来所需的扰码,如果需要产生n号扰码在M个相位以后的码字,则需要继续在对x序列进行n次移位后的基础上对x序列和y序列同时再进行M次移位。
虽然现有技术提供了一种扰码的具体生成方法,但是在实现过程中,经常会遇到需要在很短时间内产生需要的任意码号在任意相位的码字,用这种方法来产生扰码至少要延迟n+M的时间才能产生所需的码字,这样就很可能满足不了实现过程中实时性的要求。同时,如果要实时产生扰码,可以提前n+M的时间产生扰码,这固然满足了实时性的要求,但是在这n+M的时间内,该扰码发生器就会被独占,不能被用作它途,可能需要若干套扰码发生器来满足实现不同多径或信道的搜索或解调功能。第三,提前产生扰码的方法增加了装置的功耗,提前产生扰码也增加了控制的复杂度。由于这三点原因,传统的扰码发生方法在控制复杂度、功耗和资源上都存在较大浪费。

发明内容
为克服现有技术的不足,本发明的目的在于提供一种快速扰码发生器及其实现方法,能在WCDMA系统中产生任意码号任意相位的扰码。
本发明的另一个目的在于提供一种快速扰码发生器及其实现方法,提高扰码的实时性。
本发明的再一个目的在于提供一种快速扰码发生器及其实现方法,降低资源占用,提高复用水平,用较少的扰码发生器实现扰码发生功能。
为完成上述发明目的,本发明采用的整体技术方案为一种快速扰码发生器,包括一产生低位计数值的计数器,其输入端接受扰码使能信号,输出端连接一产生高位计数值的计数器,用于产生对应于扰码平移序列数分解成的多项式各项系数的低位计数值;一产生高位计数值的计数器,其输入端连接所述的产生低位计数值的计数器,用于产生两轮高位计数值;至少两个移位寄存器组,它与产生低位计数值的计数器和产生高位计数值的计数器相连,用于在产生第一轮高位计数值时将扰码码号快速转化成扰码初相,在产生第二轮高位计数值时将扰码初相快速转化成为任意相位的扰码码字。
所述产生低位计数值的计数器为模19计数器,其输出端经一或门电路连接产生高位计数值的计数器的输入端。
所述产生高位计数值的计数器为模18计数器。
所述两个移位寄存器组的第一个移位寄存器组由至少18个D触发器组成,输入扰码初相的x序列,第二个移位寄存器组由至少18个D触发器组成,全1值置入y序列,用于将扰码码号快速转化成扰码初相和将扰码初相快速转化成为任意相位的扰码码字。
一种快速扰码发生器的实现方法,扰码发生器包括产生低位计数值的计数器、产生高位计数值的计数器和至少两个移位寄存器组,该方法至少包括以下步骤步骤1、产生低位计数值的计数器接收扰码使能信号,产生对应于扰码平移序列数分解成的多项式各项系数的低位计数值并输出;步骤2、产生高位计数值的计数器产生第一轮高位计数值,两个移位寄存器组将扰码码号转化成扰码初相;步骤3、产生高位计数值的计数器产生第二轮高位计数值,两个移位寄存器组将扰码初相转化成为任意相位的扰码码字。
所述步骤1之前还包括将待测小区的扰码初相置入对应x序列的第一个移位寄存器组,全1值置入对应于y序列的第二个移位寄存器组的步骤。
所述步骤1中的扰码使能信号在高电平状态有效。
所述步骤1中的多项式是指扰码号平移的x、y序列用卷积表示成的多项式。
所述多项式的阶数为18。
所述步骤1中的多项式各项系数值为1表示移位寄存器平移1位,为0表示不平移。
所述步骤1进一步包括下述步骤步骤11、产生低位计数值的计数器接受扰码使能信号;步骤12、产生低位计数值的计数器产生对应于扰码平移序列数分解成的多项式各项系数的低位计数值;步骤13、将产生的低位计数值输出到产生高位计数值的计数器中。
所述步骤2中的运算为异或运算。
步骤2进一步包括下述步骤步骤21、产生高位计数值的计数器产生第一轮高位计数值;步骤22、两个移位寄存器组的对应寄存器进行异或运算,并将异或结果写入第一个移位寄存器组;步骤23、判断低位计数值是否满,不满则重复步骤22,满则将第一个移位寄存器组的值置入第二个移位寄存器组的对应寄存器中并清零第一个移位寄存器组,将扰码码号快速转化成扰码初相。
所述步骤23中的低位计数值满是指低位计数值达到18。
所述步骤3进一步包括下述步骤步骤31、产生高位计数值的计数器产生第二轮高位计数值;步骤32、两个移位寄存器组的对应寄存器将第一个移位寄存器组的值置入第二个移位寄存器组的对应寄存器中,将扰码初相快速转化成为任意相位的扰码码字。
本发明具有显著的优点和积极效果。采用卷积的方法来生成多项式,对x序列进行快速移位产生扰码号到扰码初相的转化,对x序列与y序列进行快速移位产生扰码初相到任意扰码相位的转化,能在WCDMA系统中产生任意码号任意相位的扰码。并且提高了扰码产生的实时性,降低了资源占用,提高复用水平,用较少的扰码发生器实现扰码发生功能。


图1为现有技术中扰码发生器扰码产生图;图2为本发明扰码产生模块时序图;图3为本发明的装置构成图;图4为本发明的模18计数器信号处理过程示意图;图5为本发明两个移位寄存器信号处理过程示意图;图6为本发明快速扰码初相计算时序图;图7为本发明的主流程图。
具体实施例方式
下面结合说明书附图来说明本发明的具体实施方式

任意码号任意相位扰码的计算方法可以采用下行扰码快速产生的方法。下行扰码为戈尔德(Gold)码,根据m的周期性,右移M个相点的m序列,可以通过对原始序列做卷积来实现。扰码码号向扰码初相的转化与扰码初相向任意相位的扰码码字的转化从本质上都是一样的,就是求将下行扰码的x序列或x序列和y序列平移a后的初值这样一个问题。
请参阅图2本发明扰码产生模块时序图,c为扰码初相对应在绝对时标上的相位值;i为扰码码号转化成扰码初相开始计算时刻,e为扰码码号转化成扰码初相结束时刻,s为扰码初相向任意相位扰码码字转化结束时刻。
这样,只需18×19×2的时间内就可以产生任意扰码码号任意相位的扰码。图中之所以标识c这个时刻,是因为扰码为截断的m序列,所以在扰码产生过程中,在c时刻必须将扰码初相置入。这样可以保证扰码产生器在整个相关过程中的连续性。
对于x序列平移n,本发明用一个作用到移位寄存器上的卷积多项式表示,即平移n可以分解成最多k个最高次数不大于k的平移之和。
所以具体的计算为首先存储m=0,1,...,17对应的卷积多项式am0+am1X+...+am17X17,m=0,...,17,ami=0,1,i=0,...,17.
多项式的系数ami=0,1,i=0,...17,m=0,...,17.,共18组,多项式的系数为1表示在此轮次中平移1次,为0表示不平移。
由于扰码码号向扰码初相的转化与扰码初相向任意相位的扰码码字的转化从本质上都是一样的,只不过前者只对x序列移位,后者对x序列与y序列都移位。
所谓快速扰码发生器事实上由两部分功能组成第一部分就是将扰码码号快速转化成扰码初相的功能;第二部分就是将扰码初相快速转化成为任意相位的扰码码字的功能。这两部分功能使用的是同一种扰码发生办法。
图2中的前18×19的时间内就是将扰码码号转化成扰码初相,后18×19的时间就是将扰码初相快速转化成为任意相位的扰码码字,其产生原理是一样的。
根据快速扰码产生算法,对于扰码的右移,需平移x序列与y序列,而要求的是从e时刻开始移位扰码序列右移n次后的可能的相位,因此可以将平移n分解成最多k个最高次数不大于k的平移之和,这里k=18。所以如图2所示在初值计算启动e到来时,将待测小区的扰码初相置入对应x序列的移位寄存器,全1值置入对于y序列的移位寄存器,同时开始计算初值。
对于扰码平移n,n用如下多项式表示n=n0+n1*2+n2*22+n3*23+...n17*217,ni=0,1公式中18个系数ni对应18个轮次的计数,在上式中,ni为1,表示此轮次平移有效,为0表示此轮次不平移。可知,这里共完成不大于18个平移。
如表1和表2的两组多项式的系数则对应每轮中移位次数的计数,如果该系数为1,对应项的系数为1表示移位寄存器平移1位,为0表示不平移。每轮移位次数不大于18次。
对于x序列的平移来说,对应每个轮次的平移由下列18个多项式的系数(ai,17ai,16ai,15.....ai,1ai,0)决定,对于y序列的平移来说,对应每个轮次的平移由下列18个多项式的系数(bi,17bi,16bi,15.....bi,1bi,0)决定。
表1 X序列快速扰码生成系数表

表2 Y序列快速扰码生成系数表

请参见图3本发明的装置构成图。本发明的快速扰码发生器包括下列构成部分一产生低位计数值的计数器模19计数器1(fsr_low_cnt),其输入端接受扰码使能信号,输出端经或门电路连接一产生高位计数值的计数器模18计数器2的输入端,产生低位计数值的计数器用于产生低位计数值,它对应扰码平移序列数分解成的多项式各项系数;一产生高位计数值的计数器模18计数器2(fsr_high_cnt),其输入端连接所述模19计数器1经或门电路的输出,能产生两轮高位计数值;两个移位寄存器组3、4,第一个移位寄存器组3由18个D触发器组成,输入扰码初相的x序列,第二个移位寄存器组4是18个D触发器组成的移位寄存器,全1值置入y序列,移位时,两个寄存器组3、4的对应寄存器进行异或运算并将异或结果写入第一个移位寄存器组3,在低位计数值满时,将第一个移位寄存器组3的值置入第二个移位寄存器组4的对应寄存器中,用于在第一轮将扰码码号快速转化成扰码初相,第二轮将扰码初相快速转化成为任意相位的扰码码字。
请参阅图4所示的本发明的信号处理过程示意图和图6快速扰码初相计算时序图,产生低位技术值得计数器模19计数器有一个扰码使能信号(fsr_cal_start)输入端,使能信号在高电平时有效;还有一个扰码有效信号(fsr_cal_valid)输入端,有效信号在高电平时有效。扰码使能信号(fsr_cal_start)触发后,开始计算快速扰码,快速扰码的计算时间为图4中扰码有效信号(fsr_cal_valid)为高电平的状态,模19计数器1输出信号为18位的低位计数值,低位计数值对应扰码平移序列数分解成的多项式各项系数,模19计数器通过一或门电路与模18计数器2连接,模18计数器2也有使能信号(fsr_cal_start)输入端,使能信号也是在高电平时有效,模18计数器2输出两轮高位计数值。
请参阅图5本发明的两个寄存器组的信号处理过程示意图和图6快速扰码初相计算时序图,快速扰码发生器实现电路中有两个移位寄存器组,第一个移位寄存器组3由18个D触发器组成,第二个移位寄存器组4是由18个D触发器组成的移位寄存器,当ni=1时才进行移位,移位方向为图中箭头所示。
在实现快速扰码发生方法时,首先平移n分解成n=n0+n1*2+n2*22+n3*23+...n17*217,ni=0,1ni中的i对应模18计数器的计数值i,即n0对应模18计数器计数值0,n1对应模18计数器计数值1,......,n17对应模18计数器计数值17。
aij中的i与ni的i相对应,aij中的j对应模19计数器的计数值j,即ai0对应模19计数器计数值0,ai1对应模19计数器计数值1,......,ai17对应模19计数器计数值17。
当aij=1时,寄存器组3和寄存器组4的对应寄存器进行异或运算,即寄存器组3的D17与寄存器组4的D17异或,......,寄存器组3的D0与寄存器组4的D0异或,然后将异或结果写入寄存器组3。
每当模19计数器计数到18时,将寄存器组3的值置入寄存器组4的对应寄存器中,即寄存器组3的D17与寄存器组4的D17对应,......,寄存器组3的D0与寄存器组4的D0对应,同时将寄存器组3清零。
请参阅图7本发明的主流程图,首先,将待测小区的扰码初相置入对应x序列的第一个移位寄存器组3,全1值置入对于y的第二个移位寄存器4,同时开始计算初值。
然后,模19计数器1在高电平状态接受扰码使能信号,产生对应于扰码平移序列数分解成的多项式各项系数的低位计数值,低位计数值对应扰码平移序列数分解成的多项式各项系数,并输出到一连接模18计数器2的或门电路。
模18计数器2也在高电平状态有效,它根据模19计数器1输出的低位计数值产生两轮高位计数值,模18计数器2从0~17计数两轮,在第一轮将扰码码号快速转化成扰码初相,在第二轮将扰码初相快速转化成为任意相位的扰码码字。在输出第一轮高位计数值时,两个移位寄存器组的对应寄存器进行运算并将运算结果写入第一个移位寄存器组3,将扰码码号快速转化成扰码初相。具体过程为模18计数器2产生第一轮高位计数值,两个移位寄存器组3、4的对应寄存器进行异或运算并将异或结果写入第一个移位寄存器组3,当aij=1时,寄存器组3和寄存器组4的对应寄存器进行异或运算,即寄存器组3的D17与寄存器组4的D17异或,......,寄存器组3的D0与寄存器组4的D0异或,然后将异或结果写入寄存器组3。
每当模19计数器1计数到18时,将第一个移位寄存器组3的值置入第二个移位寄存器组4的对应寄存器中,即寄存器组3的D17与寄存器组4的D17对应,......,寄存器组3的D0与寄存器组4的D0对应,同时将寄存器组3清零。
判断低位计数值是否满,即是否达到18,是则将第一个移位寄存器组3的值置入第二个移位寄存器组4的对应寄存器中,将扰码码号快速转化成扰码初相;之后,模18计数器2产生第二轮高位计数值,两个移位寄存器组的对应寄存器将第一个移位寄存器组的值置入第二个移位寄存器组的对应寄存器中,将扰码初相快速转化成为任意相位的扰码码字。在模18计数器2产生第二轮高位计数值时,两个移位寄存器组3、4的对应寄存将第一个移位寄存器组3的值置入第二个移位寄存器组4的对应寄存器中,将扰码初相快速转化成为任意相位的扰码码字。
如上的伪码描述中,如果是计算扰码码号向扰码初相的转化,则公式中的n即为扰码码号;如果是产生扰码初相向任意相位如延迟m个码字的扰码码字,则公式中的n即为扰码m。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
权利要求
1.一种快速扰码发生器,其特征在于,它包括一产生低位计数值的计数器,其输入端接受扰码使能信号,输出端连接一产生高位计数值的计数器,用于产生对应于扰码平移序列数分解成的多项式各项系数的低位计数值;一产生高位计数值的计数器,其输入端连接所述的产生低位计数值的计数器,用于产生两轮高位计数值;至少两个移位寄存器组,它与产生低位计数值的计数器和产生高位计数值的计数器相连,用于在产生第一轮高位计数值时将扰码码号快速转化成扰码初相,在产生第二轮高位计数值时将扰码初相快速转化成为任意相位的扰码码字。
2.根据权利要求1所述的快速扰码发生器,其特征在于,所述产生低位计数值的计数器为模19计数器,其输出端经一或门电路连接产生高位计数值的计数器的输入端。
3.根据权利要求1所述的快速扰码发生器,其特征在于,所述产生高位计数值的计数器为模18计数器。
4.根据权利要求1所述的快速扰码发生器,其特征在于,所述两个移位寄存器组的第一个移位寄存器组由至少18个D触发器组成,输入扰码初相的x序列,第二个移位寄存器组由至少18个D触发器组成,全1值置入y序列,用于将扰码码号快速转化成扰码初相和将扰码初相快速转化成为任意相位的扰码码字。
5.一种快速扰码发生器的实现方法,扰码发生器包括产生低位计数值的计数器、产生高位计数值的计数器和至少两个移位寄存器组,其特征在于,该方法至少包括以下步骤步骤1、产生低位计数值的计数器接收扰码使能信号,产生对应于扰码平移序列数分解成的多项式各项系数的低位计数值并输出;步骤2、产生高位计数值的计数器产生第一轮高位计数值,两个移位寄存器组将扰码码号转化成扰码初相;步骤3、产生高位计数值的计数器产生第二轮高位计数值,两个移位寄存器组将扰码初相转化成为任意相位的扰码码字。
6.根据权利要求5所述的快速扰码发生器的实现方法,其特征在于,所述步骤1之前还包括将待测小区的扰码初相置入对应x序列的第一个移位寄存器组,全1值置入对应于y序列的第二个移位寄存器组的步骤。
7.根据权利要求5所述的快速扰码发生器的实现方法,其特征在于,所述步骤1中的扰码使能信号在高电平状态有效。
8.根据权利要求5所述的快速扰码发生器的实现方法,其特征在于,所述步骤1中的多项式是指扰码号平移的x、y序列用卷积表示成的多项式。
9.根据权利要求8所述的快速扰码发生器的实现方法,其特征在于,所述多项式的阶数为18。
10.根据权利要求8所述的快速扰码发生器的实现方法,其特征在于,所述步骤1中的多项式各项系数值为1表示移位寄存器平移1位,为0表示不平移。
11.根据权利要求5所述的快速扰码发生器的实现方法,其特征在于,所述步骤1进一步包括下述步骤步骤11、产生低位计数值的计数器接受扰码使能信号;步骤12、产生低位计数值的计数器产生对应于扰码平移序列数分解成的多项式各项系数的低位计数值;步骤13、将产生的低位计数值输出到产生高位计数值的计数器中。
12.根据权利要求5所述的快速扰码发生器的实现方法,其特征在于,所述步骤2中的运算为异或运算。
13.根据权利要求5所述的快速扰码发生器的实现方法,其特征在于,步骤2进一步包括下述步骤步骤21、产生高位计数值的计数器产生第一轮高位计数值;步骤22、两个移位寄存器组的对应寄存器进行异或运算,并将异或结果写入第一个移位寄存器组;步骤23、判断低位计数值是否满,不满则重复步骤22,满则将第一个移位寄存器组的值置入第二个移位寄存器组的对应寄存器中并清零第一个移位寄存器组,将扰码码号快速转化成扰码初相。
14.根据权利要求13所述的快速扰码发生器的实现方法,其特征在于,所述步骤23中的低位计数值满是指低位计数值达到18。
15.根据权利要求5所述的快速扰码发生器的实现方法,其特征在于,所述步骤3进一步包括下述步骤步骤31、产生高位计数值的计数器产生第二轮高位计数值;步骤32、两个移位寄存器组的对应寄存器将第一个移位寄存器组的值置入第二个移位寄存器组的对应寄存器中,将扰码初相快速转化成为任意相位的扰码码字。
全文摘要
本发明是一种快速扰码发生器及其实现方法。包括产生低位计数值计数器,产生高位计数值计数器和将扰码码号快速转化成扰码初相并将扰码初相快速转化成为任意相位扰码码字的至少两个移位寄存器组。产生低位计数值计数器接收扰码使能信号,产生对应于扰码平移序列数分解成的多项式各项系数的低位计数值;产生高位计数值计数器产生第一轮高位计数值,两个移位寄存器组将扰码码号转化成扰码初相;产生高位计数值的计数器产生第二轮高位计数值,两个移位寄存器组将扰码初相转化成为任意相位的扰码码字。本发明用较少的扰码发生器实现扰码发生功能,能在WCDMA系统中产生任意码号任意相位的扰码,提高了扰码产生的实时性,降低了资源占用,提高了复用水平。
文档编号H04J13/00GK1848681SQ20051013050
公开日2006年10月18日 申请日期2005年12月13日 优先权日2005年12月13日
发明者王洋 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1