文档库 最新最全的文档下载
当前位置:文档库 › PCCC码(Turbo码)编码和译码算法

PCCC码(Turbo码)编码和译码算法

PCCC码(Turbo码)编码和译码算法
PCCC码(Turbo码)编码和译码算法

目录

一、概述 (1)

二、PCCC码的编码算法 (3)

三、PCCC码的译码算法 (13)

一、概述

虽然软判决译码、级联码和编码调制技术都对信道码的设计和发展产生了重大影响,但是其增益与Shannon 理论极限始终都存在2~3dB 的差距。因此,在Turbo 码提出以前,信道截止速率R0一直被认为是差错控制码性能的实际极限,shannon 极限仅仅是理论上的极限,是不可能达到的。

根据shannon 有噪信道编码定理,在信道传输速率R 不超过信道容量C 的前提下,只有在码组长度无限的码集合中随机地选择编码码字并且在接收端采用最大似然译码算法时,才能使误码率接近为零。但是最大似然译码的复杂性随编码长度的增加而加大,当编码长度趋于无穷大时,最大似然译码是不可能实现的。所以人们认为随机性编译码仅仅是为证明定理存在性而引入的一种数学方法和手段,在实际的编码构造中是不可能实现的。

在1993 年于瑞士日内瓦召开的国际通信会议(1CC,93)上,两位任教于法国不列颠通信大学的教授C.Berrou、A.Glavieux 和他们的缅甸籍博士生

P.thitimajshima 首次提出了一种新型信道编码方案——Turbo 码,由于它很好地应用了shannon 信道编码定理中的随机性编、译码条件,从而获得了几乎接近shannon 理论极限的译码性能。仿真结果表明,在采用长度为65536 的随机交织器并译码迭代18 次情况下,在信噪比E b/N0≥0.7dB 并采用BPSK 调制时,码率为1/2 的Turbo 码在AWGN 信道下的误比特率≤10-5,达到了与Shannon 极限仅相差0.7dB 的优异性能(1/2 码率的Shannon 极限是0dB)。

Turbo 码又称并行级联卷积码(PCCC,Parallel Concatenated Convolutional Code),它巧妙地将卷积码和随机交织器结合在一起,在实现随机编码思想的同时,通过交织器实现了由短码构造长码的方法,并采用软输出迭代译码来逼近最大似然译码。可见,Turbo 码充分利用了Shannon 信道编码定理的基本条件,因此得到了接近Shannon 极限的性能。

在介绍Turbo 码的首篇论文里,发明者Berrou 仅给出了Turbo 码的基本组成和迭代译码的原理,而没有严格的理论解释和证明。因此,在Turbo 码提出之初,其基本理论的研究就显得尤为重要。J.Hagenauer 首先系统地阐明了迭代译码的原理,并推导了二进制分组码与卷积码的软输入软输出译码算法。由于在Turbo 码中交织器的出现,使其性能分析异常困难,因此S.Benedetto 等人提出了均匀交织(UI,Uniform interleaver)的概念,并利用联合界技术给出了Turbo 码的平均性能上界。D.Divsalar 等人也根据卷积码的转移函数,给出了Turbo 码采用MLD 时的误比特率上界。对于Turbo 码来说,标准联合界在信噪比较小时比较宽松,

只有在信噪比较大时才能实现对Turbo 码性能的度量。因此,T.M.Duman、I.Sason 和D.Divsalar 等人在Gallager 限等已有性能界技术的基础上进行改进.扩展了Turbo 码性能界的紧致范围。D.Divsalar 等人还根据递归系统卷积码的特点提出了有效自由距离的概念,并说明在设计Turbo 码时应该使码字有效自由距离尽可能大。L.C.Perez 等人从距离谱的角度对Turbo 码的性能进行了分析,证明可以通过增加交织长度或采用本原反馈多项式增加分量码的自由距离来提高Turbo 码的性能。他们还证明了Turbo 码虽然自由距离比较小,但其小重量码字的数目较少,从而解释了低信噪比条件下Turbo 码性能优异的原因,并提出了交织器增益的概念。S.Dolinar 的研究表明,Turbo 码的最小距离码字主要由重量为2 的输入信息序列生成,是形成错误平台的主要原因。为提高高信噪比条件下Turbo 码的性能,就必须提高低重输入信息序列的输出码重。J.Seghers 系统地分析了Turbo 码的距离特性。由于交织器的存在,无法给出Turbo 码自由距离的严格数学表示,相应地也出现了许多分析和计算Turbo 码最小距离、重量分布和性能上限的方法。A.Ambroze 还构造了Turbo 码的树图,用来作为计算码字距离谱的工具。此外,R.M.Tanne、E.Offer 和K.Engdahl 分别从代数和统计的角度对Turbo 码进行了分析。考虑到Turbo 码的延时问题,E.K.Hall 等人提出了面向流的Turbo 码。也可以用其他系统模型采描述Turbo 码及其迭代译码过程:T.Richardson 把Turbo 码作为一个动力学系统进行描述;A.K.Khandani 则把Turbo 码考虑成一个周期性的线性系统;https://www.wendangku.net/doc/8b9596609.html,ertyy, X.Ge 和F.R.Kschischang 描述了Turbo 码的图模型;在图模型的基础上,D.J.C.MaKay 等人证明了Turbo 码的校验矩阵与LDPC 码的校验矩阵是等价的,从而可以将Turbo 码看成一类特殊的LDPC。

二、PCCC码的编码算法

输入:信源消息u(消息分组u)

输出:码字v

处理:

信源输出为一系列二进制数字0和1。在分组码中,这些二进制信息序列分成固定长度的消息分组(message blocks)。每个消息分组记为u,由k个信息位组成。因此共有2k种不同的消息。编码器按照一定的规则将输入的消息u转换为二进制n维向量v,这里n >k。此n维向量v就叫做消息u的码字(codeword)、码字矢量或码向量(code vector)。因此,对应于2k种不同的消息,也有2k种码字。这2k个码字的集合就叫一个分组码(block code)。若一个分组码可用,2k

个码字必须各不相同。因此,消息u和码字v存在一一对应关系。由于n符号输出码字只取决于对应的k比特输入消息,即每个消息是独立编码的,从而编码器是无记忆的,且可用组合逻辑电路来实现。

定义:一个长度为n,有2k个码字的分组码,当且仅当其2k个码字构成域GF(2)上所有n维向量组成的向量空间的一个K维子空间时被称为线性(linear)(n, k)码。

卷积码是把信源输出的信息序列,以k0个(k0通常小于k)码元为一段,通过编码器输出长为n0(≥ k0)的码段。但是该码段的n0-k0个校验元不仅与本组的信息元有关,而且也与其他前m段的信息元有关,称m为编码存贮,因此卷积码用(n0,k0, m)表示。

