2022年线性分组码的编译码软件设计思路知识 .pdf
《2022年线性分组码的编译码软件设计思路知识 .pdf》由会员分享,可在线阅读,更多相关《2022年线性分组码的编译码软件设计思路知识 .pdf(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘 要线性分组码一种重要的差错控制编码,它编码与译码电路比较简单,纠错能力也较强,是实际应用中比较流行的差错控制编码方法之一。本文以(7,3)线性分组码为例,在设计中已给定生成矩阵 G,针对(7,3)线性分组码,运用 C语言编译软件,实现了对输入序列的编码、译码以及对输入接收码组的查错和纠错,该软件程序系统简单易懂,实用性强,不失为一个满足实际需求和课设要求的系统关键词:差错控制,线性分组码,编译码;名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 21 页 -前言随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时
2、期,随着经济文化水平的显著提高,人们对生活质量及工作软件的要求也越来越高。计算机通信是一种以数据通信形式出现,在计算机与计算机之间或计算机与终端设备之间进行信息传递的方式。它是现代计算机技术与通信技术相融合的产物,在军队指挥自动化系统、武器控制系统、信息处理系统、决策分析系统、情报检索系统以及办公自动化系统等领域得到了广泛应用。计算机通信系统是经典的数字通信系统,它是计算机技术和通信技术结合的产物,一方面通信网络为计算机之间的数据传递和交换提供必要的设施和手段;另一方面,数字计算机技术的发展渗透到通信技术中,又提高了通信网络的各种性能,二者相互渗透、互相促进、共同发展。由于计算机、卫星通信及高
3、速数据网的飞速发展,数据的交换、处理和存储技术得到了广泛的应用,数字信号在传输中往往由于各种原因,使得在传送的数据流中产生误码,从而使接收端产生图象跳跃、不连续、出现马赛克等现象,人们对数据传输和存储系统的可靠性提出来了越来越高的要求,经过长时间的努力,通过编译码来控制差错、提高可靠性的方式在信道传输中得到了大量的使用和发展,并形成了一门新的技术叫做纠错编码技术,纠错编码按其码字结构形式和对信息序列处理方式的不同分为两大类:分组码和卷积码,本课程设计主要针对一个包含二进制序列的文档中的数据进行(7,3)线性分组码的编译码,并借助C语言软件,通过编写源程序文件,运行后对系统进行结果分析分析。名师
4、资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 21 页 -目录第一章设计目标.1第二章线性分组码的基本原理.12.1 差错控制技术概述.12.2 差错控制原理.22.3 线性分组码.32.4 线性分组码的纠检错能力.3第三章 (7,3)线性分组码的编码.43.1(7,3)线性分组码的生成矩阵.43.2(7,3)线性分组码的监督矩阵.5第四章(7,3)线性分组码的译码.64.1 校正子与错误图样.64.2 线性分组码 C语言程序代码 .74.3 线性分组码编译码流程框图.12 4.4 运行结果分析.14 第五章 C 语言软件简介.16 5.1 C语言软件概述.16 5.2 C语言软件
5、的特点.16 5.3 C语言软件的优点.17 总结.17 参考文献.18名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 21 页 -1 第一章设计目标计算机通信是一种以数据通信形式出现,在计算机与计算机之间或计算机与终端设备之间进行信息传递的方式。它是现代计算机技术与通信技术相融合的产物,在军队指挥自动化系统、武器控制系统、信息处理系统、决策分析系统、情报检索系统以及办公自动化系统等领域得到了广泛应用。随着计算机、卫星通信及高速数据网的飞速发展,数据的交换、处理和存储技术得到了广泛应用,人们对数据传输和存储系统的可靠性提出了越来越高的要求。因此,如何控制差错、提高数据传输和存储的
6、可靠性,成为现代数字通信系统设计工作者所面临的重要课题,线性分组码是差错控制编码的重要一种,线性分组码的编码与译码电路比较简单,纠错能力也较强,是实际应用中比较流行的差错控制编码方法之一。在本次课程设计中,要设计一个(7,3)线性分组码的编译码程序,最基本的是要具备对输入的信息码进行编码,让它具有抗干扰的能力,同时,还要让它具有对接收到的整个码组中提取信息码组的功能,但是,在实际的通信系统中,由于信道传输特性不理想以及加性噪声的影响,接收到的信息中不可避免地会发生错误,影响通信系统的传输可靠性,因而,本设计还要让该程序具有纠正错误的能力,当接收到的码组中有一位码,发生错误时可以检测到这一位错码
7、,并且可以纠正这一位错码,并且让系统从纠正后的码组中提取正确的信息码组,针对给定的矩阵,完成如下的工作:1 完成对任意信息序列的编码2 根据生成矩阵,形成监督矩阵3 根据得到的监督矩阵,得到伴随式,并根据它进行译4 验证工作的正确性第二章线性分组码的基本原理2.1 差错控制技术概述数字信号在传输过程中,由于受到干扰的影响,码元波形将变坏,接收端收到后可能发生错误判决,由乘性干扰引起的码间串扰,一般采用均衡的办法纠正。加性干扰的影响一般从合理选择调制制度解调方法以及发送功率等方面考虑,使加性干扰不足以影响达到误码率要求。在仍不能满足要求时,为减少错误、提高通信质量还采用检错、纠错技术,即差错控制
8、措施。差错控制的主要方法是将数据以某种形式编码。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 21 页 -2 差错控制的核心为:抗干扰编码,简称差错控制编码。差错控制编码分为检错码、纠错码两大类。它在码元间建立了某种数学约束关系,并且对特定的信道总存在某种纠错编码信号以实现最小的能量或最小的带宽或最小的时间代价获得最小的数据传输差错。对于不同信道,采用不同类型的差错控制技术。差错控制技术主要有:1)检错重发:在发送码元序列中加入差错控制码元,接收端利用这些码元检测到有错码时,利用反向信道通知发送端,要求发送端重发,知道正确接收为止。2)前向纠错:前向纠错是利用接收端在发送码元序
9、列中加入的差错控制码元,不但能够发现错码,还能够将错码恢复其正确值。3)反馈校验:不需要在发送序列中加入差错控制码元,接收端接收到的码元原封不动的转发会发送端。在发送端将他和原发送码元逐一比较,若发现有不同,就认为接收端接受的序列有错码,发送端立即从发。4)检错删除:在接收端发现错码后,立即将其删除,不要求重发。这种方法只适合在少数特定系统中,在那里发送码元有大量的多余度,删除部分接收码元不影响应用。2.2 差错控制原理将信息码分组,并为每个信息组附加若干监督的编码,称为“分组码”。在分组码中,监督码元仅监督本组码中的信息码元。分组码一般用符号(n)、(k)表示,其中 k 是每组码二进制信息码
10、元的数目。n 是码组的总位数,又称为码组的长度。r=n-k 为每个码组中的监督码元数目,或称监督位数目。k 位二进制数构成的码组集合为k2种不同的码组,若k2组都为有用码组,其中任意码组出现错误都将变成另一码组,则接收端无法检测识别哪一组出错。若只取部分码组为有用码组,则在传输过程中如接收端接收到的码组为非许用码组即禁用码组时,则可知传输错误。以 3 位二进制数构成的码组为例,它共有8 种不同的可能组合,若将其全部用来表示天气,则可以表示 8 种不同天气,例如:000 晴、001云、010 阴、011 雨、100 雪、101 霜、110雾、111 雹。其中任一码组在传输中若发生一个或多个错误,
11、则将变成另一个信息码组。这时接收端无法发现错误。若在上述8 种码组中秩序使用4 种来传达天气,例如:000 晴、011云、101 阴、110雨。这时,虽然只能传达4种不同的天气,但是接收端却可能发现码组中的一个错码。如 000 错码一位,则接受码组将变成100 或 010或 011.这三种码组都为禁用码组,故接收端认为接收码错误。要想能够纠正错误,需增加冗余度。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 21 页 -3 2.3 线性分组码线性分组码是一类奇偶校验码,它可以由(n,k)形式表示,编码器将一个k 比特信息分组(信息矢量)转变为一个更长的由给定元素符号集组成的n 比
12、特编码分组,当这个符号集包含两个元素(0 和 1),与二进制相对,称为二进制编码。分组码是对每段 k 位长的信息组,以一定规则增加r=n-k个检验元,组成长为n 的序列:0121,ccccnn,称这个序列为码字。在二进制情况下,信息组总共有k2个(q 进制为kq个),因此通过编码器后,相应的码字也有k2个,称这k2个码字集合为(n,k)分组码。n 长序列的可能排列总共有n2种。称被选取的k2个 n 重为许用码组,其余kn22个为禁用码组,称 R=k/n为码率。那么对于(7,3)码即为用 7 位长的序列表示3 位信息码,7 位长序列的可能排列总共有12827个。许用 码组 有823个,其余120
13、81282237个 禁 用码 组,码率 为R=3/7=42.86%。对于长度为 n 的二进制分组码,可以表示成(n,k),通常用于前向纠错。在分组码中,监督位加到信息位之后,形成新码,在编码中,k 个信息位,被编为n 位长度,(n-k)个监督码的作用是实现检错和纠错。2.4 线性分组码的纠检错能力在分组码中,我们把码组C中非零分量(对二进制来说,即1 分量)的数目定义为码组C 的汉明重量。两个码组对应位上数字不同的个数称为码组的距离,简称码距,也称汉明距离。对(n,k)线性码来说,k2个码字中所有可能码字之间的汉明距离中最小的距离称为该码的最小汉明距离,用 dmin表示。而对于线性分组码来说,
14、线性分组码的最小距离等于它的最小重量。一个线性分组码码的最小距离dmin和码的抗干扰能力有如下关系:1)若要检测 m个错码,要求最小距离dminm+1 2)若要纠正 t 个错码,要求最小距离dmin2t+1 3)若要纠正 t 个错码同时检测 m个(mt)错码,要求码的最小距离dminm+t+1 由上可知,一个(n,k)线性分组码有两个重要参数。一个是它的最小距离dmin,它反映了码的抗干扰能力,dmin越大,码的纠错或检错能力越强;另一个是码率R=k/n,它表示信息位在码组中所占的比重,R 越大,说明信息位占的比重越高,故码的有效性越高。显然,我们希望构造一个 R高且 dmin大的码,但实际上
15、这两者是矛盾的。编码的主要任务就是如何找到一种方法,在满足一定R的条件下,使 dmin尽可能地大。名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 21 页 -4 在此选择在课堂上涉及到的(7,3)线性分组码进行编程,完成对任意信息序列的编码。第三章 (7,3)线性分组码的编码3.1(7,3)线性分组码的生成矩阵选用码组的信息组为456CCC,码字为0123456CCCCCCC。当已知信息组时,按以下规则得到四个校验元,即 (1)这组方程称为校验方程。(7,3)码 有 许用 码组有823个,其余12081282237个 禁用 码 组,码率 为R=3/7=42.86%。发送方发送的是
16、许用码字,若接收方收到的是禁用码字,则说明传输中发生了错误。为了深化对线性分组码的理论分析,可将其与线性空间联系起来。由于每个码字都是一个二进制的 n 重,即二进制n 维线性空间中的一个矢量,因此码字又称为码矢。线性分组码的一个重要参数是码率R=k/n,它说明在一个码字中信息位所占的比重,R越大,说明信息位所占比重越大,码的传输信息的有效性越高。由于(n,k)线性分组,线性分组码的k2个码字组成了 n 维线性空间的一个 k 维子空间。因此这k2个码字完全可由k 个线性无关的矢量所组成。设此 k 个矢量为kCCCCC,3210,有生成矩阵形式为:(2)(n,k)码字中的任一码字iC均可由这组基底
17、的线性组合生成,即:Ci=CnCn-1Cn-2,Cn-k G (3)上式中 CnCn-1Cn-2,Cn-k 是 k 个信息元组成的信息组。0123456CCCCCCCG3626515404C=CC=C+CC=C+CC=C名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 21 页 -5 表 3-1 按上式编出的(7,3)码信息组码字000 0000000 001 0010011 010 0100110 011 0110101 100 1001100 101 1011111 110 1101010 111 1111001 对于表 3-1 给出的(7,3)线性分组码,可将其写成矩阵形式:
18、(4)其中,(7,3)线性分组码的生成矩阵为(5)3.2(7,3)线性分组码的监督矩阵(7,3)线性分组码的四个校验元由式(1)所示的线性方程组决定的,把(1)式移相有:(6)上式的矩阵形式为:(7)1000100011001000110014560123456CCCCCCCCCC100010001100100011001G00004045156263CCCCCCCCCC000010001000100010001001100010010123456CCCCCCC名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 21 页 -6 这里的四行七列矩阵称为(7,3)线性分组码的一致监督矩阵
19、(一致校验矩阵),用 H表示,即:(8)第四章(7,3)线性分组码的译码译码器的功能按系统设计要求分为检错译码和纠错译码两种,对于纠错译码,其工作又分为译码成功和译码失败两种状态。译码成功是只译码器能够在达到译码码字差错概率最小条件下输出一个确切的码字。译码失败是指译码器不能输出一个确切的码字,通常此时的译码器输出 y 与检错译码输出相同。4.1 校正子与错误图样假设接收端收到的码字为R,那么它和原来发送端发送的码字C之间就有可能存在着误差。即在码组 C=C6C5C4C3C2C1C0 中的任意一位就有可能出错。这样我们在接收端接收到一个码组是就有可能判断错发送端原来应该要表达的意思。为了描述数
20、据在传输信道中出现错误的情况,引入了错误图样E,在错误图样中,0 代表对应位没有传错,1 代表传输错误。实际上错误图样 E 就是收序列与发送序列的差。所以在译码中用接收到的码字R 模二加错误图样E就可以得到发送端的正确码字C。因此译码的过程就是要找到错误图样E。定义:校正子 S=CHT=(R+E)HT=RHT+EHT=EHT(9)因为 C是编得的正确码字,根据前面所叙述,它和监督矩阵的转置相乘为0。显然,S仅与错误图样有关,它们之间是一一对应的关系。找到了校正子S,也就可以找到 E。而与发送的码字无关。若 E=0,则 S=0;因此根据 S是否为 0 可进行码字的检错。如果接收码字 R中只有一位
21、码元发生错误,又设错误在第 i 位。即11iE,其他的iE均为 0。在后面的译码程序中,建立了一个校正子 S与错误图样 E对应的表。也就是收到一个 R序列,就可以通过计算得到一个校正子,而每一个校正子都对应着一个错误图样E,再通过 R模尔加上 E,就可以得到正确的码字C。因为在不同的错误序列R中,同一位码元错误时对应的E是一样的,所以可以利用 0000000这个正确的码字让它每位依次错误,来求得它的八个校正子。而这时的矩阵R就是错误图样1000100010001000100110001001H名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 21 页 -7 E。这样就算得了 8 个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年线性分组码的编译码软件设计思路知识 2022 线性 分组码 译码 软件设计 思路 知识
限制150内