吉林建筑大学电气与电子信息工程学院信息理论与编码课程设计报告设计题目:线性分组码编码的分析与实现专业班级:电子信息工程学生姓名:学号:指导教师:设计时间:2014.11.24—2014.12.5第1章概述1.1设计的作用、目的《信息论与编码》是一门理论与实践密切结合的课程,课程设计是其实践性教学环节之一,同时也是对课堂所学理论知识的巩固和补充。
其主要目的是加深对理论知识的理解,掌握查阅有关资料的技能,提高实践技能,培养独立分析问题、解决问题及实际应用的能力。
通过完成具体编码算法的程序设计和调试工作,提高编程能力,深刻理解信源编码、信道编译码的基本思想和目的,掌握编码的基本原理与编码过程,增强逻辑思维能力,培养和提高自学能力以及综合运用所学理论知识去分析解决实际问题的能力,逐步熟悉开展科学实践的程序和方法。
1.2设计任务及要求设计一个(6, 3)线性分组码的编译码程序:完成对任意序列的编码,根据生成矩阵形成监督矩阵,得到伴随式,并根据其进行译码,同时验证工作的正确性。
1•理解信道编码的理论基础,掌握信道编码的基本方法;2•掌握生成矩阵和一致校验矩阵的作用和求解方法;3•针对线性分组码分析其纠错能力,并能够对线性分组码进行译码;4•能够使用MATLAB或其他语言进行编程,实现编码及纠错,编写的函数要有通用性。
1.3设计内容已知一个(6,3)线性分组码的Q矩阵:设码字为(C5, C4, C3, C2, C1, co)_0 1 1 Q= 1 01■1 1 0求出标准生成矩阵和标准校验矩阵,完成对任意信息序列( 23个许用码字)的编码。
当接收码字R 分别为(000000), (000001), (000010), (000100), (001000), (010000), (100000), (100100时,写出其伴随式S,以表格形式写出伴随式与错误图样E的对应关系。
纠错并正确译码,当有两位错码时,假定C5位和C2位发生错误。
第2章写所设计题目2.1设计原理1. 线性分组码的标准生成矩阵和标准校验矩阵(1) (n , k )线性分组码的性质1、 封闭性。
任意两个码组的和还是许用的码组。
2、 码的最小距离等于非零码的最小码重。
对于长度为n 的二进制线性分组码,它有种2n 可能的码组,从2n 种码组中, 可以选择M=2k 个码组(kvn )组成一种码。
这样,一个 k 比特信息的线性分组 码可以映射到一个长度为n 码组上,该码组是从M=2k 个码组构成的码集中选出 来的,这样剩下的码组就可以对这个分组码进行检错或纠错。
对于码组长度为n 、信息码元为k 位、监督码元为r = n -k 位的分组码,常 记作(n ,k )码,如果满足2r - 1 >n 则有可能构造出纠正一位或一位以上错误 的线性码。
(2) 生成矩阵和校验矩阵线性分组码码空间C 是由k 个线性无关的基底g k d,…g 1 g o ,张成的k 维n 重子空间,码空间的所有元素都可以写成 k 个基底的线性组合,即C = 口小」 陀1 m o g o这种线性组合特性正是线性分组码。
为了深化对线性分组码的理论分析, 可将其 与线性空间联系起来。
由于每个码字都是一个二进制的 n 重,及二进制n 维线性 空间Vn 中的一个矢量,因此码字又称为码矢。
码字仅由G 矩阵决定,因此称这k n 矩阵G 为该n k 线性分组码的生成矩阵。
用g i 表示第i 个基底并写成1 n 矩阵形式 g i = i(n 4),g i(n-2), ,g i1, g io 1再将k 个基底排列成k 行n 列的G 矩阵,得: ■g k 个基底即G 的k 个行矢量线性无关, (k 4)(2) a+ g (k/)1 a g (k 4)0 a g1(n^l) g 11 g 10 g 0(n 4) g 01g 00 矩阵G 的秩- -定等于 k ,当 丿 1k …,g 1, g °」=基底不是唯一的,生成矩阵也就不是唯一的。
事实上,将 k 个基底线性组合 后产生另一组k 个矢量,只要满足线性无关的条件,依然可以作为基底张成一个 码空间。
不同的基地有可能生成同一个码集,但因编码涉及码集和映射两个因素, 码集一样而映射方法不同也不能说是同样的码。
基底的线性组合等效于生成矩阵G 的行运算,可以产生一组新的基底。
利用 这点可使生成矩阵具有如下的“系统形式”:1 0 …0 : 『:1 0 1… 0 : G = I k ・P 」=--百[0 0 0 1 :这里P 是k n-k 矩阵;I k 是k k 单位矩阵,从而保证了矩阵的秩是 K 与任何一个n,k 分组线性码的码空间C 相对应,一定存在一个对偶空间D 。
事实上,码空间基底数k 只是n 维n 重空间全部n 个基底的一部分,若能找出另 外n-k 个基底,也就找到了对偶空间 D 。
既然用k 个基底能产生一个n,k 分组 线性码,那么也就能用n-k 个基底产生包含2nA个码字的n,n-k 分组线性码, 称n,n-k 码是n,k 码的对偶码。
将D 空间的n - k 个基底排列起来可构成一个n-k n 矩阵,将这个矩阵称为码空间C 的校验矩阵H ,而它正是n,n-k 对偶 码的生成矩阵,它的每一行是对偶码的一个码字。
C 和D 的对偶是互相的,G 是 C 的生成矩阵又是D 的校验矩阵,而H 是D 的生成矩阵,又是C 的校验矩阵。
由于C 的基底和D 的基底正交,空间C 和空间D 也正交,它们互为零空间。
因 此,n,k 线性码的任意码字c 一定正交于其对偶码的任意一个码字, 也必定正交 于校验矩阵H 的任意一个行矢量,即cHT =0。
由于生成矩阵的每个行矢量都是 一个码字,因此必有GH T = 0。
对于生成矩阵符合“系统形式” G 的系统码,其 校验矩阵也是规则的,必为:H - L p T | * _k 1上式中的负号在二进制码情况下可以省略,因为模 2减法和模2加法是等同的。
(3) 信息码元及对应码字的关系(n , k )码字中的任一码字C i ,均可以由这组基底的线性组合生成,即 P (k _|)(n _k_1)…a + P (k _1)1 1 P (k _1)0「 P 1(n 」_1) P 11 P 10 P 0(n 」_1) P 01 P 00式中m i mv^ III m n± 1的是k个信息元组的信息组,因此其信息码元及对应码字的关系如表一所示:2.线性分组码的伴随式与译码(2)码的距离及检错能力两个码字之间,对应位取之不同的个数,称为汉明距离,用d表示。
一个码的最小距离d min定义为d min=min灯(⑷,j式j,o, c乏(n,k)},两个码字之间的距离表示了它们之间差别的大小。
距离越大,两个码字的差别越大,则传送时从一个码字错成另一码字的可能性越小。
码的最小距离愈大,其抗干扰能力愈强。
任何最小距离d min的线性分组码,其检错能力为d min-1纠错能力t为最小距离d min表明码集中各码字差异的程度,差异越大越容易区分,抗干扰能力自然越强,因此成了衡量分组码性能最重要的指标之一。
估算最小距离是纠错码设计的必要步骤,最原始的方法是逐一计算两两码字间距离,找到其中最小者。
含2k个码字的码集需计算2^2个距离后才能找出d min,费时太多,实用中还有一些更好更快的方法。
线性分组码的最小距离等于码集中时非零码字的最小重量,即d m i m i nw Cj ! G C及G = 0这里利用了群的封闭性,由于分组码是群码,任意两码字之和仍是码字,即C j二c k =G • c。
因此任意两码字间的汉明距离其实必是另一码字的重量,表示为d C j,C k二wC j二C k二wC i ,mi n站C j ,C k》= mi n「w G )于是可将最小距离问题转化为寻找最轻码字问题,含2k个码字的码集仅需计算2k次。
码的检错能力取决于码的最小距离,但还需说明的另一点是码的总体检错能力不仅仅与d min有关。
检错能力t只是说明距离t的差错一定能纠,并非说距离大于t的差错一定不能纠。
事实上,如果有2k个码子,就存在2k2k-1;2个距离, 这并非相等的。
比如最小距离d min =3,检错力t=1,是由码C2C1的距离决定,只要C2朝C i方向偏差大于1就会出现译码差错;然而若C2朝C3方向偏差3, 译码时仍可正确地判断为C2而非C3。
可见,总体的、平均的纠错能力不但与最小距离有关,而且与其余码距离或者说与码子的重量分布特性有关,把码距(码重)的分布特性称为距离(重量)谱,其中最小的重量就是 d min。
正如信息论各符号等概时熵最大一样,从概念上可以想象到:当所有码距相等时是(重量谱为线谱)码的性能应该最好;或者退一步说,当各码距相当不大时(重量谱为窄谱)性能应该叫好。
事实证明确实如此,在同样的 d min条件下,窄谱的码一般比宽谱的码更优。
纠错重量谱的研究具有理论与现实意义,不仅仅是计算各种译码差错概率的主要依据,也是研究码的结构、改善码集内部关系从而发现新的好码的重要工具。
但目前除了少数几类码如汉明码、极长码等的重量分布已知外,还有很多码的重量分布并不知道,距离分布与性能之间确切的定量关系对于大部分码而言尚在进一步研究当中,特别当n 和k较大时,要得出码重分布是非常困难的。
重量谱可以如下多项式来表示,称为重量算子,即nA(x )= A。
+Ax 十 A x2+ A X33+A x4^|| A n x n=送A i x n1\=式中的含义:在码长n的码集里,包括重量为0的码子A o个(线性码一定包含一个重量为0的全0码),码重为1的码字A个,…,重量为n的码字A n个。
(2)伴随式与译码码字C =(血,川,JG, Q在传输过程中受到各种干扰,接收端收码R二r n」,IH,r2,r i,r°已不一定等于发码C,两者间的差异就是差错,差错是多样化的,我们定义差错的式样为差错图样E,即E=e n二,l||,e i,e o 二R —C 二 f 丄—Gn」,| 11, r i —G,r° -■ Co对于二进制码,模2减等同模2加,因此有E = R C 及 R=C E mod 2利用码字与校验矩阵的正交性 CH T,可检验收码R是否错误,即二0RH T二 C E H T=CH T EH T =0 EH T二EH T严0定义RH T运算结果为伴随式S,即S 二Sn^4jH,S|,S0 二RH T=EH T可见,虽然R本身与发码有关,但乘以H T后的伴随式RH T=S=EH T仅与差错图E有关,只反映信道对码字造成怎样的干扰而与发什么码C无关了。
于是可以先利用收码R和已知的H算出的伴随式S ;再利用S算出差错图样E。