Turbo码原理简介

Turbo码原理简介
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 码编码原理图

用了两个相同的系统递归卷积码(RSC)。信息序列分成相同的两路,第一路经过RSC 编码器1,输出系统码1c 及校验码2c 。另一路先通过交织器进行交织,使信息序列在1帧内重新排列顺序,然后经过RSC 编码器2得到系统码和对应的校验码,由于该系统码和1c 实际上都是原信息序列,只是排列顺序不同,在接收端完全可以通过对1c 进行交织得到,因此在传输过程中可以省去,而只保留对应的校验位3c 。在具体实现中, RSC 编码器2的输入是通过对RSC 编码器1的系统输出1c 进行交织来得到的。321,,c c c 再经过并/串转换,作为整个Turbo 码编码器的输出。对应于每1位信息比特,该编码器输出3位,因此其码率为1/3。如果采用了奇偶删余,即在并/串转换时,在校验位奇位上取2c ,偶位上取3c 或反之,则码率可升为1/2。

由于RSC 编码器不能如非递归编码器一样通过输入连“0”序列来使编码器

复位(网格终止),因此通过设计如图8所示的A 、B 间的开关来控制编码器终止,当一帧结束时,开关由A 打到B ,则经过m 时刻后,编码器复位,可以对下一帧数据进行编码。这里m=2。只有RSC 编码器1(外编码器)进行了网络终止,RSC 编码器2保持开放。

3 译码

由于Turbo 码是由两个或多个成员码经过不同交织后对同一信息序列进行编码。译码时,为了更好地利用译码器之间的信息,译码器应该利用软判决信息,而不是硬判决信息。因此,一个有两个成员码构成的Turbo 码的译码器是由两个与成员码对应的译码单元和交织器与解交织器组成的,将一个译码单元的软输出信息作为下一个译码器单元的输入,为了进一步提高译码性能,将此过程迭代数次。这就是Turbo 码的迭代译码算法的原理。

图8 RSC 成员编码器

Turbo 码可以利用多种译码算法,如最大似然译码MAP 、Log-MAP 算法、Max-log-MAP 算法和SOV A 算法等。图所示为Turbo 码迭代译码器的结构。

Turbo 码译码器为串行结构,两个编码器所产生的校验信息通过串并转换被分开,分别送到对应的译码器输入端。首先,第一级译码器根据系统位信息L(y s |u)和第一级编码器的校验位信息L(y 1|x 1)得到输出信息(此时译码器2外信息L e [C 2](u )=0),输出信息包含两部分,一部分是由译码器根据码字相关性提取出来的外信息,用L e [C 1](u )表示;另一部分来自于系统位对应的信道输出,在传递给下一级译码器之前,被减去。L e [C 1](u )在交织之后被送到译码器2作为先验信息,译码器2因此根据校验位信息、系统位信息和L e [C 1](u )这三者共同做出估计,得到输出信息L(u ),L(u )在减去L e [C1](u )+ L(y s |u)之后,得到译码器2的外信息L e [C 2](u ),它在解交织之后,反馈给第一级译码器作为先验信息,结合L e [C 2](u ),译码器1重新做出译码估计,得到改善的外信息。而此时的外信息又可以传递到译码器2,如此往复,形成迭代过程。最终,当达到预先设定的迭代次数或满足迭代结束条件时,译码结束,取L(u )的符号作为最终硬判决输出。 a)SOV A 译码算法

传统Viterbi 算法用来计算卷积码的最大似然(ML)序列,只提供硬判决输出。但在级联系统中,前级硬判决实际上相当于丢失了信息,使后级译码器无法从解调得到的软输出中获益。SOV A 是改进的Viterbi 算法,它可以给出译码结果的可靠性值(软输出),这个可靠性值作为先验信息传递给下级译码器,从而提高译码性能。

b) LOG-MAP 译码算法

LOG-MAP 是改进的MAP(最大后验概率)算法,它在对数域进行计算,可以将MAP 算法中大量的乘法运算化简为加法运算,从而降低计算量。除此之外,它的基本原理与经典MAP 算法相同。

MAP 算法由Bahl 等人于1974年提出,因此又称为BCJR 算法。与Viterbi 算法不同,它估计出最大似然比特,而前者产生最大似然序列。也就是说

