




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、% d匕駅点* VHEBi UNITED UNIVEISlTlf0HEBEI UNITED UNIVERSITY信息工程学院 通信工程系设计题目:基于 MATLAB 的线性分组码编译码仿真设计班级:10通信班学号:姓名:指导老师:2013年 11月 15 日成绩:摘要该系统是(6, 3)线性分组码的编码和译码的实现,它可以对输入的三位的 信息码进行线性分组码编码,对于接收到的六位码字可以进行译码, 从而译出三 位信息码。当接收到的六位码字中有一位发生错误时,可以纠正这一位错码;当接收到 的码字有两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能 纠正。只有特定位有两位错误时,才能纠
2、正两位错误。这样就译出正确的信息码 组,整个过程是用MATLA语言实现的。关键词:编码;译码;纠错% d匕駅点* VHEBi UNITED UNIVEISlTlf前言2.第1章设计目标2.第 2 章MATLAE介3.第3章基本原理3.3.1 线性分组码的编码3.3.1.1 生成矩阵3.3.1.2校验矩阵5.3.2伴随式与译码6.3.2.1 码的距离及纠检错能力63.2.2伴随式与译码6.第4章推导过程7.4.1 编码过程7.4.2译码过程9.第5章仿真程序及结果分析1.15.1仿真程序1.15.2 仿真结果图 1.35.3结果分析1.5参考文献1.6总结1.7.011 cHEBO UKlTED
3、 UlMvEnSiTr、八,、-刖言近年来,随着计算机、卫星通信及高速数据网的飞速发展,数据的交换、处 理和存储技术得到了广泛的应用,人们对数据传输和存储系统的可靠性提出了越 来越高的要求。因此,如何控制差错、提高数据传输和存储的可靠性,成为现代 数字通信系统设计的重要课题。目前,绝大多数的数字计算机和数字通信系统中广泛采用二进制形式的码。 而线性分组码具有编译码简单,封闭性好等特点,采用差错控制编码技术是提高 数字通信可靠性的有效方法,是目前较为流行的差错控制编码技术。对线性分组码的讨论都在有限域 GF(2)上进行,域中元素为0,1,域中元素 计算为模二加法和模二乘法。分组码是一组固定长度的
4、码组,可表示为(n , k), 通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在 编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错 与纠错。对于长度为n的二进制线性分组码,它有种2n可能的码组,从2n种码组中,k可以选择M=2个码组(kvn)组成一种码。这样,一个k比特信息的线性分组码k可以映射到一个长度为n码组上,该码组是从 M=2个码组构成的码集中选出来 的,这样剩下的码组就可以对这个分组码进行检错或纠错。第1章设计目标要设计一个(6, 3)线性分组码的编译码程序,最基本的是要具备对输入的 信息码进行编码,让它具有抗干扰的能力。同时,还要让它具
5、有对接收到的整个 码组中提取信息码组的功能。但是,在实际的通信系统中,由于信道传输特性不 理想以及加性噪声的影响,接收到的信息中不可避免地会发生错误, 影响通信系 统的传输可靠性,因而,本设计还要让该程序具有纠正错误的能力, 当接收到的 码组中有一位码,发生错误时可以检测到这一位错码,并且可以纠正这一位错码, 并且让系统从纠正后的码组中提取正确的信息码组。针对给定的矩阵Q=完成如下的工作:HESfn UNITED UNiETOTl,1完成对任意信息序列的编码 2根据生成矩阵,形成监督矩阵;3根据得到的监督矩阵,得到伴随式,并根据它进行译码;4验证工作的正确性。第2章MATLAB简介MATLAB
6、是很实用的数学软件它在数学类科技应用软件中在数值运算方面首屈一指。MATLA刖以进行运算、绘制函数和数据、实现算法、创建用 户界面、连接接其他编程语言的程序等,主要应用于工程计算、控制设计、 信号处理与通讯、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用 C, FORTRAI等语言完成相同的事情简捷得多,并且mathwork也吸收了像 Maple等软件的优点,使MATLAB成为一个强大的数学软 件。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB数库中方便自己以后调用,此外许多的MATL
7、AB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。第3章基本原理3.1线性分组码的编码3.1.1生成矩阵k线性分组码(n,k)中许用码字(组)为2个。定义线性分组码的加法为模二加法,乘法为二进制乘法。即 1+1=0、1+0=1、0+1=1、0+0=0; 1 X 1=1、1X 0=0 0X 0=0 0X 仁0。且码字 _ j = -:- 与码字: :jl 的运算在各个相应比特位上符合上述二进制加法运算规则。线性分组码具有如下性质(n,k)的性质:1、封闭性。任意两个码组的和还是 许用的码组。2、码的最小距离等于非零码的最小码重。对于码组长度为n、信息码元为k位、监督码元为r = n
8、- k位的分组码,常 记作(n,k)码,如果满足2r- 1n,则有可能构造出纠正一位或一位以上错 误的线性码。下面我们通过(7, 3)分组码的例子来说明如何具体构造这种线性码。设分 组码(n,k)中,k = 3,为能纠正一位误码,要求r 3。现取r = 4,贝U n = k07+ r = 7。该例子中,信息组为(C6C5C4),码字为(C6C5C4C3C2C1C0).当已知信息组时, 按以下规则得到四个校验元,即C3=C6+C4C2=C6+C5 + C4( 3-1)S C1 = C6+C5C0=C5+C4这组方程称为校验方程。373(7, 3)线性分组码有2(8)个许用码字或合法码字,另有2-
9、2个禁用码 字。发送方发送的是许用码字,若接收方收到的是禁用码字,则说明传输中发生 了错误。为了深化对线性分组码的理论分析, 可将其与线性空间联系起来。由于每个 码字都是一个二进制的n重,及二进制n维线性空间Vn中的一个矢量,因此码 字又称为码矢。线性分组码的一个重要参数是码率 r=k/n,它说明在一个码字中 信息位所占的比重,r越大,说明信息位所占比重越大,码的传输信息的有效性k越高。由于(n,k)线性分组,线性分组码的2个码字组成了 n维线性空间Vn的k一个K维子空间。因此这2个码字完全可由k个线性无关的矢量所组成。设此k个矢量为ci,c 2,Ck,有生成矩阵形式为C1C2G=(3-2)C
10、kJ(n,k)码字中的任一码字ci,均可由这组基底的线性组合生成,即Ci=mi G=e m-2 mn-k G 式中,mi =mn-i m-2 mu是 k 个信息元组成 的信息组。表3-1(7,3)线性分组码信息组码字0000000000001001110101001001110110111010100100110101101001111011010011111110100HE9EK UNITED UNI VETO TV对于表3-1给出的(7, 3)线性分组码,可将写成矩阵形式彳00111*C6 c5 c4 C3 c2 O C0】 = C6 C5 C4 01001110011101故(7,3)码
11、的生成矩阵为r1001110G=0100111L00111012可以看到,从(7,3)码的8个码字中,挑选出k=3个线性无关的码字(1001110 (0100113, (00111103作为码的一组基底,用 c=m G计算得码字。一个系统码的生成矩阵G,其左边k行k列应是一个k阶单位方阵Ik,因此 生成矩阵G表示为G=l k P(3-3)式中,P是一个kx (n-k)阶矩阵。3.1.2校验矩阵表3-1所示的(7, 3)线性分组码的四个校验元由式(3-1)所示的线性方 程组决定的。把(3-1)移相,有c6+c4+c3=0 c6+c5+c4+c2=0 c6+c1+c5=0(3-4)jC5+c4+c
12、0=0% d匕駅点* VHEBi UNITED UNIVEISlTlf上式的矩阵形式为1110 1110 0 00 110c6c5c4c3c2c1c00000这里的四行七列矩阵称为7, 3)码的一致校验矩阵,用H表示,即e+1;(2)纠正t个错误,则要求码的最小距离 d2t+1;(3) 纠正t个错误同时检测e( t)个错误,则要求d t+e+1 ;3.2.2伴随式与译码假设接收端收到的码字为B,那么它和原来发送端发送的码字 A之间就有可能存在着误差。即在码组 A=a6 a 5 a 4 a 3 a 2 a 1 a 0 中的任意一位就有可能出错。这样我们在接收端接收到一个码组是就有可能判断错发送端
13、原来应该要表达 的意思。为了描述数据在传输信道中出现错误的情况,引入了错误图样 E,在错 误图样中,0代表对应位没有传错,1代表传输错误。实际上错误图样 E就是收 序列与发送序列的差。所以在译码中用接收到的码字B模尔加错误图样E就可以 得到发送端的正确码字A。因此译码的过程就是要找到错误图样 E。定义:校正子SS = B * H T = ( A + E ) * HT+ E * H因为A是编得的正确码字。根据前面所叙述,它和监督矩阵的转置相乘为0。 显然,S仅与错误图样有关,它们之间是一一对应的关系。找到了校正子 S,也 就可以找到E。而与发送的码字无关。若 E=0,则S=0;因此根据S是否为0
14、可 进行码字的检错。如果接收码字B中只有一位码元发生错误,又设错误在第 i位。即E-i=1, 其他的E均为0。在后面的译码程序中,建立了一个校正子S与错误图样E对应 的表。也就是收到一个B序列,就可以通过计算得到一个校正子, 而每一个校正 子都对应着一个错误图样E,再通过B模尔加上E,就可以得到正确的码字 Ao因为在不同的错误序列B中,同一位码元错误时对应的 E是一样的,所以 可以利用0000000这个正确的码字让它每位依次错误,来求得它的八个校正子。 而这时的矩阵B就是错误图样Eo这样就算得了 8个校正子S。而这时的错误序列B,就是错误图样E,所以 有:E与S都已经得到,这时就可以建立一个表
15、来将它们一一对应起来,以便 在编程过程中用SWITCHS句。第4章推导过程4.1编码过程监督矩阵H与生成矩阵G的关系:由H与G的分块表示的矩阵形式(4-1 )H =P I n-k011HEBfi UNITED LMvCRSHYG=l k Q(4-2)p=Q(4-3)则有 G- H=0(4-4)或H G=0(4-5)已知给出的(6, 3)码的Q矩阵Q=则可以根据G=l k Q求出生成矩阵G=01 110 111 0000 11101 0101110(4-6)(4-7)由 P=Q 和 H =P In-k可求出监督矩阵H为H=A001丿有了生成矩阵后则可以根据输入的四位信息位和生成矩阵相乘得到编码矩
16、阵,即MATLA函数为:C=rem(l*G,2);其中C为编码后的结果,I为信息矩阵,G为生成矩阵。 则编码的所有情况为:(4-8)编码序列:信息位|监督位C=000011110011001101010101011001100101101000111100(4-9)013%业敝右玄THES(I UNITED UNI VETO Tt0 1 1 1 0 01 0 1 0 1 04.2译码过程对于译码过程来说,同样由上知道监督矩阵:H=0150,即若C=m G是H矩阵与(n,k)码的任何一个许用码字进行相乘的结果必等于任一(n,k)码字,则必有C - Ht=0。若不属于许用码字,或有传输差错,且差错
17、位数在(n,k)码纠错能力内,则运算结果将为非0值,此时,可以纠错或检错重So = B-Ht= 000000-0 1 11 0 11 1 01 0 00 1 00 0 1 J=000(4-10)S1 = B-Ht =000001r =0 1 11 0 11 1 01 0 00 1 00 0 1 J=001(4-11)S2 = B-Ht =000010-q 1 1、1 0 11 1 01 0 00 1 0=011(4-13)S4 = B HT =001000 ro 1 1、1 0 11 1 01 0 00 1 0=100(4-14)S5 = B-HT =010000 S6 = B-HT =100
18、000 厂 0 1 1 =1 0 11 1 01 0 00 1 0广 0 1 1、1 0 11 1 01 0 00 1 0=101=110(4-15)(4-16)S7 = B HT =100100 厂 0 1 1 =1 0 11 1 01 0 00 1 00 0 1,=111(4-17)当编码矩阵与生成矩阵的转置矩阵相乘时,若当其中的一位编码或两位出现差错时会有八种情况,贝U这些情况列出错码矩阵如下:错码矩阵:表4-1 (6, 3)线性分组码的译码表校正子S错误图样E000000000001000001010000010% d匕駅点* VHEBi UNITED UNIVEISlTlf01100
19、0100100001000101010000110100000111100100而这些情况正好是和校验子有某种对应关系的,根据这些对应关系可以进行 相关编程。若编程检测到了那一位错误可以根据A=B+E( 4-18)其中A为纠错输出码序列,E为错码矩阵,R为信道输出码。对接收到的信息进行改正求出正确的编码,从而再提去更正后的接收序列 的前三位来提取信息位,以至获得信息矩阵I。第5章仿真程序及结果分析5.1仿真程序% H监督矩阵%G生成矩阵% C编码矩阵% I输入信息序列% R信道输出码%A纠错输出码序列% E错码矩阵%S校验子矩阵% M校验子的行的十进制序列%信道编码程序clear allclo
20、se allH=0 1 1 1 0 0;1 0 1 0 1 0;1 1 0 0 0 1;%监督矩阵HG=gen2par(H);%求H阵的生成矩阵GI=0 0 0;0 0 1;0 1 0;0 1 1;1 0 0;1 0 1;1 1 0;1 1 1;C=rem(l*G,2);%求码字 Cdisp(所得的编码结果为:C=);%显示输出码字Cdisp(C);%信道译码程序clear all;close all;H=0 1 1 1 0 0;1 0 1 0 1 0;%监督矩阵H%返回数组B的维数1 1 0 0 0 1;B=input(请输入接收码组B:);a,b=size(B);E=0 0 0 0 0 0
21、;0 0 0 0 0 1;0 0 0 0 1 0;0 0 0 1 0 0;0 0 1 0 0 0;0 1 0 0 0 0;1 0 0 0 0 0;1 0 0 1 0 0;S=rem(B*H,2);%求校验子 Si=1;for i=1:1:aM(i,1)=S(i,1).*4+S(i,2).*2+S(i,3);%求校验子所表示的十进制整数endfor i=1:1:aswitch(M(i,1)case 0A(i,:)=B(i,:)+E(1,:);case 1A(i,:)=B(i,:)+E(2,:);case 2A(i,:)=B(i,:)+E(3,:);case 3A(i,:)=B(i,:)+E(4,
22、:);case 4A(i,:)=B(i,:)+E(5,:);case 5A(i,:)=B(i,:)+E(6,:);case 6A(i,:)=B(i,:)+E(7,:);case 7A(i,:)=B(i,:)+E(8,:);endendfor i=1:1:aswitch(M(i,1)case 0disp (没有出现错误!;case 1disp (注意:第1位出现一个错误!请纠正!;019case 2disp(注意:第2位出现一个错误!请纠正!;case 3disp(注意:第3位出现一个错误!请纠正!;case 4disp(注意:第4位出现一个错误!请纠正!;case 5disp(注意:第5位出现
23、一个错误!请纠正!;case 6disp(注意:第6位出现一个错误!请纠正!;case 7disp(注意:第6位和第3位出现两个错误!请纠正!);endendA=rem(A,2);%求出正确的编码disp(检纠错后的码组A=);disp(A);%显示正确的编码j=1;while j=3%提取信息位l(:,j)=A(:,j);j=j+1;enddisp(译出的信息序列I=);disp(I);%显示原信息码5.2仿真结果图1 输出编码结果及输入正确接收码的译码结果:根据仿真程序得出仿真结果如下图所示:0 0 00 000 0 1II00i0I0I0Ei0IIE000I1I0ii0Ii:0II0i1
24、i0 00赭號世闕厂0 H 0艙出帼10 0 00 000 0 0V0 Stri2 输入一位错误时的结果显示图飙出曲觑3魁:匚=00 0 0 000Olli00L01010E0II10 0 0 11i0LE011IoIi01LEDO0稱鳩即豳唧】0 J 0 H 第睢師f觀!制正 料斷的删上iEL000译出的腿庚忙:ELk图5-2有一位错误输入时的显示图3 输入两位特定位错误时的结果显示图5-3有两位特定位错误输入时的显示图023% d匕駅点* VHEBi UNITED UNIVEISlTlf5.3结果分析1 输出编码结果及输入正确接收码的译码结果分析由图5-1输出编码结果和正确输入时显示图所示
25、的结果可以看出编码的结 果的八种情况和在推导过程中运算的结果是一致的,可以见得程序的编码过程是正确的。对于译码过程而言,当界面显示“请输入接收码组B:,然后从提示符后输入:0 0 0 0 0 0,由于输入的接收码组与编码后的码字一致,它提取 了每个码组的前四位,即信息位,由结果看出译码过程是正确的,并没有出现错 译的情况,可见程序的译码片段是正确的。2 输入一位错误时的结果分析对于纠错过程而言,当界面显示“请输入接收码组 B:。然后从提示符后 输入:1 0 1 0 0 0,由图5-2有一位错误输入时的显示图所知,接收码组的 第五位发生了错误,经程序纠检错误后改正了接收序列的错误, 并且正确译出了 信息位。可见程序的纠错功能也是可以实现的,以上结果进一步证实了,系统译码程序的正确性。3 输入两位特定位错误时的结果分析由图5-3有两位特定位错误输入时的显示图知,当输入 B=1 0 0 1 0 0时,校 正子是111,错误图样是100100,所以结果显示与理论相符。025参考文献1 孙丽华编信息论与纠错
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年重庆八中宏帆中学小升初自主招生数学试题(含答案详解)
- 2025年事业单位工勤技能-湖南-湖南家禽饲养员三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖南-湖南动物检疫员四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北水生产处理工二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北林木种苗工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年建筑行业新型保温材料市场趋势与技术创新报告
- 2025年事业单位工勤技能-海南-海南水文勘测工二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-海南-海南印刷工一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-浙江-浙江土建施工人员二级(技师)历年参考题库含答案解析(5套)
- 2025-2030中国立体护围卫生巾行业竞争优势及投资战略研究报告
- 2025年匹克球裁判试题及答案
- 2025秋苏教版科学三年级上册教学设计(附目录)
- 2025国家能源投资集团有限责任公司审计中心社会招聘12人笔试参考题库附带答案详解(10套)
- 《初中必读名著导读:《水浒传》核心知识点与深度解读》
- 深圳微利房管理办法
- 诊断学血管检查
- 大连市甘井子区社区工作者招聘笔试真题2024
- 生产安全会议纪要
- 护理文书书写PDCA案例
- 哪个团队收益大+课件2025-2026学年+北师大版(2024)八年级数学上册
- 制作瓷器培训课件
评论
0/150
提交评论