基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx

上传人:b****1 文档编号:1566095 上传时间:2023-05-01 格式:DOCX 页数:38 大小:297.47KB
下载 相关 举报
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第1页
第1页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第2页
第2页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第3页
第3页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第4页
第4页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第5页
第5页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第6页
第6页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第7页
第7页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第8页
第8页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第9页
第9页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第10页
第10页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第11页
第11页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第12页
第12页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第13页
第13页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第14页
第14页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第15页
第15页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第16页
第16页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第17页
第17页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第18页
第18页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第19页
第19页 / 共38页
基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx_第20页
第20页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx

《基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx(38页珍藏版)》请在冰点文库上搜索。

基于VHDL汉明码编译码器的设计与实现毕业论文Word文档下载推荐.docx

13

第四章 

汉明码编译系统模块设计与实现 

14

4.1 

汉明码编译原理设计 

4.2 

系统模块设计 

4.2.116位比特序列产生与分组模块 

4.2.2编码模块 

16

4.3.3加错模块 

4.3.4译码与分组模块 

17

第五章 

系统仿真、调试和结果分析 

18

5.116位序列产生与分组模块仿真 

5.1.1仿真图 

5.1.2结果分析 

19

5.2 

编码模块仿真 

5.2.1仿真图 

5.2.2结果分析 

5.3加错模块 

5.3.1仿真图 

5.3.2结果分析 

20

5.4译码与分组串行模块仿真 

5.4.2结果分析 

5.5系统仿真 

5.5.1顶层图 

5.5.3结果分析 

25

第六章 

总结 

参考文献 

26

附录程序:

28

在通信系统中,要提高信息传输的有效性,我们将信源的输出经过信源编码用较少的符号来表达信源消息,这些符号的冗余度很小,效率很高,但对噪声干扰的抵抗能力很弱。

为了提高信息传输的准确性,我们引进了差错控制技术。

而该技术采用可靠的,有效的信道编码方法来实现的。

纠错码是一种差错控制技术,目前已广泛应用于各种通信系统和计算机系统中,纠错编码主要用于数字系统的差错控制,对于保证通信、存储、媒体播放和信息转移等数字传递过程的质量有着重要意义,是通信、信息类科知识结构中不可缺少的一部分。

本文章主要研究了基于VHDL语言的(7,4)汉明码的设计。

整个设计包括四个模块:

16位序列产生和分组模块,编码模块,加错模块,译码模块。

其中加错模块是为了模拟信道干扰人为的给数据添加一位错误,然后通过MAX+plusII10.2软件进行仿真和调试,从而验证了(7,4)汉明码具有纠正一位错码的能力。

关键词:

编码 

译码 

MAX+plusII

ABSTRACT

Inthecommunicationssystem,toenhancetheeffectivenessofinformationtransmission,wewillsourcetheoutputaftersourcecodingwithfewersymbolstoexpressthesourceofthenewsletter,theredundancyofthesesymbolsisverysmall,veryefficient,butthenoiseweakresistancetointerference.Inordertoimprovetheaccuracyofinformationtransmission,weintroduceerrorcontroltechniques.Thetechnologyusesareliableandeffectivemethodofchannelcodingtoachieve.Error-correctingcodeisanerrorcontroltechniqueshavebeenwidelyusedinvariouscommunicationssystemsandcomputersystems,mainlyusedforerror-correctingcodingerrorsindigitalcontrolsystems,toensurecommunication,storage,mediaplayersanddigitaltransmissionofinformationtransferthequalityoftheprocessofgreatsignificance,isthecommunications,information-typeknowledgestructureofsubjectsanindispensablepart.

Thisarticleintroducesasystematicerror-correctingcodesindigitalsystemsintheuseanddevelopment,aswellasthebasicprinciplesoferror-correctingcodesandmeaningofcommonlyusederror-correctingcodesandclassifiedbriefings,aswellasVc++6.0,introducedthebasicknowledge,andhowVc++toachievetheapplicationofhammingcodeencoderanddecoder.

Thisarticlemainlystudythedesignofthe(7,4)HammingCodebasedontheVery-High-SpeedIntegratedCircuitHardwareDescriptionLanguage.Thedesignofhammingcodeconsistsoffourmodules:

the16Sequencegenerationandgroupingmodule,theencodingmodule,theaddingonebiterrormodule,andthedecodingmodule.thedesignoftheaddingonebiterrormoduleistosimulatechannelsinterference,affertestingandsimulation,thusprovingthatthe(7,4)Hanmmingcodehastheabilitytocorrectawrongcode.

Keywords:

encode;

decode;

绪论

1.1研究背景与选题意义

1、研究背景

