计算机通信课设循环码编译码Word下载.docx

上传人:b****6 文档编号:20252380 上传时间:2023-01-21 格式:DOCX 页数:13 大小:57.88KB
下载 相关 举报
计算机通信课设循环码编译码Word下载.docx_第1页
第1页 / 共13页
计算机通信课设循环码编译码Word下载.docx_第2页
第2页 / 共13页
计算机通信课设循环码编译码Word下载.docx_第3页
第3页 / 共13页
计算机通信课设循环码编译码Word下载.docx_第4页
第4页 / 共13页
计算机通信课设循环码编译码Word下载.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

计算机通信课设循环码编译码Word下载.docx

《计算机通信课设循环码编译码Word下载.docx》由会员分享,可在线阅读,更多相关《计算机通信课设循环码编译码Word下载.docx(13页珍藏版)》请在冰豆网上搜索。

计算机通信课设循环码编译码Word下载.docx

C的便利性还体现在它的仿真结果还可以存放到的工作空间里做事后处理。

方便我们修改参数对不同情况下的输出结果进行对比。

目录

第1章概述........................................................................1

第2章计算机通信与纠错码.............................................2

2.1计算机通信的概念........................................2

2.2通信的发展史简介........................................2

2.3计算机通信介绍............................................3

2.4纠错码............................................................3

2.5纠错原理.........................................................4

第3章循环码原理与介绍.................................................6

3.1循环码介绍....................................................6

3.2循环码的多项式表示.....................................6

3.3(n,k)循环码的生成多项式...............................7

3.4循环码的生成矩阵和一致校验矩阵............7

3.5循环码编码原理.............................................8

3.6循环码的译码原理.........................................9

第4章开发平台简介........................................................12

4.1C语言简介...................................................12

4.2C语言优缺点...............................................13

4.3C语言结构特点...........................................14

第5章详细编程及运行....................................................16

5.1基于C语言程序编写..................................16

5.2运行结果理论分析........................................16

5.3程序运行结果................................................17

参考文献................................................................................20

课程设计总结........................................................................21

致谢......................................................................................22

附录......................................................................................23

第1章概述

随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。

随着经济文化水平的显著提高,人们对生活质量及工作软件的要求也越来越高。

在计算机通信信息码中循环码是线性分组码的一个重要子集,是目前研究得最成熟的一类码。

它有许多特殊的代数性质,它使计算机通信以一种以数据通信形式出现,现了在计算机与计算机之间或计算机与终端设备之间进行有效的实与正确地信息传递,它使得现代通信的可靠性与有效性实现了质的飞跃。

它是现代计算机技术与通信技术飞速发展的产物,在日常生活通信领域、武器控制系统等领域都被广泛应用。

C语言是一种计算机程序设计语言。

它既具有高级语言的特点,又具有汇编语言的特点。

它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。

因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言。

本次课程设计就是用C语言实现(7,4)循环码的编译码,通过C语言平台运行所编写的程序,观察了在输入信息码情况下输出对应的编码结果以及相反的译码功能。

通过多组的对比验证了该(7,4)循环码的编译码程序的正确性。

通过程序运行有助于按所要求的纠错能力系统地构造这类码;

同时接此分析循环码检错与纠错原理与能力。

本次课程设计就是用C语言编程去实现(7,4)循环码的编码与译码,进而借助于此去分析其循环特性与纠错能力。

第2章计算机通信与纠错码

2.1.1计算机通信的概念

通信就是克服距离上的障碍,从一地向另一地传递和交换消息。

消息是信息源所产生的,是信息的物理表现,例如,语音、文字、数据、图形和图像等都是消息(Message)。

消息由模拟消息(如语音、图像等)以及数字消息(如数据、文字等)之分。

所有消息必须在转换成电信号(通常简称为信号)后才能在通信系统中传输。

所以,信号(Signal)是传输消息的手段,信号是消息的物资载体。

相应的信号可以分为模拟信号和数字信号,模拟信号的自变量可以是连续的或离散的,但幅度是连续的,如电话机、电视摄像机输出的信号就是模拟信号。

数字信号的自变量可以是连续的或离散的,但幅度是离散的,如计算机等各种数字终端设备输出的信号就是数字信号。

通信的目的是传递消息,但对受信者有用的是消息中包含的有效内容,即信息(Information)。

消息是具体的、表面的,而信息是抽象的、本质的,且消息中包含的信息的多少可以用信息量来度量。

