的研究表明,为使SCCC达到比较好的译码性能,至少其内码要采 用递归系统卷积码,外码也应选择具有较好距离特性的卷积码。若外 码编码器和内码编码器的编码速率分别为R,和R,则SCCC的码率 R为: R=RXR (6.2) HCCC是将前两种方案结合起来,从而既能在低SNR下获得较 好的译码性能,又能有效地消除PCCC的误码平台,称为混合级联 卷积码。综合串行和并行级联的方案很多,这里只给出两种常见的方 案,一是采用卷积码和SCCC并行级联的编码方案,如图6.1(c) 所示;另一种是以卷积码为外码,以PCCC为内码的混合级联编码 结构,如图6.1(d)所示。 我们主要讨论PCCC结构的卷积码。为便于讨论,将PCCC编码结 构重画为图6.2(a)所示。 u=(4o,41,…,uK-1) →v0=(0,0,…,y1) 分量编码器 →v0=(,y0,…,) π 分量编码器2 →v2=(2,2,…,2) (a]
的研究表明,为使 SCCC 达到比较好的译码性能,至少其内码要采 用递归系统卷积码,外码也应选择具有较好距离特性的卷积码。若外 码编码器和内码编码器的编码速率分别为 Ro和 RI,则 SCCC 的码率 R 为: R=Ro×RI (6.2) HCCC 是将前两种方案结合起来,从而既能在低 SNR 下获得较 好的译码性能,又能有效地消除 PCCC 的误码平台,称为混合级联 卷积码。综合串行和并行级联的方案很多,这里只给出两种常见的方 案,一是采用卷积码和 SCCC 并行级联的编码方案,如图 6.1(c) 所示;另一种是以卷积码为外码,以 PCCC 为内码的混合级联编码 结构,如图 6.1(d)所示。 我们主要讨论 PCCC 结构的卷积码。为便于讨论,将 PCCC 编码结 构重画为图 6.2(a)所示。 分量编码器1 分量编码器2 (a) π 01 1 (,, , ) K uu u u = − (0) (0) (0) (0) 01 1 ( , ,, ) K vv v = − v (1) (1) (1) (1) 01 1 ( , ,, ) K vv v = − v (2) (2) (2) (2) 01 1 ( , ,, ) K vv v = − v
] 图6.2PCCC编码器基本结构 系统包括输入信息序列u,两个(2,1,v)系统反馈(递归)卷积 编码器,一个交织器(用π表示)。假设信息序列含有K*个信息比特 以及ⅴ个结尾比特(以便返回到全0态),其中ⅴ是第一个编码器的 约束长度,因此有K=K*十V,信息序列可表示为: u=(4o,41,…uk-1) (6.3) 由于编码器是系统的,因此信息序列就等于第一个输出序列,即: u=v0=(0,y0,…y) (6.4) 第一个编码器输出的校验序列为: v四=(9,",…y) (6.5) 交织器对K个比特进行扰序处理,得到,第二个编码器输出的校 验序列为: v②=(2,y2,y2) (6.6) 从而最终的发送序列(码字)为: V=(0gg2,02,222) (6.7)
(b) (0) v (1) v (2) v u π u′ 图 6.2 PCCC 编码器基本结构 系统包括输入信息序列 u,两个(2,1,v)系统反馈(递归)卷积 编码器,一个交织器(用π 表示)。假设信息序列含有 K*个信息比特 以及 v 个结尾比特(以便返回到全 0 态),其中 v 是第一个编码器的 约束长度,因此有 K=K*+v,信息序列可表示为: 01 1 (,, ) K uu u u = − (6.3) 由于编码器是系统的,因此信息序列就等于第一个输出序列,即: (0) (0) (0) (0) 01 1 (,, ) K vv v u v = = − (6.4) 第一个编码器输出的校验序列为: (1) (1) (1) (1) 01 1 (,, ) K vv v = − v (6.5) 交织器对 K 个比特进行扰序处理,得到u′,第二个编码器输出的校 验序列为: (2) (2) (2) (2) 01 1 (,, ) K vv v = − v (6.6) 从而最终的发送序列(码字)为: (0) (1) (2) (0) (1) (2) (0) (1) (2) 0 00 1 11 1 1 1 (,, ) KKK vvv vvv v v v = −−− v (6.7)
因此,对该编码器来说,码字长度N=3K,R=K*N=(K一v)3K, 当K比较大时,约为13。 在图6.2(b)中,两个分量码都是(2,1,4)系统反馈编码器,具 有相同的生成矩阵,为: G(D)=[1(1+D4)/1+D+D2+D3+D4)] (6.8) 对于Turbo码来说,需要注意以下几点: (1)为了得到靠近Shannon限的系统性能,信息分组长度(交织器 大小)K一般比较大,通常至少几千个比特。 (2)对于分量码来说,一般选择相同结构,且约束长度较短,通常 v≤4 (3)递归分量码(由系统反馈编码器产生)会比非递归分量码(前 馈编码器)有更好的性能; (4)高码率可通过穿刺矩阵产生,如图6.2(b)中,可通过交替输 出v0和v2②得到1/2的编码速率。 (5)通过增加分量码和交织器也可得到较低编码速率的Tubo码, 如图6.3所示
因此,对该编码器来说,码字长度 N=3K,Rt=K*/N=(K-v)/3K, 当 K 比较大时,约为 1/3。 在图 6.2(b)中,两个分量码都是(2,1,4)系统反馈编码器,具 有相同的生成矩阵,为: 4 234 G( ) [1 (1 ) /(1 D D DD D D = + ++ + + )] (6.8) 对于 Turbo 码来说,需要注意以下几点: (1) 为了得到靠近 Shannon 限的系统性能,信息分组长度(交织器 大小)K 一般比较大,通常至少几千个比特。 (2) 对于分量码来说,一般选择相同结构,且约束长度较短,通常 v≤4。 (3) 递归分量码(由系统反馈编码器产生)会比非递归分量码(前 馈编码器)有更好的性能; (4) 高码率可通过穿刺矩阵产生,如图 6.2(b)中,可通过交替输 出 (1) v 和 (2) v 得到 1/2 的编码速率。 (5) 通过增加分量码和交织器也可得到较低编码速率的 Turbo 码, 如图 6.3 所示
y(0) 分量编码器1 ) π 分量编码器2 →v(2) 分量编码器3 y3) 图6.3速率R=1/4的Turbo码 (6)最好的交织器能够对比特以伪随机的方式进行排序,传统的块 交织器(行-列在Turbo码中性能不好,除非block长度很短; (7)由于交织器只是对比特位置进行重新排序,因此,交织后的序 列r与原始序列u具有相同的重量; (8)对每个分量码来说,用BCJR(或MAP)算法作为SISO译码 器能够获得最好的性能;因为MAP译码器使用了前向-后向算 法,信息是以bock的形式进行的,因此,对第一个分量译码 器来说,附加ⅴ个0比特能够让它返回到全0态;但对于第二 个译码器来说,由于交织器的作用,将不能返回到全0态。 图6.2(b)所示的编码器,穿刺后得到1/2的码率。此时穿刺矩阵可 其输出就为V=(,y0v2,)。 Tubo码有两个缺点:(1)较大的译码时延,这是由于block长度较
分量编码器1 分量编码器2 π1 (0) v (1) v (2) v u 分量编码器3 π 2 (3) v 图 6.3 速率 R=1/4 的 Turbo 码 (6) 最好的交织器能够对比特以伪随机的方式进行排序,传统的块 交织器(行-列)在 Turbo 码中性能不好,除非 block 长度很短; (7) 由于交织器只是对比特位置进行重新排序,因此,交织后的序 列u′与原始序列 u 具有相同的重量; (8) 对每个分量码来说,用 BCJR(或 MAP)算法作为 SISO 译码 器能够获得最好的性能;因为 MAP 译码器使用了前向-后向算 法,信息是以 block 的形式进行的,因此,对第一个分量译码 器来说,附加 v 个 0 比特能够让它返回到全 0 态;但对于第二 个译码器来说,由于交织器的作用,将不能返回到全 0 态。 图 6.2(b)所示的编码器,穿刺后得到 1/2 的码率。此时穿刺矩阵可 以为 1 0 0 1 P = ,其输出就为 (0) (1) (0) (2) 00 11 v = ( , ,) vv vv 。 Turbo 码有两个缺点:(1)较大的译码时延,这是由于 block 长度较
大、译码需要多次迭代造成的。这样对于实时业务或高速数据的传输 就非常不利;(2)BER在105后会出现误码平台,这是由于Turbo 码的重量分布造成的。对于某些对BER要求较高的应用就不适合, 当然通过交织器的设计能够提供码字的最小距离,从而降低误码平 台。 例6.1:结尾卷积码的重量谱 考虑(2,1,4)非系统前馈卷积码,编码器生成矩阵为: G(D)=[1+D+D+D3+D41+D](6.9) 该码的最小自由距离是6,对应的输入信息序列为(110.)。如果该 编码器转为系统反馈形式,生成矩阵为: GB(D)=[1(1+D4)11+D+D2+D3+D4)] (6.10) 由于码是相同的,因此自由距离仍是6,但在这种情况下,最小重量 码字是由信息序列(10000100.)产生的,即u(D)=1+D。两个不同 的编码器得到相同的码,但信息序列和码字之间的映射关系不同【说 明:Tubo码编码的对象是长度固定的数据序列,即在编码过程中首 先将输入信息数据分成长度与交织长度相同的数据序列,然后对每个 数据序列进行编码。如果Tub0码的分量码在数据序列编码结束时 利用结尾比特使得网格图状态归零,则Tubo码可等效为一个分组 码。】设每个编码器信息长度为K*=K一4,附加4个比特让编码器 返回到全0态,此时,我们就可得到(N,K*)=(2K,K一4)的 分组码,码率为R=(K-4)/2K,当K很大时,约等于1/2。这个分组
大、译码需要多次迭代造成的。这样对于实时业务或高速数据的传输 就非常不利;(2)BER 在 10-5 后会出现误码平台,这是由于 Turbo 码的重量分布造成的。对于某些对 BER 要求较高的应用就不适合, 当然通过交织器的设计能够提供码字的最小距离,从而降低误码平 台。 ======================================= 例 6.1:结尾卷积码的重量谱 考虑(2,1,4)非系统前馈卷积码,编码器生成矩阵为: 234 4 ( ) [1 1 ] G ff D DD D D D =+ + + + + (6.9) 该码的最小自由距离是 6,对应的输入信息序列为(110…)。如果该 编码器转为系统反馈形式,生成矩阵为: 4 234 ( ) [1 (1 ) /(1 )] G fb D D DD D D = + ++ + + (6.10) 由于码是相同的,因此自由距离仍是 6,但在这种情况下,最小重量 码字是由信息序列(10000100…)产生的 ,即 u(D)=1+D5 。两个不同 的编码器得到相同的码,但信息序列和码字之间的映射关系不同。【说 明:Turbo 码编码的对象是长度固定的数据序列,即在编码过程中首 先将输入信息数据分成长度与交织长度相同的数据序列,然后对每个 数据序列进行编码。如果 Turbo 码的分量码在数据序列编码结束时 利用结尾比特使得网格图状态归零,则 Turbo 码可等效为一个分组 码。】设每个编码器信息长度为 K*=K-4,附加 4 个比特让编码器 返回到全 0 态,此时,我们就可得到(N,K*)=(2K,K-4)的 分组码,码率为 R=(K-4)/2K,当 K 很大时,约等于 1/2。这个分组