Viterbi

图9 Turbo 码迭代译码器结构

算法提供整体最优解,而MAP 算法则提供个体最优解。

前面已经提到,卷积码编码过程实际就是一个有限状态机的状态转移过程。设t 时刻编码器从状态S t-1转移到状态S t ,对应的输入为u t =k ,k ∈{0,1},输出校验位为x t , 它与u t 一起传输到接收端,译码器的任务就是根据接收信号y t 来尽可能恢复u t 。图3.23示意了这一过程。由于u t 与状态转移是对应的,因此,有

∑=====-)

|,,'()|(111N t t t N t y k u m S m S p y k u p (3.20)

式中N y 1表示接收序列[y 1….y N ]。因此,只要得到所有的

)

|,'(11N t t y m S m S p ==- (3.21)

就可以通过对其中那些对应于k u t =的状态转移概率求和来得到信息比特的后验概率。由贝叶斯定理,

)

()

,,'()|,'(1111

1

N N t t N

t t y p y m S m S p y m S m S p ===

==--

(3.22)

上式右侧分子项联合概率可作进一步化简:

),,'|(),,'(),,'(1111111t

t t N t t t t N t t y m S m S y p y m s m S p y m S m S p =======-+--

)|(),,'(111m S y p y m S m S p t N t t t t ====+-

)|(),'|,(),'(1111111m S y p y m S y m S p y m S p t N t t t t t t t =====+----

)

|()'|,(),'(11111m S y p m S y m S p y m S p t N t t t t t t =====+---

(3.23)

以上的化简过程中应用了马尔可夫信源的性质,即t 时刻以后的状态只与S t 及以后的输入有关,而与t 时刻之前的状态和输入无关,也就是说得到了t 时刻的状态,之后的状态转移就不再依赖于t y 1以及t-1时刻的状态。(3.23)式分为三部分,可以分别定义如下,令:

图3.23 编码网格中一次状态转移

),()(1t t t y m S p m ==α

)|()(1m S y p m t N t t ==+β

)'|,(),'(1m S y m S p m m t t t t ===-γ

则联合概率可写为:

)

(),'()'(),,'(111m m m m y m S m S p t t t N t t βγα??===-- (3.24)

其中,)(m t α和)(m t β可以用递归方法求出:

∑===-'

11),,'()(m t t t t y m S m S p m α

∑----===='

111111)

,'|,(),'(m t t t t t t y m S y m S p y m S p

∑?=-'

1)

,'()'(m t t m m m γα

(3.25)

∑===++'

'11)

|,''()(m t N t t t m S y m S p m β

∑+++++====='

'11211

)

,'',|()|,''(m t t t N t t t t y m S m S y p m S y m S p

∑++?='

'11)''()'',(m t t m m m βγ

(3.26)

通常,编码器的初始状态已知,对于编码器1,帧结束时网络终止,因此其终了状态了也是已知的,因此有

()??

?==其它

00

10i i m m a 以及

()?

?

?==其它00

1i i N m m β 对于编码器2,由于网格不终止,可以认为它的终了状态是平均分布的。另外,有

),'|()'|(),'(11m S m S y p m S m S p m m t t t t t t =====--γ

))

,'(|()),'((m m x y p m m u p t t t = (3.27)

式中),'(m m u t 为信息符号,),'(m m x t 为对应于状态转移),'(m m 的编码输出符号。上式中)(t u p 为信息符号的先验概率,而条件概率)|(t t x y p 可由如前所述的信道模型得到。

MAP 算法可按以下步聚实现:

1.对于每个时刻t ,根据解调软输出y 和信息符号u 计算式(3.27); 2.根据式(3.25)及式(3.26)递归计算)(m t α及)(m t β; 3.根据式(3.24)计算联合概率),,'(11N t t y m S m S p ==-; 4.根据式(3.20)得到)|(1N t y k u p =;

5.计算每个信息符号的对数似然比)

|1()