移动通信的发展日新月异,其强大的魅力之所在就是它能为众提供了固话所不及的灵活、机动、高效的通信方式,非常适合信息社会发展的需要,但同时这也使移动通信系统的研究、开发和实现比有线通信系统更复杂、更困难。

实际上,移动无线信道是通信中最恶劣、最难预测的通信信道之一。

于是促进了信道编码技术的发展。

目前信道编码已经成功地应用于各种通信系统中,并且在计算机、磁记录与各种存储器中了得到日益广泛的应用。

提高数据传输效率,降低误码率是信道编码的任务。

信道编码的本质是增加通信的可靠性。

但信道编码会使有用的信息数据传输减少,信道编码的过程是在源数据码流中加插一些码元,从而达到在接收端进行判错和纠错的目的,这就是我们常常说的开销。

这就好象我们运送一批玻璃杯一样,为了保证运送途中不出现打烂玻璃杯的情况,我们通常都用一些泡沫或海棉等物将玻璃杯包装起来,这种包装使玻璃杯所占的容积变大,原来一部车能装5000各玻璃杯的,包装后就只能装4000个了,显然包装的代价使运送玻璃杯的有效个数减少了。

同样,在带宽固定的信道中,总的传送码率也是固定的,由于信道编码增加了数据量,其结果只能是以降低传送有用信息码率为代价了。

将有用比特数除以总比特数就等于编码效率了,不同的编码方式,其编码效率有所不同。

编码涉及到的内容也比较广泛,前身纠错编码(FEC)、线性分组码(汉明码、循环码)、理德-所罗门码(RS码)、FIRE码、交织码、卷积码、TCM编码、Turbo码等都是差错控制编码的研究范畴。

汉明码是由汉明于1950年提出的,具有纠正一位错误能力的线性分组码,它的突出特点是:

编译码电路简单,易于硬件实现;

用软件实现编译码算法时,软件效率高;

而且性能比较好。

2、选题意义

汉明码的编码与译码是通信领域的一个重要的研究内容。

与一般的编码相比其具有比较高效率,同时其是分组码的典型代表,是深入研究其他分组码的基础,也是研究其他非分组码(如循环码)的基础,本课题利用EDA来实现,与实际联系很大,对将来从事实际工作和相关研究具有很大帮助。

1.2研究目标与主要工作

1、研究目标

学习EDA集成开发工具(MAX+plusII)相关操作。

包括学习VHDL编程语言、方法和仿真结果的查看、处理等。

研究学习汉明码编译的原理。

2、主要工作

查阅资料,认真学习EDA开发工具(MAX+plusII),熟练掌握VHDL语言的编程思路与方法。

对系统的结构设计有了初步的思路以后,大体绘出系统的结构框图。

对系统进行设计,完成程序的编写。

在认真学习了汉明码编译的原理后,编写程序实现算法。

对程序进行调试,对系统进行计算机仿真。

对已搭建好的汉明码编译系统仿真研究,记录相应的仿真结果。

1.3论文的内容安排

第二章将介绍汉明码及汉明码编译原理。

第三章将介绍VHDL语言,以及EDA集成开发环境MAX+plusII。

第四章详细介绍了汉明码编译系统模块设计与实现。

第五章对系统仿真和调试以及最后对结果进行分析。

第六章对整个系统的设计进行总结与展望。

最后是致谢和参考文献。

汉明码及汉明码编译原理

2.1.1分组码基本原理

设有一种由3位二进制数字构成的码组,它共有8种不同的可能组合。

若将其全部用来表示天气,则可以表示8种不同天气,

例如:

“000”(晴),“001”(云),

“010”(阴),“011”(雨),

“100”(雪),“101”(霜),

“110”(雾),“111”(雹)。

其中任一码组在传输中若发生一个或多个错码,则将变成另一个信息码组。

这时,接收端将无法发现错误。

若在上述8种码组中只准许使用4种来传送天气,例如:

“000”=晴 

“011”=云 

“101”=阴 

“110”=雨

这时,虽然只能传送4种不同的天气,但是接收端却有可能发现码组中的一个错码。

例如,若“000”(晴)中错了一位,则接收码组将变成“100”或“010”或“001”。

这3种码组都是不准使用的,称为禁用码组。

接收端在收到禁用码组时,就认为发现了错码。

当发生3个错码时,“000”变成了“111”,它也是禁用码组,故这种编码也能检测3个错码。

但是这种码不能发现一个码组中的两个错码,因为发生两个错码后产生的是许用码组【1】。

上面这种编码只能检测错码,不能纠正错码。

例如,当接收码组为禁用码组“100”时,接收端将无法判断是哪一位码发生了错误,因为晴、阴、雨三者错了一位都可以变成“100”。