卷积码与分组码不同,在进行编码时,本组的校验元不仅与本组的信息元有关,而且还与以前各时刻输入至编码器的信息组有关。同样,在卷积码译码过程中,不仅从此时刻收到的码组中提取译码信息,而且还要利用以前或以后各时刻收到的码组中提取有关信息。正是由于在卷积码的编码过程中,充分利用了各组之间的相关性,因此,在与分组码同样的码率和设备复杂性条件下,无论从理论上还是从实际上均已证明卷积码的性能至少不比分组码差,且实现最佳和准最佳译码也较分组码容易。为简便起见,我们以(2,1,2)卷积码为例,对其进行说明。

D1D2输出

输入

1

2

图1 (2,1,2)卷积码编码器

图3-2中给出了一个二进制卷积码的编码器,若每一时间单位输入编码器一个新信息元,且存储器内数据右移一位,则一方面将数据送入存储器,另一方面与刚才存储器中的两个数据按图中的规则进行运算,则此时刻得到两个输出码元、,组成一个子码送入信道。由图可知输入与输出的关系是

(1-1)

在每一时间单位送入编码器k0 (这里为1)个信息元,编码器就送出相应的n0 (这里为2)个码元组成一个子码c I送入信道。在卷积码中,这个码元组成的子码c I,也称为卷积码的一个码段或子组,上式中的“+”是模2和。

由式(3-1)可知,输入与输出码元之间是线性关系,所以这类编码器输出的卷积码是线性码,称m为编码存储,它表示输入的信息组在编码器中存储的时间数,称m+1=N为编码约束度,说明编码过程中互相有约束关系的码元个数。同样,在卷积码译码过程中,不仅要根据此时刻输入到译码的子码,而且还要根据以后很长一段时间,如m’段时间内收到的各子码,才能译出一个子码的信息元,通常m’>m。称为译码约束度,称为译码约束长度,它们分别表示译码过程中互相有约束的码段或码元个数。

从式(3-1)中还可看出,输出的码元中,不一定与输入的码元相等,所以这样的码是非系统码。当然,如果输出的码段中的某一位码元与输入的码元固定相等,则这样的码为系统码。

总之,在卷积码的各码段之间,不论是编码还是译码,都不是每段各自处理,而是与前后或段有关,所以卷积码通常用表示,,称为卷积码的码率。

1.Turbo 码的编码

Turbo 码的编码结构可以分为并行级联卷积码(PCCC)、串行级联卷积码(SCCC)和混合级联卷积码(HCCC)三种,如图1所示。

交织器交织器交织器1交织器2交织器1

交织器2

分量编码器1

分量编码器2外码编码器内码编码器

外码编码器并行编码器

内码编码器

穿刺矩阵

外码编码器内码编码器1

内码编码器2

(a)

(b)

(c)

(d)

图1-1 Turbo 码的几种编码结构(a )PCCC (b )SCCC (c )HCCC-I (d )HCCC-II

1993 年,C.Berrou 提出的Turbo 码就是PCCC 结构,主要由分量编码器、交织器、穿刺矩阵和复接器组成。分量码一般选择为递归系统卷积(RSC )码,当然也可以选择分组码、非递归卷积(NRC )码以及非系统卷积(NSC )码。通常两个分量码采用相同的生成矩阵(也可不同)。若两个分量码的码率分别为R 1和R 2,则Turbo 码的码率为:

R= (1-1)

在AWGN 信道上对PCCC 的性能仿真证明,当BER 随SNR 的增加下降到

一定程度时,就会出现下降缓慢甚至不再降低的情况,一般称为误码平台(error floor)。为解决这个问题,1996 年,S.Benedetto 提出了串行级联卷积码(SCCC)的概念,它综合了Forney 串行级联码(RS 码+卷积码)和Turbo 码(PCCC)的特点,在适当的信噪比范围内,通过迭代译码可以达到非常优异的译码性能。Benedetto 的研究表明,为使SCCC 达到比较好的译码性能,至少其内码要采用递归系统卷积码,外码也应选择具有较好距离特性的卷积码。若外码编码器和内码编码器的编码速率分别为R O和R I,则SCCC 的码率R 为:

R=R O×R I(1-2)HCCC是将前两种方案结合起来,从而既能在低SNR下获得较好的译码性能,又能有效地消除PCCC 的误码平台,称为混合级联卷积码。综合串行和并行级联的方案很多,这里只给出两种常见的方案,一是采用卷积码和SCCC 并行级联的编码方案,如图1(c)所示;另一种是以卷积码为外码,以PCCC 为内码的混合级联编码结构,如图1(d)所示。我们主要讨论PCCC 结构的卷积码。为便于讨论,将PCCC 编码结构重画为图1-2(a)所示。

(a)

u =(u 0, u 1,…, u K -1)

v (0)=(v 0(0), v 1(0),…,v K -1(0))

v (1)=(v 0(1), v 1(1),…,v K -1(1))

v (2)=(v 0(2), v 1(2),…,v K -1(2))

u

v (0)

v (1)

v (2)

(b)

图1-2 PCCC 编码器基本结构

系统包括输入信息序列u ,两个(2,1,v )系统反馈(递归)卷积编码器,一个交织器(用π表示)。假设信息序列含有K*个信息比特以及v 个结尾比特(以便返回到全0态),其中v 是第一个编码器的约束长度,因此有K =K*+v ,信息序列可表示为:

u =(u 0, u 1,…, u K -1)

由于编码器是系统的,因此信息序列就等于第一个输出序列,即:

u = v (0)=(v 0(0), v 1(0),…,v K -1(0))

第一个编码器输出的校验序列为:

v (1)=(v 0(1), v 1(1),…,v K -1(1))

交织器对K 个比特进行扰序处理,得到u’,第二个编码器输出的校验序列为:

v (2)=(v 0(2), v 1(2),…,v K -1(2))

从而最终的发送序列(码字)为:

v =(v 0(0) v 0(1) v 0(2), v 1(0) v 1(1) v 1(2),…,v K -1(0) v K -1(1) v K -1(2))

因此,对该编码器来说,码字长度N =3K ,Rt =K*/N =(K -v)/3K ,当K 比较大时,约为1/3。

在图1-2(b )中,两个分量码都是(2,1,4)系统反馈编码器,具有相同的生成矩阵,为:

G[D]=[1 (1+D 4)/(1+D+D 2+D 3+D 4)]

对于Turbo 码来说,需要注意以下几点:

(1) 为了得到靠近Shannon 限的系统性能,信息分组长度(交织器大小)K 一般比较大, 通常至少几千个比特。

(2) 对于分量码来说,一般选择相同结构,且约束长度较短,通常v ≤4。

(3) 递归分量码(由系统反馈编码器产生)会比非递归分量码(前馈编码器)有更好的性能;

(4) 高码率可通过穿刺矩阵产生,如图1-2(b )中,可通过交替输出v (1)和v (2)得到1/2 的编码速率。

(5) 通过增加分量码和交织器也可得到较低编码速率的Turbo 码,如图1-3 所示。

u =(u 0, u 1,…, u K -1)

v (0)=(v 0(0), v 1(0),…,v K -1(0))

v (1)=(v 0(1), v 1(1),…,v K -1(1))

v (2)=(v 0(2), v 1(2),…,v K -1(2))

