MATLAB实现卷积码编译码(2)

2019-04-21 14:34

MATLAB实现卷积码编译码

前言

信道编码是数字通信系统的重要组成部分,随着通信技术的不断发展,信道编码技术也在不断地发展。在通信系统中,信道传输特性不理想以及噪声的存在,会导致接收端出现接收信号的错误,因此用于信道纠错的信道编码是数字通信系统中极为重要的一个环节。二十世纪40年代香农定理的出现为人们指出了纠错码的研究方向。根据香农的有噪信道编码定理,可以推导出一个码率为R 的编码通信系统达到无误码传输状态所必须的最小信噪比的理论极限。这个理论极限通常称为香农限,它说明对一个码率为R的编码通信系统,只有当SNR超过这个极限值时才能获得无误码传输。只要SNR高于这个极限值,香农的编码定理保证了能够获得无误码传输的(可能相当复杂)编码通信系统的存在性。另外,香农证明了在采用无限长的随机编码时,数据可以以接近信道容量的速率几乎无误码的传输,从而为信道编码的研究奠定了基础。

本文主要介绍了信道编码的基本理论,着重研究了卷积码的编码方法和viterbi译码,介绍了MATLAB的使用方法,并编写卷积码的编码和解码程序,通过MATLAB仿真软件对卷积码编解码进行仿真。重点对viterbi译码进行了研究,该算法就是利用卷积码编码器的格图来计算路径度量,选择从起始时刻到终止时刻的惟一幸存路径作为最大似然路径,沿着最大似然路径回溯到开始时刻,所走过的路径对应的编码输出就是最大似然译码输出序列。它是一种最大似然译码方法,当编码约束长度不大、或者误码率要求不是很高的情况下,Viterbi译码器设备比较简单,计算速度快,因而Viterbi译码器被广泛应用于各种领域。

聊城大学本科毕业论文(设计)

1. 纠错码基本理论

1.1纠错码基本理论 1.1.1纠错码概念

纠错码(error correcting code),在传输过程中发生错误后能在收端自行发现或纠正的码。仅用来发现错误的码一般常称为检错码。为使一种码具有检错或纠错能力,须对原码字增加多余的码元,以扩大码字之间的差别 ,即把原码字按某种规则变成有一定剩余度(见信源编码)的码字,并使每个码字的码之间有一定的关系。关系的建立称为编码。码字到达收端后,可以根据编码规则是否满足以判定有无错误。当不能满足时,按一定规则确定错误所在位置并予以纠正。纠错并恢复原码字的过程称为译码。检错码与其他手段结合使用,可以纠错。

1.1.2基本原理和性能参数

纠错码编码的基本思想是在被传输的信息码元中附加一些监督码元,并且使它们之间确定某一种关系,根据传输过程中这种关系是否被破坏来发现或纠正错误。可见这种差错控制能力是用增加信息量的冗余度来换取的。

设编码后的码组长度、码组中所含信息码元以及监督码元的个数分别为n、k和r,三者间满足n= k + r,定义编码效率为R = k/n = 1 - r/n。可见码组长度一定时,所加入的监督码元个数越多,编码效率越低。香农的信道编码定理指出:

对于一个给定的有扰信道,若信道容量为C,只要发送端以低于C的速率R发送信息,其中R为编码器的输入二进制码元速率,则一定存在一种编码方法,使编码错误概率P随着码长n的增加,按指数下降到任意小的值。可以表示为

错误!未找到引用源。 (1-1)

其中 E(R)称为误差指数,它与R和C的关系如图1-1所示。

2

聊城大学本科毕业论文(设计)

图1-1 误差指数曲线

由定理有如下结论:

(1). 在码长及发送信息速率一定的情况下,为减小P可以增大信道容量。由图2-1可知,E(R)随信道容量的增加而增大。由式(1-1)可知,错误概率随E(R)的增大而指数下降。

(2). 在信道容量及发送信息速率一定的条件下,增加码长,可以使错误概率指数下降。对于实际应用来说,此时的设备复杂性和译码延时也随之增加。

香农的信道编码定理为信道编码奠定了理论基础,虽然定理本身并没有给出具体的差错控制编码方法和纠错码的结构,但它从理论上为信道编码的发展指出了努力方向。

