循环码的编译码软件设计.doc
《循环码的编译码软件设计.doc》由会员分享,可在线阅读,更多相关《循环码的编译码软件设计.doc(26页珍藏版)》请在沃文网上搜索。
1、*实践教学*兰州理工大学计算机与通信学院2012年春季学期 计算机通信 课程设计摘要循环码是线性分组码的一种,它具有线性分组码的一般性质,当然它还具有循环性。循环码的编码和解码设备都不太复杂,且检(纠)错能力较强。本说明书介绍了(7,4)循环码的编码与译码原理,用C语言编程实现其编码与译码功能。 通过C语言平台运行所编写的程序,输入任意的数字信息序列,得出了编码结果。另外还分别在无差错和部分差错的情况下进行了译码。关键词:循环码;编码与译码;C语言25前言随着时代的变迁,信息潮流的冲击,通信越来越被人们重视。伴随信息时代的到来,计算机通信技术也在不断地发展。目前,计算机通信技术已广泛应用于办公
2、自动化、企业管理与生产过程控制、金融与商业电子化、军事、科研、教育信息服务、医疗卫生等领域。Internet技术发展迅速,全球性信息高速公路建设的浪潮正在兴起。人们已经意识到:计算机网络正在改变着人们的工作方式与生活方式,网络与通信技术已成为影响一个国家与地区经济、科学与文化发展的重要因素之一。现代社会发展越来越快,这要求通信系统功能越来越强,可靠性越来越高,因此通信系统的构成就越来越复杂。 在计算机通信信息码中循环码是线性分组码的一个重要子集,它的循环码的编码和译码电路比较简单,纠错能力也较强,是目前研究得最成熟的一类码。因此本文运用C语言对(7,4)循环码的编码与译码进行编程及运行仿真。C
3、语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。目录第一章 计算机通信技术的历史和发展41.1 通信的概念及发展史41.2 计算机通信的介绍51.3 计算机通信网络5第二章 纠错码与循
4、环码的介绍62.1 纠错码62.2 纠错码的基本原理和性能参数62.3 循环码的介绍7第三章 设计过程及运行结果103.1 C语言的介绍103.2 循环码编码的设计113.3循环码译码的设计123.4 运行结果143.5 软件的可行性分析17总结18参考文献19附录20第一章 计算机通信技术的历史和发展1.1 通信的概念及发展史通信在不同的环境下有不同的解释,在出现电波传递通信后通信(Communication)被单一解释为信息的传递,是指由一地向另一地进行信息的传输与交换,其目的是传输消息。然而,通信是在人类实践过程中随着社会生产力的发展对传递消息的要求不断提升使得人类文明不断进步。在各种各
5、样的通信方式中,利用“电”来传递消息的通信方法称为电信(Telecommunication),这种通信具有迅速、准确、可靠等特点,且几乎不受时间、地点、空间、距离的限制,因而得到了飞速发展和广泛应用;在现今因电波的快捷性使得从远古人类物质交换过程中就结合文化交流与实体经济不断积累进步的实物性通信(邮政通信)被人类理解为制约经济发展的阻碍。 afd5a4fK:JFD()本文来自移动通信网,版权所有据信号方式的不同,通信可分为模拟通信和数字通信。什么是模拟通信呢?比如在电话通信中,用户线上传送的电信号是随着用户声音大小的变化而变化的。这个变化的电信号无论在时间上或是在幅度上都是连续的,这种信号称为
6、模拟信号。在用户线上传输模拟信号的通信方式称为“模拟通信”。数字信号与模拟信号不同,它是一种离散的、脉冲有无的组合形式,是负载数字信息的信号。电报信号就属于数字信号。由于人们对各种通信业务的需求迅速增加,数字通信正向着小型化、智能化、高速大容量的方向迅速发展,最终必将取代模拟通信。ds不21fds3a2K:JFD()$#_*(本文来自移动通信网,版权所有人类进行通信的历史已很悠久。早在远古时期,人们就通过简单的语言、壁画等方式交换信息。千百年来,人们一直在用语言、图符、钟鼓、烟火、竹简、纸书等传递信息。在现代社会中,交通警的指挥手语、航海中的旗语等不过是古老通信方式进一步发展的结果。这些信息传
7、递的基本方都是依靠人的视觉与听觉。19世纪中叶以后,随着电报、电话的发有,电磁波的发现,人类通信领域产生了根本性的巨大变革,实现了利用金属导线来传递信息,20世纪60年代以后集成电路、电子计算机的出现,使得数字通信迅速发展。20世纪80年代末多媒体技术的兴起,使计算机具备了综合处理文字、声音、图像、影视等各种形式信息的能力,日益成为信息处理最重要和必不可少的工具,电子计算机和通信技术的紧密结合,标志着数字化信息时代的到来。 1.2 计算机通信的介绍计算机通信是一种以数据通信形式出现,在计算机与计算机之间或计算机与终端设备之间进行信息传递的方式。 计算机通信的基本原理是将电信号转换为逻辑信号,其
8、转换方式是将高低电平表示为二进制数中的1和0, 再通过不同的二进制序列来表示所有的信息。也就是将数据以二进制中的0和1的比特流的电的电压做为表示,产生的脉冲通过媒介(通讯设备)来传输数据,达到通信的功能,这个是osl的物理层,也就是通信的工作原理。1.3 计算机通信网络计算机通信网络是计算机技术和通信技术相结合而形成的一种新的通信方式,主要是满足数据传输的需要。它将不同地理位置、具有独立功能的多台计算机终端及附属硬件设备(路由器、交换机)用通信链路连接起来,并配备相应的网络软件,以实现通信过程中资源共享而形成的通信系统。它不仅可以满足局部地区的一个企业、公司、学校和办公机构的数据、文件传输需要
9、,而且可以在一个国家甚至全世界范围进行信息交换、储存和处理,同时可以提供语音、数据和图像的综合性服务,是未来信息技术发展的必由之路。目前,计算机网络和数据通信发展迅速,各国都通过建成的公用数据通信网享用各数据库资源和网络设备资源。为发展高新技术和国民经济服务。计算机通信技术、数据库技术相基于两者基础上的联机检索技术已广泛应用于信息服务领域。从报刊、人工采集、会员单位组织的传统信息服务方式正逐步被以数据库形式组织的信息通信计算机网络供用户联机检索所代替。信息量和随机性增大,信息更新加快,信息价值明显提高,信息处理和利用更加方便。因此,计算机网络通信系统是信息社会的显著标志,在信息处理和传递中占重
10、要位置。第二章 纠错码与循环码的介绍2.1 纠错码纠错编码又称信道编码,它与信源编码是信息传输的两个方面。它们之间存在对偶的关系。应用信道译码直接对一些自然信息进行处理,可以去掉剩余度,以达到压缩数据的目的。纠错码(error correcting code),在传输过程中发生错误后能在收端自行发现或纠正的码。仅用来发现错误的码一般常称为检错码。为使一种码具有检错或纠错能力,须对原码字增加多余的码元,以扩大码字之间的差别 ,即把原码字按某种规则变成有一定剩余度(见信源编码)的码字,并使每个码字的码之间有一定的关系。关系的建立称为编码。码字到达收端后,可以根据编码规则是否满足以判定有无错误。当不
11、能满足时,按一定规则确定错误所在位置并予以纠正。纠错并恢复原码字的过程称为译码。检错码与其他手段结合使用,可以纠错。为了使一种码具有检错或纠错能力,必须对原码字增加多余的码元,以扩大码字之间的差别,使一个码字在一定数目内的码元上发生错误时,不致错成另一个码字。准确地说,即把原码字按某种规则变成有一定剩余度的码字,并使每个码字的码元间有一定的关系。关系的建立称为编码。码字到达收端后,用编码时所用的规则去检验。如果没有错误,则原规则一定满足,否则就不满足。由此可以根据编码规则是否满足以判定有无错误。当不能满足时,在可纠能力之内按一定的规则确定错误所在的位置,并予以纠正。纠错并恢复原码字的过程称为译
12、码;码元间的关系为线性时,称为线性码;否则称为非线性码。检错码与其他手段结合使用,可以纠错。检错反馈重发系统(ARQ系统)就是一例。在构造纠错码时,将输入信息分成 k位一组以进行编码。若编出的校验位仅与本组的信息位有关,则称这样的码为分组码。若不仅与本组的 k个信息位有关,而且与前若干组的信息位有关,则称为格码。这种码之所以称为格码,是因为用图形分析时它象篱笆或格架。线性格码在运算时为卷积运算,所以叫卷积码。2.2 纠错码的基本原理和性能参数纠错码能够检错或纠错,主要是靠码字之间有较大的差别。这可用码字之间的汉明距离 d(x,y)来衡量。它的定义为码字x与y之间的对应位取不同值的码元个数。一种
13、纠错码的最小距离 d定义为该种码中任两个码字之间的距离的最小值。一种码要能发现e个错误,它的最小距离d应不小于e+1。若要能纠正t个错误,则d应不小于2t+1。一个码字中非零码元的个数,称为此码字的汉明重量。一种码中非零码字的重量的最小值,称为该码的最小重量。对线性码来说,一种码的最小重量与其最小距离在数值上是相等的。在构造线性码时,数字上是从n维空间中选一k维子空间,且使此子空间内各非零码字的重量尽可能大。当构造循环码时,可进一步将每一码字看成一多项式,将整个码看成是多项式环中的理想,这一理想是主理想,故可由生成多项式决定;而多项式完全可由它的根规定。这样,就容易对码进行构造和分析。这是BC
14、H码等循环码构造的出发点。一般地说,构造一种码时,均设法将它与某种代数结构相联系,以便对它进行描述,进而推导它的性质,估计它的性能和给出它的译码方法。若一种码的码长为n,码字数为M,或信息位为h,以及最小距离为d,则可把此码记作【n,M,d】码。若此码为线性码,常简记作(n,k)或(n,k,d)码。人们还常用R=log2M/n表示码的信息率或简称码率,单位为比特/码元。R越大,则每个码元所携带的信息量越大,编码效率越高。 2.3 循环码的介绍循环码是线性分组码的一种,所以它具有线性分组码的一般特性,此外还具有循环性。循环码的编码和解码设备都不太复杂,且检(纠)错能力强。它不但可以检测随机的错误
15、,还可以检错突发的错误。(n,k)循环码可以检测长为n-k或更短的任何突发错误,包括首尾相接突发错误。循环码是一种无权码,循环码编排的特点是相邻两个数码之间符合卡诺图中的邻接条件,即相邻两个数码之间只有一位码元不同,码元就是组成数码的单元。符合这个特点的有多种方案,但循环码只能是表中的那种。循环码的优点是没有瞬时错误,因为在数码变换过程中,在速度上会有快有慢,中间经过其它一些数码形式,称它们为瞬时错误。这在某些数字系统中是不允许的,为此希望相邻两个数码之间仅有一位码元不同,即满足邻接条件,这样就不会产生瞬时错误。循环码就是这样一种编码,它可以在卡诺图中依次循环得到。循环码又称格雷码( Grey
16、 Code )。循环码最大的特点就是码字的循环特性,所谓循环特性是指:循环码中任一许用码组经过循环移位后,所得到的码组仍然是许用码组。2.1.1 循环码的多项式表示设码长为n的循环码表示为 (,,, ,) (1)其中为二进制数,通常把码组中各码元当做二进制的系数,即把上式中长为n的各个分量看做多项式: T(x) =+ (2)的各项系数,则码字与码多项式一一对应,这种多项式中,x仅表示码元位置的标记,因此我们并不关心x的取值,这种多项式称为码多项式。2.1.2 (n,k)循环码的生成多项式(n,k)循环码的生成多项式写为g(x),它是(n,k)循环码码集中唯一的,幂次为n-k的码多项式,则g(x
17、)是一个幂次为n的码多项式。按模(+1)运算,此时: = Q(x)+ (3) 即 g(x)R(x),且因 g(x)也是n阶幂,故Q(x)=1.由于它是循环码,故 g(x)按模(+1)运算后的“余式”也是循环码的一个码字,它必能被g(x)整除,即: =F(x) (4)由以上两式可以得到: g(x)= Q(x)(+1)+R(x) =(+1)+f(x)g(x) (5)和 +1=+f(x)g(x)=h(x)g(x) (6)从上式中可以看出,生成多项式g(x)应该是+1的一个因式,即循环码多项式应该是+1的一个n-k次因式。2.1.3 循环码的生成矩阵和一致校验矩阵对所有的i=0,1,2,k-1,用生成
18、多项式g(x)除,有: =(x)g(x)+(x) (7) 式中(x)是余式,表示为: (x)=+ (8)因此,+(x)是g(x)的倍式,即+(x)是码多项式,由此得到系统形式的生成矩阵为:G= (9)它是一个kn阶的矩阵。同样,由G=0可以得到系统形式的一致校验矩阵为: H= (10)如已知(7,4)循环码的生成多项式和校验多项式分别为:g(x) = x3 + x +1,h(x) = x4 + x2 + x +1。写得其生成矩阵和校验矩阵分别为:G= (11) H= (12) 第三章 设计过程及运行结果3.1 C语言的介绍C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环码 译码 软件设计