v (3)=(v 0(3), v 1(3),…,v K -1(3))

图1-3 速率R=1/4的Turbo 码

(6) 最好的交织器能够对比特以伪随机的方式进行排序,传统的块交织器(行

-列)在Turbo 码中性能不好,除非block 长度很短;

(7)由于交织器只是对比特位置进行重新排序,因此,交织后的序列u’与原始序列u 具有相同的重量;

(8)对每个分量码来说,用BCJR(或MAP)算法作为SISO 译码器能够获得最好的性能;因为MAP 译码器使用了前向-后向算法,信息是以block 的形式进行的,因此,对第一个分量译码器来说,附加v 个0 比特能够让它返回到全0 态;但对于第二个译码器来说,由于交织器的作用,将不能返回到全0 态。

图1-2(b)所示的编码器,穿刺后得到1/2 的码率。此时穿刺矩阵可以为

P=,其输出就为v=(v0(0) v0(1), v1(0) v1(2),…)。当信息序列长度K=65536 比

特,SISO MAP 译码器经过18 次迭代后,在0.7dB 可以达到10-5的误比特率,与Shannon 限只相差0.7dB。

Turbo 码有两个缺点:(1)较大的译码时延,这是由于block 长度较大、译码需要多次迭代造成的。这样对于实时业务或高速数据的传输就非常不利;(2)BER 在10-5后会出现误码平台,这是由于Turbo 码的重量分布造成的。对于某些对BER 要求较高的应用就不适合,当然通过交织器的设计能够提供码字的最小距离,从而降低误码平台。

例1-1:用于QAM的8状态并行级联卷积码(PCCC,Parallel Concatenated Convolutional Code)。

根据图1-4,这里的PCCC码将把K2个类型2的比特b2(1), b2(2),…, b2 (K2)变成K3个类型3的比特b3(1), b3(2),…, b3(K3)。这K2个类型2的比特包含两组尾比特b2 (K2– 2), b2 (K2– 1), b2 (K2)和b2’ (K2–2), b2’(K2– 1), b2’(K2),目标是要使分量递归系统卷积码RSC(recursive systematic convolutional)编码器的最后状态归零。两个分量编码器的初始状态为零。正如图1-4所示,这一编码过程分4步执行:

a)用一个8状态递归系统卷积码RSC编码器(图1-4中上面的那个RSC编码器)实现1/2的码率的编码;

b) 用一个二次线汇内编码器对输入的K2– 3个类型2的比特实现交织;

c) 用第二个8状态递归系统卷积码RSC编码器对已交织的比特实现等同于a)的

1/2的码率的编码,并且只保留校验序列(码);

d)实现对两个递归系统卷积码RSC编码器输出的校验序列(码)的穿刺,以获得码率为K2/ K3的8状态并行级联卷积码PCCC。

这四步骤的通用描述分别列在[3]的8.2.3.4.1, 8.2.3.4.2, 8.2.3.4.3和8.2.3.4.5。编

码率为2/3和1/2的8状态PCCC 编码器的穿孔图样(打孔图样、压缩图样)的描述分别列在[3]的8.2.3.4.6和8.2.3.4.7。

系统的类型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.30)

8.2.3.4.7 编码率为1/2的PCCC 编码器的穿孔图样 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

(8.31)

各个PCCC 码在TETRA 信道编码方案中的使用方式由下面各图显示。

(1)类型1比特位

(2)类型2比特位(3)类型3比特位

(4)类型4比特位(5)类型5比特位尾比特

到复用块

MAC 块中的信息比特

接口

层次

图 QAM 纠错编码接口结构

逻辑信道

SICH-Q/U

(1)

(2)

(3)

(4)

(5)

层次SICH-Q/D AACH-Q SCH-Q/HU, SCH-Q/U,

SCH-Q/D, BNCH-Q,

(16 bits)(64 bits)(K 3 bits)

图 QAM 逻辑信道纠错结构框图

QAM 所用到的块交织结构在[3]的8.2.4.3描述,其扰码结构与其他调制方式时相同,其描述列在8.2.5.

三、 PCCC 码的译码算法

输入:接收向量r

输出:译码所得码字v*

处理:

下图表示了Turbo 码解码器结构,S 表示接收到的信息位,P 1表示接收到的第一路校验位,P 2表示接收到的第二路校验位。SISO 表示软入软出的解码器(MAP

或者SOVA ),解码器输出S 的外信息和硬判决值。整个Turbo 解码时串行迭代的过程。第一个SISO (软入软出,Soft In Soft Out )解码器以S 和P 1为输入,产生外信息E 1。第二个解码器以P 2和经过正交织的S 和E 1为输入,产生外信息E 2。从而,完成一次完整的迭代算法。第二次迭代,第一个SISO 以S’、P 1和经过反交织的E 2为输入,产生外信息E 1,这样周而复始地迭代下去。

P 1校验位

S 信息位P 2校验位

图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),其运算量为标准维特比算法的两倍。维特比算法是最大似然序列估计算法,但由于在它的每一步都

要删除一些低似然路径,为每一状态只保留一条最优路径,它无法提供软输出。为了给他输出的每个比特赋予一个可信度,需要在删除低似然路径是做一些修正,以保留必要的信息。其基本思想是利用最优留存路径和被删路径的度量差,这个差越小意味着这次算去的可靠性越好。然后用这个差去修正这条路径上各个比特的可信度。

3.Turbo码性能仿真比较

目前Turbo 码的大部分研究致力于在获得次优性能的情况下减小译码复杂度和时延,从而得到可实现的Turbo码系统。

3.1几种主要译码算法的性能比较

图2-3 译码算法对Turbo码的影晌

对MAP算法、Log-MAP算法、Max-Log-MAP算法和SOVA算法在加性高斯白噪声信道(AWGN)环境下进行仿真比较,系统采用的是BPSK调制方式,Turbo 码的交织长度是1024 ,RSC子码的生成多项式为(37,21) ,系统编码率为R=1/2,译码时迭代5次,结果以曲线图给出如图。

仿真结果表明,四种算法中,MAP算法性能最好,Log-MAP 算法的性能跟MAP 算法在较低的SNRq时比较接近,高信噪比时差别则较大。Max-Log-MAP 算法和SOVA算法的性能十分接近,一般情况下,Max-Log-MAP算法的性能,总是稍优于SOVA算法。它们跟MAP和Log-MAP相比,性能下降十分明显。从算法复杂度而言,MAP算法最为复杂,Log-MAP 其次,之后是Max-

Log-MAP ,SOYA算法最简单。由此可以看出,性能优异的Turbo码译码算法十分复杂,如果要使得译码容易实现而对算法进行简化或者是采用简单的算法,往往需以性能的降低为代价。

3.2不同迭代次数对Turbo 码性能的影响

图2-4 迭代次数对Turbo码的影响

上图给出了在不同解码迭代次数下,码率为1/ 2的Turbo码的BER与Eb/N0的关系曲线。Turbo 码的交织长度是1024 ,RSC 子码的生成多项式为(37,21) ,系统编码率为R=1/2。如Turbo码译码原理中所述,两个译码器之间互相交外部信息进行迭代。

