ImageVerifierCode 换一换
格式:DOC , 页数:20 ,大小:422.12KB ,
资源ID:2490961      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2490961.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于MATLAB的线性分组码编译码仿真实现设计说明书.doc)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于MATLAB的线性分组码编译码仿真实现设计说明书.doc

1、 信息工程学院 通信工程系设计题目:基于MATLAB的线性分组码 编译码仿真设计班 级: 10通信 班 学 号: 姓 名: 指导老师: 2013 年 11 月 15 日 成绩:0摘 要该系统是(6,3)线性分组码的编码和译码的实现,它可以对输入的三位的信息码进行线性分组码编码,对于接收到的六位码字可以进行译码,从而译出三位信息码。当接收到的六位码字中有一位发生错误时,可以纠正这一位错码;当接收到的码字有两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能纠正。只有特定位有两位错误时,才能纠正两位错误。这样就译出正确的信息码组,整个过程是用MATLAB语言实现的。关键词:编码; 译码;

2、 纠错目 录前言2第1章 设计目标2第2章 MATLAB简介3第3章 基本原理33.1 线性分组码的编码33.1.1 生成矩阵33.1.2 校验矩阵53.2 伴随式与译码63.2.1 码的距离及纠检错能力63.2.2 伴随式与译码6第4章 推导过程74.1 编码过程74.2 译码过程9第5章 仿真程序及结果分析115.1 仿真程序115.2 仿真结果图135.3 结果分析15参考文献16总结17前言近年来,随着计算机、卫星通信及高速数据网的飞速发展,数据的交换、处理和存储技术得到了广泛的应用,人们对数据传输和存储系统的可靠性提出了越来越高的要求。因此,如何控制差错、提高数据传输和存储的可靠性,

3、成为现代数字通信系统设计的重要课题。 目前,绝大多数的数字计算机和数字通信系统中广泛采用二进制形式的码。而线性分组码具有编译码简单,封闭性好等特点,采用差错控制编码技术是提高数字通信可靠性的有效方法,是目前较为流行的差错控制编码技术。对线性分组码的讨论都在有限域GF(2)上进行,域中元素为0,1,域中元素计算为模二加法和模二乘法。分组码是一组固定长度的码组,可表示为(n , k),通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错与纠错。对于长度为n的二进制线性分组码,它有种2n可能的码组,从2n种码组

4、中,可以选择M=2k个码组(kn)组成一种码。这样,一个k比特信息的线性分组码可以映射到一个长度为n码组上,该码组是从M=2k个码组构成的码集中选出来的,这样剩下的码组就可以对这个分组码进行检错或纠错。第1章 设计目标要设计一个(6,3)线性分组码的编译码程序,最基本的是要具备对输入的信息码进行编码,让它具有抗干扰的能力。同时,还要让它具有对接收到的整个码组中提取信息码组的功能。但是,在实际的通信系统中,由于信道传输特性不理想以及加性噪声的影响,接收到的信息中不可避免地会发生错误,影响通信系统的传输可靠性,因而,本设计还要让该程序具有纠正错误的能力,当接收到的码组中有一位码,发生错误时可以检测

5、到这一位错码,并且可以纠正这一位错码,并且让系统从纠正后的码组中提取正确的信息码组。针对给定的矩阵0 1 11 0 11 1 0Q=完成如下的工作:1 完成对任意信息序列的编码2 根据生成矩阵,形成监督矩阵;3 根据得到的监督矩阵,得到伴随式,并根据它进行译码;4 验证工作的正确性。第2章 MATLAB简介MATLAB是很实用的数学软件它在数学类科技应用软件中在数值运算方面首屈一指。MATLAB可以进行运算、绘制函数和数据、实现算法、创建用户界面、连接接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达

6、式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 第3章 基本原理3.1 线性分组码的编码3.1.1 生成矩阵线性分组码(n,k)中许用码字(组)为2k个。定义线性分组码的加法为模二加法,乘法为二进制乘法。即1+1=0、1+0=1、0+1=1、0+0=0;11=1、10

7、=0、00=0、01=0。且码字与码字的运算在各个相应比特位上符合上述二进制加法运算规则。线性分组码具有如下性质(n,k)的性质:1、封闭性。任意两个码组的和还是许用的码组。2、码的最小距离等于非零码的最小码重。对于码组长度为n、信息码元为k位、监督码元为rnk位的分组码,常记作(n,k)码,如果满足2r1n,则有可能构造出纠正一位或一位以上错误的线性码。下面我们通过(7,3)分组码的例子来说明如何具体构造这种线性码。设分组码(n,k)中,k = 3,为能纠正一位误码,要求r3。现取r4,则nkr7。该例子中,信息组为(c6c5c4),码字为(c6c5c4c3c2c1c0).当已知信息组时,按

