一种m序列并行产生方法和装置的制造方法_2

文档序号:9473983阅读:来源:国知局
反馈 简单,初始化简单,既适合硬件实现也适合基于软件DSP的软件实现,特别适合于高速率, 高并行度,高阶数的扰码生成。为了便于理解,下面首先介绍用于生成扰码序列的递推公 式。
[0034] 如前文所述,扰码序列通常由伪随机序列M序列构成。在数学上可以用本原多项 式表示伪随机序列M序列,通过本原多项式可以用递推的方法生成M序列,因此该多项式又 称为M序列的生成多项式。一个通用的生成多项式可表示为:
[0035] f (X) = xr+cr !Xr k…+cj+1
[0036] 其中r是生成多项式阶数,C1是生成多项式中每一项的系数,i = 1,2, "·,Γ-1 ;且Cie {〇,1}。该多项式能够生成以2 *-1为周期的M序列。该生成多项式对应于递推公式:
[0037] X (n+r) = cr J (n+r_l) +…+C1X (n+1) +X (η),η = 0, 1,2,…,N
[0038] 其中r是生成多项式阶数,(^是生成多项式中每一项的系数,且c {〇, 1},N是 所要生成的M序列的长度,其中生成多项式各项之间的" + "表示"模2加"操作,也可以用 " ~ "符号,即"异或"符号来表示同样的操作。
[0039] 发明人对目前常用的M序列生成多项式进行深入分析,发现一般M序列生成系统 中,生成多项式系数中往往仅有前q个有值,而其余系数为〇,即Cl,C2,…,Cq有值,而c q+1, cq+2,…,A i全为0。使用这个性质实现扰码序列的并行化,其最大并行度P = r_q,其中q 等于系数为1的最高幂次项对应的序号。
[0040] 下面结合本发明的一个用于实现LTE系统的扰码生成的实施例对本发明做进一 步地描述。
[0041] 根据本发明的一个实施例,提出了一种扰码序列的并行生成方法,包括下列步 骤:
[0042] 步骤1 :获取M序列的递推公式X (n+r) = cqx (n+q)'"'C1X(IrHl)'X1 (η),确定并行 度w。其中符号表示"异或"运算(sr模2加"运算)。本步骤中,还生成扰码序列的 r个初始值,即生成初始化序列。
[0043] LTE中采用两路M序列异或操作产生扰码序列,首先以其中第一路M序列为例进行 说明,LTE协议中第一 M序列的递推公式是:
[0044] X (n+31) = χ (η+3) 'χ (η), η = 0, 1, ···, N
[0045] 分析递推公式,可以看出LTE协议中第一 M序列的阶数r等于31,最高幂次项的序 号q等于3,最大并行度P为28。假设实际系统中采用的并行度为w,那么就需要保证w不 大于28。
[0046] 另一方面,在本实施例中,LTE第一 M序列给出了 31个初始值,而LTE协议的实际 应用中,需要的M序列是从M序列的第1600个开始的,因此序列中前1600个是没用的,如 果对这1600个数值进行输出会造成浪费。本实施例中,在进行M序列产生前,先直接根据 31个初始值利用递推公式进行迭代计算推导出从第1600开始的31个值。然后用推导出 的31个值作为初始值输入硬件或者软件进行M序列产生,从而节省了产生M序列的相关资 源。
[0047] 步骤2 :同步读取w组已知扰码位(本文中扰码位实际上就是指M序列的位,即M 序列码)作为输入数据,根据递推公式同步进行w路递推计算,得到未知的w个扰码位。其 中,每组已知扰码位对应于一个未知的扰码位。本发明中,将用于生成扰码的M序列中的数 据位称为扰码位。下面举例说明。
[0048] 当LTE协议中第一 M序列采用的并行度w为16时,相应的多路递推公式如下:
[0050] 参考上述多路递推公式,每组输入数据是序号差为3的两个扰码位,例如: x(n+3)、x(n)是作为输入数据的第1组已知扰码位,x(n+4)、x(n+l)是作为输入数据的第2 组已知扰码位,χ (η+18)、χ (n+15)是作为输入数据的第16组已知扰码位,每轮递推计算需 要同步读取16组扰码位作为输入数据,在一轮并行化递推计算完成后,将获得χ (n+31)至 x(n+46)这16个新的扰码位。
[0051] 当LTE协议中第一 M序列采用的并行度w为28时,则多路递推公式如下:
[0053] 依据该多路递推公式进行并行化递推计算的方案与w = 16时类似,此处不再赘 述。
[0054] 可以看出,对应于一般系统,能够得出一般化的多路递推公式:
[0056] 其中r是生成多项式系数,Cq是生成多项式中系数为1的最大幂次项系数,c q恒 等于1,w是实际采用的并行度,最大并行度P = r-q,w不大于P,所以w+q不大于r。
[0057] 依据该一般化的多路递推公式进行并行化递推计算的方案与w = 16时类似,此处 不再赘述。
[0058] 步骤3 :记录所计算出的w个扰码位并将这w个扰码位同步输出,重新执行步骤2 读取下一轮递推计算的输入数据。
[0059] 不断执行上述步骤2、3,即可持续地并行生成和输出扰码。
[0060] 上述扰码序列的并行生成方法中,对于每轮运算,w路运算的递推式完全一致,因 此在硬件实现时w路运算可使用相同的连线方式及运算单元,这样,生成w位新扰码的延时 相同,能够避免因木桶效应而限制硬件频率,有助于进一步提高并行扰码的生成速率。另一 方面,并行的数据将会经历相同的运算与存储,因此上述扰码序列的并行生成方法也很容 易使用向量指令进行编程实现,因此适合于在具有SHffi结构的向量DSP中实现。
[0061] 进一步地,图2示出了根据本发明一个实施例所提供的一种扰码序列并行产生装 置的结构示意图,该实施例为实现LTE系统中第一路M序列的扰码序列并行产生装置。本实 施例中,扰码序列并行产生装置包括31个寄存器,图2中从上至下编为0至30号寄存器。 其中,每个寄存器的D端为输入端,Q端为输出端,CLK端为时钟输入端口,整个装置符合时 序逻辑,每当一个时钟周期结束,寄存器Q端的数据会更新为D端的数据。异或功能是由组 合逻辑单元完成的,由于LTE系统中第一路M序列的递推公式仅含一次异或运算,因此可认 为递推运算即时生效。
[0062] 参考图2,对基于这种寄存器与异或电路的硬件设计描述如下:首先,对于硬件设 计的结构,由于本实施例中M序列的阶数为r(r = 31),故硬件设计中需要的寄存器长度也 为r (即31),并对寄存器编号设定为0~r-Ι (即0~30)。其次,对于硬件设计的连线, 由于递推公式右侧最高幂次项的序号为q(本实施例中q = 3),故需要将寄存器编号相差 q(即3)的寄存器输出端进行异或连线,所需要进行异或的寄存器数量取决于所设计的并 行度。再次,对于硬件设计的输出,由于所设计的硬件并行度为w(w= 16),故利用寄存器 0~w-Ι (即0~15)和寄存器q~w+q-Ι (即3~18)的数值进行异或,经过一个时钟周 期,便可以同时输出w(即16)个扰码位。最后,对于硬件设计的反馈,由于所设计的硬件并 行度为w (w = 16),故需要将寄存器w~r-Ι (即16~30)的值赋给寄存器0~r-w-Ι (即 0~14),同时需要将输出的w(即16)个bit反馈给编号为r-w~r-Ι (即15~30)的寄 存器。在这样的硬件设计中,可以保证1个时钟周期产生w个运算结果与w路反馈,从而能 够并行实现扰码序列产生。第二M序列的硬件或者软件实现和第一 M序列原理一致,这里 不再赘述。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1