>
首页 » 技术文章 » 基于3GTS25.212的Turbo码交织器的研究

基于3GTS25.212的Turbo码交织器的研究

作者:刘小同,万国春,陈岚  时间:2007-04-19 10:40  来源:

摘要:介绍了Turbo码和交织技术,以及交织技术在Turbo码中的重要作用,提出了一种交织器电路的设计思路,并进行了信道的性能仿真,比较了它的性能。根据此设计思路,用VerilogHDL语言的编程设计了基于3GTS25.212交织器的电路,并给出了仿真结果,验证了设计的正确性。

关键词:WCDMA;Turbo码;交织器;硬件描述语言

引言

C.Berrou等人在1993年首先提出了Turbo码,它是在综合过去几十年来的级联码、乘积码、最大后验概率译码与迭代译码等理论的基础上的一种创新。它在低信噪比下表现出了接近Shannon限的性能,其性能超过了其他编码方法。Turbo码的基本原理是通过编码器的巧妙构造,即多个子码通过交织器进行并行或串行级联(PCC/SCC),然后进行迭代译码,从而获得卓越的纠错性能。图1所示为Turbo编译码的原理框图,C.Berrou等人在Turbo码提出伊始就给出了设计性能较好交织器的特点和基本原则:通过增加交织器的长度,可以使译码性能得到提高;交织器应该使输入序列尽可能地随机化,从而避免编码生成低重码字,导致Turbo码自由距离减少。就Turbo码中交织器参数的选择及其性能和实现进行探讨。

WCDMA移动通信系统技术标准是由国际性第三代合作组织计划(3GPP)支持并维护的。3GPP主要是由欧洲和日本的标准组织和公司组成。它将GSMMAP作为上层核心网协议,与GSM核心网完全兼容。关于WCDMA信道编码和映射的规范是3GTS25.212“Multinlexins and channel codns"(FDD)。

数据交织算法

交织器是实现Turbo编码的一个重要环节。


图1 Turbo编译码的原理框图

它的主要作用就是将原始数据序列打乱,使得交织前后数据序列的相关性减弱,这样做突出的一个优点便是大大降低了数据突发错误的影响,以进一步提高抗干扰性能。解交织器将交织器打乱的字节序列重新排列恢复原始码字。按交织方式可分为分组交织器和随机交织器两种。其实现基本类型又可分为行列式分组交织、螺旋式分组交织、线性转换式随机交织和读表式随机交织等。行列式分组交织是将信息码元序列视为N×M矩阵,然后采取以行读和列写的方式实现码元交织,交织后码元的距离特性呈均匀分布;螺旋式分组交织则将码元序列视为N×(N+1)矩阵,然后以对角方向读和行写的方式交织,交织后相邻码元距离≥N。分组交织的特点是方式简单、对短序列交织效果较好,但交织后对码元的去相关不彻底。线性转换式随机交织就是设法找到一个可逆的比特位地址映射关系T,将长度为2M数据序列的每一比特从一个缓冲区送入另一缓冲区。即m′=mT。其中m=[aM-1,aM-2,…,a1,a0]为交织前比特位地址,T为M×M可逆矩阵,T=[t,Rt,.,R M-2 t,R M-1 t],R为循环右移算子。这种交织器的优点是不需要专门的存储空间存放2M个映射地址。但是,如此交织得到的码元序列仍然具有较强的相关性。

Turbo码交织器的优化设计方案

设计思想
为减少可编程逻辑器件FPGA内部的存储器需要实现量,交织、反交织器设计采用地址翻译方式,也就是对交织、反交织器的读或写的地址进行变换[4]。对于交织器:按行顺序写入交织矩阵,交织,带删除的按列输出。对于反交织器:依据删除阵列按列顺序写入交织矩阵,反交织,带删除的按行输出。

整体结构的设计
在交织深度相同时,交织器和反交织器重排控制参数相同,且在一个码块译码的多次循环迭代中均保持不变。所以同一模块在外部信号的控制下实现交织和反交织功能是一种比较节省资源的方法。图2示出了这样的交织/反交织器结构设计。


图2 交织与和反交织的整体结构的设计思路框图

