APP下载

Turbo码随机性交织器设计

2011-06-14胡家亻全马鹏飞

无线电工程 2011年6期
关键词:译码器码字交织

杨 亮,胡家亻全,马鹏飞

(1.空军驻黑龙江地区军事代表室,黑龙江哈尔滨150046;2.中国电子科技集团公司第五十四研究所,河北石家庄050081)

0 引言

1993年,法国学者C.Berrou等[1]首次提出一种功能强大的信道编译码方案,即Turbo码。它巧妙地将卷积码和交织器结合起来,不仅在一定程度上实现了随机编码,同时采用软输入软输出迭代译码来逼近最大似然译码。仿真结果表明:采用长度为65 536的随机交织器,迭代 18次,在Eb/N0为0.7 dB时,1/2码率的Turbo码在AWGN信道下的误比特率可达10-5,获得了逼近香农限的性能。

Turbo码的优异性能主要得益于以下3个方面:分量码采用递归系统卷积(RSC)码、引入交织器和采用软输入软输出的迭代译码方式。交织器的引入改善了码字的距离谱特性,使编码输出的码字中重量很重或很轻的码字数量减少,从而使码字距离谱窄化,更接近高斯分布。因此,交织器在Turbo码中占有很重要的地位。交织器可分为确定性交织器和随机性交织器两大类,常用的确定性交织器包括分组交织器、循环移位交织器、分组螺旋交织器和双射变换交织器等;常用的随机性交织器包括伪随机交织器、S随机交织器和S改进交织器等。

1 Turbo码基本原理

1.1 Turbo码编码结构

由2个RSC编码器并行级联构成的Turbo码编码结构图[2]如图1所示。

图1 Turbo码编码结构

2个分量编码器通过交织器相连,信息比特分为3路:第1路直接进入复用器;第2路通过分量编码器1进行编码,第3路经过交织器交织后再通过分量码编码器2进行编码,2个编码器编码输出后经过删余器成为校验比特,它与信息比特经过复用器(即并串转换)操作后一起构成Turbo码码字,然后送入信道进行传输。

1.2 Turbo码译码结构

Turbo码译码结构是由2个分量译码器并行级联组成,每个译码器处理接收到的输入序列,第1个译码器利用接收到的与第1个编码器相关的信息进行译码,然后把产生的“软信息”送给第2个译码器。第2个译码器使用第1个译码器送来的信息和接收到的与第2个编码器相关的信道信息进行译码,因此它比第1个译码器有更多的关于输入信息序列的信息。将第2个译码器产生的“外信息”作为先验信息再送给第1个译码器,重新对接收到的信道信息进行译码,同样由于有了更多的关于输入信息序列的信息,可以使译码过程更精确。随着迭代次数的增加,估计值越来越准确。经过一定的迭代次数后,估计值的准确程度趋于收敛,因此可以在迭代了一定次数后,对“软信息”进行硬判决(符号判决),得到最终的译码输出。相应的Turbo码译码结构[2]如图2所示。

图2 Turbo码译码结构

1.3 Turbo码交织器

交织器是一个单输入单输出设备,它的输出与输入符号序列具有相同的字符集,只是各符号在输入输出序列中的排列顺序不同。交织器不仅具有将突发错误转化为随机错误以便纠错的能力,还能使导致第1个编码器输出为低重码字的输入序列经过交织后在第2个编码器输出为高重码字,从而提高整个编码后的码重,以提高Turbo码的性能。交织器的设计,应满足以下准则[2]:

①最大程度地置乱原始信息比特排列顺序,避免置换前相距较近的信息比特在置换后仍相距较近,特别要避免置换前相邻的数据在置换后仍然相邻;

②尽可能避免与同一信息位相关的2个分量码编码器中的校验位在复用时均被删除;

③对于非归零编码器,设计交织器时要尽量避免出现“尾效应”情况;

④应满足使码字间的自由距离使码字间的自由距离dmin应尽可能大,重量为dmin的码字数尽可能少,以改善Turbo码在高信噪比下的性能;

⑤Turbo码是以帧为单位进行编译码的,在设计交织器时,应考虑具体应用背景下的译码延时,选择相应的帧大小。

2 3种随机性交织器设计

2.1 伪随机交织器[3]

伪随机交织器是指交织映射随机生成的交织器。C.Berrou等在最先提出的Turbo码中使用的就是伪随机交织器。

交织长度为N的伪随机交织器设计步骤如下:

①从集合S={1,2,…,N}中随机选择一个整数i1,将选择的i1记为I(i),同时将i1从集合S中删除,得到新的集合记为S1;

②在第k步时,从集合Sk-1={i∈S,i≠i1,i2,…,iN-K+1}中随机选择一个整数ik,将选择的ik记为I(k),同时将ik从集合Sk-1中删除,得到新的集合记为Sk;

③当k=N时,得到I(N),SN=φ,交织结束,这N个数就是交织结果。

2.2 S随机交织器[4]

S随机交织器又称半随机交织器,较好地考虑了汉明重特性和随机特性。它在伪随机交织序列产生的条件上加入了一些限制,即当原始序列中2个元素之间的距离小于某个值S1时,经过交织后这两个元素之间的距离必须要大于某个给定值S。具体描述如下:

