版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、通信原理课程设计与实践题目:线性分组码编码与译码仿真设计基于M语言汉明码的译码学院:计算机与诵信工程专业:通信工程姓名:龚利明学口号:20145826指导老师:宫铭举童峥嵘2016年12月摘要当代社会,线性分组码是差错控制编码的重要一种,在本次课程设计中, 我们采用MATLAB对线性分组码(7,4 )码进行编码与译码的仿真设计。当接收 到的六位码字中有一位发生错误时,可以纠正这一位错码;当接收到的码字有 两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能纠正。只有特定位有两位错误时,才能纠正两位错误。这样就译出正确的信息码组, 整个过程是用MATLA语言实现的。为了实现通信,在信号
2、传输过程中,往往由于信道传输特性不理想以及加 性噪声的影响,传输的信息中不可避免地会发生错误,影响通信系统的传输可 靠性。随着数字通信技术的发展,各种业务对系统误码率的要求也逐渐提高, 采用差错控制编码技术是提高数字通信可靠性的有效方法之一。差错控制编码 就是在发送端的信息码无序列中,以某种确定的编码规则加入一些监督码元, 使信息码元与监督码元之间具有某种相关性。接收端通过检验这种相关性是否 存在来判断在传输过程中是否出现了误码。关键词 : 线性分组码,汉明码,译码第一章 绪论1.1 线性分组码的意义1.2 汉明码的简单介绍1.3对MATLAB勺介绍第二章 线性分组码的结构与设计2.1 线性分
3、组码勺原理解析 2.1.1 线性分组码勺原理介绍 2.1.2 线性分组码勺译码设计原理2.2 线性分组码勺逻辑设计 2.2.1 程序设计译码逻辑图2.2.2 对于编码勺简单概述第三章 线性分组码系统调试 .103.1 编译码调试 .3.2 仿真输出结果1012第四章 总结与展望144.1 总结问题4.2 展望未来1414参考文献15附录16附录 1 程序代码16致谢19天津理工大学2014级通信原理课程设计与实践第一章绪论1.1线性分组码的意义在本次课设通过对线性分组码中的(7,4)码编译过程的编程实现,了解到线性分组码的构 成方式是把信息序列分成每k个码元一段,并由这k个码元按一定规则产生r
4、个校验位,组 成长度为n=k+r的码字,用(n,k)表示。信息码元与校验位之间为线性关系。并且知道了线 性分组码中的(7,4)码的编码过程信息码元与校验位之间的线性关系实现起来是时分简单的.分组码是一组固定长度的码组(n , k),通常它用于前向纠错。在分组码中,监督位被加到 信息位之后,形成新的码。在编码时,k个信息位被编为n位码组长度,而n-k个监督位的 作用就是实现检错与纠错。对于长度为n的二进制线性分组码,它有种可能的码组,从种码组中,可以选择 M介码组(kvn)组成一种码。这样,一个 k比特信息的线性分组码可以映 射到一个长度为n码组上,该码组是从M个码组构成的码集中选出来的,这样剩
5、下的码组就 可以对这个分组码进行检错或纠错。本文使用的是功能强大的C语言软件。1.2汉明码的简单介绍汉明码是一个错误校验码码集,由Bell实验室的R.W.Hammin发明,因此定名为海明码。 当计算机存储或移动数据时,可能会产生数据位错误,这时可以利用汉明码来检测并纠错。 与其他的错误校验码类似,汉明码也利用了奇偶校验位的概念,通过在数据位后面增加一些 比特,可以验证数据的有效性。利用一个以上的校验位,汉明码不仅可以验证数据是否有效, 还能在数据出错的情况下指明错误位置。在接受端通过纠错译码自动纠正传输中的差错来码 纠错功能,称为前向纠错FEC在数据链路中存在大量噪音时,FEC可以增加数据吞吐
6、量。通过在传输码列中加入冗余 位(也称纠错位)可以实现前向纠错。但这种方法比简单重传协议的成本要高。汉明码利用奇 偶块机制降低了前向纠错的成本。进行奇偶校验的方法是先计算数据中1的个数,通过增加一个0或1(称为校验位),使1的个数变为奇数(奇校验)或偶数(偶校验)。例如,数据1001 总共是4个比特位,包括2个1, 1的数目是偶数,因此,如果是偶校验,那么增加的校验位 就是一个0,反之,增加一个1作为校验位。通过“异或”运算来实现偶校验,“同或”运 算来实现奇校验。单个比特位的错误可以通过计算1的数目是否正确来检测出来,如果 1的数目错误,说明有一个比特位出错,这表示数据在传输过程中受到噪音影
7、响而出错。利用更 多的校验位,汉明码可以检测两位码错,每一位的检错都通过数据中不同的位组合来计算出 来。校验位的数目与传输数据的总位数有关,可以通过汉明规则进行计算:d+p+1 n 或 k + r +1(2.1)现在以(7,4 )分组码为例来说明线性分组码的特点。设其码长为 后3位是监督位,可用下列线性方程组来描述该分组码产生监督位:7,前4位是信息位,32 = 36 35 31 = 36 35 a4a3(2.2)l3o =36 34a3,监督矩阵H式(2.2 )所示的(7, 4)汉明码的监督方程可以改写为:aaa a2= 0 3635a 31= 036 a4 a3 a。= 0(2.3)式(2
8、.3 )可以表示成如下矩阵3511101001 341101010 a3111011001a2010 模2)(2.4)式(2.4 )还可以简记为311_30 H= 0T 或A 旧丁 = 0(2.5)10其中H =(111010011010101011001 .; A = a6a5a4a3a2aia0 ; 0 = boO 】。右上标“T”表示将矩阵转置。例如,hT是H的转置,即hT的第一行为H的第一列,Ht的第二行为H的第二列等等。 我们将H称为监督矩阵。随即确定下来了。三,生成矩阵G公式(2.2 )也可改写成只要只要监督矩阵 H给定,编码时信息位和监督位的关系也就 . Ja61a?! 1110
9、1I a5a4ai-1101(2.6)L1011La3或者28130=(111 |110101a6a5 4 3 Q(2.7)L011JQ = PT式(2.7 )中,Q为一个k* r阶矩阵,它为P的转置,即(2.8)式(2.8 )表示,在信息位给定后,用信息位的行矩阵乘矩阵Q就产生出监督位。我们将Q的左边加上一个k沢k阶单位方阵,就构成一个矩阵G100011110100110 0010101 L0001011.G称为生成矩阵,因为由它可以产生整个码组A= a6a5a4aJ GG = lkQ=(2.9)(2.10)因此,如果找到了码的生成矩阵 G ,则编码的方法就完全确定了。具有 Lq】形式的生成
10、矩阵称为典型生成矩阵。由典型生成矩阵的出的码组 A中,信息位的位置不变,监督位附加于其后。这种形式的码称为系统码。四,校验子送码组A,在传输过程中可能由于干扰引入差错,故接收码组 B与A不一定相同。(2.11 )B= bnjbn/叭】则错码行矩阵E = en_jen/ eeo(2.12)2.1.2线性分组码的译码设计原理一,线性码的纠检错能力:对于任一个(n,k)线性分组码,若要在码字内(1)检测出e 个错误,则要求码的最小距离de+1; (2)纠正t个错误,则要求码的最小距离d2t+1; (3) 纠正t个错误同时检测e( t)个错误,则要求dt+e+1 o代表传输B模尔E。H( 3-10)S
11、仅与错二,假设接收端收到的码字为 R,那么它和原来发送端发送的码字 A之间就有可能存在 着误差。即在码组 A=a5 a4 a3 a2 a1 aO中的任意一位就有可能出错。这样我们在接收端 接收到一个码组是就有可能判断错发送端原来应该要表达的意思。为了描述数据在传输信道 中出现错误的情况,弓I入了错误图样 E,在错误图样中,0代表对应位没有传错,1 错误。实际上错误图样E就是收序列与发送序列的差。所以在译码中用接收到的码字 加错误图样E就可以得到发送端的正确码字 A。因此译码的过程就是要找到错误图样三,定义:伴随式 S, S = R *TH= ( A + E ) * T ,H= A *TH+ E
12、 *T,H= E * T, 因为A是编得的正确码字。根据前面所叙述,它和监督矩阵的转置相乘为0。显然,误图样有关,它们之间是一一对应的关系。找到了伴随式S,也就可以找到E。而与发送的码字无关。若E=0,则S=0;因此根据S是否为0可进行码字的检错。2.2线性分组码的的逻辑设计2.2.1程序设计译码逻辑图逻辑图分为编码和译码部分,在小组中我做的是译码部分所以在图2.1先行介绍的是译码部分。再进行编码部分。如图2.2是线性分组码译码的逻辑设计图:译码输入七位码b6b5b4b3b2bibo根据输入求出校 验子结束图2.1译码逻辑设计图(7,4)汉明码的译码器的功能就是把输入的7位汉明码B=b6b5b
13、4b3b2bibo译为asazaa。等4位信息码,并且根据伴随矩阵S从而纠正编码中可能出现的1位错码。最后结束译码部 分。通过输入s和e之间的关系就能够纠正错码,但是这个汉明码只能够最多检测出两个错 码并且只能够纠正一位错码。表2-2是(7, 4)汉明码译码输入、输出对应关系表:表2-1 (7,4)汉明码译码输入输出对应关系序号译码输入a6输出校正子S2 8, S0错误码率错码位置Ca?a1 aa3 a2 a1*0a。000000100000010b1200011110001100b23200101010 010000无错0300111100 011000无错0401011100100011b
14、34501001010101011b34600100110110100b56701110000111000无错0810001111000000无错0910011011001001b11010100001010010b121110111011011100b231211010111100011b34回11110001101101b4|51410101001110110b561501111111111111be7表2-2是汉明码的全部码组:表2-2汉明码的全部码组言息位03 a5 a4 a3监督位a3a2ai信息位监督位a3a2ai0000000100011101110011000010101101
15、0010110|10110010100110|11000010110101011000110111101111010100由表2-3可知:(7,4)汉明码的最小码距d0=3,它能纠1位错或检2位错。由此可见,汉明码是能够纠正单个错误的线性分组码,其特点是:最小码距d0=3,码长n与监督位r满足关系式。说明上述所说的(7, 4)线性分组码就是汉明码。汉明码是一个高效码。如表2-3所示的是校正子和错误图样之间的关系:表2-3校正子和错误图样之间的关系表错误码位错码行矩阵E校正子S错误位置e6e5e4e3e2e1eDS2S1S0b0000001001第一位a0000010010第二位b2000010
16、0100第三位b30001000011第四位b40010000101第五位b50100000110第六位t61000000111第七位无错0000000000无由上表2-4可知:当S=001时,则出错在1位,即bo出错;当S=010时,则出错在2位, 即b1出错;当S=100时,则出错在3位,即b2出错。当S=011时,则出错在4位,即b3出 错;当S=101时,则出错在5位,即b4出错;当S=110时,则出错在6位,即b5出错; 当S=111时,贝U出错在7位,即b6出错;当S=000时,则无错。2.2.2对于编码的简单概述汉明码的编码就是将输入的四位信息码Ma6 a5 a4 a3 加上三位
17、监督码b2t1b0编成七位汉明码a6 a5 a4 a3 a? a a。编码输出 B=a6 a5 a4 a3 a?印 a。由 A=MG=a6 a5 a4 a3G 可知,信 息码M与G的乘积就是编好的(7,4 )汉明码。如图2.2所示是编码的设计流程图:开始输入生成矩阵G输入信息位a6a5a4a3输出(7,4)汉明码结束图2.2编码流程图根据(7,4)汉明码的编码原理,将上式计算所得的监督位和输入的信息位一起输出,则 此次编码就算完成了。天津理工大学2014级通信原理课程设计与实践3.1第三章 线性分组码的系统调试编译码调试1.编码部分:为译码成功打下坚实的基础。如图 3.1所示是编码部分:cle
18、ar aAi.close all00G= 10000 L0 10 11 01 0;0 1;1 1:H=gen2par(G).disp监曾葩陆为:庄);disp (H):I0 0 O0 1 O1 0 01 1 00:0 00;0 10;l 00 J 10 1:0 0 10 1;0 1 10 1;1 0 101:11100000 0 1】:0 111;10 11;1 1 1 11.0011clear all;close all;G=l000EUinput r i青输入.接坡到的码组R J ):a, b=sLze(R):0E=0000000000000; 1 00;0 00:0 00;3 00000
19、00000;0;0;1】;reik(I*Gj 2);disp 所得汉明码组结果为;g): disp (C);图3.1编码部分图3.1表示的是编码部分,开始先输入生成矩阵,接着利用公式求出监督矩阵,然后输 出监督矩阵,然后输入I,同样利用公式求出汉明码的许用码组矩阵,最后输出许用码组。 2.译码部分:1.如图3.2所示的是求出伴随式S中的代码0 111,0 110;0 10 1: 1011;H=gen2par(G):S=rpiiLf 2):disp(*所得伴随式为:S三):dispi(S);天津理工大学2014级通信原理课程设计与实践图3.2求出伴随式S图3.2表示的是译码部分,首先输入生成矩阵
20、,再输入接收的码组,接着通过输入的 接收码组再对a和b进行赋值,接着输入错误码组,然后同样利用公式求出监督码组和伴随 式S,再者输出伴随式。2.图3.3是接着图3.2的部分:1=1 ;for i=l:1:al)=S(i, lk*4+Scase 0disp C没有岀现错误!):case 1dispC:意:第Ife出现一个诸渓!清纠正! 7:case 2注意:第立岀现一个错误:请纠正!): case 4di3pC;意;第3位出现一个错误!请纠正! 7;cas 3图3.4显示第几位出错21图3.4显示的是通过for循环,再通过M的值与错码的对应关系,求出对应的错码在第几位。4.同理,图3.5是基于图
21、3.4的延伸dispC a意:第5位出现一个错误!请纠正!巧: case 6dLspC;意:第位出现一个错误!case 7dLspCi意:第:位出现一*错误!endendA=re3ii(A, 2);dlspC 纠嶺后的码组A=) :disp (A);J=l;while j=4I (:, j)=A(: J j):j 巧+1;enddisp f译出的信息J?列I):disp(I);请纠正!);沽细正厂);图3.5输出正确码组图3.5译码4表示的是:首先,对A取余数,再利用while分别进行三次的循环输出I。3.2仿真输出结果1.接下来就是仿真:接收码组1.请输入接收到的码组111111011111
22、0 11 1 1 1 0 1 1J所得伴陋式为:S=001010100注意:连意:注意:第1位出规一个错请纠正!第2位出现一个错漫!请纠正!第3位出现一个错渓!请纠正1检纠错后的码组加译出的信息序列*图3.5输入错误接收码组图3.5表示的是输入接收码组为3行7列的码组,并且分别在a0, a1, a2上分别产生错码,所以反正结果为提示第1,2,3位是错误,最后输出纠正后的码组和信息码组2.接收码组2:请输入接吹到的码组良:00000 0 01 1 II没有岀现错误2没利岀现锢澳E检纠锚后的码组A=1 0 0译岀的信息序列B0 0图3.6输入正确接收码组图3.6输入码组2显示的是输入接收码组2,我
23、选择的是没有出现错误。第四章总结与展望4.1总结对于本次课程设计的结束,我真切感觉到自己知识能力的匮乏, 很多东西都只是知道一 些浅显的知识,真正搞懂会应用的东西很少。或许一个人的进步需要一个缓慢的过程。在过 程中需要不断地借鉴,学习,汲取别人的东西。同别人的成果中攫取知识和营养,然后它变 成自己的东西。通过这次课程设计。我学到了很多东西,首先,通过这次课程设计,我熟练 地掌握了汉明码的纠错码的原理,了解的(7,4 )汉明码的相关知识。其次,我觉得学习理论 和实践是两个层次,理论指导实践,而实践验证理论,理论往往是在理想的条件下得出的, 而实践是在现实生活中进行的,所以,实践得出的结论往往与理
24、论的结论有一定的差别,这 是很正常的。另外团结协作,互助共赢是时代的主流。在这次课设的制作中,交流合作的精 神在我们体现的可谓是淋漓尽致。相互探讨,学习交流,优势互补,这样才最终处成了这课 设。争论与交流是解决问题很好的方法,问题也总是在思想与意见的碰撞中得到解决而这也 是我们对理论理解的更为深刻。通过图书馆,搜索引擎查阅资料的能力也得到了相应的提升。 总之,在这次课程设计的制作的过程中学到了很多东西,能力也有相应的提升。在此还要感 谢指导老师的辛勤教导,感谢老师在此次课程设计中给以孜孜不倦的解惑。4.2展望课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践 能力的重
25、要环节,是对学生实际工作能力的具体训练和考察过程。本次课设通过对线性分组码 中的(7,4)码编译过程的编程实现,了解到线性分组码的构成方式是把信息序列分成每码元一段,并由这k个码元按一定规则产生r个校验位,组成长度为n=k+r的码字,用(n,k) 表示。信息码元与校验位之间为线性关系。并且知道了线性分组码中的(7,4)码的编码过程信息码元与校验位之间的线性关系实现起来是相对简单的。线性分组码具有编译码简单,封 闭性好等特点,采用差错控制编码技术是提高数字通信可靠性的有效方法,是目前较为流的 差错控制编码技术之一。123478精通MATLABI匕京:电子工业出版社,2008年孟晓刚编.MATLA
26、B函数库查询词典.中国铁道出版社.2006杨冰等编.计算机通信原理与技术.国防科技大学出版社.2003参考文献樊昌信 通信原理 北京:国防工业出版社,2002刘敏MATLAB通信仿真与应用国防工业出版社,2006王彦朋.大学生电子设计与应用.北京:中国电力出版社,2012吴伟陵等著 移动通信原理 北京:电子工业出版社,2005赵静基于MATLAB勺通信系统仿真 北京:北京航空航天大学出版社,2013 葛哲学 徐东艳 吴玲达附录1程序代码clear all close allG=1 0 0 0 1 1 1;0 1 0 0 1 1 0;0 0 1 0 1 0 1;0 0 0 1 0 1 1;H=g
27、e n2p ar(G);dis PC监督矩阵为:H=); disp (H);I=0 0 0 0;0 0 0 1;0 0 1 0;0 0 1 1;0 1 0 0;0 1 0 1;0 1 1 0;0 1 1 1;0 0 0;1 0 0 1;0 1 0;1 0 1 1;1 0 0;1 1 0 1;1 1 0;1 1 1 1;C=rem(l*G,2);disp(所得汉明码组结果为:C=);dis p(C);clear all;close all;G=1 0 0 0 1 1 1;0 1 0 0 1 1 0;0 0 1 0 1 0 1;请输入接收到的码组R:);0 0 0 1 0 1 1;R=i np utCa,b=size(R);E=0 0 0 0 0 0 0;1 0 0 0 0 0 0;0 1 0 0 0 0 0;0 0 1 0 0 0 0;0 0 0 1 0 0 0;0 0 0 0 1 0 0;0 0 0 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长沙卫生职业学院《管理沟通(英语)》2023-2024学年第一学期期末试卷
- 云南农业大学《建筑工业化与装配式结构》2023-2024学年第一学期期末试卷
- 孩子里程碑的教育模板
- 保险业基础讲解模板
- 述职报告创新实践
- 职业导论-房地产经纪人《职业导论》点睛提分卷3
- 年终工作总结格式要求
- 二零二五版LNG液化天然气装运合同3篇
- 二零二五年度汽车后市场担保合作协议合同范本集锦:维修保养服务2篇
- 二零二五版国际金融公司劳务派遣与风险管理协议3篇
- 小学语文生本课堂教学设计
- 上海某建筑基础及上部结构加固工程施工方案砖木结构 砖混结构
- 精神病医院财务后勤总务管理制度
- 停车场施工施工组织设计方案
- GB/T 37238-2018篡改(污损)文件鉴定技术规范
- 普通高中地理课程标准简介(湘教版)
- 河道治理工程监理通知单、回复单范本
- 超分子化学简介课件
- 高二下学期英语阅读提升练习(一)
- 易制爆化学品合法用途说明
- 【PPT】压力性损伤预防敷料选择和剪裁技巧
评论
0/150
提交评论