线性分组码编码的分析与实现.doc

上传人:b****2 文档编号:1718763 上传时间:2022-10-23 格式:DOC 页数:19 大小:179.51KB
下载 相关 举报
线性分组码编码的分析与实现.doc_第1页
第1页 / 共19页
线性分组码编码的分析与实现.doc_第2页
第2页 / 共19页
线性分组码编码的分析与实现.doc_第3页
第3页 / 共19页
线性分组码编码的分析与实现.doc_第4页
第4页 / 共19页
线性分组码编码的分析与实现.doc_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

线性分组码编码的分析与实现.doc

《线性分组码编码的分析与实现.doc》由会员分享,可在线阅读,更多相关《线性分组码编码的分析与实现.doc(19页珍藏版)》请在冰豆网上搜索。

线性分组码编码的分析与实现.doc

课程设计任务书

2011—2012学年第一学期

专业:

通信工程学号:

080110501姓名:

李琼

课程设计名称:

信息论与编码课程设计

设计题目:

线性分组码编码的分析与实现

完成期限:

自2011年12月19日至2011年12月25日共1周

一.设计目的

1、深刻理解信道编码的基本思想与目的;

2、理解线性分组码的基本原理与编码过程;

3、提高综合运用所学理论知识独立分析和解决问题的能力;

4、使用MATLAB或其他语言进行编程。

二.设计内容

给定消息组M及生成矩阵G,编程求解其线性分组码码字。

三.设计要求

编写的函数要有通用性。

四.设计条件

计算机、MATLAB或其他语言环境

五.参考资料

[1]曹雪虹,张宗橙.信息论与编码.北京:

清华大学出版社,2007.

[2]王慧琴.数字图像处理.北京:

北京邮电大学出版社,2007.

指导教师(签字):

教研室主任(签字):

批准日期:

年月日

摘要

该系统是(6,3)线性分组码的编码的实现,它可以对输入的三位的信息码进行线性分组码编码。

当接收到的六位码字中有一位发生错误时,可以纠正这一位错码;当接收到的码字有两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能纠正。

只有特定位有两位错误时,才能纠正两位错误。

这样就译出正确的信息码组,整个过程是用MATLAB语言实现的。

关键词:

编码;MATLAB;纠错

目录

1课程描述 1

2设计原理 2

2.1线性分组码的编码 2

2.1.1生成矩阵 2

2.1.2校验矩阵 4

2.2伴随式与译码 5

2.2.1码的距离及纠检错能力 5

2.2.2伴随式与译码 5

3设计过程 6

3.1编码过程 6

3.2仿真程序 8

3.4结果分析 12

总结 14

致谢 15

参考文献 16

课程设计说明书

1课程描述

线性分组码具有编译码简单,封闭性好等特点,采用差错控制编码技术是提高数字通信可靠性的有效方法,是目前较为流行的差错控制编码技术。

对线性分组码的讨论都在有限域GF

(2)上进行,域中元素为{0,1},域中元素计算为模二加法和模二乘法。

分组码是一组固定长度的码组,可表示为(n,k),通常它用于前向纠错。

在分组码中,监督位被加到信息位之后,形成新的码。

在编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错与纠错。

