MATLAB实现卷积码编译码.docx

上传人:b****5 文档编号:8027519 上传时间:2023-01-28 格式:DOCX 页数:41 大小:341.73KB
下载 相关 举报
MATLAB实现卷积码编译码.docx_第1页
第1页 / 共41页
MATLAB实现卷积码编译码.docx_第2页
第2页 / 共41页
MATLAB实现卷积码编译码.docx_第3页
第3页 / 共41页
MATLAB实现卷积码编译码.docx_第4页
第4页 / 共41页
MATLAB实现卷积码编译码.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

MATLAB实现卷积码编译码.docx

《MATLAB实现卷积码编译码.docx》由会员分享,可在线阅读,更多相关《MATLAB实现卷积码编译码.docx(41页珍藏版)》请在冰豆网上搜索。

MATLAB实现卷积码编译码.docx

MATLAB实现卷积码编译码

 

本科生毕业论文〔设计〕

题目:

MATLAB实现卷积码编译码

专业代码:

 

学号:

单位:

指导教师:

年月日

摘要

在数字通信系统中,通常采用过失控制编码来提高系统的可靠性。

自P.Elias首次提出卷积码编码以来,这一编码技术至今仍显示出强大的生命力。

目前,卷积码已广泛应用在无线通信标准中,如GSM,CDMA2000和IS-95等无线通信标准中。

本文简单介绍了纠错码的根本原理,论述了卷积码编译码原理和算法,并通过matlab仿真对卷积码性能进展研究,重点比拟分析了不同码率、不同约束长度、不同回溯长度以与不同译码判决方式对Viterbi译码性能的影响,并得出相关结论。

关键词:

卷积码,Viterbi,Matlab,误码率,数字通信系统

Abstract

Indigitalcommunicationsystems,errorcontrolcodingisusuallyusedtoimprovesystemreliability.SinceP.Eliasputforwardtheconvolutionalcodingthefirsttime,thecodingisstillshowingstrongvitality.,hasbecomewidelyusedinsatellitecommunications,wirelesscommunicationsandmanyothercommunicationsystemsasakindofchannelcodingmethod.suchasGSM,CDMA2000andhasbeenawirelesscommunicationstandardsofIS-95.

Thisarticleintroducesthebasicprinciplesoferror-correctingcodes,mainlyreasearchtheprincipleoftheconvolutionalcodeencodinganddecodingandthealgorithms.Throughthematlabsimulation,westudytheperformanceofconvolutionalcode,especillytheperformanceoftheviterbidecodingwithdifferentbitrates,differentConstraintlength,differenttracebackdeptheanddifferentdecisiontypes,compareandmakeconclusions.

Keywords:

convolutionalcodes,Viterbi,Matlab,biterrorrate,thedigitalcommunicationsystem

 

MATLAB实现卷积码编译码

前言

信道编码是数字通信系统的重要组成局部,随着通信技术的不断开展,信道编码技术也在不断地开展。

在通信系统中,信道传输特性不理想以与噪声的存在,会导致接收端出现接收信号的错误,因此用于信道纠错的信道编码是数字通信系统中极为重要的一个环节。

二十世纪40年代香农定理的出现为人们指出了纠错码的研究方向。

根据香农的有噪信道编码定理,可以推导出一个码率为R的编码通信系统达到无误码传输状态所必须的最小信噪比的理论极限。

这个理论极限通常称为香农限,它说明对一个码率为R的编码通信系统,只有当SNR超过这个极限值时才能获得无误码传输。

只要SNR高于这个极限值,香农的编码定理保证了能够获得无误码传输的〔可能相当复杂〕编码通信系统的存在性。

另外,香农证明了在采用无限长的随机编码时,数据可以以接近信道容量的速率几乎无误码的传输,从而为信道编码的研究奠定了根底。

本文主要介绍了信道编码的根本理论,着重研究了卷积码的编码方法和viterbi译码,介绍了MATLAB的使用方法,并编写卷积码的编码和解码程序,通过MATLAB仿真软件对卷积码编解码进展仿真。