要能够纠正错误,还要增加多余度。

例如,若规定许用码组只有两个:

“000”(晴),“111”(雨),其他都是禁用码组,则能够检测两个以下错码,或能够纠正一个错码。

例如,当收到禁用码组“100”时,若当作仅有一个错码,则可以判断此错码发生在“1”位,从而纠正为“000”(晴)。

因为“111”(雨)发生任何一位错码时都不会变成“100”这种形式。

但是,这时若假定错码数不超过两个,则存在两种可能性:

“000”错一位和“111”错两位都可能变成“100”,因而只能检测出存在错码而无法纠正错码。

将信息码分组,为每组信息码附加若干监督码的编码称为分组码。

在分组码中,监督码元仅监督本码组中的信息码元。

信息位和监督位的关系举例如表2-1-1:

表2-1-1信息位与监督位的关系

信息位

监督位

00

01

1

10

11

分组码的一般结构如图2-1-1:

图2-1-1分组的一般结构

分组码的符号:

(n,k)

N-码组的总位数,又称为码组的长度(码长)。

k-码组中信息码元的数目。

n–k=r-码组中的监督码元数目,或称监督位数目。

2.1.2分组码的码重和码距

码重:

把码组中“1”的个数目称为码组的重量,简称码重。

码距:

把两个码组中对应位上数字不同的位数称为码组的距离,简称码距。

码距又称汉明距离。

例如,“000”=晴,“011”=云,“101”=阴,“110”=雨,4个码组之间,任意两个的距离均为2。

最小码距:

把某种编码中各个码组之间距离的最小值称为最小码距(d0)。

例如,上面的编码的最小码距d0=2。

图2-1-2三维空间

对于3位的编码组,可以在3维空间中说明码距的几何意义。

每个码组的3个码元的值(a1,a2,a3)就是此立方体各顶点的坐标。

而上述码距概念在此图中就对应于各顶点之间沿立方体各边行走的几何距离。

由图2-1-2可以直观看出,上例中4个准用码组之间的距离均为2。

一种编码的最小码距d0的大小直接关系着这种编码的检错和纠错能力,为检测e个错码,要求最小码距d0e+1。

[2]

图2-1-3汉明距离

【证】设一个码组A位于O点,如图2-1-3所示。

若码组A中发生一个错码,则我们可以认为A的位置将移动至以O点为圆心,以1为半径的圆上某点,但其位置不会超出此圆。

若码组A中发生两位错码,则其位置不会超出以O点为圆心,以2为半径的圆。

因此,只要最小码距不小于3,码组A发生两位以下错码时,不可能变成另一个准用码组,因而能检测错码的位数等于2。

同理,若一种编码的最小码距为d0,则将能检测(d0-1)个错码。

反之,若要求检测e个错码,则最小码距d0至少应不小于(e+1)。

为了纠正t个错码,要求最小码距d02t+1。

图2-1-4汉明距离

【证】图2-1-4中画出码组A和B的距离为5。

码组A或B若发生不多于两位错码,则其位置均不会超出半径为2以原位置为圆心的圆。

这两个圆是不重叠的。

判决规则为:

若接收码组落于以A为圆心的圆上就判决收到的是码组A,若落于以B为圆心的圆上就判决为码组B。

这样,就能够纠正两位错码。

若这种编码中除码组A和B外,还有许多种不同码组,但任两码组之间的码距均不小于5,则以各码组的位置为中心以2为半径画出之圆都不会互相重叠。

这样,每种码组如果发生不超过两位错码都将能被纠正。

因此,当最小码距d0=5时,能够纠正2个错码,且最多能纠正2个。

若错码达到3个,就将落入另一圆上,从而发生错判。

故一般说来,为纠正t个错码,最小码距应不小于(2t+1)。

在解释此式之前,先来分析图2.1.5所示的例子。

图2-1-5汉明距离

图2-1-5中码组A和B之间距离为5。

按照检错能力公式,最多能检测4个错码,即e=d0–1=5–1=4,按照纠错能力公式纠错时,能纠正2个错码。

但是,不能同时作到两者,因为当错码位数超过纠错能力时,该码组立即进入另一码组的圆内而被错误地“纠正”了。

例如,码组A若错了3位,就会被误认为码组B错了2位造成的结果,从而被错“纠”为B。

这就是说,检错和纠错公式不能同时成立或同时运用。

所以,为了在可以纠正t个错码的同时,能够检测e个错码,就需要像图2-1-6所示:

图2-1-6汉明距离

使某一码组(譬如码组A)发生e个错误之后所处的位置,与其他码组(譬如码组B)的纠错圆圈至少距离等于1,不然将落在该纠错圆上从而发生错误地“纠正”。