8、以下规则得到四个校验元,即 c3=c6+c4c2=c6+c5+c4 (3-1)c1=c6+c5c0=c5+c4 这组方程称为校验方程。 (7,3)线性分组码有23(8)个许用码字或合法码字,另有27-23个禁用码字。发送方发送的是许用码字,若接收方收到的是禁用码字,则说明传输中发生了错误。 为了深化对线性分组码的理论分析,可将其与线性空间联系起来。由于每个码字都是一个二进制的n重,及二进制n维线性空间Vn中的一个矢量,因此码字又称为码矢。线性分组码的一个重要参数是码率r=k/n,它说明在一个码字中信息位所占的比重,r越大,说明信息位所占比重越大,码的传输信息的有效性越高。由于(n,k)线性分组

9、,线性分组码的2k个码字组成了n维线性空间Vn的一个K维子空间。因此这2k个码字完全可由k个线性无关的矢量所组成。 设此k个矢量为c1,c2,ck,有生成矩阵形式为c1c2ck G=(3-2) (n,k)码字中的任一码字ci,均可由这组基底的线性组合生成,即ci=miG=mn-1 mn-2 mn-kG 式中,mi=mn-1 mn-2 mn-k 是k个信息元组成的信息组。表3-1 (7,3)线性分组码信息组码字0000000000001001110101001001110110111010100100110101101001111011010011111110100对于表3-1给出的(7,3)线

10、性分组码,可将写成矩阵形式 c6 c5 c4 c3 c2 c1 c0=c6 c5 c4故(7,3)码的生成矩阵为 G= 可以看到,从(7,3)码的8个码字中,挑选出k=3个线性无关的码字(1001110)(0100111),(00111101)作为码的一组基底,用c=mG计算得码字。一个系统码的生成矩阵G,其左边k行k列应是一个k阶单位方阵Ik,因此生成矩阵G表示为 G=Ik P (3-3) 式中,P是一个k(n-k)阶矩阵。3.1.2 校验矩阵表3-1所示的(7,3)线性分组码的四个校验元由式(3-1)所示的线性方程组决定的。把(3-1)移相,有c6+c4+c3=0c6+c5+c4+c2=0

11、c6+c1+c5=0 (3-4)c5+c4+c0=0上式的矩阵形式为 = 这里的四行七列矩阵称为(7,3)码的一致校验矩阵,用H表示,即 H= (3-5)由H矩阵得到(n,k)线性分组码的每一码字ci,(i=1,2,2k),都必须满足由H矩阵各行所确定的线性方程组,即 ciHT=0.(7,3)码的生成矩阵G中每一行及其线性组合都是(n,k)码的码字,所以有GHT =0。由G和H构成的行生成的空间互为零空间,即G和H彼此正交。H=PT Ir其右边r行r列组成一个单位方阵。3.2 伴随式与译码3.2.1 码的距离及纠检错能力 1码的距离两个码字之间,对应位取之不同的个数,称为汉明距离,用d表示。一

12、个吗的最小距离dmin定义为dmin=mind(ci,cj),ij,ci,cj(n,k),两个码字之间的距离表示了它们之间差别的大小。距离越大,两个码字的差别越大,则传送时从一个码字错成另一码字的可能性越小。码的最小距离愈大,其抗干扰能力愈强。2. 线性码的纠检错能力 对于任一个(n,k)线性分组码,若要在码字内(1) 检测出e个错误,则要求码的最小距离de+1;(2) 纠正t个错误,则要求码的最小距离d2t+1;(3)纠正t个错误同时检测e(t)个错误,则要求 dt+e+1;3.2.2 伴随式与译码假设接收端收到的码字为B,那么它和原来发送端发送的码字A之间就有可能存在着误差。即在码组A=a

13、6 a5 a4 a3 a2 a1 a0 中的任意一位就有可能出错。这样我们在接收端接收到一个码组是就有可能判断错发送端原来应该要表达的意思。为了描述数据在传输信道中出现错误的情况,引入了错误图样E,在错误图样中,0代表对应位没有传错,1代表传输错误。实际上错误图样E就是收序列与发送序列的差。所以在译码中用接收到的码字B模尔加错误图样E就可以得到发送端的正确码字A。因此译码的过程就是要找到错误图样E。 定义:校正子SS = B * H= ( A + E ) * H = A * H+ E * H = E * H因为A是编得的正确码字。根据前面所叙述,它和监督矩阵的转置相乘为0。显然,S仅与错误图样有关,它们之间是一一对应的关系。找到了校正子S,也就可以找到E。而与发送的码字无关。若E=0,则S=0;因此根据S是否为0可进行码字的检错。如果接收码字B中只有一位码元发生错误,又设错误在第i位。即Ei-1=1,其他的Ei均为0。在后面的译码程序中,建立了一个校正子S与错误图样E对应的表。也就是收到一个B序列,就可以通过计算得到一个校正子,而每一个校正子都对应着一个错误图样E,再通过B模尔加上E,就可以得到正确的码字A。因为在不同的错误序列B中,同一位码元错

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1