重点对viterbi译码进展了研究,该算法就是利用卷积码编码器的格图来计算路径度量,选择从起始时刻到终止时刻的惟一幸存路径作为最大似然路径,沿着最大似然路径回溯到开始时刻,所走过的路径对应的编码输出就是最大似然译码输出序列。

它是一种最大似然译码方法,当编码约束长度不大、或者误码率要求不是很高的情况下,Viterbi译码器设备比拟简单,计算速度快,因而Viterbi译码器被广泛应用于各种领域。

 

1.纠错码根本理论

1.1纠错码根本理论

1.1.1纠错码概念

纠错码(errorcorrectingcode),在传输过程中发生错误后能在收端自行发现或纠正的码。

仅用来发现错误的码一般常称为检错码。

为使一种码具有检错或纠错能力,须对原码字增加多余的码元,以扩大码字之间的差异,即把原码字按某种规那么变成有一定剩余度〔见信源编码〕的码字,并使每个码字的码之间有一定的关系。

关系的建立称为编码。

码字到达收端后,可以根据编码规那么是否满足以判定有无错误。

当不能满足时,按一定规那么确定错误所在位置并予以纠正。

纠错并恢复原码字的过程称为译码。

检错码与其他手段结合使用,可以纠错。

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所示。

图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个错误,但不能纠正错误。

因为当接收到的码组为禁用码组时,比如为010,无法判断发送的是哪个码组。

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

假设我们进一步将许用码组限制为二种即000和111,显然这样可以发现所有2位以下的误码,假设用来纠错,可以用最大似然准那么纠正1位错误。

可以用一个三维立方体来表示上述3位二进制码组的例子,如图1-2所示。

图中立方体各顶点分别表示8位码组,3位码元依次表示x、y、z轴的坐标。

图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个误码,要求最小码距

(1-2)

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

(1-3)