可以得到,迭代译码次数增大,译码性能增加。在第一次迭代的误比特性能都比较差,这是因为两个分量译码器之间的信息还没有被很好的相互利用。随着迭代次数的增加,两个分量译码器之间的外信息被更好的利用,对信息比特的估计更接近最大似然比,判决输出的正确性就越高。迭代次数达到一定数值时,译码性能趋于稳定,再增加新的迭代对性能的改善非常小。迭代增加了译码时延,在大帧编码时尤其如此。仿真中迭代次数增大时运行时间显著增加。

由于达到一定迭代次数后,新增加的迭代对性能改善不大,而法代又极大地增加译码时延,所以在实际设计Turbo码系统时,需要选择适当的迭代次数,在允许的译码时延内,达到最佳的译码性能。这种预先规定迭代次数的方式是终止译码迭代次数的方法之一.当要求的信噪比比较大,误码率要求不太高的情况,往往经过很少的几次迭代就能达到译码要求正确译码。此时,如果预设迭代次数比较大,那么译码器会继续译码,一直进行到预设次数的迭代为止.后边的几次送代并没有明显地提高性能,是完全不必要的,而且多余的法代食给译码带来了额外的时延。

3.3不同编码约束度K对Turbo 码性能的影响

图2-5 不同的约束度对Turbo 码性能的影响

采用不同子码的Turbo码的性能也有很大差别。Turbo 码的设计中首先就是选择好的RSC子码。这里只对几种常用的、较好的采用不同约束长度的RSC 做子码的Turbo 码进行仿真,以分析约束长度对Turbo 码性能的影响。可以看出,随着约束长度K增大,编码后的码元与更多个信息比特相关,因此译码纠错能力越强,误比特率BER就越小。当BER<10-2时,增加卷积码的约束度将会改善Turbo 码BER性能。在交织器长度和码率一定时,约束度越大,Turbo 码的BER 性能越好。

4.SISO解码算法

在介绍SISO解码算法之前,首先进行符号的定义:

以1/2码率的卷积码为例,假设:

k时刻的编码码字,u k是k时刻的信息比特,是k时刻的校验比特;

k时刻的接收码字,是k时刻接收的信息比特,是k时刻接收的校验比特;

假设平坦瑞利衰落信道(Flat Rayleigh Fading channel)和相干解调(Coherent Demodulation),那么接收码字和编码码字存在下列关系式:

其中,a k是k 时刻的衰落乘性系数,而和分别是对于信息比特和校验比特的k时刻的加性高斯白噪声(AWGN),假设其均值为零,方差为σ2。

≡(Y1, Y2, …, Y k)为从1时刻到k时刻的接收码字序列。

≡(Y n, Y n+1, …, Y m)为从n时刻到m时刻的接收码字序列。

αk(s)≡P(s k=s , )为前向递推概率,表示k时刻卷积码编码器状态为s,且接

收序列为的概率。

βk(s)≡P (/s k=s)为后向递推概率,表示k时刻卷积码编码器状态为s,且接

收序列为的概率。

γk (s’, s)≡P(Y k , s k=s/s k-1=s’ )为转移概率,表示在k-1时刻的s’条件下到k时刻的s状态且接收码字为Y k的转移概率。

L(u k)≡ln为似然比,表示k时刻的信息比特u k为1和为-1的概率比值的对数。

L(u k /)≡ln =ln为后验概率的输出似然比,表

示已知接收序列解码的条件下解码输出的k时刻的信息比特u k为1和为-1的概率比值的对数。

L c ≡为信道补偿参数。

如图所示,定义度量概率和。

s’

s

s”

k-1k

图2-6 状态转移图

4.1 MAP 、Log_MAP 和Max_Log_MAP 算法 MAP 解码器

N Y in

U L )( )/(N Y U L out

U L )( 图2-7 MAP 解码器

4.1.1 MAP 算法推导

a) 转移概率的推导

γk (s’, s )≡P (Y k , s k =s /s k-1= s’ )

=P (s /s’) P (Y k / s , s’)= P (u k ) P (Y k / C k )

L (u k )≡ln

P (Y k / C k ) =

=

P (Y k / C k )∝

令L c ≡

,则 γk (s’, s )∝

b) 前向概率的推导

αk (s )≡P (s k =s ,

)=

=

=

= (由马尔克夫性)

= c) 后向概率的推导

关于信道编码中Turbo码的原理与实现

Turbo码的编码原理及实现 摘要 纠错码技术作为改善数字通信可靠性的一种有效手段,在数字通信的各个领域中获得极为广泛的应用。Turbo码是并行级联递归系统卷积码,在接近Shannon 限的低信噪比下能获得较低的误码率,现已被很多系统所采用。本文分析了Turbo码编码译码的原理,为了使Turbo码仿真更容易,研究并建立了基于Matlab 中Simulink通信模块的Turbo码仿真模型。使用所建立的模型进行仿真,结果表明,在信噪比相同的情况下,交织长度越大、迭代次数越多、译码算法越优,Turbo码性能越好,设计实际系统时,应综合考虑各因素。 关键词:Turbo码;Simulink仿真;交织长度;迭代次数 Abstract As an effective means to improve the reliability of digital communication, error correcting code technology is widely used in the field of digital communication.Turbo code is a parallel concatenated recursive systematic convolutional code, which can obtain lower bit error rate in the low SNR near Shannon limit,which is now used by many systems.In this paper,the principle of Turbo coding and decoding is analyzed,in order to make the Turbo Code simulation easier,a Turbo code simulation model based on Simulink module of Matlab is studied. Simulation result using the established model shows that the longer interleaving length,the more iteration times and the better decoding algorithm bring the better Turbo code performance with the same SNR value. Keywords:Turbo code;Simulink simulation;Interleaving length;Iteration times;

Turbo码详解