交织参数计算和交织控制模块在输入交织深度blocksize后,计算对应交织图案。包括交织矩阵行数R、列数C、行间重排模式T(j),在存储p、v数值的ROM表中查取并计算对应p、v数值,从而确定行内重排基准s(i),行内重排因子q(j)。交织参数更新发生在交织长度改变时,码块同步信号到来的时刻。交织和反交织功能模块从参数寄存器中获取相同的当前比特重排参数,根据所得到的参数计算输入比特顺序号对应的输出比特顺序号。交织或反交织功能模块受控于交织控制工作与否。输出控制以对应输出比特顺序号将交织比特输出并写入外部DP-RAM中。

交织器的性能仿真
为了比较几种交织方式性能的优劣,选取生成多项式为g=(15,17)OCTAL的RSC[4],选取交织器的大小均为1024的情况下,仿真出了分组交织、对角线交织、螺旋交织、PN交织、S-随机交织等五种不同交织方式对译码性能的影响。仿真结果见图3所示,从曲线的比较可以看出,S-随机交织器的性能较之其他方式来讲性能最好,在所关注的10-6附近,它和分组交织之间有大约0.5dB的增益。基于以上讨论,选择S-随机交织方式,在译码迭代次数为10的译码条件下,选择迭代结构,对交织规模N不同情况下的误码性能进行了仿真,结果如图4所示,分别给出了交织规模N为160、320、640、5120时,误码率随信噪比的变化而变化的曲线。显然,在信噪比较低,SISO模块迭代次数均为10的情况下,交织单元的规模越大,其交织的一致性越好,当N=5120时,误码率在信噪比略有增大时就有剧烈的衰减,表现出了良好的提高译码性能的能力。


图3 不同交织模式的比较


图4 交织器规模大小对译码性能的影响曲线

基于WCDMA的144kbps交织、反交织器的具体实现

依据上述设计方案和性能仿真结果,采用硬件描述语言可以很方便地实现上述算法的交织本设计是基于ALTREA公司的Quartus环境,采用Verilog语言编程,经过FPGA验证,实现了上述交织器的设计,在不同性能要求下,可以选择参数来满足不同的要求。

由于数据速率已经确定,根据3GPP协议:对于一个20ms的数据帧,经过CRC-16校验后,帧长为2896,实现框图如图5所示。


图5 144kbps交织、反交织地址变换器

图5中,qj表、pattern表、s(i)表用片内ROM就可以直接实现。计算(i*qj)mod(p-1)的模块用乘法器和除法器搭建,它最大的好处就是,在数据速率改变时,只需要相应改变qj表、pattern表、s(i)表就行。

为了克服时延大的缺点,可以将先行算出的交织图案写到外部的E2PROM中,但在寻址交织矩阵的时候,还得对地址进行处理。这种方法的优点就是速度较快,对FPGA芯片内部的资源占用减少。


图6 交织深度为43的交织工作时序图

图6就是一个交织深度为43的交织器的部分工作时序图,这个交织器的设计方案就采用的是片内ROM存储交织矩阵和删除矩阵。

性能测试

测试方法 译码器经过软件功能和时序验证后,可以在Quartus下进行性能评估。如图7所示。

测试结果 应用上述设计的交织器,用等效的C程序测试了AWGN下的Turbo码译码器的性能,数据帧为100,迭代七次,帧长分别为150、2896时的BER性能曲线如图8所示。


图7 软件测试方法


图8 应用交织器的测试比较结果

结论

通过对不同类型交织器原理的分析,在结合信道模型对其性能进行仿真的基础上,提出了一种基于WCDMA的Turbo码编译码的交织器的优化设计方案,并基于可编程逻辑器件技术用硬件描述语言实现了该交织器,该设计可直接应用于Turbo码的模块化设计中,提高Turbo码在恶劣信道环境中的纠错性能。

相关推荐

联发科本季度开始量产三款全新芯片

联发科  芯片  WCDMA  MT6572  2013-07-26

苹果新一代iPad已经获国内电信入网许可

ipad  WCDMA  GSM  2012-06-01

苹果新一代iPad已经获国内电信入网许可

ipad  WCDMA  GSM  2012-05-31

联发科技携产业链和运营商推动中国WCDMA发展

联发科技  WCDMA  2011-07-22

两岸信息产业领域达成多项共识

三网融合  WCDMA  TD  2010-11-05

展讯HSPA/WCDMA射频收发器SR3100已向三星供货

在线研讨会
焦点