|1(log )(11N t N t t y u p y u p u L -===

式(3.22)中的分母)(1N y p 在第5步中被约去,因此不必求得具体数值。另外,在具体实现中,上述概率计算都是在对数域中进行的,因此乘法运算都变成了加法运算。

3.5.4 SOV A 和LOG-MAP 译码算法性能比较

在实现过程中,选用了SOV A 和LOG-MAP 两种译码算法,并对两者的性能进行了仿真比较。

图3.24 SOV A 和LOG-MAP 译码算法在不同迭代次数下的误码率曲线

仿真中采用1/3码率的Turbo 码,共传输了20000帧(每帧210比特,共2百万比特),采用与软件中相同的螺旋交织方案,通过高斯白噪声(AWGN)信道,分别采用LOG-MAP 和SOV A 译码,迭代1-5次。图3.24,3.25分别表示了两种译码算法的误码率和误帧率曲线。

由图3.24,3.25可得到如下结论: (1)

在相同的迭代次数和信噪比条件下,LOG-MAP 译码的误码率和误

帧率性能都明显优于SOV A。

(2)迭代次数越高,误码率性能越好。但是,大部分迭代增益都出现

在前两次迭代中。

(3)在信噪比较小时(低于0dB),SOV A迭代译码误码率随信噪比增大

降低较快,信噪比较大时误码率改善较缓慢。因此,在信道噪声

比较弱时,减少迭代次数不会对误码率性能造成太大影响,却可

以降低译码时延;而信道环境比较差时,可增加迭代次数来提高

误码率性能。

(4)LOG-MAP译码的性能非常优异,2次迭代在信噪比为-0.5dB时误

码率即可达到10-6。

图3.25 SOV A和LOG-MAP译码算法在不同迭代次数下的误码率曲线从误码率性能看,Log-MAP优于SOV A。从实现复杂度看,SOV A译码算法实现比较容易,更简单。因此,可以根据实际需要来选择译码方式。

3.5.5 译码迭代终止条件

Turbo码的迭代译码终止条件的设计是个很重要的问题,因为迭代译码是个很耗资源的计算,另一方面,过多的迭代可能会造成溢出或者振荡,从而得到错误的输出结果。

最简单的终止方法就是指定迭代次数,实验表明经过5次左右迭代之后,能够从以后的迭代过程中获得的好处就很少了,因此可以指定迭代次数,使译码过程在达到设定数值时结束。这是本项目中采取的方法之一。

然而,固定迭代次数有两个弊端。当信道特性较好时,多余的迭代造成了计算资源的浪费,另一方面,当信道特性差,误码率高时,又不能充分发挥出Turbo码的性能。理想的情况下,迭代次数应随着误码情况动态的变化。

另一种译码终止算法是在信息序列中加入CRC 校验字,每次迭代之后即检测信息序列是否有错,无错时译码即结束,为防止误码率很高时不能完全纠错的情况,还必须设定最大迭代次数,达到这一数值后,即使译码结果仍然有错误,迭代过程也被强制终止。CRC 校验适用于信道特性比较好的情况,实验表明在这种情况下,只需一两次迭代就可以得到正确结果。它的缺点是必须加入多余的校验位,降低了通信效率。

另外一种效果较好的方法是采用检测成员编码器输出之间的交叉信息熵,当发现熵值低于某一门限时,表明再次迭代能够获得的增益已经很小,因此终止译码。这种方法能够非常好的挖掘出Turbo 码的潜力。它的缺点是计算交叉信息熵需要较大的计算量和存贮空间。

多进制正交扩频系统中软信息的提取

多进制正交扩频系统: ● 进制数:M

● 每个进制代表编码交织比特个数:M K 2log = ● K 个编码数据为j d (1,...,1,0-=K j )

● K 个编码比特需要M 个正交扩频码D (1,...,1,0-=M i )

● 扩频码的波形为i C (1,...,1,0-=M i ),是由1±构成的N 维伪随机码序列波形 ● 信道:AWGN 信道,叠加一个N 维的零均值且双边谱为2/0N 高斯白噪声 ● 接收信号:R

假设发送等概,

● K 个编码数据的第j 位为0,即0=j d 的那些码子}{i C 的集合记为0j G ; ● K 个编码数据的第j 位为1,即1=j d 的那些码子}{i C 的集合记为1j G ; 则关于第K 个编码比特j d 的对数似然比(软信息)为

∑∑∑∑

∈∈∈∈-==Λ=Λ0101)

|(ln )|(ln

)