对于任意给定的|i-j|≤S1,i,j∈S,均要满足|I(i)-I(j)|≥S,其中i、j为原始序列中元素位置,I(i)、I(j)为对应元素交织后的位置。当Turbo码的2个分量码完全相同时,取S1=S。

交织长度为N的S随机交织器设计步骤如下:

①选取一个正整数S,S应尽量大,但必须保证S≤N/2,否则很难保证交织器能顺利生成;

②随机产生一个在[1,N]之间的整数I(i),把I(i)与前面所产生的S个整数相比,若当前的数I(i)与前面S个整数中的任何一个相距都不在±S范围之内,则保留;否则重新产生随机数I(i),直到满足上述条件为止;

③重复步骤②,直到交织序列的N个位置均被填满,此时这N个数就是交织结果。

2.3 S改进型交织器[4]

由S随机交织器定义知,两数扩散距离为:

重新定义两数扩散距离:

交织长度为N的S改进型交织器设计步骤如下:

①设定一个目标扩散距离Sgoal,一般取Sgoal=

②随机产生一个在[1,N]之间的任意实数I(i),若S(i)小于设定的目标扩散距离Sgoal,则舍弃I(i),重新产生直到满足条件为止。需要注意的是,在计算S′(i,j)时,j的取值范围为[i-Sgoal+1,i-1];

③重复步骤②,直到交织序列的N个位置均被填满;

④将交织序列中的N个实数进行排序,所得的排序位置就是交织结果。

该交织器与S随机交织器有以下不同点:

①使用新的扩散距离定义;

②新定义中使用实数,而不是整数;

③交织结果通过排序这些实数获得。

2.4 3种交织器的优缺点

伪随机交织器具有较强的随机性,交织时间短,交织时通过随机选取不同的整数生成,但通常不能一次生成性能较好的交织序列,需要多次试验取其中性能较好的序列。

S随机交织器有效避免了交织前相距较近的信息比特在交织后仍相距较近,因此其性能一般较伪随机交织器好。由于该交织序列的产生是利用搜索整数的算法实现,存在一个固有的缺点:算法的搜索时间随S的增大而增加且不能保证对于每一个都能找到所需的交织序列,当N较大时,该算法会耗费巨大的时间。

S改进型交织器不仅具有S随机交织器的优点且该算法搜索的是实数,相对于S随机交织器而言,完成交织的时间大为缩短,且对于每个Sgoal都能顺利完成交织。尽管最终交织结果并不能完全满足设定的目标扩散距离,但绝大部分的扩散距离都满足或接近要求。例如,对于N=1 024,如果Sgoal=38,会发现最终几乎所有的扩散距离至少是37,这比S随机交织器的扩散距离22要大得多,因此它的性能比S随机交织器又有进一步的提高。

3 仿真结果

使用3种随机性交织器时Turbo码的误比特率曲线如图3所示。仿真参数为:交织长度N=256,生成矩阵g=[7,5],码率1/3,译码采用 Log-Map算法,迭代8次。

图3 3种交织器的误比特率曲线

图3中S随机交织器S=11,S改进型交织器Sgoal=19。从图中可以看出S改进型交织器的性能最优,S随机交织器次之,伪随机交织器性能最差。随着交织长度N的增加,S改进型交织器的优异性能将更加明显。

不同帧长条件下3种交织器各自完成交织所需的时间如表1所示,其中,仿真平台为Matlab。

表1 3种交织器交织时间

4 结束语

Turbo码从提出到现在已有近20年的时间。这期间,各国学者对Turbo码进行了各方面深入的研究,提出了各种不同性能的交织器。交织器作为Turbo码的一个重要组成部分,对Turbo码的译码性能起着至关重要的作用。这3种随机性交织器虽然结构简单、能适应于不同帧长,但存在每次交织结果不一致的缺点,实际使用时需将预先生成的性能较好的交织序列存储于查找表中。由于Turbo码已成为第三代移动通信系统的信道编码标准之一,因此后续交织器的研究应集中于设计性能优良,具有代数结构,资源耗费少且适用于不同帧长的交织器。

[1]BERROUC,GLAVIEUXA,THITIMAJSHIMAP.Near Shannon Limit Error-correcting Coding and Decoding Turbocodes[C].Switzerland:Proc.IEEE ICC'93,Geneva,1993:1064-1070.

[2]刘东华.Turbo码原理与应用技术[M].北京:电子工业出版社,2004.

[3]潘莉颖.深空通信中Turbo码编码器的研究[D].哈尔滨:哈尔滨工业大学硕士学位论文,2005:30-35.

[4]赵旦峰,董玉华,肖瑛.基于S交织算法的改进的交织器[J].现代电子技术,2003,20(5):12-15.

猜你喜欢

译码器码字交织
“新”与“旧”的交织 碰撞出的魅力“夜上海”
交织冷暖
高速码率兼容DVB-S2的LDPC译码器的FPGA实现
纠错模式可配置的NAND Flash BCH译码器设计
放 下
数据链系统中软扩频码的优选及应用
放下
跟踪导练(一)5
金融骗局虚实交织
奥运梦与中国梦交织延展