(3)在一个码组纠正t个误码,同时检测e(et)个误码,要求最小码距

  (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个时,能自动纠正误码,而当误码超过t个时,那么不可能纠正错误但仍可检测e个误码。

图1-3(c)中C1、C2分别为两个许用码组,在最坏情况下C1发生e个误码而C2发生t个误码,为了保证此时两码组仍不发生混淆,那么要求以C1为圆心e为半径的圆必须与以C2为圆心t为半径的圆不发生交叠,即要求最小码距dmin>=t+e+1。

可见dmin表达了码组的纠、检错能力。

码组间最小距离越大,说明码字间最小差异越大,抗干扰能力就越强。

由于编码系统具有纠错能力,因此在达到同样误码率要求时,编码系统会使所要求的输入信噪比低于非编码系统,为此引入了编码增益的概念。

其定义为,在给定误码率下,非编码系统与编码系统之间所需信噪比Eb/N0之差(用dB表示)。

采用不同的编码会得到不同的编码增益,但编码增益的提高要以增加系统带宽或复杂度来换取。

(2.1.3)纠错码实现纠错码实现中最复杂的局部是译码。

它是纠错码能否应用的关键。

根据式

(1),采用的码长n越大,那么误码率越小。

但n越大,编译码设备也越复杂,且延迟也越大。

人们希望找到的译码方法是:

误码率随码长n的增加按指数规律下降;译码的复杂程度随码长n的增加接近线性地增加;译码的计算量那么与码长n根本无关。

可惜,已经找到的码能满足这样要求的很少。

不过由于大规模集成电路的开展,既使应用比拟复杂的但性能良好的码,本钱也并不太高。

因此,纠错码的应用越来越广泛。

纠错码传输的都是数字信号。

这既可用硬件实现,也可用软件实现。

前者主要用各种数字电路,主要是采用大规模集成电路。

软件实现特别适合计算机通信网等场合。

因为这时可以直接利用网中的计算机进展编码和译码,不需要另加专用设备。

硬件实现的速度较高,比软件可快几个数量级。

在传信率一定的情况下,如果采用纠错码提高可靠性,要求信道的传输率增加,带宽加大。

因此,纠错码主要用于功率受限制而带宽较大的信道,如卫星、散射等系统中。

纠错码还用在一些可靠性要求较高,但设备或器件的可靠性较差,而余量较大的场合,如磁带、磁盘和半导体存储器等。

在分组码的研究中,谱分析的方法受到人们的重视。

纠同步错误码、算术码、不对称码、不等错误纠正码等,也得到较多的研究.

1.2几种常用的纠错码

(1)RS编码

RS码即里德-所罗门码,它是能够纠正多个错误的纠错码,RS码为〔204,188,t=8〕,其中t是可抗长度字节数,对应的188符号,监视段为16字节(开销字节段〕。

实际中实施〔255,239,t=8〕的RS编码,即在204字节〔包括同步字节〕前添加51个全“0〞字节,产生RS码后丢弃前面51个空字节,形成截短的〔204,188〕RS码。

RS的编码效率是:

188/204。

(2)卷积码

卷积码非常适用于纠正随机错误,但是,解码算法本身的特性却是:

如果在解码过程中发生错误,解码器可能会导致突发性错误。

为此在卷积码的上部采用RS码块,RS码适用于检测和校正那些由解码器产生的突发性错误。

所以卷积码和RS码结合在一起可以起到相互补偿的作用。

卷积码分为两种:

①根本卷积码:

根本卷积码编码效率为,η=1/2,编码效率较低,优点是纠错能力强。

②收缩卷积码:

如果传输信道质量较好,为提高编码效率,可以采样收缩截短卷积码。

有编码效率为:

η=1/2、2/3、3/4、5/6、7/8这几种编码效率的收缩卷积码。

编码效率高,一定带宽可传输的有效比特率增大,但纠错能力越减弱。

(3)Turbo码

1993年诞生的Turbo码,单片Turbo码的编码/解码器,运行速率达40Mb/s。

该芯片集成了一个32×32交织器,其性能和传统的RS外码和卷积码的级联一样好。

所以Turbo码是一种先进的信道编码技术,由于其不需要进展两次编码,所以其编码效率比传统的RS+卷积码要好。

(4)交织

在实际应用中,比特过失经常成串发生,这是由于持续时间较长的衰落谷点会影响到几个连续的比特,而信道编码仅在检测和校正单个过失和不太长的过失串时才最有效〔如RS只能纠正8个字节的错误〕。

为了纠正这些成串发生的比特过失与一些突发错误,可以运用交织技术来分散这些误差,使长串的比特过失变成短串过失,从而可以用前向码对其纠错,例如:

在DVB-C系统中,RS(204,188)的纠错能力是8个字节,交织深度为12,那么纠可抗长度为8×12=96个字节的突发错误。

实现交织和解交织一般使用卷积方式。

交织技术对已编码的信号按一定规那么重新排列,解交织后突发性错误在时间上被分散,使其类似于独立发生的随机错误,从而前向纠错编码可以有效的进展纠错,前向纠错码加交积的作用可以理解为扩展了前向纠错的可抗长度字节。

纠错能力强的编码一般要求的交织深度相对较低。

纠错能力弱的那么要求更深的交织深度。

一般来说,对数据进展传输时,在发端先对数据进展FEC编码,然后再进展交积处理。

在收端次序和发端相反,先做去交积处理完成误差分散,再FEC解码实现数据纠错。

交积不会增加信道的数据码元。

(5)伪随机序列扰码

进展基带信号传输的缺点是其频谱会因数据出现连“1〞和连“0〞而包含大的低频成分,不适应信道的传输特性,也不利于从中提取出时钟信息。

解决方法之一是采用扰码技术,使信号受到随机化处理,变为伪随机序列,又称为“数据随机化〞和“能量扩散〞处理。

扰码不但能改善位定时的恢复质量,还可以使信号频谱平滑,使帧同步和自适应同步和自适应时域均衡等系统的性能得到改善。

扰码虽然“扰乱〞了原有数据的本来规律,但因为是人为的“扰乱〞,在接收端很容易去加扰,恢复成原数据流。

实现加扰和解码,需要产生伪随机二进制序列〔PRBS〕再与输入数据逐个比特作运算。

PRBS也称为m序列,这种m序列与TS的数据码流进展模2加运算后,数据流中的“1〞和“0〞的连续游程都很短,且出现的概率根本一样。

利用伪随机序列进展扰码也是实现数字信号高性传输的重要手段之一。

一般将信源产生的二进制数字信息和一个周期很长的伪随即序列模2相加,就可将原信息变成不可理解的另一序列。

这种信号在信道中传输自然具有高度性。

在接收端将接收信号再加上〔模2和〕同样的伪随机序列,就恢复为原来发送的信息。

2.卷积码的根本理论

2.1卷积码介绍

卷积码最早于1955年由Elias提出,稍后,1957年Wozencraft提出了一种有效地译码方法即序列译码。

1963年Massey提出了一种性能稍差但是比拟实用的门限译码方法,使得卷积码开始走向实用化。

而后1967年Viterbi提出了最大似然译码算法,它对存储级数较小的卷积码很容易实现,被称作Viterbi译码算法,广泛的应用于现代通信中。

2.1.1卷积码的过失控制原理

卷积码是一种性能优越的信道编码,它的编码器和解码器都比拟易于实现,同时还具有较强的纠错能力,这使得它的使用越来越广泛。

我们在一些资料上可以找到关于分组码的一些介绍,分组码的实现是将编码信息分组单独进展编码,因此无论是在编码还是译码的过程中不同码组之间的码元无关。

卷积码和分组码的根本区别在于,它不是把信息序列分组后再进展单独编码,而是由连续输入的信息序列得到连续输出的已编码序列。

即进展分组编码时,其本组中的n-k个校验元仅与本组的k个信息元有关,而与其它各组信息无关;但在卷积码中,其编码器将k个信息码元编为n个码元时,这n个码元不仅与当前段的k个信息有关,而且与前面的〔N-1〕段信息有关〔N为编码的约束长度〕。

同样,在卷积码译码过程中,不仅从此时刻收到的码组中提取译码信息,而且还要利用以前或以后各时刻收到的码组中提取有关信息。

而且卷积码的纠错能力随约束长度的增加而增强,过失率那么随着约束长度增加而呈指数下降。

卷积码(n,k,N)主要用来纠随机错误,它的码元与前后码元有一定的约束关系,编码复杂度可用编码约束长度N*n来表示。

一般地,最小距离d说明了卷积码在连续N段以的距离特性,该码可以在N个连续码流纠正(d-1)/2个错误。

卷积码的纠错能力不仅与约束长度有关,还与采用的译码方式有关。

总之,由于n,k较小,且利用了各组之间的相关性,在同样的码率和设备的复杂性条件下,无论理论上还是实践上都证明:

卷积码的性能至少不比分组码差。

以二元码为例,输入信息序列为u=(u0,u1,…),其多项式表示为u(x)=u0+u1x+…+ulxl+…。

编码器的连接可用多项式表示为g(1,1)(x)=1+x+x2和g(1,2)(x)=1+x2,称为码的子生成多项式。

它们的系数矢量g(1,1)=(111)和g(1,2)=(101)称作码的子生成元。

以子生成多项式为阵元构成的多项式矩阵G(x)=[g(1,1)(x),g(1,2)(x)],称为码的生成多项式矩阵。

由生成元构成的半无限矩阵称为码的生成矩阵。

其中(11,10,11)是由g(1,1)和g(1,2)交叉连接构成。

编码器输出序列为c=u·G,称为码序列,其多项式表示为c(x),它可看作是两个子码序列c

(1)(x)和c

(2)(x)经过合路开关S合成的,其中c

(1)(x)=u(x)g(1,1)(x)和c

(2)(x)=u(x)g(1,2)(x),它们分别是信息序列和相应子生成元的卷积,卷积码由此得名。

在一般情况下,输入信息序列经过一个时分开关被分成k0个子序列,分别以u(x)表示,其中i=1,2,…k0,即u(x)=[u(x),…,u(x)]。

编码器的结构由k0×n0阶生成多项式矩阵给定。

输出码序列由n0个子序列组成,即c(x)=[c(x),c(x),…,c(x)],且c(x)=u(x)·G(x)。

假设m是所有子生成多项式g(x)中最高次式的次数,称这种码为(n0,k0,N)卷积码。

卷积码中编码后的n个码元不仅与当前段的k个信息有关,而且也与前面〔N-1〕段的信息有关,编码过程中相互关联的码元为nN个。

因此,这N时间的码元数目nN通常被称为这种码的约束长度。

卷积码的纠错能力随着N的增加而增大,在编码器复杂程度一样的情况下,卷段积码的性能优于分组码。

卷积码也是分组的,但它的监视元不仅与本组的信息元有关,而且还与前假设干组的信息元有关。

卷积码根据需要,有不同的结构与相应的纠错能力,但都有类似的编码规律。

值得指出的是一种(2,1,N)卷积码,其码率为1/2,它的监视位只有1位,编码效率较高,也比拟简单。

如使用较长的约束长度,那么既可以纠正突发过失,也可以纠正随机过失。

2.2卷积码编码原理

卷积码一般表示为(n,k,N)的形式,即将k个信息比特编码为n个比特的码组,N为编码约束长度,说明编码过程中相互约束的码段个数。

卷积码编码后的n个码元不仅与当前组的k个信息比特有关,还与前N-1个输入组的信息比特有关。

编码过程中相互关联的码元有N*n个。

R=k/n是编码效率。

编码效率和约束长度是衡量卷积码的两个重要参数。

典型的卷积码一般选n,k较小,但N值可取较大(>10),以获得简单而高性能的卷积码。

卷积码的编码描述方式有很多种:

冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述,树图描述,网格图描述等。

2.2.1卷积码解析表示法

卷积码的解析表示发大致可以分为离散卷积法,生成矩阵法,码多项式法。

下面以离散卷积为例进展说明。

卷积码的编码器一般比拟简单,为一个具有k个输入端,n个输出端,m级移位存放器的有限状态有记忆系统。

下列图所示为(2,1,7)卷积码的编码器。

图2-1〔2,1,7〕卷积码编码器

假设输入序列为u=(u0u1u2u3……),那么对应两个码字序列C1=(ca0ca1ca2ca3……)和C2=(cb0cb1cb2cb3……)相应的编码方程可写为P1=u∗C1,P2=u∗C2,P=(P1,P2)。

“∗〞符号表示卷积运算,P1,P2表示编码器的两个冲激响应,即编码器的输出可以由输入序列和编码器的两个冲击响应卷积而得到,故称为卷积码。

这里的冲激响应指:

当输入为[10000……]序列时,所观察到的两个输出序列值。

由于上图N值为7,故冲激响应至多可持续到第7位,可写为P1=[1111001],P2=[1011011]然后将两个输出端的码字序列合并为一个码字序列为C=(ca0cb0ca1cb1ca2cb2……)。

假设输入信息序列为[1101];那么P1=[1001010101],P2=[1111101111],C=[11010111011001110111]。

如图3-2所示为(2,1,3)卷积码的编码器,也是本次课程设计所研究的卷积码编码器,由于其生成冲激响应分别为[111]和[101],故被称为(7,5)码。

 

图2-2〔2,1,3〕卷积码编码器

2.2.2卷积码图形表示法

除了用解析法描述卷积码的编码外,还可以使用比拟形象的图形法来表示卷积码。

比拟常用的有状态图法,树图法和网格图法。

状态图法:

由于卷积码编码器在下一时刻的输出取决于编码器的当前状态和下一时刻的输入,而编码器当前状态取决于编码器当前各移位存放器的存储容。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 辩护词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1