Turbo编译码的Matlab实现(2)

2019-04-09 12:14

Turbo编译码的Matlab实现

1 信道编码

1.1 信道编码及信道编码的提出

所谓信道编码,就是按照一定的规则给待传送的数字序列{d}增加一些多余的码元,称之为监督码元,使不具有规律性的数字序列{d}变换为具有某种规律性的数字序列{c},又称为码序列。经变换后得到的码序列中,信息序列的诸码元与多余码元之间是相关的,接收端的译码器则根据这种相关性来检测和纠正传输过程中产生的差错。

长期以来,人们一直在努力探索着如何安全可靠的进行信息传输的途径。1948年,香农(C.Shannon)在他的开创性论文《通信的数学理论》(A mathematical theory of communication)中,首次阐明了在有扰信道中实现可靠通信的方法,提出了著名的“有扰信道编码定理”,奠定了信道编码(即纠错码)的基石。定理指出:在有噪声的信道环境下,只要信源的信息速率不超过信道容量,就可以找到一种编码方法,使信息的传输速率任意逼近信道容量,而传输的错误概率任意逼近于零,或者传输的失真度能够任意的逼近给定的要求,即实现可靠通信。在这里,香农定理指出了信道编码在实现有效、可靠通信方面的重要地位和作用,并从理论上为信道编码的发展指出来努力的方向。由此,人们还认识到,没有必要建立性能特别好的耗费特别高的信道去保证通信的可靠性,只需应用适当的编码技术便可以达到目的,而且更为经济。自此以后,汉明(Hamming)、斯列宾(Slepian)、普兰奇(Prange)等人在50年代初,根据香农的思想,给出了一系列设计好码和有效译码的方法。

1.2 信道编码的发展历程

迄今为止,信道编码已有50多年的历史,其发展过程可分为以下几个阶段: 50年代和60年代里,人们主要致力于寻找能保证差错概率为任意小的码及译码算法。首先得到重视的是分组码。人们利用代数方法逐步认识了Hamming码、BCH码、RS码等分组码,并发现了一些有效的译码算法。后来,人们又着重用概率方法对卷积码的结构进行研究,提出来Viterbi算法之类的译码算法方法。同时,还提出了一些结构特殊或功能特殊的码,如错误定位码、级联码(concatenated code)、收缩

Turbo编译码的Matlab实现

码、不等错误保护码等等。G.D.Forney在1966年提出了一种由短码构造长码的方案:串行级联码方案。如下图所示。级联码的性能良好,译码技术简单,具有实用潜力。

图1-1 串行级连码编码器框图

图1-2 串行级连码译码器框图

在70年代和80年代,人们不仅对分组码、卷积码分别进行了更深入的研究,而且将代数方法和概率方法结合起来,设计出了几种码字很长、性能较好的码族,使得信道编码理论向着C.Shannon指出的方向进一步推进。这时,人们开始将注意力转向差错控制码在实际通信系统中的应用,设计出来很多适用的差错控制方案。这期间,人们对级联码也进行了初步考察。这些研究为今后信道编码的广泛应用打下了理论基础。

80年代以来,信道编码无论在理论上或是在应用方面都得到空前的发展。 在理论上,人们不仅从码的未检出错误概率、重量分布、覆盖半径、球半径等各个方面综合进行研究,以期发现性能更好、译码方案更简单的编码方案、而且对级联码之类的特殊码进行深入分析。人们还将差错控制编码与其他抗干扰技术如调制、扩频、保密等结合起来,再用最优化方法进行讨论分析,研究出一些适合于各种通信系统的最优抗干扰方案。

集成电路和计算机技术的发展使差错控制编码在通信系统中得到广泛应用,为了适应某些现代通信的要求,如深空通信、流星通信等,人们又设计出了许多新的编码方案。

1993 年Berrou提出来当前最热门的一种接近香农极限性能的Turbo码(Turbo-codes),这种码又名并行级联反馈系统卷积码。此码的算法简单,却可以很快达到香农限。