第十三章 Turbo 码 Shannon 理论证明,随机码是好码,但是它的译码却太复杂。因此,多少年来随机编码理论一直是作为分析与证明编码定理的主要方法,而如何在构造码上发挥作用却并未引起人们的足够重视。直到1993年,Turbo 码的发现,才较好地解决了这一问题,为Shannon 随机码理论的应用研究奠定了基础。 Turbo 码,又称并行级连卷积码(PCCC),是由C. Berrou 等在ICC ’93会议上提出的。它巧妙地将卷积码和随机交织器结合在一起,实现了随机编码的思想,同时,采用软输出迭代译码来逼近最大似然译码。本章首先介绍Turbo 码的提出与构成原理;介绍迭代反馈译码算法(包括AWGN 信道与Rayleigh 衰落信道下的译码);然后针对Turbo 码编译码特性,对几个问题进行了说明;最后介绍Turbo 码在3GPP 中的具体应用。 §13.1 Turbo 码的提出 Turbo 码,又称并行级连卷积码(PCCC),是由C.Berrou 等在ICC ’93会议上提出的。它巧妙地将卷积码和随机交织器结合在一起,实现了随机编码的思想,同时,采用软输出迭代译码来逼近最大似然译码。模拟结果表明,如果采用大小为65535的随机交织器,并且进行18次迭代,则在E N b /0≥0.7dB 时,码率为1/2的Turbo 码在AWGN 信道上的误比特率(BER )≤-105 ,达到了近Shannon 限的性能(1/2码率的Shannon 限是0dB )。因此,这一超乎寻常的优异性能,立即引起信息与编码理论界的轰动。图13-1中给出了Turbo 码及其它编码方案的性能比较,从中可以看出Turbo 编码方案的优越性。 由于Turbo 码的上述优异性能并不是从理论研究的角度给出的,而仅是计算机仿真的结果。因此,Turbo 码的理论基础还不完善。后来经过不少人的重复性研究与理论分析,发现Turbo 码的性能确实是非常优异的。因此,turbo 码的发现,标志着信道编码理论与技术的研究进入了一个崭新的阶段,它结束了长期将信道截止速率0R 作为实际容量限的历史。 需要说明的是,由于原Turbo 编译码方案申请了专利,因此在有关Turbo 码的第一篇文章中,作者没有给出如何进行迭代译码的实现细节,只是从原理上加以说明。此后,P. Robertson 对此进行了探讨,对译码器的工作原理进行了详细说明。人们依此进行了大量的模拟研究。 Turbo 码的提出,更新了编码理论研究中的一些概念和方法。现在人们更喜欢基于概率的软判决译码方法,而不是早期基于代数的构造与译码方法,而且人们对编码方案的比较方法也发生了变化,从以前的相互比较过渡到现在的均与Shannon 限进行比较。同时,也使编码理论家变成了实验科学家。

Turbo码原理简介

Turbo 码原理简介 1993年C.Berrou 、A.Glavieux 和P.Thitimajshiwa 首先提出了称之为Turbo 码的并行级联编译码方案。Turbo 码性能取决于码的距离特性。线性码的距离分布同于重量分布,如果低重量的输入序列经编码得到的还是低重量的输出序列,则距离特性变坏。该特性对于块码来说不存在问题;然而对于卷积码,则是个非常严重的问题。因为卷积码的距离特性是影响误码率的一个非常重要的因素。 在Turbo 码中,利用递归系统卷积码(RSC)编码器作为成员码时,低重量的输入序列经过编码后可以得到高重量的输出序列。同时交织器的使用,也能加大码字重量。实际上,Turbo 码的目标不是追求高的最小距离,而是设计具有尽可能少的低重量码字的码。Turbo 码由两个递归系统卷积码(RSC)并行级联而成。译码采用特有的迭代译码算法。 1 Turbo 码编码原理 典型的Turbo 码编码器结构框图如图2所示:由两个反馈的编码器(称为成员编码器)通过一个交织器I 并行连接而成。如果必要,由成员编码器输出的序列经过删余阵,从而可以产生一系列不同码率的码。例如,对于生成矩阵为g=[g1,g2]的(2,1,2)卷积码通过编码后,如果进行删余,则得到码率为1/2的编码输出序列;如果不进行删余,得到的码率为1/3。一般情况下,Turbo 码成员编码器是RSC 编码器。原因在于递归编码器可以改善码的比特误码率性能。 2 编码 方案中使用的Turbo 码为1/3码率的并行级联码,它的编码器由两个相同的码率为1/2的RSC 编码器及交织器组成,如图4所示。 由于与非递归卷积码相比,递归卷积码产生的码字重量更大,所以这里采 图7 Turbo 码编码器 输入信 息数据 编码器I I 编码器II 删 余 复接 器 编码 输出 图2 Turbo 码编码原理图

turbo码结构和编码方法

摘要:Turbo码,由于性能接近Shannon理论限,在低信噪比的应用环境下比其他编码好。因而第三代移动通信系统多种方案中,考虑将Turbo码作为无线信道的编码标准之一。本文介绍了Turbo码的结构和编解码方法,及其在第三代移动通信系统中的应用。 关键词:信道编码;Turbo码;RSC编码器;交织器;迭代译码;第三代移动通信 Abstract: Turbo codes,because of it’s outstanding performance in channel coding,has been considered by IMT-2000 as a plan of application. This paper introduces the principle of basic structure of Turbo codes.Also,the paper introduces the mainly application in 3G(3ird Generation) mobile telecomminucation systems. Key words: channel coding; Turbo codes; RSC; interleaver; recursive algorithm; 3G(the 3ird generation)mobile telecommunication systems 一、引言 信息论诞生50多年以来,人们一直努力寻找更加接近Shannon限、误差概率小的的编码方法。在1993年ICC国际会议上,C.Berrou,A.Glavieux和P.Thitimajshiwa提出了一种称之为Turbo Code的编、译码方案,并在交织器大小为:情况下,迭代18次,对它进行了计算机仿真。仿真结果表明,当归一化信噪比时,。其编码增益比Shannon信道容量的差距小于1dB。[1] 从第三代移动通信系统候选方案来看,普遍要求提供中速或者高速的数据业务,一般的数据业务信道为64kbps,144kbps,384kbps。在信噪比低的无线信道中,Turbo码的性能要优宜的多,比较用于第二代移动通信中的级联RS加卷积码,Turbo码性能可提高1dB以上。所以IMT-2000多种方案中,已经将Turbo 码做为传输高速数据的信道编码标准之一。[3] [4] 本文了介绍Turbo码的基本结构和编译码原理,以及Turbo码在第三代移动通信中的应用。 二、Turbo码的编、译码原理 Turbo码的编码 从编码器原理图可以看出,编码是由三部分组成的:两个RSC子编码器RSC1、RSC2,一个Nbit交织(Interleaving)器,一个删余(puncturing)单元。 2.1 编码器的设计 假设输入信息编码器的信息单元为,它一方面直接输入RSC1进行编码,生成校验序列x1p。另一方面经过交织后,产生一个经交织的系统序列u’和另一个校验序列x2p。当码率R大于2/3时,在任何大小信噪比情况下,由于系统递归卷积编码器RSC(Recursive SystematicConvolutional)的自由距离都比非系统卷加码NSC(Nonsystematic Convolutional)大,BER比其小,显出更好的性能,因而Turbo码中采用了RSC编码器[1]。其编码矩阵可以表示成:其中。编码器由个存储单元构成,其输入为信息比特。为使编码器初始状态置于全零

Turbo码编码的研究现状