通信技术,特别是数字通信技术近年来发展非常迅速,它的应用越来越广泛。

数字通信系统较模拟通信系统而言,具有抗干扰能力强、便于加密、易于实现集成化、便于与计算机连接等优点。

因而,数字通信更能适应对通信技术的高要求。

2.1.2通信的发展史简介

远古时代,远距离的传递消息是以书信的形式来完成的,这种通信方式明显具有传递时间长的缺点。

为了在尽量短的时间内传递尽量多的消息,人们不断地尝试所能找到的各种最新技术手段。

1837年发明的莫尔斯电磁式电报标志着电通信的开始。

之后,利用电进行通信的研究取得了长足的进步。

1866年利用海底电缆实现了跨大西洋的越洋电报通信。

1876年贝耳发明了电话,利用电信号实现了语音信号的有线传递,使信息的传递变得既迅速又准确,这标志着模拟通信的开始,由于它比电报更便于交流使用,所以直到20世纪前半叶这种采用模拟技术的电话通信技术比电报得到了更为迅速和广泛的发展。

1937年瑞威斯发明的脉冲编码调制标志数字通信的开始。

20世纪60年代以后集成电路、电子计算机的出现,使得数字通信迅速发展。

在70年代末在全球发展起来的模拟移动电话在90年代中期被数字移动电话所代替,现有的模拟电视也正在被数字电视所代替。

数字通信的高速率和大容量等各方面的优越性也使人们看到了它的发展前途。

2.1.3计算机通信介绍

计算机通信是一种以数据通信形式出现,计算机与计算机之间或计算在机与终端设备之间进行信息传递的方式。

它是现代计算机技术与通信技术相融合的产物,在军队指挥自动化系统、武器控制系统、信息处理系统、决策分析系统、情报检索系统以及办公自动化系统等领域得到了广泛应用。

计算机通信按照传输连接方式的不同,可分为直接式和间接式两种。

直接式是指将两部计算机直接相联进行通信,可以是点对点,也可以是多点通播。

间接式是指通信双方必须通过交换网络进行传输。

按照通信覆盖地域的广度,计算机通信通常分为局域式、城域式和广域式三类。

局域式是指在一局部的地域范围内(例如一个机关、学校、军营等)建立计算机通信。

局域计算机通信覆盖地区的直径在数公里以内。

城域式是指在一个城市范围内所建立的计算机通信。

城域计算机通信覆盖地区的直径在十公里到数十公里。

广域式是指在一个广泛的地域范围内所建立的计算机通信。

通信范围可以超越城市和国家,以至于全球。

广域计算机通信覆盖地区的直径一般在数十公里到数干公里乃至上万公里。

在通常情况下,计算机通信都是由多台计算机通过通信线路连接成计算机通信网进行的,这样可共享网络资源,充分发挥计算机系统的效能。

2.2.1纠错码

纠错码(errorcorrectingcode),在传输过程中发生错误后能在收端自行发现或纠正的码。

仅用来发现错误的码一般常称为检错码。

为使一种码具有检错或纠错能力,须对原码字增加多余的码元,以扩大码字之间的差别,即把原码字按某种规则变成有一定剩余度(见信源编码)的码字,并使每个码字的码之间有一定的关系。

关系的建立称为编码。

码字到达收端后,可以根据编码规则是否满足以判定有无错误。

当不能满足时,按一定规则确定错误所在位置并予以纠正。

纠错并恢复原码字的过程称为译码。

检错码与其他手段结合使用,可以纠错。

纠错编码又称信道编码,它与信源编码是信息传输的两个方面。

它们之间存在对偶的关系。

应用信道译码直接对一些自然信息进行处理,可以去掉剩余度,以达到压缩数据的目的。

为了使一种码具有检错或纠错能力,必须对原码字增加多余的码元,以扩大码字之间的差别,使一个码字在一定数目内的码元上发生错误时,不致错成另一个码字。

准确地说,即把原码字按某种规则变成有一定剩余度的码字,并使每个码字的码元间有一定的关系。

码字到达收端后,用编码时所用的规则去检验。

如果没有错误,则原规则一定满足,否则就不满足。

由此可以根据编码规则是否满足以判定有无错误。

当不能满足时,在可纠能力之内按一定的规则确定错误所在的位置,并予以纠正。

纠错并恢复原码字的过程称为译码;

码元间的关系为线性时,称为线性码;

否则称为非线性码。

