码率为2/3和1/2的8状态PCCC编码器的穿孔图样(打孔图样、压缩图样)的描述分别列在[3]的8.2.3.4.6和8.2.3.4.7。
系统的类型2比特位RSC分量编码器1内交织器RSC分量编码器2校验比特位穿刺矩阵
图1-4 PCCC 编码器
8.2.3.4.6 编码率为2/3的PCCC编码器的穿孔图样
t = 6个穿孔系数为:
P(1) = 1, P(2) = 2, P(3) = 4, P(4) = 7, P(5) = 9, P(6) =10, 而且 i = j
8.2.3.4.7 编码率为1/2的PCCC编码器的穿孔图样
(8.30)
t = 8个穿孔系数为:
P(1) = 1, P(2) = 2, P(3) = 4, P(4) = 6, P(5) = 7, P(6) = 8, P(7) = 10, P(8) = 12, 而且i = j
各个PCCC码在TETRA信道编码方案中的使用方式由下面各图显示。
(8.31)
MAC块中的信息比特(1)类型1比特位块编码(CRC)块编码比特位(2)类型2比特位尾比特接PCCC编码口(3)类型3比特位层Turbo编码比特位次重排序/交织(4)类型4比特位交织比特位加扰码(5)类型5比特位加扰比特位到复用块
图 QAM纠错编码接口结构
逻辑信道SCH-Q/HU, SCH-Q/U, SCH-Q/D, BNCH-Q, SCH-Q/RASICH-Q/U(1)(5 bits)SICH-Q/DAACH-Q(5 bits)(15 bits)(K1 bits)(K1+16, K1)块编码+3个尾比特(如果使用了PCCC码)(16, 5)RM码(16, 5)RM码3×(16, 5)RM码(2)(K2 bits)如果r=1/2或2/3用PCCC码,否则不编码接口(3)层(16 bits)(16 bits)(48 bits)合并次交织(64 bits)交织(4)(16 bits)(64 bits)(K3 bits)交织(K3 bits)加扰码加扰码加扰码(5)(16 bits)(64 bits)(K3 bits)
图 QAM逻辑信道纠错结构框图
QAM所用到的块交织结构在[3]的8.2.4.3描述,其扰码结构与其他调制方式时相同,其描述列在8.2.5.
三、 PCCC码的译码算法
输入:接收向量r 输出:译码所得码字v* 处理:
下图表示了Turbo码解码器结构,S表示接收到的信息位,P1表示接收到的第
一路校验位,P2表示接收到的第二路校验位。SISO表示软入软出的解码器(MAP
或者SOVA),解码器输出S的外信息和硬判决值。整个Turbo解码时串行迭代的过程。第一个SISO(软入软出,Soft In Soft Out)解码器以S和P1为输入,产生外信息E1。第二个解码器以P2和经过正交织的S和E1为输入,产生外信息E2。从而,完成一次完整的迭代算法。第二次迭代,第一个SISO以S’、P1和经过反交织的E2为输入,产生外信息E1,这样周而复始地迭代下去。
外信息P1校验位S信息位解码器1正交织外信息正交织外信息解码器2反交织外信息P2校验位S’信息位
图2-1 Turbo码解码器
整个解码过程就像涡轮机(Turbo)一样不断循环反复,在两个解码器之间交换外信息,因而这样级联方式的卷积码又被形象地称为Turbo码。
图2-2 汽车发动机的Turbo结构
1. Turbo码译码原理
香农信息论告诉我们,最优的译码算法是概率译码算法,也就是最大后验概率算法(MAP)。但在Turbo码出现之前,信道编码使用的概率译码算法是最大似然算法(ML)。ML算法是MAP算法的简化,即假设信源符号等概率出现,因此是次优的译码算法。Turbo码的译码算法采用了MAP算法,在译码的结构上又
做了改进,再次引入反馈的概念,取得了性能和复杂度之间的折衷。同时,Turbo 码的译码采用的是迭代译码,这与经典的代数译码是完全不同的。
Turbo 码的译码算法是最早在BCJR 算法的基础上改进的,我们称以MAP算法,后来又形成Log-MAP算法、Max-Log-MAP以及软输入软输出(SOVA)算法。
Turbo 码的译码结构
如图2-1所示。Turbo 译码器有以下的特点: 1) 串行级联 2) 迭代译码
3) 在迭代译码过程中交换的是外部信息 2. 概率译码译码原理及结构
译码时首先对接收信息进行处理,两个成员译码器之间外部信息的传递就形成了一个循环迭代的结构。由于外部信息的作用,一定信噪比下的误比特率将随着循环次数的增加而降低。但同时外部信息与接受序列间的相关性也随着译码次数的增加而逐渐增加,外部信息所提供的纠错能力也随之减弱,在一定的循环次数之后,译码性能将不再提高。
2. Turbo码译码算法
如前所述,turbo码需要一种软输入软输出的译码算法。软输出译码器的输出不仅应包含硬判决值,而且包括做出这种判断的可信程度。
译码算法应该考虑到三方面的问题,及外信息的引入;如何在迭代译码中充分利用各类信息,防止简单正反馈的形成,确保算法收敛;充分利用码原件的相关信息。常见的算法有以下几种:
a) 标准MAP算法(最大后验概率译码算法,maximum-a-posteriori, MAP),是对bahl软输出算法做一定修正后,通过除以先验分布来消除正反馈的算法。对于约束长度为M+1的卷积码,其运算量为每比特6×3M次乘法和5×2M次加法。由于乘法运算量大,限制了译码的规模和速度。
b) Log-MAP算法,实际上就是对标准MAP算法中的似然全部用对数似然度来表示,这样,乘法运算变成了加法运算。总的运算量成为6×2M次加法,5×2M次求最大运算和5×2M次查表。
c) Max-Log-MAP算法,是在上述对数域的算法中,将似然值加法表示式中的对数分量忽略,使似然加法完全变成求最大值运算,这样除了省去大部分的加法运算外,最大的好处是省去了对信噪比的估计,使得算法更稳健。
d) 软输出维特比译码(Soft-output viterbi Algorithm, SOVA),其运算量为标准维特比算法的两倍。维特比算法是最大似然序列估计算法,但由于在它的每一步都