一.T urbo码的提出 尽管每一次便译码方案的更新都会更加接近香农容量,但到1990年为止,对于二进制调制,即使在很好的信道上(如AWGN信道),编码性能在理论和实际上也存在大约3dB的差异。也就是说,应用于移动电话、卫星系统和其他应用领域的实际编码所需要的能量是理论值的两倍。对于衰落信道,这个差距将会更大。 在1993年的国际通信会议(ICC93)上,法国不列颠通信大学的Claude Berrou教授等人提出了Turbo码方案。Turbo码由于很好地应用了shallnon信道编码定理中的随机性编译码条件而获得了几乎接近ShallIlon理论极限的译码性能。仿真结果表明,在65536的比特交织长度下,Turbo码可以达到距shannon极限仅差0.7dB的优异性能。到目前为止,Turbo 码在现有的信道编码方案中是最好的,尚未有任何一种编码方案能与其相比拟。Turbo码的出现在编码理论界引起了轰动,成为自信息论提出以来最重大的研究成果。 Turbo码的提出,对信道编码领域产生了意义深远的影响。首先,Turbo码提供了一种在低信噪比条件下性能优异的级联编码方案和次最优的迭代译码方法;其次,它改变了研究者设计好码的思路,即从最大化码字最小距离转化为最小化低重码字个数,同时也改变了判断好码的准则,即从与截止速率比较转向了与Shannon理论极限进行比较;第三,Turbo迭代的思想为实现迭代信道估计、迭代均衡以及信号检测提供了新的思路。 二.T urbo码编码的研究现状 自从Turbo码提出以来,编码领域掀起了一股研究热潮,也取得了不少的成果。1995年,R.Podemskiski等给出了计算汉明距离谱(HDs)的算法,并利用最小汉明距离对Turbo 码的性能进行了分析,分析结果与模拟结果相当接近。此后,Svirid引用分组码的性能分析方法分析了交织器的设计与Turbo码的性能,给出了误比特率(BER)的联合界,并指出了交织器的设计原则是使Turbo码的最小重量尽可能大。Perez等从距离谱的观点分析了Turbo 码在低信噪比时的优异性能,在Turbo码的编码器中,指出交织器起着“谱窄化"的作用,使得Turbo码的小重量的码字数目减少,从而提高译码性能。Perez等还通过距离谱解释了Turbo码译码性能中出现的误码底限现象。 1996年,S.Belledetto和G.MontorSi引入了均匀交织器的概念,给出了Turbo码的一个BER联合性能上界,并指出好的交织器是存在的。1998年,他们对众多的RSC子码进行了研究,提出了一些性能优秀的RSC成员码。这些研究为构造优秀的Turbo码提供了参考。 另外,在Turbo码迭代译码器方面的研究也是层出不穷。在MAP类译码算法和SoV A 类译码算法的研究中,主要集中研究的问题又两类译码算法的比较、译码算法的次优简化、译码结构的局部改进、译码时延的改进、定点译码器实现时数据量化对译码性能的影响等等。 Turbo码迭代译码的思想还逐渐被应用于其他领域,诸如迭代均衡技术、迭代与多用户检测相结合、迭代与高效调制技术的结合,此外迭代译码技术还可以应用于信道编码与有记忆调制的级联系统。Turbo码本身也出现一些变体,1996年,MacKav提出了低密度校验码(LDPC)。 2001年,Li Ping提出了“Turbo(单校验)码”,它的译码复杂度比Turbo码低得多。 目前的研究表明,Turbo码急需解决的问题有:交织方法的选择、译码算法的改进以及相应终止技术。这些都妨碍了Turbo码能够应用于实际生产、生活中,是Turbo码研究的几个重要方向。

信息论与编码关于turbo码的讨论

信 息 论 与 编 码 结 课 论 文 班级:通信131 姓名:刘伟 学号:201300484310

摘要 信息论与编码研究的是整个通信的最基本的问题,可以说信息论是我们专业的大纲,从香农1948年发表《通信中的数学原理》到现在60余年的时间,信息论对整个行业的发展有着不可替代的指导意义。 信息论中最著名的是香农的四大定理(国内一般称三大定理),第一定理信源编码定理,是解决通信中信源的压缩问题,也是后来图像和视频压缩的基本定理;第二定理信道编码定理,是解决通信中数据能够在特定信道中传输的最大值的问题,即最大数据速率小于信道容量,容量问题是通信中研究最活跃的问题之一,比如4G或LTE中广泛用到的MIMO(多输入多输出,或多天线)技术,其理论本质是David Tse提出的该容量与天线数成线性递增的关系(这句话是概述,我凭印象写的);第三定理有损信源编码定理解决了在允许一定失真的情况下的信源编码问题,比如jpeg图像编码,mp3音频编码,都是有损的编码,其都是在香农第三定理的界之下得出的;第四定理信源信道分离定理,解决了信源编码和信道编码能够分开来解决的问题,所以现在做信源编码的可以是一部分人,做信道编码的可以是另一部分人。这门课是比较难,而且国内对信息论的引进也比较晚,更不用说国内学者对信息论的重视程度(几乎没有在该领域出名的国内的学者),但这门课确实是通信的基础,就像欧几里得的几何原本影响了西方学界近2000年一样,信息论在未来几百年内也必将影响通信的发展。 回到实际,要说这门课和专业哪方面联系得比较紧密的话,我觉得,研究物理层(主要是无线通信)、编码(信道编码或图像视频编码)、密码学有必要仔细研究下信息论,其他比如网络层、搞硬件设计、光纤通信等二级学科的话,学习这门课只要了解这四大(或三大)定理即可。

PCCC码(Turbo码)编码和译码算法

目录 一、概述 (1) 二、PCCC码的编码算法 (3) 三、PCCC码的译码算法 (13)

一、概述 虽然软判决译码、级联码和编码调制技术都对信道码的设计和发展产生了重大影响,但是其增益与Shannon 理论极限始终都存在2~3dB 的差距。因此,在Turbo 码提出以前,信道截止速率R0一直被认为是差错控制码性能的实际极限,shannon 极限仅仅是理论上的极限,是不可能达到的。 根据shannon 有噪信道编码定理,在信道传输速率R 不超过信道容量C 的前提下,只有在码组长度无限的码集合中随机地选择编码码字并且在接收端采用最大似然译码算法时,才能使误码率接近为零。但是最大似然译码的复杂性随编码长度的增加而加大,当编码长度趋于无穷大时,最大似然译码是不可能实现的。所以人们认为随机性编译码仅仅是为证明定理存在性而引入的一种数学方法和手段,在实际的编码构造中是不可能实现的。 在1993 年于瑞士日内瓦召开的国际通信会议(1CC,93)上,两位任教于法国不列颠通信大学的教授C.Berrou、A.Glavieux 和他们的缅甸籍博士生 P.thitimajshima 首次提出了一种新型信道编码方案——Turbo 码,由于它很好地应用了shannon 信道编码定理中的随机性编、译码条件,从而获得了几乎接近shannon 理论极限的译码性能。仿真结果表明,在采用长度为65536 的随机交织器并译码迭代18 次情况下,在信噪比E b/N0≥0.7dB 并采用BPSK 调制时,码率为1/2 的Turbo 码在AWGN 信道下的误比特率≤10-5,达到了与Shannon 极限仅相差0.7dB 的优异性能(1/2 码率的Shannon 极限是0dB)。 Turbo 码又称并行级联卷积码(PCCC,Parallel Concatenated Convolutional Code),它巧妙地将卷积码和随机交织器结合在一起,在实现随机编码思想的同时,通过交织器实现了由短码构造长码的方法,并采用软输出迭代译码来逼近最大似然译码。可见,Turbo 码充分利用了Shannon 信道编码定理的基本条件,因此得到了接近Shannon 极限的性能。 在介绍Turbo 码的首篇论文里,发明者Berrou 仅给出了Turbo 码的基本组成和迭代译码的原理,而没有严格的理论解释和证明。因此,在Turbo 码提出之初,其基本理论的研究就显得尤为重要。J.Hagenauer 首先系统地阐明了迭代译码的原理,并推导了二进制分组码与卷积码的软输入软输出译码算法。由于在Turbo 码中交织器的出现,使其性能分析异常困难,因此S.Benedetto 等人提出了均匀交织(UI,Uniform interleaver)的概念,并利用联合界技术给出了Turbo 码的平均性能上界。D.Divsalar 等人也根据卷积码的转移函数,给出了Turbo 码采用MLD 时的误比特率上界。对于Turbo 码来说,标准联合界在信噪比较小时比较宽松,