因此,由图2-1-6可以直观看出,要求最小码距这种纠错和检错结合的工作方式简称纠检结合。

这种工作方式是自动在纠错和检错之间转换的。

当错码数量少时,系统按前向纠错方式工作,以节省重发时间,提高传输效率;

当错码数量多时,系统按反馈重发方式纠错,以降低系统的总误码率。

所以,它适用于大多数时间中错码数量很少,少数时间中错码数量多的情况。

2.2汉明码编译原理

能够纠正1位错码且编码效率较高的一种线性分组码。

在偶数监督码中,由于使用了一位监督位a0,它和信息位an-1…a1一起构成一个代数式:

在接收端解码时,实际上就是在计算

若S=0,就认为无错码;

若S=1,就认为有错码。

现将上式称为监督关系式,S称为校正子。

由于校正子S只有两种取值,故它只能代表有错和无错这两种信息,而不能指出错码的位置。

若监督位增加一位,即变成两位,则能增加一个类似的监督关系式。

由于两个校正子的可能值有4中组合:

00,01,10,11,故能表示4种不同的信息。

若用其中1种组合表示无错,则其余3种组合就有可能用来指示一个错码的3种不同位置。

同理,r个监督关系式能指示1位错码的(2r–1)个可能位置。

一般来说,若码长为n,信息位数为k,则监督位数r=n-k。

如果希望用r个监督位构造出r个监督关系式来指示1位错码的n种可能位置,则要求

下面通过一个例子来说明如何具体构造这些监督关系式。

例:

设分组码(n,k)中k=4,为了纠正1位错码,由上式可知,要求监督位数r3。

若取r=3,则n=k+r=7。

我们用a6a5……a0表示这7个码元,用S1、S2和S3表示3个监督关系式中的校正子,则S1、S2和S3的值与错码位置的对应关系可以规定如表2-1-2所示:

表2-1-2校正子与错码位置的关系

S1S2S3

错码位置

001

a0

101

a4

010

a1

110

a5

100

a2

111

a6

011

a3

000

无错码

由上表中规定可见,仅当一位错码的位置在a3、a4、a5或a6时,校正子S1为1;

否则S1为零。

这就意味着a3、a4、a5和a6四个码元构成偶数监督关系:

同理,a1、a2、a5和a6构成偶数监督关系:

以及a0、a2、a4和a6构成偶数监督关系

在发送端编码时,信息位a6、a5、a4和a3的值决定于输入信号,因此它们是随机的。

监督位a2、a1和a0应根据信息位的取值按监督关系来确定,即监督位应使上三式中S1、S2和S3的值为0(表示编成的码组中应无错码):

上式经过移项运算,解出监督位

给定信息位后,可以直接按上式算出监督位,结果见表2-1-3:

表2-1-3与信息位对应的监督位

信息位a6a5a4a3

监督位a2a1a0

0000

000

1000

111

0001

011

1001

100

0010

101

1010

010

0011

110

1011

001

0100

1100

0101

1101

0110

1110

0111

1111

接收端收到每个码组后,先计算出S1、S2和S3,再查表判断错码情况。

例如,若接收码组为0000011,按上述公式计算可得:

S1=0,S2=1,S3=1。

由于S1S2S3等于011,故查表可知在a3位有1错码。

按照上述方法构造的码称为汉明码。

表中所列的(7,4)汉明码的最小码距d0=3。

因此,这种码能够纠正1个错码或检测2个错码。

由于码率k/n=(n-r)/n=1–r/n,故当n很大和r很小时,码率接近1。

可见,汉明码是一种高效码。

VHDL语言与集成环境

3.1EDA概念

20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。

在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。

这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。

这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。

【4】 

EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。

EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。

利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。

 

现在对EDA的概念或范畴用得很宽。

包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。

目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。

例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。

【3】

3.2Max+pluxII简介

Max+plusⅡ是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件的供应商之一。

Max+plusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件。

在Max+plusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。

【5】

Max+plusⅡ开发系统的特点

1、开放的界面 

Max+plusⅡ支持与Cadence,Exemplarlogic,MentorGraphics,Synplicty,

Viewlogic和其它公司所提供的EDA工具接口。

2、与结构无关 

Max+plusⅡ系统的核心Complier支持Altera公司的FLEX10K、FLEX8000、

FLEX6000、MAX9000、MAX7000、MAX5000和Classic可编程逻辑器件,提供了世界上唯一真正与结构无关的可编程逻辑设计环境。

3、完全集成化

Max+plusⅡ的设计输入、处理与较验功能全部集成在统一的开发环境下,这

样可以加快动态调试、缩短开发周期。

4、丰富的设计库 

Max+plusⅡ

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2