Turbo码是由法国人Berrou于1993年提出的一种性能优越的信道编码方案[1],其应用已逐步推广到卫星通信、移动通信和计算机通信等领域。交织器作为Turbo码编码器中的重要组成部分,在Turbo码的性能中起着至关重要的作用,因此交织器的设计成了Turbo码设计中的一个重要方面,交织器的好坏将直接关系到整个Turbo码系统的优劣。
本文分析了交织器在Turbo码中的作用,以及分组交织器[2]存在的缺陷,提出一种改进型的分组交织器,即交织深度和宽度可控的分组交织器的设计方法。该交织器可根据数字通信中信道的实际特性,做到交织矩阵深度和宽度可控,能够更好的满足不同帧长度数据传输的要求,从而达到最佳的抗突发连续错误的目的。
交织器设计采用Altera公司生产的Cyclone系列FPGA芯片,利用其内部嵌入式存储资源,用双端口存储器实现。
1 传统分组交织器的作用、原理及缺陷
1.1 交织器的作用
在传统信道编码中,交织器的作用是将信源序列打乱,将它们分散到不同的数据序列中,以消除相邻码元之间的相关性。这样,当信号经历衰落或突发干扰时,邻近码元被噪声淹没的可能性会大大降低,从而增强了抵御长时间突发噪声的能力,同时也有利于接收端的译码接收。
另外,交织器作为Turbo码编码器中的重要组成部分,对提高Turbo码的性能起着至关重要的作用。文献[3]指出,Turbo码作为线性码,其纠错译码性能主要由码字的重量分布决定,而交织器实际上正是决定了Turbo码的重量分布。所以,Turbo码的性能很大程度上由交织器所决定。
1.2 分组交织器的原理
分组交织是一种简单的交织方式,其原理是在发送端将待交织的输入数据均匀分成m个码组,每个码组由n段数据组成,这样便构成一个n×m的交织矩阵,其中,m为交织深度,n为交织约束长度或宽度。待交织数据以公式的顺序进入交织矩阵,再以公式的顺序从交织矩阵中送出,这样就完成了对输入数据的分组交织。
1.3 分组交织器存在的缺陷
分组交织器虽然具有原理简单,易于硬件实现的特点。但其存在的主要缺点是由于交织矩阵的深度和宽度固定,不能够根据信道(特别是变参信道)中突发误码长度、纠错码的约束长度、纠错能力做出调整,这样,信息序列中出现的突发错误就不能够尽量随机分布在数据帧内。交织后,输入至编码器中的消息序列仍有很大的相关性。这就导致了Turbo码译码器在相继译码中不能正确的译码,会产生较高的译码错误。
基于以上原因,希望设计出交织矩阵深度和宽度可控的分组交织器,以适应不同数据帧长度的需要。从而更好的适应通信系统的特性要求,提高系统克服突发差错的能力。