摘 要:在简单介绍两种常用交织器的基础上,给出了随机分组交织器的设计,并进行了计算机仿真。结果表明,此交织器设计简单,占用内存少,性能明显优于分组交织器,而仅次于随机交织器。
关键词:交织器;Turbo码;随机分组交织器;设计
Design of a Novel Interleaver
ZHANG Yong1,WANG Hong-xing1,GUO Jian2
(1. Navel Aeronautical Engineering Institute, Yantai 264001,China;
2.Beijing University of Posts and Telecommunications, Beijing 100876,China)
Abstract:On the basis of introduction to two interleavers, a new interleaver named random block interleaver is designed and simulated. Simulation results show that the proposed interleaver is easy to design and uses less memory than other interleavers. Its performance is superior to block interleavers, and just inferior to random interleavers.
Keywords:Interleaver;Turbo code;Radom block interleaver;Design
Turbo码由于其接近Shannon限的良好性能成为目前信道编码的研究热点。这种良好性能的产生,原因之一就是它在设计上采用了随机编码的思想,而这种随机的产生,正是由于交织器的引入。交织是一种以一一映射的方式随机化原始信息序列的过程。由于它对Turbo 码性能的重大影响,所以对于交织器的研究也成为了一个热点[1],在文献[2]、[3]中讨论了不同交织器设计对Turbo 码性能的影响,文献[4]、[5]对交织器进行了专门的研究,并讨论了不同子码选择不同交织器的问题。在文献[1]中,Hokfelt试图得出交织器设计的系统方法,Daneshgaran 等也为此作出了努力,但都以失败告终。到目前为止,还没有交织器设计的统一方法,都是针对具体应用而设计,因而也涌现出了很多种交织器,如分组交织器、随机交织器等。
本文基于Turbo码的应用,在研究了分组交织器和随机交织器的基础上,给出了一种新型交织器——随机分组交织器的设计,从理论分析和仿真结果来看,此交织器是一种好的交织器。
一、分组交织器
分组交织器是一种最简单的交织器, 它把交织器看成一个矩阵,信息序列以行方向写入,而以列方向读出。例如待交织序列如表1所示,输出序列见表2。
如果把分组交织器看作是m×n的矩阵,端对端的交织延时为2mn,需要mn个存储单元。分组交织器方程可表示如下:
这里x」代表x的整数部分。
此种交织器易于实现,但是不能打乱一些低重量、输入模式为方形或矩形的,如码重为4、6、9等输入序列的重量分布。
如图1所示的码重为4的输入模式,分组交织器就不能改变它的输入模式,所以其交织效果也最差。
二、随机交织器
随机交织器在写入第一个分量编码器时,以信息序列的本来次序写进存储器,然后交织器以随机方式将其重新排列。需注意的是每一个码元只能进行一次读操作。此交织器产生的随机数大,计算复杂,其交织方式如图2所示。
三、随机分组交织器的设计
本节给出一种新型交织器的设计原理,目的是为了减少随机交织器的计算量, 但和随机交织器相比,性能下降很小,或基本不下降。因为此交织器是在分组交织器和随机交织器的机理上得到的,我们把它称作“随机分组交织器”。 此交织器的实现方法如下:
(1)给出一个mumrow×numcol的矩阵;
(2)把m、n随机打乱,原则是产生的随机数不能重复;
(3)按照行产生的随机数顺序分行输入数据;
(4)按照列产生的随机数顺序输出数据。
给出一个mumrow×numcol的寄存器reg,数据读入寄存器时,数据存储表达式为
其中i = m×numcol+n。
输出寄存器时,读取表达式为
这里,m、n是从零读取的且分别小于行数和列数的整数; randomrow是大小为numrow的寄存器,用来存储随机产生的行数;randomcol是大小为numcol的寄存器,用来存储随机产生的列数;i为交织器寄存器的存储位置;j为从交织器寄存器读出数据的顺序。
从上面的表述可以看出,此交织器的设计比随机交织器大大减少了寄存器空间的使用,在随机交织器的实现过程中,要占用2×mumrow×numcol的寄存器空间,而本文设计的交织器只需占用mumrow×numcol+numrow+numcol的寄存器空间。如果数据量很大时,此交织器会大大减少寄存器的占用。下面给出一个简单例子,说明此种交织器的实现过程。
例如一个4×3的随机分组交织器,随机产生的行数分别为2、1、4、3,而随机产生的列数为2、1、3,那么交织情况如图3所示。
四、仿真结果
我们以Turbo码为应用背景,在交织长度分别为256、1024、4096的情况下,分别给出了随机分组交织器本身以及随机分组交织器和分组交织器、随机交织器的信噪比-误比特率仿真曲线。Turbo码采用的是并行级联卷积码,码率为1/2,译码算法采用的是标准MAP算法,迭代次数为3次,信噪比步长为0.5,仿真数据长度为2×105 bit,信道采用高斯信道。
图4为随机分组交织器在交织长度分别为256、1024、4096时性能曲线仿真图。从图中可以看出,随着交织长度的增加,性能变得越来越好。图5、图6、图7分别为交织长度为256、1024、4096时随机分组交织器和随机交织器、分组交织器的性能比较。可以看出,随机分组交织器的性能明显好于分组交织器,而仅次于随机交织器,在交织长度为256时和随机交织器性能几乎没有什么差别。
五、结论
本文所设计的交织器可以解决分组交织器无法改变一些特殊输入模式的缺点,而且比随机交织器算法简单,占用内存少且用时少,性能也能达到一定要求,是一种好的交织器。
参考文献
[1]Hokfelt J, Maseng T.Methodical Interleaver Design For Turbo Codes[A]. Proc Int Symp On Turbo Codes And Related Topics[C]. 1997.
[2]Barbulescu S A, Pietrobon S S. Interleaver Design For Three Dimensional Turbo Codes[J].IEEE Int Symp Inform Theory,1995.
[3]Andersen J D.Selection of code and interleaver for trubo coding[Z].The Netherlands: ESTEC, 1998.
[4]Yuan J H, Vucetic B, Feng W. Combined turbo codes and interleaver design[J].IEEE Trans on Commun,1999.
[5]刘东华,唐朝京,张权.伪随机交织器设计的改进[J].无线电工程,1999,29(6).
(源自:电讯技术)