|(ln

)|(ln )(j

i j

i j

i j

i G C i

G C i

G C i G C i

j j C R P C R P C R P C R P d (1)

其中AWGN 信道下,接收信号的先验概率为

)exp()1(

)|(0

2

N C R N C R P i

N

i --=π (2)

便于电路实现的、次最优的软信息提取: ● 利用MAX 近似公式

}){max ln()ln(1

k k

N

k k δδ≈∑= (3)

● (1)式变为

)]|(max ln[)]|(max ln[0

1i

G C i G C j C R P C R P j

i j

i ∈∈-=Λ ● 将(2)式代入(1)式可得: const

j const

i G C i G C i G C i G C j A A A C R C R N N N C R C R N j i j i j

i j i +=+---=----=Λ∈∈∈∈'2

2002

20]max max [1)

ln(2]max max [11101π

其中2

i C R -表示接收序列R 和本地伪码序列i C 之间的欧式度量。

AWGN 下如果传送比特0和1的能量相等,则欧式度量就等价于相关度量,即

=

'j A )*max *max (2010i

G C i G C C R C R N j

i j i ∈∈-

其中i

C R *就是相关匹配滤波器的输出。

在多进制正交扩频系统接收端,与码子D (1,...,1,0-=M i )相对应伪码i

C 的相关匹配滤波器的输出设为},,,{110-M Y Y Y ,即

i i C R Y *=,1,...,1,0-=M i

根据码子D 中第j 个比特j d 的取值对D 进行分组:

}1,{)1(=?=j j d D g }1,{0)0(=?=d D g j

则第j 个比特的软判决信息为:

i g D i g D j Y Y S j

j

)

0()1(max max ∈∈-= 进一步归一化为

j i g D i g D j MAX Y Y S j

j

/)max max (?)

0()1(∈∈-= 其中

)max ,max max ()

0()1(i g D i g D j Y Y MAX j

j

∈∈= j S ?表示j d 的置信度信息,越接近+1表示j d 判决为1的可能性越大; 越接近-1表示j d 判决为0的可能性越大。

Turbo 码测试报告

一、 测试的Turbo 码参数

1、 数据帧长:4096

2、 码率:1/2

3、 生成矩阵:(13,15)

4、 编码后一帧长度:4096*2+12=8204

5、 信噪比范围:0~9dB ,间隔1dB

6、 测试长度1000帧

二、 测试内容

1、 Turbo 软判决下性能

2、 Turbo 硬判决下性能(译码之前是解调输出的硬判决)

3、

4-16walsh 码软信息提取下的Turbo 码性能

关于信道编码中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年一样,信息论在未来几百年内也必将影响通信的发展。 回到实际,要说这门课和专业哪方面联系得比较紧密的话,我觉得,研究物理层(主要是无线通信)、编码(信道编码或图像视频编码)、密码学有必要仔细研究下信息论,其他比如网络层、搞硬件设计、光纤通信等二级学科的话,学习这门课只要了解这四大(或三大)定理即可。

Turbo码的各种译码算法及比较

Turbo 码的各种译码算法及比较 Turbo 码有一重要特点是其译码较为复杂,比常规的卷积码要复杂的多,这种复杂不仅在于其译码要采用迭代的过程,而且采用的算法本身也比较复杂。这些算法的关键是不但要能够对每比特进行译码,而且还要伴随着译码给出每比特译出的可靠性信息,有了这些信息,迭代才能进行下去。用于Turbo 码译码的具体算法有:MAP(Maximum A Posterori)、Max-Log-MAP 、Log-MAP 和SOV A(Soft Output Viterbi Algorithm)算法。MAP 算法是1974年被用于卷积码的译码,但用作Turbo 码的译码还是要做一些修改;Max-Log-MAP 与Log-MAP 是根据MAP 算法在运算量上做了重大改进,虽然性能有些下降,但使得Turbo 码的译码复杂度大大的降低了,更加适合于实际系统的运用;Viterbi 算法并不适合Turbo 码的译码,原因就是没有每比特译出的可靠性信息输出,修改后的具有软信息输出的SOV A 算法,就正好适合了Turbo 码的译码。这些算法在复杂度上和性能上具有一定的差异,系统地了解这些算法的原理是对Turbo 码研究的基础,同时对这些算法的复杂度和性能的比较研究也将有助于Turbo 的应用研究。 MAP 算法 MAP 算法最初是用来估计无记忆噪声下的马尔可夫过程的,它是一种最优的算法。Bahl 等人于1974年把它用于线性分组码和卷积码的译码中,在用于卷积码的译码时,对于给定接收序列Y ,它不像Viterbi 算法那样以栅格路径上的比特组错误最少为目的, 而是以译码出来的符号i x 的错误最少为目的。即, (){}arg m ax i i i x x P x Y = (1.1) 不过在大多情况下,它和Viterbi 算法的作用是一致的。 由于在卷积码的译码中,MAP 算法要考虑栅格图中的所有可能路径,这样运算量就非常大,实际系统中很少用到。这样虽然MAP 算法早在1974年就被提出,但一直未

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 cod e 综述 Turbo编码器如下图1,它使用双比特循环递归系统卷积码。前导突发后面的第一个字节的MSB比特被分配到A,再其后的第二个比特分配给B,剩下的突发内容依次分配下去。 图1 turbo编码器 将k比特块或者N对块送入编码器中()。N是4的倍数(k是8的倍数)。 用于定义连接的多项式可以使用八进制或者符号记法表示如下: 对反馈支路:15(用八进制表示),等价的符号记法: 对Y校验比特:13,等价符号记法: 对W校验比特:11,等价符号记法: A端口输入的比特连接移位寄存器的“1”;B端口输入的比特连接移位寄存器的“1”,D和. 首先,送入编码器(使用循环状态进行初始化)的序列是自然正常顺序(开关打在位置1处),它有增加的地址.这第一个编码器称作。 其次,送入编码器(使用循环状态进行初始化)的序列是交织顺序(开关打在位置2处),它有增加的地址.这第一个编码器称作。函数

Turbo码排列描述 在两个等级水平上进行排列,首先在内部对上(level1),其实是对之间(level2):设置排列参数P0, P1, P2 和P3 j = 0, ...N – 1 level1 如果j mod. 2 = 0, 则让(A,B) = (B,A),即进行对翻转。 level2 下面的表1给出了使用的默认参数组合。这些参数能够通过TCT进行更新。交叉关系满足奇/偶规则(即当j是偶数的时候,i就是奇数,反正同理)这样就允许两个编码器有相同的打孔图样。 表1 循环状态的决定 编码器的状态表示为:S (0 ≤S ≤7) 其中S = 4 × + 2 ×+ (见图1)循环状态

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码的性能分析与仿真

目录 一、简述信道编码 (3) 1.信道编码的原理 (3) 2.信道编码的码型 (3) 2.1分组码 (3) 2.2 卷积码 (4) 2.3 格型码 (4) 2.4 Turbo 码 (4) 二、Turbo码介绍 (5) 1.Turbo的提出 (5) 2. Turbo码编译码原理 (5) 3. Turbo码仿真建模 (7) 4.仿真结果分析 (9) 三、总结 (12) 四、参考文献 (12)

一、简述信道编码 1.信道编码的原理 上了信息论与编码这门课我们知道,图像信号信源压缩编码的目的就是要去掉图像中的空间冗余和时间冗余,从而降低了总的数据率,提高了信息量的效率。这样,容许保证一定图像质量的数字信号能以较少的数据量快速传输出去。与此同时,经信源编码的去冗余而提高信源的信息熵(每个符号的平均信息量)后,数字信号的抗干扰能力明显下降了,这是不言而喻的,因为未压缩之前每个符号的信息量很低。因此,压缩后的数字信号很容易受到传输通道中引入的噪声、多径反射和衰落等的影响而造成接收端发生程度不同的误码,有的甚至无法恢复出原始数据。为解决这个问题,信道编码应运而生了。所谓信道编码就是为提高信息传输可靠性而进行的编码(在信源编码的基础上以降低传输的信息量为代价来提高可靠性)。信道编码可以检测、纠正由于传输造成的误码,所以这种编码也常称为差错控制编码。信道编码是数字通信系统中的重要组成部分,其作用是完成检错纠错,码形变换的任务,从而提高传输信道的可靠性。 信道编码的原理简言之就是要使传输符号间具有某种特定的关系,通常将要传输的信息分组,根据某种规则,使每组信息映射(映射是数学上的一个术语,源于集合论,映射又称为变换,意思是两个集中的元素有某种对应关系。)到一组信道符号,这组符号相互之间具有某种特定关系,即使其中某些符号在传输中会出错,也会发现这些错误,并进一步纠正它们。显然,要实现信源具有检错和纠错能力,必需按一定的规则在信源编码的基础上再增加一些冗余码元(又称监督码),使这些冗余码元与被传信息码元之间建立一定的关系,发送端完成这个任务的过程称为纠错编码。 2.信道编码的码型 目前,常用的信道编码的码型有两种:分组码和卷积码。如我们所熟悉的RS 码就属于分组码,当然还有一些其它码型,如TCM 和Turbo 码等,广电中现阶段己使用了分组码、卷积码和格型码,下面简要介绍目前信道编码使用的四种码型。 2.1分组码 在每组信息映射到一组符号的过程中,如果映射过程只与当前这组信息有关,相应的编码就是分组码。分组码将信息码元序列划分成段落,每一段包含若干个信息码元,然后由这若干个信息码元按一定规则产生出一些监督码元,信息码元和监督码元组合在一起形成一个码组,在每个码组中,监督码元与本码组中的信息码元有关,与其他码组

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 码编码原

Turbo码的编译码算法仿真讲解

电子信息类实践课III 通信系统仿真 题目Turbo码的编译码算法仿真 专业 学号 姓名 日期 注:本报告仅供参考

1、课程设计目的(黑体小三,段前段后个一行) 通过完成在在衰落信道下采用不同调制信号进行Turbo码编译码的编程实现,进一步了解了Turbo码的编码解码过程,以及在不同调制方式不同信道下的性能比见。通过对卷积和交织器的设计,深入了解卷积和交织的作用。以及熟悉了通信仿真的整体流程。 2、课程设计内容 具体叙述课程设计的主要内容和原理。 表1 主要课程设计内容列表 在进行本次Turbo仿真时,采用了两种不同编程方式。在程序一中是直接调用matlab Communications System Toolbox中的Turbo编码和解码工具箱,通过配置参数进行仿真。而在程序二中则根据Turbo码编译码原理编写。如果程序一更像是一个黑匣子,只能知道通过编解码模块前、后的数据,而具体做了哪些则不得而知。 a.编码 图1 Turbo码编码器结构 典型的Turbo码编码器结构框图如图所示:由两个反馈的编码器通过一个交织器并行连接而成。如果必要,由成员编码器输出的序列经过删余阵,从而可以产 1

生一系列不同码率的码。例如,对于生成矩阵为g=[g1,g2]的(2,1,2)卷积码通过编码后,如果进行删余,则得到码率为1/2的编码输出序列;如果不进行删余,得到的码率为1/3。一般情况下,Turbo码成员编码器是RSC编码器。原因在于递归编码器可以改善码的比特误码率性能。 通俗理解1/2码率就是信号中有一半都是“无用信号”,这些“无用信号”就是两个分量编码器的生成的校验码,而删余则是各删除一部分校验码,把剩下的再和信息比特合在一块,形成编码好的矩阵。 b.译码 图2 Turbo译码结构 Turbo码获得优异性能的根本原因之一是使用了迭代译码,通过与分量编码器对应的分量译码器之间软信息的交换来提高译码性能。对于 Turbo 码这样的并行级联码,如果分量译码器的输出为硬判决,则不可能实现分量译码器之间软信息的交换,从而限制了系统性能的进一步提高。从信息论的角度来看,任何硬判决都会损失部分信息,因此,如果分量译码器能够提供一个反映其输出可靠性的软输出,则其他分量译码器也可以采用软判决译码,从而系统的性能可以得到进一步提高。为此,人们提出了软输入软输出译码(SISO)的概念和方法。Turbo 码的分量码 SISO 译码算法总体上可分为MAP和SOV A 两类主要算法。其中MAP算法是一种最佳后验概率算法。SOV A类算法主要包括软输出的维特比算法(SOV A)和连续列表输出维特比算法(SLV A)。 SOV A算法实际上就是veterbi算法的扩展,保留的路径数不是两条而是和状态数有关从所有可行的路径中找最优的是最大似然序列检测。 d.衰落信道 由于多径和移动台运动等影响因素,使得移动信道对传输信号在时间、频率 2

相关主题
相关文档
最新文档