检错码与其他手段结合使用,可以纠错。

检错反馈重发系统(ARQ系统)就是一例。

在构造纠错码时,将输入信息分成k位一组以进行编码。

若编出的校验位仅与本组的信息位有关,则称这样的码为分组码。

若不仅与本组的k个信息位有关,而且与前若干组的信息位有关,则称为格码。

这种码之所以称为格码,是因为用图形分析时它象篱笆或格架。

线性格码在运算时为卷积运算,所以叫卷积码。

2.2.2纠错原理

纠错码能够检错或纠错,主要是靠码字之间有较大的差别。

这可用码字之间的汉明距离d(x,y)来衡量。

它的定义为码字x与y之间的对应位取不同值的码元个数。

一种纠错码的最小距离d定义为该种码中任两个码字之间的距离的最小值。

一种码要能发现e个错误,它的最小距离d应不小于e+1。

若要能纠正t个错误,则d应不小于2t+1。

一个码字中非零码元的个数,称为此码字的汉明重量。

一种码中非零码字的重量的最小值,称为该码的最小重量。

对线性码来说,一种码的最小重量与其最小距离在数值上是相等的。

在构造线性码时,数字上是从n维空间中选一k维子空间,且使此子空间内各非零码字的重量尽可能大。

当构造循环码时,可进一步将每一码字看成一多项式,将整个码看成是多项式环中的理想,这一理想是主理想,故可由生成多项式决定;

而多项式完全可由它的根规定。

这样,就容易对码进行构造和分析。

这是BCH码等循环码构造的出发点。

一般地说,构造一种码时,均设法将它与某种代数结构相联系,以便对它进行描述,进而推导它的性质,估计它的性能和给出它的译码方法。

若一种码的码长为n,码字数为M,或信息位为h,以及最小距离为d,则可把此码记作【n,M,d】码。

若此码为线性码,常简记作(n,k)或(n,k,d)码。

人们还常用R=log2M/n表示码的信息率或简称码率,单位为比特/码元。

R越大,则每个码元所携带的信息量越大,编码效率越高。

纠错码实现中最复杂的部分是译码。

它是纠错码能否应用的关键。

根据式

(1),采用的码长n越大,则误码率越小。

但n越大,编译码设备也越复杂,且延迟也越大。

人们希望找到的译码方法是:

误码率随码长n的增加按指数规律下降;

译码的复杂程度随码长n的增加接近线性地增加;

译码的计算量则与码长n基本无关。

可惜,已经找到的码能满足这样要求的很少。

不过由于大规模集成电路的发展,既使应用比较复杂的但性能良好的码,成本也并不太高。

因此,纠错码的应用越来越广泛。

纠错码传输的都是数字信号。

这既可用硬件实现,也可用软件实现。

前者主要用各种数字电路,主要是采用大规模集成电路。

软件实现特别适合计算机通信网等场合。

因为这时可以直接利用网中的计算机进行编码和译码,不需要另加专用设备。

硬件实现的速度较高,比软件可快几个数量级。

在传信率一定的情况下,如果采用纠错码提高可靠性,要求信道的传输率增加,带宽加大。

因此,纠错码主要用于功率受限制而带宽较大的信道,如卫星、散射等系统中。

纠错码还用在一些可靠性要求较高,但设备或器件的可靠性较差,而余量较大的场合,如磁带、磁盘和半导体存储器等。

在分组码的研究中,谱分析的方法受到人们的重视。

纠同步错误码、算术码、不对称码、不等错误纠正码等,也得到较多的研究。

第3章循环码原理与介绍循环码原理与介绍

3.1循环码介绍

循环码是线性分组码的一种,所以它具有线性分组码的一般特性,此外还具有循环性。

循环码的编码和解码设备都不太复杂,且检(纠)错能力强。

它不但可以检测随机的错误,还可以检错突发的错误。

(n,k)循环码可以检测长为n-k或更短的任何突发错误,包括首尾相接突发错误。

循环码是一种无权码,循环码编排的特点是相邻两个数码之间符合卡诺图中的邻接条件,即相邻两个数码之间只有一位码元不同,码元就是组成数码的单元。

符合这个特点的有多种方案,但循环码只能是表中的那种。

循环码的优点是没有瞬时错误,因为在数码变换过程中,在速度上会有快有慢,中间经过其它一些数码形式,称它们为瞬时错误。

这在某些数字系统中是不允许的,为此希望相邻两个数码之间仅有一位码元不同,即满足邻接条件,这样就不会产生瞬时错误。

