turbo码java实现_Turbo码的迭代译码算法的设计与软件实现

Turbo码的迭代译码算法的设计与软件实现

摘要:本文介绍了一种先进的移动通信系统WCDMA中的差错控制编码——Turbo码,在对其原理分析的基础上,简单介绍它迭代译码算法的实现及其性能仿真分析。

关键词:差错编码;Turbo码;迭代译码;仿真。

1 引言

1948年,现代数字通信的奠基人Shannon在信道编码定理中指出如果采用足够长的随机编码,就能逼近Shannon

信道容量。但是传统的编码都有规则的代数结构,远远谈不上“随机”;同时,出于译码复杂度的考虑,码长也不可能太长。所以传统的信道编码性能与信道容量之间都有较大的差距。事实上,长期以来信道容量仅作为一个理论极限存在,实际的编码方案设计和评估都没有以Shannon限为依据。

1993 年两位法国教授Berrou、Glavieux

和他们的缅甸籍博士生Thitimajshima 在ICC 会议上发表的“Near Shannon

limit error-correcting coding and decoding: Turbo

codes”,提出了一种全新的编码方式——Turbo

码。它巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个软入/软出(SISO)译码器之间进行多次迭代实现了伪随机译码。而南澳大利亚大学Small

World通信研究组最先开始开发Turbo码产品。Chass、Garrett

和Koora等人也分别在不同的数字芯片上设计实现了Max-Log-MAP算法和SOVA算法。目前已有的DSP和ASIC芯片及其不断发展为提高Turbo编译码的处理提供了条件。

经过多年的努力,Turbo

码得到了广泛的关注和发展,并对当今的编码理论和研究方法产生了深远的影响,信道编码学也随之进入了一个新的阶段,本文给出了Turbo码基本原理的介绍及迭代译码算法的实现与其性能仿真。

2 编译码原理

图1中给出了Turbo码编码器的一般性结构。图中dk是输入进行编码的数据块,加入尾随比特的作用是使在一个数据块编码结束之后,保证成员编码器的寄存器回到全零状态,这样的Turbo码就等同于线性分组码,从而通过分析这类分组码的特性来计算Turbo码的译码性能上界,对其性能进行估计与分析。编码器中的第一个输出xk是输入信息比特和加入的尾随比特。输入信息比特和尾随比特经过交织器交织后分别送入第1,2,……,M个成员编码器进行编码,得到M个校验输出序列y1,y2……yM,这M个校验序列经过删除器的压缩(以得到不同的编码速率)后,与信息序列xk一起经并/串变换并调制后发送出去。在发送端,其编码的随机性是通过编码器中的交织器以及并行级联方式来实现的;其中交织器设计的好坏和成员编码器的选择是决定码字性能关键因素之一。

通常Turbo码的编码器由两个成员编码器通过交织器并行级联而成。即对于每一个输入信息比特,编码器输出两个校验比特,若不经过压缩,则总的编码速率为1/3。从理论上来说,可以编成任意码率的Turbo码。

一般,Turbo码的编码部分由两个子编码器组成

,在其译码部分也就相应有两个子译码器。一般情况下

,两个子译码器可采用多级级联结构。由于Turbo码第二个子编码器的信息位没有输出

,第二个子译码器只能利用第一个子译码器译出的信息序列进行译码。软判决译码比硬判决译码性能提高2~3dB,因此每一个子译码器都用软输入软输出译码器。译码器工作原理如下:由于接收序列为串行数据

,首先要进行数据的串/并转换

,同时将删除的比特位填上“虚拟比特”(不影响译码判决的值如0)。将经过串/并转换后的xk,y1k送入子译码器1译码

,并产生关于dk改进的外信息Λ1e(dk)。由于译码器1没有用到可能提高后验概率的校验序列y2k,所以译码器1的输出仅在交织后作为译码器2的先验信息输入,而不能作为对信息序列的判决。将xk和Λ1e(dk)交织后作为子译码器

2的软输入 ,子译码器 2根据译码算法对xk,

Λ1e(dk)和y2k用与子译码器1同样的方法再次产生信息比特改进的外信息Λ2e(dj),经去交织后得到

作为下一次迭代中子译码器1的先验信息。这样在多次迭代后,对子译码器2产生的输出Λ2(dj)去交织后进行硬判决,得到每个信息比特

的估值 。

Turbo码的译码结构如图2(a)所示,由于这种将输出反馈到前端的迭代结构类似于汽轮机的工作机理,首先提出它的人称之为Turbo—code(英文中前缀turbo—带涡轮驱动的含义)

尽管图2(a)给出的是反馈的结构,由于有交织环节的存在必然引起时延,使得不可能有真正意义上的反馈,而是流水线式的迭代结构,如图2(b)。也正是由于这种流水线结构,使得译码器可由若干完全相同的软入软出的基本单元构成,从而以较小的复杂度实现了最大似然译码。Turbo码译码器的最主要特点就是采用了软判决迭代译码算法。

(因文章长度不能超过2万字,余下部分只能在回复中补全)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值