TURBO码的编译码原理及matlab仿真

Turbo码的编译码原理及MATLAB仿真

摘要 纠错码技术作为改善数字通信可靠性的一种有效手段,在数字通信的各个领域中获得极为广泛的应用。Turbo码是并行级联递归系统卷积码,在接近Shannon限的低信噪比下能获得较低的误码率,现已被很多系统所采用。本文分析了Turbo码编码译码的原理,为了使Turbo码仿真更容易,研究并建立了基于Matlab中Simulink通信模块的Turbo码仿真模型。使用所建立的模型进行仿真,结果表明,在信噪比相同的情况下,交织长度越大、迭代次数越多、译码算法越优,Turbo码性能越好,设计实际系统时,应综合考虑各因素。 关键词:Turbo码;Simulink仿真;交织长度;迭代次数 Abstract As an effective means to improve the reliability of digital communication, error correcting code technology is widely used in the field of digital communication.Turbo code is a parallel concatenated recursive systematic convolutional code, which can obtain lower bit error rate in the low SNR near Shannon limit,which is now used by many systems.In this paper,the principle of Turbo coding and decoding is analyzed,in order to make the Turbo Code simulation easier,a Turbo code simulation model based on Simulink module of Matlab is studied. Simulation result using the established model shows that the longer interleaving length,the more iteration times and the better decoding algorithm bring the better Turbo code performance with the same SNR value. Keywords:Turbo code;Simulink simulation;Interleaving length;Iteration times;

Turbo码编解码

实验五Turbo码编码实验指导 一、实验目的 1、掌握TURBO码的编解码原理。 2、掌握TURBO码的软件仿真方法。 3、掌握TURBO码的硬件仿真方法。 4、掌握TURBO码的硬件设计方法。 二、预习要求 1、掌握TURBO码的编解码原理和方法。 2、熟悉matlab的应用和仿真方法。 3、熟悉Quatus的应用和FPGA的开发方法。 三、实验原理 1、Turbo码编码原理 Turbo码是1993年法国人Berrou提出的一种新型编码方法。它巧妙的将卷积码和随机交织器结合在一起;同时,采用软输出迭代译码来逼近最大似然译码。 Turbo码编码原理框图如图所示: a、编码器 图中编码器的结构图如图 输入为10010001时,输出为1110010 1、寄存器为00:输入为1,反馈位为1,状态为100,输出为1; 2、寄存器为10:输入为0,反馈位为1,状态为110,输出为1; 3、寄存器为11:输入为0,反馈位为0,状态为011,输出为1; 4、寄存器为01:输入为0,反馈位为1,状态为101,输出为0; 5、寄存器为10:输入为1,反馈位为0,状态为010,输出为0; 6、寄存器为01:输入为0,反馈位为1,状态为101,输出为0; 7、寄存器为10:输入为0,反馈位为1,状态为110,输出为1;

8、寄存器为11:输入为1,反馈位为1,状态为111,输出为0; 图中,两个方框为移位寄存器,⊕为异或器。 b、交织器 交织可以将长的突发错误分散到每个行码中去。以最常用的交织器-行列交织器为例,它的交织方式是采用行顺序写入、列顺序读出的方式,而解交织列顺序写入,行顺序读出。 交织时,输入序列为: a11 a12 a13 a14 a21 a22 a23 a24 a31 a32 a33 a34 a41 a42 a43 a44 通过行列交织后变为: a11 a21 a31 a41 a12 a22 a32 a42 a13 a23 a33 a43 a14 a24 a34 a44 上述序列为四组长度为四的码组。假设每组码的纠错能力为1位,设码组1:a11,a12 ,a13,a14在传输信道中遇到突发错误,a12,a13,a14出错。那么,码组一将不能正确纠错。如果输入码组在输入突发信道前先交织,则遇到相同突发错误后,a21,a31,a41出错,在数据收到并解交织后,错误分散到了各码组中(二、三、四组),因此错误可以正常识别和纠正。因此,通过交织器将信道中产生的突发错误随机化,信道抗突发错误的能力得到了增强。通过交织,原有的只能纠随机错误的码,可以纠正较长的突发错误或突发错误与随机错误的组合。 c、开关单元 开关单元输入为两个编码器的编码输出,通过开关器件用于选择输出某一路或两路编码输出。当码率为1/3时,将两路编码输出一起输出;当码率为1/2时,轮流输出两路编码输出。 d、复接器 复接器将两路或三路信号,串接起来变为一路信号,码率为原来码率的1/2或1/3。设:编码器输入为:a1,a2,a3……;编码器1输出为b1,b2,b3……;编码器2输出为c1, c2, c3 ……。当码率为1/2时,开关电路的输出为:b1,c2,b3,c4……复接器的输出为:a1,b1,a2,c2,a3,b3,a4,c4……当码率为1/3时,开关电路的输出为:b1,c1,b2,c2……复接器的输出为:a1,b1,c1,a2,b2,c2,a3,b3,c3,a4,b4,c4……。 2、Turbo码的译码原理 由于Turbo码是由两个或多个分量码经过不同交织后对同一信息序列进行编码,Turbo码译码算法为

双比特Turbo码编码分析与译码实现

DOUBLE BINARY TURBO CODES ANALYSIS AND DECODER IMPLEMENTATION A THESIS SUBMITTED TO THE DEPARTMENT OF ELECTRICAL AND ELECTRONICS ENGINEERING AND THE INSTITUTE OF ENGINEERING AND SCIENCES OF BILKENT UNIVERSITY IN PARTIAL FULLFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE By ?zlem Y?lmaz September 2008

I certify that I have read this thesis and that in my opinion it is fully adequate, in scope and in quality, as a thesis for the degree of Master of Science. Prof. Dr. Abdullah Atalar (Supervisor) I certify that I have read this thesis and that in my opinion it is fully adequate, in scope and in quality, as a thesis for the degree of Master of Science. Prof. Dr. Erdal Ar?kan I certify that I have read this thesis and that in my opinion it is fully adequate, in scope and in quality, as a thesis for the degree of Master of Science. Assist. Prof. Dr. ?brahim K?rpeo?lu Approved for the Institute of Engineering and Sciences: Prof. Dr. Mehmet B. Baray Director of Institute of Engineering and Sciences

