A. Turbo码的译码算法
如前所述,turbo码需要一种软输入软输出的译码算法。软输出译码器的输出不仅应包含硬判决值,而且包括做出这种判断的可信程度。译码算法应该考虑到三方面的问题,及外信息的引入;如何在迭代译码中充分利用各类信息,防止简单正反馈的形成,确保算法收敛;充分利用码原件的相关信息。常见的算法有一下几种: 其运算量为标准维特比算法的两倍。维特比算法是最大似然序列估计算法,但由于在它的每一步都要删除一些低似然路径,为每一状态只保留一条最优路径,它无法提供软输出。为了给他输出的每个比特赋予一个可信度,需要在删除低似然路径是做一些修正,以保留必要的信息。其基本思想是利用最优留存路径和被删路径的度量差,这个差越小意味着这次算去的可靠性越好。然后用这个差去修正这条路径上各个比特的可信度。
B. Turbo码的译码原理
香农信息论告诉我们,最优的译码算法是概率译码算法,也就是最大后验概率算法(MAP)。但在Turbo码出现之前,信道编码使用的概率译码算法是最大似然算法(ML)。ML算法是MAP算法的简化,即假设信源符号等概率出现,因此是次优的译码算法。Turbo码的译码算法采用了MAP算法,在译码的结构上又做了改进,再次引入反馈的概念,取得了性能和复杂度之间的折衷。同时,Turbo 码的译码采用的是迭代译码,这与经典的代数译码是完全不同的。
Turbo 码的译码算法是最早在BCJR 算法的基础上改进的,我们称以MAP算法,后来又形成Log-MAP算法、Max-Log-MAP以及软输入软输出(SOVA)算法。Turbo 码的译码结构图
⒈Turbo 码的译码结构如图所示. Turbo 译码器有以下的特点:
1) 串行级联
2) 迭代译码
3) 在迭代译码过程中交换的是外部信息
⒉ 概率译码译码原理及结构
译码时首先对接收信息进行处理,两个成员译码器之间外部信息的传递就形成了一个循环迭代的结构。由于外部信息的作用,一定信噪比下的误比特率将随着循环次数的增加而降低。但同时外部信息与接受序列间的相关性也随着译码次数的增加而逐渐增加,外部信息所提供的纠错能力也随之减弱,在一定的循环次数之后,译码性能将不再提高。