Turbo编译码的Matlab实现

1.3 信道编码的分类

信道编码方法有多种,一般可以按以下方式对其分类:

按照信息码元和监督码元之间约束方式的不同,可以分为分组码和卷积码。若本码组的监督码元仅与本码组的信息码元有关,而与其他码组的信息码元无关,则称这列码为分组码;若本码组的监督码元不仅与本码组的信息码元有关而且还和本码组相邻的前若干个码组的信息码元有关,则这列码成为卷积码。

按照信息码元与监督码元之间的检验关系又可以分为线性码和非线性码。若编码规则可以用线性方程组来表示,则称之为线性码,反之,若两者不存在线性关系,则称为非线性码。

按照编码后每个码字的结构可分为系统码和非系统码。在系统码中,编码后的信息码元保持原样不变,而非系统码中信息码元则改变了原有的信号形式。

按照纠正错误的类型的不同,可分为纠正随机错误和纠正突发错误的码。前者主要用于发生零星独立错误的信道,而后者则用于对付以突发错误为主的信道。

Turbo编译码的Matlab实现

2 相关基本概念和常识

上一章,简单介绍了信道编码相关的一些情况,在本章中,将介绍有关编码的一些相关概念以及卷积码的编码方法。

2.1 关于纠错码的基本概念

本节中,介绍了一些与信道编码有关的重要的概念知识,这些概念在编、译码理论中非常重要。

1、错误图样

设发送的是n个码元长的序列C:(cn?1,cn?2,?,c1,c0)通过信道传输到达接收端(纠错码译码器的输入端)的序列为R:(rn?1,rn?2,?,r1,r0)。由于信道中存在干扰,R序列中某些码元可能与C序列中对应的码元的值不同。而在二进制序列中的错误只有0错成1或者1错成0,因此把信道中的干扰也用二进制序列E:(en?1,en?2,?,e1,e0)来表示,则相应有错误的位ei取值为“1”,无错的位取值为“0”,而R就是C与E序列模2加的结果,即:R?C?E或者E?R?C。我们称E为信道的错误图样或干扰矢量。

2、码字和码率

分组码是对每段k位长的信息组,以一定的规则增加r?n?k个校验元,组成长为n的序列:(cn?1,cn?2,?,c1,c0),这个序列就称为码字(码组或码矢)。码率是指在一个码字中信息位所占地比重,用R表示,R=k/n。R体现了传输信息的有效性。

3、汉明距离和汉明重量

汉明距离指两个码字之间对应位取不同值得个数;汉明重量是指一个码字中非零码元的个数;最小汉明距离dmin指的是在各种有用码组中汉明距离的最小值。 (或d0)4、码的抗干扰能力与最小汉明距离之间的关系

若码集中码字间的最小距离满足dmin?e?1,则该码集中的码字具有检测e个错误的能力; ②

若码集中码字间的最小距离满足dmin?2t?1,则该码集中码字具有纠正t个错误的能力; ③

若码集中码字间最小距离满足dmin?t?e?1(e>t),则该码集中的码字具有纠t个错误同时检出e个错误的能力。

Turbo编译码的Matlab实现

2.2 卷积码初步

在当今数字通信系统中大都使用信道编码来提高系统性能。最常用的信道编码是卷积码。一个Turbo码可以看成是二维或多维的卷积码。因此在这里将对卷积码作简单的介绍。

卷积码的特点如下:

当n和k均较小,且要求纠错能力较强,可使用卷积码。

1、卷积码中一个码字(n位)的校验元不仅取决于本码字信息元(k位),而且取决于前m组的信息元。表示为(n,k,m)。m称为编码记忆,N=m+1(N为约束长度);

2、译码也需要考虑若干码组的影响方能译出一个码组信息元;

3、由于各码组间及码组内相关性较分组码强,卷积码的n、k可用较小的数而获得多位分组码同样的性能。


Turbo编译码的Matlab实现(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:六安市万佛路施工组织设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: