您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 矩阵分析在汉明码中的应用
矩阵分析在汉明码中的应用摘要:数字信号在传输过程中,由于受到干扰的影响,码元波形将变坏。接收端收到后可能发生错误判决。由于乘性干扰引起的码间串扰,可以采用均衡的办法来纠正。而加性干扰的影响则需要用其他办法解决。在设计数字通信系统时,应该首先从合理选择调制制度,解调方法以及发送功率等方面考虑,使加性干扰不足以影响到误码率要求。在仍不能满足要求时,就要考虑采用差错控制措施了,本文在基于矩阵分析的基础上对汉明编码进行介绍,效率高,提高抗突发干扰的能力。关键词:矩阵分析汉明码引言矩阵如今在各个领域都有广泛的应用,例如在生活中,在经济中,在通信领域,数字图像领域中等各个方面应用很广泛。在生活中的魔方也是根据矩阵分析,在excel表格中,我们可以根据矩阵很简单的计算出各行各列的和,在数字图像处理中,我们将图像用矩阵表示,像素来表示,一个像素代表一点,有很多像素组成一幅数字图像,再对矩阵进行各种变换从而实现数字图像处理,在通信领域中我们也经常用到矩阵,例如编码,我们下面将对矩阵分析在汉明编码中的应用进行具体分析1.汉明码编码Hamming码中文称作汉明码。汉明码是由汉明于1950年提出的,具有纠正一位错误能力的线性分组码它的突出特点是:编译码电路简单,易于硬件实现;用软件实现编译码算法时,软件效率高;而且性能比较好.1.1汉明码的定义:若一致监督矩阵H的列是由不全为0且互不相同的所有二进制m(m≥2的正整数)重组成,则由此H矩阵得到的线性分组码称为[2m-1,2m-1-m,3]汉明码。1.2汉明码的构造特点:1).绐定一个m,我们由二进制m重组成线性分组码的监督矩阵H,由二进制m重来标定一个发生错误的位置。由此可知,二进制m重共有2种位组合,去掉一个全为0的位组合,则余下共有2m-1种位组合。故汉明码的最大码长n=2m-1。2).由上面分析,我们可以知道:m即是汉明码监督位的位数。故一个汉明码中,信息位的位数k=n—m=2m-1-m3).汉明码的距离为3,因此可以纠正1位错误,检出2位错误。1.3汉明码编码的主要算法汉明码的编码就是如何根据信息位数k,求出纠正一个错误的监督矩阵H,然后根据H求出信息位所对应的码字。构造汉明码监督矩阵H的方法很多,这里仅介绍一种。1)根据已知的信息位数k,从汉明不等式中求出校验位数m=n-k;2)在每个码字C:(C1,C2,⋯,C2m-1)中,用c02,c12,cn-12作为监督位,剩下的位作为信息位;3)用二进制数字表示2m-1列,得到2m-1列和m行监督矩阵H;4)用3步的H形成HCT=0,从而得出m个监督方程;5)将已知的信息代入方程组,然后求出满足上述方程组的监督位c(i=0,1,⋯,m一1)。例如,用以上方法,很容易求出[7,4,3]汉明码的监督矩阵:1110100H=11010101011001及编码所对应的码字为C=011001。对于码组长度为n、信息码元为k位、监督码元为r=n-k位的分组码,常记作(n,k)码,如果满足2r-1≥n,则有可能构造出纠正一位或一位以上错误的线性码。下面我们通过(7,4)汉明码的例子来说明如何具体构造这种码。设分组码(n,k)中,k=4,为能纠正一位误码,要求r≥3。现取r=3,则n=k+r=7。我们用a0ala2a3a4a5a6表示这7个码元,用S1、S2、S3表示由三个监督方程式计算得到的校正子,并假设三位S1、S2、S3校正子码组与误码位置的对应关系如表1所示。S1S2S3错码位置S1S2S3错码位置001a0101a4010al110a5100a2111a6011a3000无错码表1校正子和错码位置关系由表可知,当误码位置在a2、a4、a5、a6时,校正子S1=1;否则S1=0。因此有S1=a6⊕a5⊕a4⊕a2,同理有S2=a6⊕a5⊕a3⊕a1和S3=a6⊕a4⊕a3⊕a0。在编码时a6、a5、a4、a3为信息码元,a2、a1、a0为监督码元。则监督码元可由以下监督方程唯一确定a6⊕a5⊕a4⊕a2=0a6⊕a5⊕a3⊕a1=0(1.1.1)a6⊕a4⊕a3⊕a0=0也即a2=a6⊕a5⊕a4a1=a6⊕a5⊕a3(1.1.2)a0=a6⊕a4⊕a3由上面方程可得到表2所示的16个许用码组。在接收端收到每个码组后,计算出S1、S2、S3,如果不全为0,则表示存在错误,可以由表1确定错误位置并予以纠正。举个例子,假设收到码组为0000011,可算出S1S2S3=011,由表1可知在a3上有一误码。通过观察可以看出,上述(7,4)码的最小码距为dmin=3,纠正一个误码或检测两个误码。如果超出纠错能力则反而会因“乱纠”出现新的误码.信息位监督位信息位监督位a6a5a4a3a2a1a0a6a5a4a3a2a1a00000000100100011010001010110011100001110111011010101100010001001101010111100110111101111111100010001001010100111表2(7,4)汉明码的许用码组2.监督矩阵上面有提到过,线性码是指信息位和监督位满足一组线性代数方程的码,式(1.1.1)就是这样的例子,现在将它改写成1*a6⊕1*a5⊕1*a4⊕0*a3⊕1*a2⊕0*a1⊕0*a0=01*a6⊕1*a5⊕0*a4⊕1*a3⊕0*a2⊕1*a1⊕0*a0=0(1.1.3)1*a6⊕0*a5⊕1*a4⊕1*a3⊕0*a2⊕0*a1⊕1*a0=0我们可以将式(1.1.3)表示成如下的矩阵形式a6a51110100a401101010a3=0(1.1.4)1011001a20a1a0式(1.1.4)还可以简记为H*AT=0T或A*HT=0(1.1.5)其中1110100H=1101010A=a6a5a4a3a2a1a00=0001011001上角“T”表示将矩阵转置。例如HT是H的转置,即HT的第一行为H的第一列,第二行为第二列。我们将H称为监督矩阵(parity—checkmatrix).只要监督矩阵H给定,编码时监督位和信息位的关系就完全确定了。由(1.1.4)和(1.1.5)都可以看出,H的行数就是监督关系式的数目r,H的每一行中的“1”的位置表示相应码元之间存在的监督关系。式(1.1.4)中的H矩阵可以分为两部分。1110100H=1101010=PIr(1.1.6)1011001式中:P为r*k阶矩阵;Ir为r*r阶单位方阵。3.生成矩阵由代数理论可知,H矩阵的的各行应该是线性无关的,否则将得不到r个线性无关的监督关系式,从而也得不到r个独立的监督位。若一矩阵可以写成PIr的矩阵形式,则其各行一定是线性无关的。因为容易验证Ir的各行是线性无关的,故PIr的各行也是线性无关的。类似于(1.1.1)改成(1.1.4)那样,(1.1.2)可以改写成a6a21110a5a1=1101a4(1.1.7)a01011a3或者111a2a1a0=a6a5a4a3110=a6a5a4a3Q(1.1.8)101011其中,Q为一个k*r阶矩阵,它为P的转置,即Q=PT式(1.1.8)表示,在信息位给定后,用信息位的行矩阵乘矩阵Q就产生出监督位。我们将Q的左边加上一个k*k阶单位方阵,就构成一个矩阵G1000111G=IKQ=0100110(1.1.9)00101010001011G称为生成矩阵(generatormatrix),因为由它可产生整个码组,即有a6a5a4a3a2a1a0=a6a5a4a3G=A(2.2.0)4.(7,4)汉明码的编码思路(7,4)汉明码的编码就是将输入的四位信息码编成七位的汉明码,即加入三位监督位。根据式(2.2.0)A=[a6a5a4a3]·G可知,信息码与生成矩阵G的乘积就是编好以后的(7,4)汉明码,而生成矩阵G又是已知的,由式(1.1.9)得1000111G=010011000101010001011所以,可以得出如下方程组a6=a6a5=a5a4=a4a3=a3(2.2.1)a2=a6+a5+a4a1=a6+a5+a3a0=a6+a4+a3参考文献[1]史荣昌,魏丰;矩阵分析;北京理工大学出版社;[2]雷章富;汉明码的串行检测法[J];桂林电子工业学院学报;1983年02期;[3]饶世麟;第九讲信道编码浅说[J];遥测遥控;1984年02期;[4]王可;数字通信中的密码技术和差错控制技术(一)[J];中国空间科学技术;1985年01期;[5]朱江;宋利民;陈俊;李奎;;CPLD/FPGA在数字通信系统的应用——一种(7,4)汉明码的硬件实现[A];中国航海学会通信导航专业委员会2006年学术年会论文集[C];2006年;[6]陈丽萍;基于纠错码的水印技术研究[D];福建师范大学;2005年。
本文标题:矩阵分析在汉明码中的应用
链接地址:https://www.777doc.com/doc-5006410 .html