(6,3)线性分组码编码分析与实现.
- 格式:doc
- 大小:737.00 KB
- 文档页数:20
实践教学大学计算机与通信学院2014年秋季学期计算机通信课稈设计题目:线性分组码(9 , 4)码的编译码仿真设计专业班级:_______________________________姓名:_________________________________________学号:_______________________________________指导教师:______________________________________成绩:______________________________________________摘要该系统是(9, 4)线性分组码的编码和译码的实现,它可以对输入的四位的信息码进行线性分组码编码,对于接收到的九位码字可以进行译码,从而译出四位信息码。
当接收到的九位码字中有一位发生错误时,可以纠正这一位错码;当接收到的码字有两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能纠正。
只有特定位有两位错误时,才能纠正两位错误。
这样就译出正确的信息码组,整个过程是用MATLAB语言实现的。
关键词:编码;译码;纠错摘要 目录1. 信道编码概述2.•…1.1信道模型 ............................................................... 2•…1.2抗干扰信道编码定理及逆定理 ............................................ 3…1.3检错与纠错的基本原理 .................................................. 4•…1.4限失真编码定理 ........................................................ 5•…2. 线性分组码的编码 ........................................................... 6 _2.1生成矩阵 ............................................................... 6•…2.2校验矩阵 ............................................................... 9•…2.3伴随式与译码 ......................................................... 1.0....3. 线性分组码编码的 Matlab 仿真 ............................................... 1.2..3.1程序流程图 ............................................................ 1.2....3.2程序执行结果 ......................................................... 12....3.2线性分组码译码的 Matlab 仿真 .......................................... 1.3.3.3结果分析 .............................................................. 1.5.... 参考文献 .................................................................... .1.6..... 总结 ......................................................................... 1.7.... 致谢 ......................................................................... 1.8.... 附录目录19刖言由于计算机、卫星通信及高速数据网的飞速发展,数据的交换、处理和存储技术得到了广泛的应用,数字信号在传输中往往由于各种原因,使得在传送的数据流中产生误码,从而使接收端产生图象跳跃、不连续、出现马赛克等现象,人们对数据传输和存储系统的可靠性提出来了越来越高的要求,经过长时间的努力,通过编译码来控制差错、提高可靠性的方式在信道传输中得到了大量的使用和发展,并形成了一门新的技术叫做纠错编码技术,纠错编码按其码字结构形式和对信息序列处理方式的不同分为两大类:分组码和卷积码。
线性分组码8.3.1 基本概念是一组固定长度的码组,可表示为(n, k),通常它用于前向纠错。
在分组码中,监督位被加到信息位之后,形成新的码。
在编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错与纠错。
当分组码的信息码元与监督码元之间的关系为线性关系时,这种分组码就称为。
对于长度为n的二进制线性分组码,它有种可能的码组,从种码组中,可以选择M=个码组(k<n)组成一种码。
这样,一个k比特信息的线性分组码可以映射到一个长度为n码组上,该码组是从M=个码组构成的码集中选出来的,这样剩下的码组就可以对这个分组码进行检错或纠错。
线性分组码是建立在代数群论基础之上的,各许用码的集合构成了代数学中的群,它们的如下:(1)任意两许用码之和(对于二进制码这个和的含义是模二和)仍为一许用码,也就是说,线性分组码具有封闭性;(2)码组间的最小码距等于非零码的最小码重。
在8.2.1节中介绍的奇偶监督码,就是一种最简单的线性分组码,由于只有一位监督位通常可以表示为(n,n-1),式(8-5)表示采用偶校验时的监督关系。
在接收端解码时,实际上就是在计算:(8-6)其中,…表示接收到的信息位,表示接收到的监督位,若S=0,就认为无错;若S=1就认为有错。
式(8-6)被称为监督关系式,S是校正子。
由于校正子S的取值只有“0”和“1”两种状态,因此,它只能表示有错和无错这两种信息,而不能指出错码的位置。
设想如果监督位增加一位,即变成两位,则能增加一个类似于式(8-6)的监督关系式,计算出两个校正子和,而共有4种组合:00,01,10,11,可以表示4种不同的信息。
除了用00表示无错以外,其余3种状态就可用于指示3种不同的误码图样。
同理,由r个监督方程式计算得到的校正子有r位,可以用来指示-1种误码图样。
对于一位误码来说,就可以指示-1个误码位置。
对于码组长度为n、信息码元为k位、监督码元为r=n - k位的分组码(常记作(n,k)码),如果希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能,则要求:(8-7) 下面通过一个例子来说明的。
1. 在无失真的信源中,信源输出由 H (X ) 来度量;在有失真的信源中,信源输出由 R (D ) 来度量。
2. 要使通信系统做到传输信息有效、可靠和保密,必须首先 信源 编码, 然后_____加密____编码,再______信道_____编码,最后送入信道。
3. 带限AWGN 波形信道在平均功率受限条件下信道容量的基本公式,也就是有名的香农公式是log(1)C W SNR =+;当归一化信道容量C/W 趋近于零时,也即信道完全丧失了通信能力,此时E b /N 0为 -1.6 dB ,我们将它称作香农限,是一切编码方式所能达到的理论极限。
4. 保密系统的密钥量越小,密钥熵H (K )就越 小 ,其密文中含有的关于明文的信息量I (M ;C )就越 大 。
5. 已知n =7的循环码42()1g x x x x =+++,则信息位长度k 为 3 ,校验多项式 h(x)= 31x x ++ 。
6. 设输入符号表为X ={0,1},输出符号表为Y ={0,1}。
输入信号的概率分布为p =(1/2,1/2),失真函数为d (0,0) = d (1,1) = 0,d (0,1) =2,d (1,0) = 1,则D min = 0 ,R (D min )= 1bit/symbol ,相应的编码器转移概率矩阵[p(y/x )]=1001⎡⎤⎢⎥⎣⎦;D max = 0.5 ,R (D max )= 0 ,相应的编码器转移概率矩阵[p(y/x )]=1010⎡⎤⎢⎥⎣⎦。
7. 已知用户A 的RSA 公开密钥(e,n )=(3,55),5,11p q ==,则()φn = 40 ,他的秘密密钥(d,n )=(27,55) 。
若用户B 向用户A 发送m =2的加密消息,则该加密后的消息为 8 。
二、判断题1. 可以用克劳夫特不等式作为唯一可译码存在的判据。
(√ )2. 线性码一定包含全零码。
(√ )3. 算术编码是一种无失真的分组信源编码,其基本思想是将一定精度数值作为序列的 编码,是以另外一种形式实现的最佳统计匹配编码。
信息论与编码理论-第7章线性分组码-习题解答-20211206 信息论与编码理论第7章线性分组码习题1. 已知一个(5, 3)线性码C的生成矩阵为:??11001?G??01101???0011? 1??(1)求系统生成矩阵;(2)列出C的信息位与系统码字的映射关系;(3)求其最小Hamming距离,并说明其检错、纠错能力;(4)求校验矩阵H;(5)列出译码表,求收到r=11101时的译码步骤与译码结果。
2.设(7, 3)线性码的生成矩阵如下?0101010?G???0010111??01101??10??(1)求系统生成矩阵;(2)求校验矩阵;(3)求最小汉明距离;(4)列出伴随式表。
3.已知一个(6, 3)线性码C的生成矩阵为:?1 0 0 1 0 1?G???0 1 0 0 1 1?.?0 0 1 1 1 0? ???(1)写出它所对应的监督矩阵H;(2)求消息M=(101)的码字;(3)若收到码字为101010,计算伴随式,并求最有可能的发送码字。
4.设(6, 3)线性码的信息元序列为x1x2x3,它满足如下监督方程组??x1?x2?x4?0?x2?x3?x5?0 ??x1?x3?x6?0(1)求校验矩阵,并校验10110是否为一个码字;(2)求生成矩阵,并由信息码元序列101生成一个码字。
1信息论与编码理论习题答案1. 已知一个(5, 3)线性码C的生成矩阵为:?1G???0??011001101?01?? 11??(1)求系统生成矩阵;(2)列出C的信息位与系统码字的映射关系;(3)求其最小Hamming距离,并说明其检错、纠错能力;(4)求校验矩阵H;(5)列出译码表,求收到r=11101时的译码步骤与译码结果。
解:(1)线性码C的生成矩阵经如下行变换:?1?0???0?1?0???01001??1?0将第2、加到第31行1101???????????0111???00011??1?0将第3加到第2行1101???????????0111???00011?1101??0111??0011?1010??0111??得到线性码C的系统生成矩阵为?10011?? GS??01010????00111??(2)码字c?(c0,c1,?,cn?1)的编码函数为生成了的8个码字如下c?f(m)?m0?10011??m1?01010??m2?00111?信息元系统码字 000 001 010 011 100 101 110 111 00000 00111 01010 01101 10011 10100 11001 11110 2信息论与编码理论(3) 最小汉明距离d=2,所以可检1个错,但不能纠错。
MATLAB第六次预习报告研五队李振坤S201301104线性分组码1. 基本概念●系统码:编码后,信息码元本身不变,只在信息码元后加入监督码元。
●线性码:监督码元和信息码元成线性关系的码型。
●分组码:将信息码分组,并为每组信息码附加若干监督码的编码。
分组码一般用表示,为实际传送的码长,是信息码长,是监督码长。
●线性分组码:分组码的信息码元和监督码元,由一些线性代数方程联系起来。
分组是指编、译码过程是按分组进行的,而线性是指分组码中的监督码元按线性方程生成的。
【注】线性分组码的编码问题,就是要建立一组线性方程组,已知k个系数(即信息码),要求n-k个未知数(即监督码)。
2. 线性分组码的主要性质(1)封闭性封闭性是指码中任意两许用码组之和(逐位模2和)仍为一许用码组,这就是说,若A1和A2为码中的两个许用码组,则A1+A2仍为其中的一个许用码组。
(2)码的最小距离等于非零码的最小重量因为线性分组码具有封闭性,因而两个码组之间的距离(模2减)必是另一码组的重量。
为此,码的最小距离也就是码的最小重量,当然,除全“0”码组外。
3. 汉明码汉明码是用于纠正单个错误的线性分组码,其特点为:(1)最小码距(2)纠错能力【注】(3)监督码长(4)总码长()(5)信息码长()(6)编码效率(当r很大时,R趋向于1,效率高)因此,当r=3,4,5,6……时,分别有(7,4)、(15,11),(31,26),(63,57)等汉明码。
4. (7,4)汉明码在(7,4)汉明码中,码组为,其中为4个信息元,为3个监督码元。
监督码元与信息元之间的关系为:(9-4)生成矩阵G:编码时使用,用于产生整个码组,包括信息码和监督码。
改写为其中称为生成矩阵,它的各行是线性无关的。
为阶单位矩阵;为阶矩阵。
由生成矩阵可以产生整个码组,码组C是系统码(即信息码保持不变,监督码附加其后)。
【注】(1)上述生成矩阵为典型形式,保证能产生系统码。
吉林建筑大学 电气与电子信息工程学院 信息理论与编码课程设计报告
设计题目: 线性分组码编码的分析与实现 专业班级: 电子信息工程 学生姓名: 学 号: 指导教师: 设计时间: 2014.11.24-2014.12.5
1.1 教师评语:
成绩 评阅教师 日期 1
第1章 概述 1.1 设计的作用、目的 《信息论与编码》是一门理论与实践密切结合的课程,课程设计是其实践性教学环节之一,同时也是对课堂所学理论知识的巩固和补充。其主要目的是加深对理论知识的理解,掌握查阅有关资料的技能,提高实践技能,培养独立分析问题、解决问题及实际应用的能力。 通过完成具体编码算法的程序设计和调试工作,提高编程能力,深刻理解信源编码、信道编译码的基本思想和目的,掌握编码的基本原理与编码过程,增强逻辑思维能力,培养和提高自学能力以及综合运用所学理论知识去分析解决实际问题的能力,逐步熟悉开展科学实践的程序和方法。 1.2 设计任务及要求 设计一个(6, 3)线性分组码的编译码程序:完成对任意序列的编码,根据生成矩阵形成监督矩阵,得到伴随式,并根据其进行译码,同时验证工作的正确性。 1.理解信道编码的理论基础,掌握信道编码的基本方法; 2.掌握生成矩阵和一致校验矩阵的作用和求解方法; 3.针对线性分组码分析其纠错能力,并能够对线性分组码进行译码; 4.能够使用MATLAB或其他语言进行编程,实现编码及纠错,编写的函数要有通用性。
1.3设计内容 已知一个(6,3)线性分组码的Q矩阵:设码字为(c5, c4, c3, c2, c1, c0) 011101110Q
求出标准生成矩阵和标准校验矩阵,完成对任意信息序列(23个许用码字)的编码。 当接收码字R分别为(000000), (000001), (000010), (000100), (001000), (010000), (100000), (100100)时,写出其伴随式S,以表格形式写出伴随式与错误图样E的对应关系。纠错并正确译码,当有两位错码时,假定c5位和c2位发生错误。 2
第2章 写所设计题目 2.1设计原理 1. 线性分组码的标准生成矩阵和标准校验矩阵 (1)(n,k)线性分组码的性质 1、封闭性。任意两个码组的和还是许用的码组。 2、码的最小距离等于非零码的最小码重。 对于长度为n的二进制线性分组码,它有种2n可能的码组,从2n种码组中,可以选择M=2k个码组(k码可以映射到一个长度为n码组上,该码组是从M=2k个码组构成的码集中选出来的,这样剩下的码组就可以对这个分组码进行检错或纠错。 对于码组长度为n、信息码元为k位、监督码元为r=n-k位的分组码,常记作(n,k)码,如果满足2r-1≥n,则有可能构造出纠正一位或一位以上错误的线性码。 (2)生成矩阵和校验矩阵 线性分组码码空间C是由k个线性无关的基底1kg,…1g0g,张成的k维n重子空间,码空间的所有元素都可以写成k个基底的线性组合,即 C001111gmgmgmkk
这种线性组合特性正是线性分组码。为了深化对线性分组码的理论分析,可将其与线性空间联系起来。由于每个码字都是一个二进制的n重,及二进制n维线性空间Vn中的一个矢量,因此码字又称为码矢。 用ig表示第i个基底并写成n1矩阵形式01)2()1(,,,,iininiiggggg再将k
个基底排列成k行n列的G矩阵,得:
GT
kggg011,,,=0001)1(01011)1(10)1(1)1()1)(1(gggggggggnnkknk
k个基底即G的k个行矢量线性无关,矩阵G的秩一定等于k,当信息元确定后,码字仅由G矩阵决定,因此称这nk矩阵G为该kn线性分组码的生成矩阵。 3
基底不是唯一的,生成矩阵也就不是唯一的。事实上,将k个基底线性组合后产生另一组k个矢量,只要满足线性无关的条件,依然可以作为基底张成一个码空间。不同的基地有可能生成同一个码集,但因编码涉及码集和映射两个因素,码集一样而映射方法不同也不能说是同样的码。 基底的线性组合等效于生成矩阵G的行运算,可以产生一组新的基底。利用这点可使生成矩阵具有如下的“系统形式”:
0001)1(01011)1(10)1(1)1()1)(1(1000010001pppppppppPIG
knkn
kkknkk
这里P是knk矩阵;kI是kk单位矩阵,从而保证了矩阵的秩是K。 与任何一个kn,分组线性码的码空间C相对应,一定存在一个对偶空间D。事实上,码空间基底数k只是n维n重空间全部n个基底的一部分,若能找出另外kn个基底,也就找到了对偶空间D。既然用k个基底能产生一个kn,分组
线性码,那么也就能用kn个基底产生包含kn2个码字的knn,分组线性码,称knn,码是kn,码的对偶码。将D空间的kn个基底排列起来可构成一个nkn矩阵,将这个矩阵称为码空间C的校验矩阵H,而它正是knn,对偶
码的生成矩阵,它的每一行是对偶码的一个码字。C和D的对偶是互相的,G是C的生成矩阵又是D的校验矩阵,而H是D的生成矩阵,又是C的校验矩阵。由于C的基底和D的基底正交,空间C和空间D也正交,它们互为零空间。因此,kn,线性码的任意码字c一定正交于其对偶码的任意一个码字,也必定正交
于校验矩阵H的任意一个行矢量,即0TcH。由于生成矩阵的每个行矢量都是一个码字,因此必有0TGH。对于生成矩阵符合“系统形式”G的系统码,其校验矩阵也是规则的,必为: knTIPH 上式中的负号在二进制码情况下可以省略,因为模2减法和模2加法是等同的。 4
(3)信息码元及对应码字的关系 (n,k)码字中的任一码字ic,均可以由这组基底的线性组合生成,即 12iinnnkcmGmmmG
式中12innnkmmmm的是k个信息元组的信息组,因此其信息码元及对应码字的关系如表一所示: 信息组 码字 000 0000000 001 0011101 010 0100111 011 0111010 100 1001110 101 1010011 110 1101001 111 1110100
表一 信息码元及对应码字关系
2. 线性分组码的伴随式与译码 (2)码的距离及检错能力 两个码字之间,对应位取之不同的个数,称为汉明距离,用d表示。一个码的最小距离mind定义为),(,,,min),(minknccjjddjicjci,两个码字之间的距离表示了它们之间差别的大小。距离越大,两个码字的差别越大,则传送时从一个码字错成另一码字的可能性越小。码的最小距离愈大,其抗干扰能力愈强。 任何最小距离mind的线性分组码,其检错能力为1mind纠错能力t为
21mindINTt
最小距离mind表明码集中各码字差异的程度,差异越大越容易区分,抗干扰能力自然越强,因此成了衡量分组码性能最重要的指标之一。估算最小距离是纠错码 5
设计的必要步骤,最原始的方法是逐一计算两两码字间距离,找到其中最小者。含k2个码字的码集需计算2122kk个距离后才能找出mind,费时太多,实用中还有一些更好更快的方法。 线性分组码的最小距离等于码集中时非零码字的最小重量,即 iCwdminmin 0iiCCC及
这里利用了群的封闭性,由于分组码是群码,任意两码字之和仍是码字,即CCCCikj。因此任意两码字间的汉明距离其实必是另一码字的重量,表示
为ikjikjkiCwCCdCwCCwCCdmin,min,,。于是可将最小距离问题转化为寻找最轻码字问题,含k2个码字的码集仅需计算k2次。 码的检错能力取决于码的最小距离,但还需说明的另一点是码的总体检错能力不仅仅与mind有关。检错能力t只是说明距离t的差错一定能纠,并非说距离大于t的差错一定不能纠。事实上,如果有2k个码子,就存在2212kk 个距离,这并非相等的。比如最小距离min3d ,检错力1t ,是由码21CC的距离决定, 只要2C 朝1C 方向偏差大于1就会出现译码差错;然而若2C朝3C方向偏差3,译码时仍可正确地判断为2C而非3C。可见,总体的、平均的纠错能力不但与最小距离有关,而且与其余码距离或者说与码子的重量分布特性有关,把码距(码重)的分布特性称为距离(重量)谱,其中最小的重量就是mind。正如信息论各符号等概时熵最大一样,从概念上可以想象到:当所有码距相等时是(重量谱为线谱)码的性能应该最好;或者退一步说,当各码距相当不大时(重量谱为窄谱)性能应该叫好。事实证明确实如此,在同样的mind条件下,窄谱的码一般比宽谱的码更优。纠错重量谱的研究具有理论与现实意义,不仅仅是计算各种译码差错概率的主要依据,也是研究码的结构、改善码集内部关系从而发现新的好码的重要工具。但目前除了少数几类码如汉明码、极长码等的重量分布已知外,还有很多码的重量分布并不知道,距离分布与性能之间确切的定量关系对于大部分码而言尚在进一步研究当中,特别当n 和k 较大时,要得出码重分布是非常困难的。