对于长度为n的二进制线性分组码,它有种2n可能的码组,从2n种码组中,可以选择M=2k个码组(k

这样,一个k比特信息的线性分组码可以映射到一个长度为n码组上,该码组是从M=2k个码组构成的码集中选出来的,这样剩下的码组就可以对这个分组码进行检错或纠错。

要设计一个(6,3)线性分组码的编译码程序,最基本的是要具备对输入的信息码进行编码,让它具有抗干扰的能力。

同时,还要让它具有对接收到的整个码组中提取信息码组的功能。

但是,在实际的通信系统中,由于信道传输特性不理想以及加性噪声的影响,接收到的信息中不可避免地会发生错误,影响通信系统的传输可靠性,因而,本设计还要让该程序具有纠正错误的能力,当接收到的码组中有一位码,发生错误时可以检测到这一位错码,并且可以纠正这一位错码,并且让系统从纠正后的码组中提取正确的信息码组。

针对给定的矩阵

011

101

110

Q=

完成如下的工作:

1完成对任意信息序列的编码

2根据生成矩阵,形成监督矩阵;

3根据得到的监督矩阵,得到伴随式,并根据它进行译码;

4验证工作的正确性。

2设计原理

2.1线性分组码的编码

2.1.1生成矩阵

线性分组码(n,k)中许用码字(组)为2k个。

定义线性分组码的加法为模二加法,乘法为二进制乘法。

即1+1=0、1+0=1、0+1=1、0+0=0;1×1=1、1×0=0、0×0=0、0×1=0。

且码字与码字的运算在各个相应比特位上符合上述二进制加法运算规则。

线性分组码具有如下性质(n,k)的性质:

1、封闭性。

任意两个码组的和还是许用的码组。

2、码的最小距离等于非零码的最小码重。

对于码组长度为n、信息码元为k位、监督码元为r=n-k位的分组码,常记作(n,k)码,如果满足2r-1≥n,则有可能构造出纠正一位或一位以上错误的线性码。

下面我们通过(7,3)分组码的例子来说明如何具体构造这种线性码。

设分组码(n,k)中,k=3,为能纠正一位误码,要求r≥3。

现取r=4,则n=k+r=7。

该例子中,信息组为(c6c5c4),码字为(c6c5c4c3c2c1c0).当已知信息组时,按以下规则得到四个校验元,即

c3=c6+c4

c2=c6+c5+c4(2-1)

c1=c6+c5

c0=c5+c4

这组方程称为校验方程。

(7,3)线性分组码有23(8)个许用码字或合法码字,另有27-23个禁用码字。

发送方发送的是许用码字,若接收方收到的是禁用码字,则说明传输中发生了错误。

为了深化对线性分组码的理论分析,可将其与线性空间联系起来。

由于每个码字都是一个二进制的n重,及二进制n维线性空间Vn中的一个矢量,因此码字又称为码矢。

线性分组码的一个重要参数是码率r=k/n,它说明在一个码字中信息位所占的比重,r越大,说明信息位所占比重越大,码的传输信息的有效性越高。

由于(n,k)线性分组,线性分组码的2k个码字组成了n维线性空间Vn的一个K维子空间。

因此这2k个码字完全可由k个线性无关的矢量所组成。

设此k个矢量为c1,c2,…,ck,有生成矩阵形式为

c1

c2

·

·

·

ck

G=

(2-2)

(n,k)码字中的任一码字ci,均可由这组基底的线性组合生成,即

ci=mi ·G=[mn-1mn-2…mn-k]·G

式中,mi =[mn-1mn-2…mn-k]是k个信息元组成的信息组。

表2-1(7,3)线性分组码

信息组

码字

000

0000000

001

0011101

010

0100111

011

0111010

100

100110

101

1010011

110

1101001

111

1110100

对于表2-1给出的(7,3)线性分组码,可将写成矩阵形式

[c6c5c4c3c2c1c0]=[c6c5c4]·

故(7,3)码的生成矩阵为

G=

可以看到,从(7,3)码的8个码字中,挑选出k=3个线性无关的码字(1001110)(0100111),(00111101)作为码的一组基底,用c=m·G计算得码字。

一个系统码的生成矩阵G,其左边k行k列应是一个k阶单位方阵Ik,因此生成矩阵G表示为

G=[IkP](2-3)

式中,P是一个k×(n-k)阶矩阵。

2.1.2校验矩阵

表2-1所示的(7,3)线性分组码的四个校验元由式(2-1)所示的线性方程组决定的。

把(2-1)移相,有

c6+c4+c3=0

c6+c5+c4+c2=0

c6+c1+c5=0(2-4)

c5+c4+c0=0

上式的矩阵形式为

· =

这里的四行七列矩阵称为(7,3)码的一致校验矩阵,用H表示,即

H=(2-5)

由H矩阵得到(n,k)线性分组码的每一码字ci,(i=1,2,…,2k),都必须满足由H矩阵各行所确定的线性方程组,即ci·HT=0.(7,3)码的生成矩阵G中每一行及其线性组合都是(n,k)码的码字,所以有G·HT=0。

由G和H构成的行生成的空间互为零空间,即G和H彼此正交。

H=[PTIr]其右边r行r列组成一个单位方阵。

2.2伴随式与译码

2.2.1码的距离及纠检错能力

1.码的距离

两个码字之间,对应位取之不同的个数,称为汉明距离,用d表示。

一个吗的最小距离dmin定义为dmin=min{d(ci,cj),i≠j,ci,cj∈(n,k)},两个码字之间的距离表示了它们之间差别的大小。

距离越大,两个码字的差别越大,则传送时从一个码字错成另一码字的可能性越小。

码的最小距离愈大,其抗干扰能力愈强。

2.线性码的纠检错能力

对于任一个(n,k)线性分组码,若要在码字内

(1)检测出e个错误,则要求码的最小距离d≥e+1;

(2)纠正t个错误,则要求码的最小距离d≥2t+1;(3)纠正t个错误同时检测e(≥t)个错误,则要求d≥t+e+1;

2.2.2伴随式与译码

假设接收端收到的码字为B,那么它和原来发送端发送的码字A之间就有可能存在着误差。

即在码组A={a6a5a4a3a2a1a0}中的任意一位就有可能出错。

这样我们在接收端接收到一个码组是就有可能判断错发送端原来应该要表达的意思。

为了描述数据在传输信道中出现错误的情况,引入了错误图样E,在错误图样中,0代表对应位没有传错,1代表传输错误。

实际上错误图样E就是收序列与发送序列的差。

所以在译码中用接收到的码字B模尔加错误图样E就可以得到发送端的正确码字A。

因此译码的过程就是要找到错误图样E。

定义:

校正子S

S=B*H=(A+E)*H

=A*H+E*H

=E*H

因为A是编得的正确码字。

根据前面所叙述,它和监督矩阵的转置相乘为0。

显然,S仅与错误图样有关,它们之间是一一对应的关系。

找到了校正子S,也就可以找到E。

而与发送的码字无关。

若E=0,则S=0;因此根据S是否为0可进行码字的检错。

如果接收码字B中只有一位码元发生错误,又设错误在第i位。

即Ei-1=1,其他的Ei均为0。

在后面的译码程序中,建立了一个校正子S与错误图样E对应的表。

也就是收到一个B序列,就可以通过计算得到一个校正子,而每一个校正子都对应着一个错误图样E,再通过B模尔加上E,就可以得到正确的码字A。

因为在不同的错误序列B中,同一位码元错误时对应的E是一样的,所以可以利用0000000这个正确的码字让它每位依次错误,来求得它的八个校正子。

而这时的矩阵B就是错误图样E。

这样就算得了8个校正子S。

而这时的错误序列B,就是错误图样E,所以有:

E与S都已经得到,这时就可以建立一个表来将它们一一对应起来。

3设计过程

3.1编码过程

监督矩阵H与生成矩阵G的关系:

(3-1)

由H与G的分块表示的矩阵形式

(3-2)

H=[PIn-k]

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

当前位置:首页 > 法律文书 > 调解书

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

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