Turbo码原理及仿真

Turbo 码原理及仿真 1993年C.Berrou 、A.Glavieux 和P .Thitimajshiwa 首先提出了称之为Turbo 码的并行级联编译码方案。Turbo 码性能取决于码的距离特性。线性码的距离分布同于重量分布,如果低重量的输入序列经编码得到的还是低重量的输出序列,则距离特性变坏。该特性对于块码来说不存在问题;然而对于卷积码,则是个非常严重的问题。因为卷积码的距离特性是影响误码率的一个非常重要的因素。 在Turbo 码中,利用递归系统卷积码(RSC)编码器作为成员码时,低重量的输入序列经过编码后可以得到高重量的输出序列。同时交织器的使用,也能加大码字重量。实际上,Turbo 码的目标不是追求高的最小距离,而是设计具有尽可能少的低重量码字的码。Turbo 码由两个递归系统卷积码(RSC)并行级联而成。译码采用特有的迭代译码算法。 1 Turbo 码编码原理 典型的Turbo 码编码器结构框图如图2所示:由两个反馈的编码器(称为成员编码器)通过一个交织器I 并行连接而成。如果必要,由成员编码器输出的序列经过删余阵,从而可以产生一系列不同码率的码。例如,对于生 成矩阵为g=[g1,g2]的(2,1,2)卷积码通过编码后,如果进行删余,则得到码率为1/2的编码输出序列;如果不进行删余,得到的码率为1/3。一般情况下,Turbo 码成员编码器是RSC 编码器。原因在于递归编码器可以改善码的比特误码率性能。 2 编码 方案中使用的Turbo 码为1/3码率的并行级联码,它的编码器由两个相同的码率为1/2的RSC 编码器及交织器组成,如图4所示。 由于与非递归卷积码相比,递归卷积码产生的码字重量更大,所以这里采 图7 Turbo 码编码器 图2 Turbo 码编码原理图

Turbo码详解

第十三章 Turbo 码 Shannon 理论证明,随机码是好码,但是它的译码却太复杂。因此,多少年来随机编码理论一直是作为分析与证明编码定理的主要方法,而如何在构造码上发挥作用却并未引起人们的足够重视。直到1993年,Turbo 码的发现,才较好地解决了这一问题,为Shannon 随机码理论的应用研究奠定了基础。 Turbo 码,又称并行级连卷积码(PCCC),是由C. Berrou 等在ICC ’93会议上提出的。它巧妙地将卷积码和随机交织器结合在一起,实现了随机编码的思想,同时,采用软输出迭代译码来逼近最大似然译码。本章首先介绍Turbo 码的提出与构成原理;介绍迭代反馈译码算法(包括AWGN 信道与Rayleigh 衰落信道下的译码);然后针对Turbo 码编译码特性,对几个问题进行了说明;最后介绍Turbo 码在3GPP 中的具体应用。 §13.1 Turbo 码的提出 Turbo 码,又称并行级连卷积码(PCCC),是由C.Berrou 等在ICC ’93会议上提出的。它巧妙地将卷积码和随机交织器结合在一起,实现了随机编码的思想,同时,采用软输出迭代译码来逼近最大似然译码。模拟结果表明,如果采用大小为65535的随机交织器,并且进行18次迭代,则在E N b /0≥0.7dB 时,码率为1/2的Turbo 码在AWGN 信道上的误比特率(BER )≤-105 ,达到了近Shannon 限的性能(1/2码率的Shannon 限是0dB )。因此,这一超乎寻常的优异性能,立即引起信息与编码理论界的轰动。图13-1中给出了Turbo 码及其它编码方案的性能比较,从中可以看出Turbo 编码方案的优越性。 由于Turbo 码的上述优异性能并不是从理论研究的角度给出的,而仅是计算机仿真的结果。因此,Turbo 码的理论基础还不完善。后来经过不少人的重复性研究与理论分析,发现Turbo 码的性能确实是非常优异的。因此,turbo 码的发现,标志着信道编码理论与技术的研究进入了一个崭新的阶段,它结束了长期将信道截止速率0R 作为实际容量限的历史。 需要说明的是,由于原Turbo 编译码方案申请了专利,因此在有关Turbo 码的第一篇文章中,作者没有给出如何进行迭代译码的实现细节,只是从原理上加以说明。此后,P. Robertson 对此进行了探讨,对译码器的工作原理进行了详细说明。人们依此进行了大量的模拟研究。 Turbo 码的提出,更新了编码理论研究中的一些概念和方法。现在人们更喜欢基于概率的软判决译码方法,而不是早期基于代数的构造与译码方法,而且人们对编码方案的比较方法也发生了变化,从以前的相互比较过渡到现在的均与Shannon 限进行比较。同时,也使编码理论家变成了实验科学家。

Turbo码原理简介

Turbo 码原理简介 1993 年 C.Berrou 、A.Glavieux 和 P.Thitimajshiwa 首先提出了称之为 Turbo 码的并行级联 编译码方案。 Turbo 码性能取决于码的距离特性。线性码的距离分布同于重量分布,如果低 重量的输入序列经编码得到的还是低重量的输出序列, 则距离特性变坏。 该特性对于块码来 说不存在问题; 然而对于卷积码, 则是个非常严重的问题。 因为卷积码的距离特性是影响误 码率的一个非常重要的因素。 在 Turbo 码中,利用递归系统卷积码 (RSC) 编码器作为成员码时,低重量的输入序列经 过编码后可以得到高重量的输出序列。同时交织器的使用,也能加大码字重量。实际上, Turbo 码的目标不是追求高的最小距离,而是设计具有尽可能少的低重量码字的码。 Turbo 码由两个递归系统卷积码 (RSC)并行级联而成。译码采用特有的迭代译码算法。 1 Turbo 码编码原理 图 7 Turbo 码编码器 由于与非递归卷积码相比,递归卷积码产生的码字重量更大,所以这里采 用了两个相同的系统递归卷积码 (RSC )。信息序列分成相同的两路,第一路 典型的 Turbo 码编码器结构框图如图 2 所示:由两个反馈的编码器 (称为成员编码器) 通过一个交织器 I 并行连接而成。如果必要,由成员编码器输出的序列经过删余阵,从而可 以产生一系列不同码率的码。例如,对 于生 成矩阵为 g=[g1,g2] 的(2,1, 2)卷 积码通过 编码后,如果进行删余,则得 到码率为 1/2 的编码输出序列;如果不 进行删余,得到的 码率为 1/3。一般情 器是 RSC 编码器。原因在于递归编码器可 以改善码的比特误码率性能。 2 编码 方案中使用的 Turbo 码为 1/3码率的并行级联码, 它的编码器由两个相同的 码率为 1/2 的RSC 编码器及交织器组成,如图 4 所示。 图 2 Turbo 码编码原

相关文档