我们用3位二进制码组来说明检错纠错的基本原理。3位二进制码元共有8种可能的组合:000、001、010、011、100、101、110、111。如果这8种码组都可传递消息,若在传输过程中发生一个误码,则一种码组会错误地变成另一种码组。由于每一种码组都可能出现,没有多余的信息量,因此接收端不可能发现错误,认为发送的就是另一种码组。

如果选其中000、011、101、110 来传送消息,这相当于只传递00、01、10、11四种信息,而第3位是附加的。这位附加的监督码元与前面两位码元一起,保证码组中“1”码的个数为偶数。这4种码组称为许用码组。另外 4种码组不满足这种校验关系,称为禁用码组,它们在编码后的发送码元中不会出现。接收时一旦发现有禁用码组,就表明传输过程中发生了错误。用这种简单的校验关系可以发现1个或3个错误,但不能纠正错误。因为当接收到的码组为禁用码组时,比如为

3

聊城大学本科毕业论文(设计)

010,无法判断发送的是哪个码组。虽然原发送码组为101的可能性很小(因为3个误码的概率一般很小),但不能绝对排除,即使传输过程中只发生一个误码,也有三种可能的发送码组即000、011和110。

假如我们进一步将许用码组限制为二种即000和111,显然这样可以发现所有2位以下的误码,若用来纠错,可以用最大似然准则纠正1位错误。可以用一个三维立方体来表示上述3位二进制码组的例子,如图1-2所示。图中立方体各顶点分别表示8位码组,3位码元依次表示x、y、z轴的坐标。

z (0,0,1) (0,1,1) (1,0,1) (0,0,0) (1,1,1) (0,1,0) y x

(1,0,0) (1,1,0)

图1-2 码距的几何解释

这里定义码组中非零码元的数目为码组的重量,简称码重。比如100码组的码重为1,101码组的码重为2。定义两个码组中对应码位上具有不同二进制码元的位数为两码组的距离,称为汉明(Hamming)距,简称码距。在前面3位二进制码组的例子中,当8种码组均为许用码组时,两码组间的最小距离为1,称这种编码的最小码距为1,一般记为dmin= l;当选4种码组为许用码组时,最小码距dmin = 2;当用2种码组作为许用码组时,dmin = 3。

从图1-2所示的立方体可以看出,码距就是从一个顶点沿立方体各边移到另一个顶点所经过的最少边数。图中粗线表示000与111之间的一条最短路径。很容易得出前例中各种情况下的码距。

根据以上分析可知,编码的最小码距直接关系到这种码的检错和纠错能力,所以最小码距是差错控制编码的一个重要参数。对于分组码一般有以下结论:

(1)在一个码组内检测e个误码,要求最小码距

4

聊城大学本科毕业论文(设计)

dmin?e?1 (1-2)

(2)在一个码组内纠正t个误码,要求最小码距

dmin?2t?1错误!未找到引用源。 (1-3)

(3)在一个码组内纠正t个误码,同时检测e(e错误!未找到引用源。t)个误码,要求最小码距

dmin?t?e?1 (1-4)

这些结论可以用图1-3所示的几何图形简单的给予证明。

图1-3 码距与检错和纠错能力的关系

图1-3(a)中C表示某码组,当误码不超过e个时,该码组的位置移动将不超出以它为圆心以e为半径的圆。只要其它任何许用码组都不落入此圆内,则C发生e个误码时就不可能与其它许用码组混淆。这意味着其它许用码组必须位于以C为圆心,以e + 1为半径的圆上或圆外。因此该码的最小码距dmin为e + 1。

图1-3(b)中C1、C2分别表示任意两个许用码组,当各自误码不超过 t个时,发生误码后两码组的位置移动将各自不超出以C1、C2为圆心,t为半径的圆。只要这两个圆不相交,当误码小于t个时,根据它们落在哪个圆内可以正确地判断为C1或

C2,就是说可以纠正错误。以C1、C2为圆心的两圆不相交的最近圆心距离为2t + l,即为纠正t个误码的最小码距。

式(1-1)所述情形中纠正t个误码同时检测e个误码,是指当误码不超过t个时,

5


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

下一篇:《培养小学生数学阅读能力的实践与研究》总报告

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

马上注册会员

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