Turbo乘积码技术及其性能研究

时间:2022-10-04 06:28:55

【前言】Turbo乘积码技术及其性能研究由文秘帮小编整理而成,但愿对你的学习工作带来帮助。(Naval Aeronautical Engineering Institute,Yantai,264001,China) Abstract:This paper analyses the basic principle of TPC,compares the error performance in the system which has been applied with TPC with the uncoded system,studies the influences whic...

Turbo乘积码技术及其性能研究

摘 要:在分析turbo 乘积码的基本编译码原理的基础上,比较了未编码与编码后系统的差错性能,研究了选取不同分量码、不同迭代次数对TPC译码性能的影响。在不同迭代次数与分量码情况下,进行了仿真实验。仿真实验表明,在相同的差错性能条件下,采用TPC码能带来5~6 dB的编码增益。TPC译码算法简单,没有错误平层,硬件实现复杂度较小,是一种非常实用的信道编码方式。

关键词:纠错码;香农极限;Turbo乘积码;迭代译码

中图分类号:TN911 文献标识码:A 文章编号:1004373X(2008)1502103

Turbo Product Code Technology and Its Performance Analysis

XU Jianwu,WANG Hongxing,HU Hao

(Naval Aeronautical Engineering Institute,Yantai,264001,China)

Abstract:This paper analyses the basic principle of TPC,compares the error performance in the system which has been applied with TPC with the uncoded system,studies the influences which different block codes and iterative numbers to TPC decode performance.under the circumstances of different iteration numbers and block codes,experiment simulation is carried on.The simulation results indicate that introduction of TPC can get the code gain of 5~6 dB.TPC decoding algorithm is simple,and doesn′t have the error floor,the complexity of its hardware implementation is smaller,it is a kind of practical channel coding method.

Keywords:error correcting code;Shannon limit;Turbo product code;iterative decode

1 引 言

通信信道中采用前向纠错码(FEC)提高系统性能的能力取决于所选的码字和信道的特征。所有的前向纠错码其纠错能力都有一个理论上的极限值,如香农极限值一样[1]。对于给定码率的情况下,香农极限定义了最适宜的理论界线。任何纠错码的性能不可能优于香农极限,而且随着编码性能接近香农极限,系统实现的复杂度呈指数量级增长。

1993年Berrou等人提出的Turbo码在接近香农极限的低信噪比下,仍然能够获得较低的误码率,从而使Turbo码成为了编码界的一个研究热点。通常我们所说的Turbo码基本上都是讲Turbo卷积码[2](TCC)。它以卷积码作为其分量码,译码算法比较复杂,而且TCC存在错误平层(error floor)。虽然通过增加系统复杂度,例如增大交织深度或者增大分组数据块大小能减小错误平层,但是这将极大地增加系统成本,增大延迟和功率消耗。1994年Pyndiah提出了Turbo乘积码(TPC)概念,并设计了可实现软输入软输出(SISO)迭代运算的Chase译码算法。1998年他又在Chase译码算法的基础上提出了一种线性分组码的软输入软输出译码算法[3],并将之应用于乘积码子码的译码,形成了Turbo乘积码。TPC不存在错误平层,译码相对简单且性能较好,在同样的误比特率下,与香农极限之差只有1.1 dB。因此TPC是一种非常实用的信道编码方式[4],并已开始在各种通信系统中实现应用。

2 基于TPC编译码的通信系统模型

在发送端,输入数据经过CRC编码后送入TPC编码器,编码输出经过交织,调制后发射到信道,本文中交织方式采用螺旋交织,调制方式采用BPSK调制。接收端接收到来自信道的数据,经过解调、解交织后输入到TPC译码器,再经CRC验证后输出。其中插入CRC比特的作用是,在迭代译码过程中,CRC比特能检测验证当前正在译码的数据是否已有效,如果数据正确,则停止迭代译码,从而减小译码时间。

3 TPC的编译码原理

乘积码是一种多维阵列分组码。其结构可以用k1行和k2列的数据矩阵描述。k1行含有由k2信息比特和n2-k2校验比特组成的码字,每k1行表示一个(n2,k2)码的码字。同样,k2列含有由k1信息比特和n1-k1校验比特组成的码字,每k2行表示一个(n1,k1)码的码字。用d表示数据,ph表示平行校验位,pv表示垂直校验位。数据位与校验位之间的关系为:didj=pij,表示模2加运算。可见,乘积码的编码过程包括两个独立的编码步骤,即平行编码和垂直编码。此外,用Leh和Lev分别表示含有平行和和垂直译码所得到的非本征LLR。非本征LLR可以用来表示译码性能提高的改善量。

图1 系统模型图图2 乘积码结构图(二维)例如,图3表示一个(8,4)×(8,4)的扩展汉明乘积码。其中“D”代表数据,“E”代表校验比特。

图3 二维扩展汉明乘积码TPC译码运算法则采用迭代译码。对于乘积码阵列,最理想的Turbo译码方法是利用软判决相关译码方法对每一行进行译码。行译码的输出结果和原始数据一起作为另一个译码器的输入对列进行译码,译码过程也采用软判决相关译码方法。列译码的输出结果作为输入反馈给行译码。这个迭代译码的过程一直这样进行,直到译码器得到了一个有效的发射码字阵列,或者译码器达到了最大的迭代译码次数。具体过程如下:

每比特的最终译码判决及其可靠性取决于L(d∧)的值,利用方程:L(d∧)=Lc(x)+L(d)+Le(d∧)(1) 可以求解L(d∧),对于乘积码,迭代译码算法的具体步骤如下:

(1) 设置先验LLRL(d)=0(假设0,1等概率出现);

(2) 平行译码,由方程(1)求得水平外信息:Leh(d∧)=L(d∧)-Lc(x)-L(d) (3) 设置L(d∧)=Leh(d∧);

(4) 垂直译码,由方程(1)求得垂直外信息:Lev(d∧)=L(d∧)-Lc(x)-L(d) (5) 在步骤(2)的平行译码中设置L(d∧)=Lev(d∧),重复步骤(2)~(5);

(6) 多次迭代,直到得到可靠的判决;

(7) 最终软输出为:L(d∧)=Lc(x)+Leh(d∧)+Lev(d∧);

上一篇:基于微粒群算法的L-VM时间序列预测 下一篇:基于多播扫描机制的双栈蠕虫研究