循环码就是这样一种编码,它可以在卡诺图中依次循环得到。

循环码又称格雷码(GreyCode)。

循环码最大的特点就是码字的循环特性,所谓循环特性是指:

循环码中任一许用码组经过循环移位后,所得到的码组仍然是许用码组。

若(…)为一循环码组,则(…)、(…)、……还是许用码组。

也就是说,不论是左移还是右移,也不论移多少位,仍然是许用的循环码组。

3.1.1循环码的多项式表示

设码长为n的循环码表示为(an1,an2,……ai,……a,a10)

(1)其中ai为二进制数,通常把码组中各码元当做二进制的系数,即把上式中长为n的各个分量看做多项式:

T(x)=an1xn1+an2xn2+……+ai6xni+……+a1x+a0

(2)的各项系数,则码字与码多项式一一对应,这种多项式中,x仅表示码元位置的标记,因此我们并不关心x的取值,这种多项式称为码多项式。

3.1.2(n,k)循环码的生成多项式(n,k)循环码的生成多项式写为g(x),它是(n,k)循环码码集中唯一的,幂次为n-k的码多项式,则xg(x)是一个幂次为n的码多项式。

按模(x+1)运算,此时:

knxg(x)=Q(x)+Rn(x)x+1x+1nk(3)k即xkg(x)≡R(x)且因,xkg(x)也是n阶幂,Q(x)=1.由于它是循环码,故故xg(x)按模(xn+1)运算后的“余式”也是循环码的一个码字,它必能被g(x)整除,即:

R(x)=F(x)G(x)由以上两式可以得到:

(4)xkg(x)=Q(x)(xnn+1)+R(x)k=(xn+1)+f(x)g(x)(5)和x+1=[x+f(x)]g(x)=h(x)g(x)n(6)从上式中可以看出,生成多项式g(x)应该是x+1的一个因式,即循环码多项式应该是x+1的一个n-k次因式。

3.1.3循环码的生成矩阵和一致校验矩阵nk+in对所有的i=0,1,2,……k-1,用生成多项式g(x)除x,有:

xnk+i=ai(x)g(x)+bi(x)(7)式中bi(x)是余式,表示为:

b(x)=bii,nk1xnk1+……+bi,1x+bi,0(8)因此,xnk+i+bi(x)是g(x)的倍式,即xnk+i+bi(x)是码多项式,由此得到系统形式的生成矩阵为:

710G=M00L01L0MOM0L0bbk1,nk1k2,nk1LLOLbbk1,1k2,1bbMMb0,nk1b0,1k2,0Mb0,0k1,0(9)它是一个k×

n阶的矩阵。

同样,由G×

HT=0可以得到系统形式的一致校验矩阵为:

bk1,nk1MH=bk1,1bk1,0bk2,nk1LOLLb0,nk1MMbbk2,1k2,0bb0,10,01L00MOMM0L100L01(10)如已知(7,4)循环码的生成多项式和校验多项式分别为:

g(x)=x3+x+1,h(x)=x4+x2+x+1。

写得其生成矩阵和校验矩阵分别为:

10G=00010010101101011000110001(11)1H=003.2110111011101010001(12)

3.2.1循环码编译码原理循环码编码原理

(1)有信息码构成信息多项式m(x)=k-1;

mx

k1

+……+m0其中高幂次为

8

(2)用x

nk

乘以信息多项式m(x),得到的x

m(x)最高幂次为n-1,该过

程相当于把信息吗(mk1,mk2,……,m1,m0)移位到了码字德前k个信息位,其后是r个全为零的监督位;

(3)用g(x)除x

m(x)得到余式r(x),其次数必小于g(x)的次数,即小

于(n-k),将此r(x)加于信息位后做监督位,即将r(x)于x相加,得到的多项式必为一码多项式。

m(x)

根据上面的讨论,可得到在(7,4)循环码编码的程序框图如图1所下图示:

初始化

确定余式r(x):

确定c(x):

储存c(x)图2编码程序框图

3.2.2循环码的译码原理

纠错码的译码是该编码能否得到实际应用的关键所在。

译码器往往比编码较难实现,对于纠错能力强的纠错码更复杂。

根据不同的纠错或检错目的,循环码译码器可分为用于纠错目的和用于检错目的的循环码译码器。

通常,将接收到的循环码组进行除法运算,如果除尽,则

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

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

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