汉明码论文
【doc】Hamming码编译码的算法及其实现

Hamming码编译码的算法及其实现总第64期海军工程太学电子工程学院HAIJUNGONGCHENGDAXUEDIANZIGONGCHENGXUEYUANXUEBAO27 Hamming码编译码的算法及其实现胡贵生王珍(海军工程大学电子工程学院,南京2¨800)摘要本文结出了一种Hamming码编译码的算法.本算法已在[利用超短波电台进行数据传辅]项目中得到应用关键诃Hamming码编译码算法TheAlgorithmandRealizationoftheCodingandDecodingofHammingCode Guisheng,WangZhen(ElectronicsEngineer[ragCollege,NavalUniversityofEngineering,Naniing,211800) Abatr~ct:ThispaperprovidesatypeofalgorithmforthecodinganddecodingofHammingCo de.TbisaJgoritbm hasbeeappliedintheresearchprojectDataTransmissionthroughvHF.Ke3noo~s:Hammingcode,codee,algorithm1.引言当今信息社会,信息的传输,信息的存储和信息的交换随时都在我们周围进行着.如何保证信息的可靠传输和可靠存储,已越来越引起人们的重视采用纠错编码技术,已从多方面被证实是一种提高信息传输可靠性的关键技术.1.1通信系统模型:无论在何种类型的计算机系统,数据存储和数据通信系统中,各部件或子系统,通信收发之间的数据交换处理,数据存储器中数据的读写,都可以用下图所示的通信系统模型表示其中信源:数据传输过程中数据的出发地.在计算机系统中,一般由k位二进制信息构成一个信息组MM=(mk—l,mk_¨,……,ml,m0)纠错编码:信息组M经过纠错编码后,被按一定规律附加上n—k位的校验信息,成为一组长为n位的编码码组CC一(cn一1,c一2,……,cI,Co)信道:编码码组C从发送端出发经过信道到达接收端.噪声或干扰:由于部件缺陷或系统故障等各种原因所引起的数据错误,都可等效为由于信道上的噪声或干扰所造成的错误序列E对编码码组C作用的结果E一(e~e,……,e1,e.)因此,编码码组C经过信道后到达接收端时已变成了R—C+ER一(rr一2,……rr.),rl—c.+e纠错译码:利用发送端所加的校验元和信息元之间的约束关系,对接收到的R进行纠错译码,恢复出k收藕日期2O0O—l2—2O28Hamming码编译码的算法厦其实现益第64期个信息元M.M一般等于M,但如果R中错误很多,已超出了纠错码的纠错能力,则M不等于M.信宿:数据传输过程中数据的目的地.1.2系统要求:通信系统模型中信道部分容许的传输速率必须比系统要求的信息传输速率高.这是采用纠错编码技术提高信息传输可靠性所必须具备的条件.2.Hamming码的定义Hamming码中文称作汉明码.汉明码是由汉明于1950年提出的,具有纠正一位错误能力的线性分组码它的突出特点是:编译码电路简单,易于硬件实现;用软件实现编译码算法时,软件效率高;而且性能比较好21汉明码的定义:若一致校验矩阵H的列是由不全为0且互不相同的所有二进制m(m≥2的正整数)重组成,则由此H矩阵得到的线性分组码称为有限城GF(2)上的[2一1+2一1一m,3]汉明码.2.2汉明码的构造特点:1.绐定一个m,在有限域GF(2)上,我们由二进制m重组成线性分组码的校验矩阵H,由二进制m重来标定一个发生错误的位置.由此可知,二进制m重共有2种位组合,去掉一个全为0的位组合,则余下共有2一1种位组合.故,汉明码的最大码长n=2一l.2.由上面分析,我们可以知道:m即是汉明码校验位的位数.故一个汉明码中,信息位的位数k—n—m=2一1一m3.汉明码的距离一3,因此可以纠正一位错误,发现两位错误.3.Hamming码编译码算法的实现1.在本系统具体实现时,取m=4,即在一个编码的码字中包含4位校验位,则汉明码的码长:nK2一1=15码字中有效信息的位数:k=n—m≤l5—4—11结合计算机信息存储与信息处理的特点,我们取码字中有效信息位的位数k=8,即在一个编码的码字中.实际传送有效信息的长度为一个字节2.综上所述,我们采用如下的汉明码编码结构:信息位位数:k一8位校验位位数:m一4位码长:n:k+m一12位00001001一[PIj阵OlOn矩lO00.o矩OO验0ll0校致0;一1OO1的式l0lnl};统n¨●系=H2001总第64新海军工程大学电子工程学院HAIJUNGONGCHENGDAXUEDtANZrGONGCHENGXUEYUANXUEBAo29相应的系统码形式的生成矩阵G矩阵G4.汉明码的编码已知M=(m,IT*……,IT*,mo)是由k位有效信息组成的信息组,则汉明码编码码宇c 由下式求出C—M?O例如:已知M=(0011101O),则汉明码编码的码字C—M—G一(001110100001)注:这里的所有运算均为定义在有限域GF(2)上的运算.汉明码的编码过程就是:从信源取出由k位有效信息组成的信息组M,进行M?G 的编码运算,产生n位已编码的信息即码字C,即可提交给信道发向信宿.5.汉明码的译码(1)由线性分组码理论可知,线性分组码的每一码字c都必须满足下式:C—H一0(2)因此,设接收端收到的N重码宇为R=(,_I'……,r1,)R=C——E,.一f+P.,,0,P.∈GF(2)则有R?H一(C+E)?H一C?+E?=E?H得出结论:若E一0则R?H一0若E≠O则R?H≠O即;R?H仅与错误图样有关,而与发送的是什么码竽无关(3)令S=R?H一E?H称S为对应于E的伴随式或称为校正子(4)本系统的校正子s一错误图样E对照表如下校正子S位图错误图样E位图0000000000000000000100000000000100100000000000100Oll0000000l00000100000000000100O10100000010000001100000010000000111000010000000l00000000000100010010001000000000l0llOl1O11O1101】000lllOllll0000OOO0O001OOOO00l000000lO00O0olO000OO1OO000o1oOO00O1O00000】OO0000O3OHamming码编译码舶算j击厦其实现总第64期(5)汉明码检错/纠错性能分析例一假设:已编码的码字为c一001110]00001B=3AlH经过信道的传输后,在接收端收到的码字为R=001l10110001B=3BIH即经过信道的传输,码字的bit4由0变成了l译码步骤如下:I计算:S—R?H一001lⅡ查S—E对照表可知E=000000010000BⅢ计算:R@E=001]10]l0001B0000000010000B一001]10100001B=3AlHⅣ结论:对于由于信道传输而5i起的Bit4的错误,汉明码可以对其进行成功的纠正.例二假设:已编码的码字为C一001110100001B=3AIH经过信道的传输后,在接收端收到的码字为R一00]l10100l11B=3A7H即经过信道的传输,码字的bit2由0变成了l,Bitl由0变成了l译码步骤如下:I计算:S=R?H一0110Ⅱ查S—E对照表可知E=0000O1000000BⅡ计算:R0E一001110100111B0000001000000B一001lII10011IB=3E7HⅣ结论:对于由于信道传输而引起的bit2,bitl两位的错误,计算结果表明:汉明码没有将错误纠正过来,发进的码字是3AIH,接收端译码后的码字为3E7H.这是由于错误的程度已经超出了汉明码的纠错能力,汉明码仅能纠正一位错误. 由S=011050可知,汉明码检测到了错误,但汉明码没有能力纠正这种错误.4.结束语本文在介绍了Hamming码定义的基础上,结出了一种Hamming码编译码的算法,本算法已在[利用超短波电台进行数据传输]项目中得到应用.实践证明:该算法对于由信道传输引起的差错具有很好的纠正作用,能够有效降低信道的误码率,从而提高传输的可靠性和传输效率.参考文献1.王新梅编着纠错码与差错控制人民邮电出版社,19892吴怕修.祝宗泰,钱霖君编信息论与编码东南大学出版社.19913[美]R.E.B]ahut着徐秉铮欧阳景正冯贵良译差错控制码的理论与实践华南理工大学出版社.19884.万哲先编着代数和编码科学出版社.1980墨。
汉明码——精选推荐

汉明码摘要本⽂主要利⽤MATLAB通信系统仿真模型库进⾏汉明码建模仿真,并调⽤通信系统功能函数对外界输⼊的信息进⾏汉明码的编、译码,绘制时域波形及误码率与信噪⽐关系曲线图。
在此基础上,对汉明码的性能进⾏分析,得出汉明码能降低噪声⼲扰的结论。
Hamming码中⽂称作汉明码。
汉明码是由汉明于1950年提出的,是⼀种能够⾃动检测并纠正⼀位错码的线性纠错码, 它的突出特点是:编译码电路简单,易于硬件实现;⽤软件实现编译码算法时,软件效率⾼;⽽且性能⽐较好.关键词:MATLAB 汉明码编码译码⽬录⼀、前⾔ (1)⼆、设计原理 (2)2.1 纠错编码原理 (2)2.2 汉明码编码 (2)2.2.1 汉明码的定义 (2)2.2.2 汉明码的构造特点 (2)2.2.3 汉明码编码的主要算法 (3)2.3 汉明码的构造原理 (3)2.4 监督矩阵H (4)2.5 ⽣成矩阵G (5)2.6 校正⼦(伴随式) (6)三、汉明码编码的设计 (7)3.1 汉明码编码⽅法 (7)3.2 编码流程图 (8)3.3 汉明码编码程序设计 (9)3.4 汉明码编码仿真波形 (9)四、汉明码的译码器的设计 (10)4.1 汉明码译码⽅法 (10)4.2译码程序设计的流程图 (12)4.3 汉明码译码程序的设计 (14)4.4 汉明码译码仿真波形 (15)五、总结 (16)六、参考⽂献 (17)附录 (18)⼀、前⾔数字信号在传输过程中,由于受到⼲扰的影响,码元波形将变坏。
接收端收到后可能发⽣错误判决。
由于乘性⼲扰引起的码间串扰,可以采⽤均衡的办法来纠正。
⽽加性⼲扰的影响则需要⽤其他办法解决。
在设计数字通信系统时,应该⾸先从合理选择调制制度,解调⽅法以及发送功率等⽅⾯考虑,使加性⼲扰不⾜以影响到误码率要求。
在仍不能满⾜要求时,就要考虑采⽤差错控制措施了。
从差错控制⾓度看,按加性⼲扰引起的错码分布规律不同,信道可以分为3类,即随机信道,突发信道和混合信道。
汉明码的改进及在存储器中的实现

件 下的 应用 。
大 。为保证 数据 的正确性 ,仅仅依赖 器件和 设备 的 可 靠性运 算是不可 行的 。为 了纠正数 据在 传输过程
中 出现 的错 误 ,往 往在 信息、 中加 入 某种 冗余 代码 ,
2 普 通 汉 明码 的编 译 原 理
汉 明码是 1 5 年 由汉 明 ( a 90 H mmig n )提出的纠
i es e i cbt, n en mb ro o eai nma er d c dwh n i Sc dn , n a c m e t h e fr a c nt p cf i a dt u e f p rto y b e u e e ’ o ig e h n e n ep rom n e h i s h t t o yse . rr d cngt e wa t fs se s w eo tm iet ro ee to n o e to ic i wh n fs t m Fo e u i h se o y tm , p i z hee rd tc i n a d c r c in c r ut e r aie e o y wh c ic i o o i ga d d c dn a eus di o e lz d i m m r , ihcr u t fc d n n e o igc n b e nc mm o . i r u p isag o n n Th swo k s p le o d b s o ed sg flr es aem e o . a ef r h e i no g c l m r t a y K e r s h m m igc d ; mo ; o rci ncr ut ywo d : a n o e me r c re to ic i y
汉明码纠错原理范文

汉明码纠错原理范文汉明码(Hamming Code)是一种能够实现错误检测和纠正的编码技术。
它是由美国数学家Richard Hamming在20世纪50年代提出的,广泛应用于计算机领域。
汉明码是基于的一种错误检测和纠正原理,称为汉明距离(Hamming Distance)。
汉明距离指的是两个等长字符串之间对应位置上不同字符的个数。
例如,字符串0101和0111之间的汉明距离为1汉明码的基本思想是通过在编码过程中添加冗余位(也称为校验位)来检测和纠正错误。
冗余位的数量和位置是根据汉明距离的原理来决定的。
通常情况下,n位信息可以通过添加r位冗余位来形成一个(n+r)位的汉明码。
在编码过程中,汉明码通过在确定的位置插入冗余位来记录校验信息。
冗余位的位置以2的幂次为间隔排列,例如,第1、2、4、8、。
位。
这些位置上的位用来记录校验信息。
每个冗余位的值都是根据一定的计算得到的,以确保所生成的汉明码的汉明距离至少为2在错误检测过程中,接收方通过比较发送方发送的汉明码和接收到的汉明码来检测是否有错误。
如果接收到的汉明码和发送的汉明码在校验位处有不一致的地方,说明至少有一个错误发生。
通过检查错误位置上的冗余位的值,可以确定错误的位置。
在错误纠正过程中,接收方除了能够检测出错误的位置,还能够根据冗余位的值来纠正错误。
例如,如果接收到的汉明码在第1个冗余位处有错误,那么接收方会将第1个冗余位的值进行反转,从而纠正错误。
汉明码的纠错能力取决于添加的冗余位的数量。
通常情况下,如果添加了r位冗余位,那么汉明码能够纠正r-1位的错误,并检测出r位的错误。
这意味着,如果出现超过r位的错误,汉明码就无法纠正了。
总结起来,汉明码通过添加冗余位的方式实现了错误检测和纠正。
它的基本原理是通过比较发送方发送的汉明码和接收到的汉明码来检测错误,并利用冗余位的值来纠正错误。
汉明码在信息传输中有着重要的应用,特别是在存储介质和通信链路等环境中,能够提高数据的可靠性和一致性。
汉明码的优化设计

S1S2S3S4 =奇数
Y 有1位错,纠错
输出信息位
(8 ,4)汉明码译码算法流程图
HAMDEC
HAMIN[0...7]
HAMIN[0...7]
DATAOUT[0...3] SEC DED NE
DATAOUT[0...3] SEC DED NE
0
汉明译码功能模块
Hamden_de B[0...3] SEC DED NE 0 B[0...3] SEC DED NE
汉明码的纠错性能分析及设计方案
备份行(或列)方案
在存储芯片的设计与制造过程中增加若干备份的 行(或列) 。在芯片测试时,若发现失效的行(或列) ,则通 过激光(或电学)的处理,用备份行(或列)去代替。优点是 设计简单,管芯面积增加较少,电路速度没有损失。
纠错编码方案
在存储芯片内部采用纠错编码,自动检测并纠正 错误。不需要额外的测试和纠正错误等工艺环节,除 提高成品率外,还对可靠性有明显改进。优点是特别 适合ROM,在对速度要求不高的情况下也可用于RAM。
汉明码的编码原理
编码步骤: (1) 确定最小的监督位数; (2) 原有信息和监督位一起编成新码字, 选择监督 位以满足必要的奇偶条件; (3) 对所接收的信息作所需的奇偶检查; (4) 如果所有的奇偶检查结果均为正确的, 则认为 信息无错误;如果发现有一个或多个错了, 则 错误的位由这些检查的结果来唯一地确定。
二元(7,4)汉明码的编译码分析与实验研究

设计(论文)题目:二元(7,4)汉明码的编译码分析与实验研究摘要汉明码(Hamming Code)在电信领域内属于线性分组码,或者可以称为线性调试码。
它是以发明者理查德·卫斯里·汉明的名字命名的。
汉明码在传输信息序列时插入校验码,当计算机存储或传输数据时,或者在信道传输的过程中,可能会产生误码,即信息错位,以检测并纠正一个比特错误。
由于汉明编码简单,它们被广泛应用于实际传输中。
本文主要涉及二元(7,4)汉明码的编码、译码及实现,以及信息论与编码的相关知识。
对于二元(7,4)汉明码C,其校验矩阵为H,汉明距离d(C)=3的充要条件是校验矩阵H的任意2个列矢量线性无关,且任意3个列向量是线性相关。
监督矩阵H生成的码是(7,4,3)码。
所以接下来问题是构建监督矩阵H和生成矩阵G,找出编码器和译码器输入和输出对应的逻辑关系,画出汉明码的编码电路图和译码电路图,通过VHDL语言实现汉明码的编码过程和译码过程,观察仿真波形,来观察实验结果。
关键字:二元(7,4)汉明码;生成矩阵;监督矩阵;编码;译码;AbstractHamming code field belongs to the linear block codes in the telecommunications, or you could be called linear debugging code. It is the inventor, Richard Wesley Hamming named after. Hamming code inserted into the check code in information transmission sequence, when the computer refers for data storage,or in the process of channel transmission. it may produce error, namely the informational burst-error, and Hamming Code could detect and correct errors one bit. Due to its simple hamming coding, they are widely used in the actual transmission.This paper mainly relates to binary (7, 4) hamming code about coding, decoding and realization, as well as the related knowledge of Information Theory and Coding. For binary (7, 4) hamming code called C, its supervision matrix of the H, hamming distance d (C) = 3 of any two of the sufficient and necessary condition is checking matrix H column vector linearly independent, and arbitrary three column vector is linearly dependent. Supervision of matrix H generated code is (7, 3) code. So the next problem is to build the generator matrix G and supervision matrix H, generate the encoder and decoder ,inputs and outputs corresponding logical relationship, as well as,draw the circuit diagram of hamming code encoding and decoding circuit diagram, using VHDL language realization of hamming code encoding and decoding process, observing the simulation waveform and the result of the experiment.Keywords:binary (7, 4) hamming code ;generator matrix;supervision matrix;encoding ;decoding ;引言汉明码是最早提出来的用于纠错的编码,它是一类可以纠正一位错误的高效的线性分组码。
Hamming码实验报告(孙鹏跃)

信息论与编码基础实验报告学院:电子科学与工程学院队别:四院二队专业: 2006级通信工程专业姓名:孙鹏跃学号: 200604015002国防科学技术大学电子科学与工程学院实验三 汉明码编译码一、【设计思想】1948年,Bell 实验室的C.E.Shannon 发表的《通信的数学理论》,是关于现代信息理论的奠基性论文,它的发表标志着信息与编码理论这一学科的创立。
Shannon 在该文中指出,任何一个通信信道都有确定的信道容量C,如果通信系统所要求的传输速率R 小于C,则存在一种编码方法,当码长n 充分大并应用最大似然译码(MLD ,MaximumLikelihoodDecdoding)时,信息的错误概率可以达到任意小。
从Shannon 信道编码定理可知,随着分组码的码长n 或卷积码的约束长度N 的增加,系统可以取得更好的性能(即更大的保护能力或编码增益),而译码的最优算法是MLD,MLD 算法的复杂性随n 或N 的增加呈指数增加,因此当n 或N 较大时,MLD 在物理上是不可实现的。
因此,构造物理可实现编码方案及寻找有效译码算法一直是,信道编码理论与技术研究的中心任务。
信息传输的可靠性是所有通信系统努力追求的首要目标。
要实现高可靠性的传输,可采用诸如增大发射功率、增加信道带宽、提高天线增益等传统方法,但这些方法往往难度比较大,有些场合甚至无法实现。
而香农信息论指出:对信息序列进行适当的编码后可以提高信道传输的可靠性,这种编码即是信道编码。
信道编码是在著名的信道编码定理指导下发展起来的,几十年来已取得了丰硕的成果。
现将信道编码定理简述如下:每一个信道都具有确定的信道容量C,对于任何小于C 的信息传输速率R,总存在一个码长为n,码率等于R 的分组码,若采用最大似然译码,则其译码错误概率Pe 满足: )(R nE E Ae P −≤其中A 为常数,E(R )为误差函数。
香农编码定理仅仅是一个存在性定理,他只是告诉我们确实存在这样的好码,但并没有说明如何构造这样的码,但定理却为寻找这种码指明了方向。
汉明码校验方法分析

《 计算机组成原理》 是计算 机科学与技术专业 的一 门专业必修 ( 3 ) 第C 组成 员从4 开始 , 以相邻 元素个 数4 为单 位 , 间 隔为 课。 存储器 是构成计 算机的主要部件之一 , 要确保数据是否存储 正 2 * 3 = 8 的规 律 增 长 变 化 I 确, 需要 采用一种校验 技术来进行验证 , 汉明码就是具有一位 纠错 ( 4 ) 第C 组成 员从8 开始 , 以相邻 元素个 数8 为 单位 , 间 隔为 能力的校验 技术 , 通常用在 网络通信方面 , 也作为存储器校验 的方 2 . 4 = 1 6 的规律增 长变化 。 法。 对于该方法的学 习, 学生普遍 反应 比较难掌握 , 尤其是对 于检 测 因此 , 对于任意一组 C , 其构成成 员从i 开始 , 以相邻元素个数i 小组成员的构成 , 需要采用何种方式来掌握 , 成为一个热点 问题 。 文 为单位 , 间隔为2 . i 的规律 增长变化 。 2 . 2因子 分析 法 中提 出一种 因子 分析 法 , 对检测小组成员进行分析 , 推 出一 种便 于 学 生 理 解 和 掌 握 的方 法 来 学 习 本 知 识 点 。 按照规律分析 的方式可以对每组成员的构成进行记忆 , 但是部 分同学在记忆的时候也容易出现差错 。 因此, 针对这个 问题 , 文中提 1汉明码 的组成 出了一种 因子分析法来增强这部分知识点的掌握 。 该方法采用逆 向 汉明码是 由n 位信息位和k 位检测位构成 的一种编码形式 。 因此 思维的方式来分析每组成员需要 哪些位来 进行 检测。 比如 , 对于某 对于汉明码 的组成 , 主要包括三个主要 因素 : 检测位 的位数 、 检测位 个 班级 ( 信息位 ) “ 2 0 1 2 级计算机2 班” 所开设 的课程有多 门, 而对于 的位置 和检 测位 的取 值 。 这多 门课程( 检 测位) 则分别 由不 同的教师任教 。 该方法 只对 信息位 1 . 1检 测 位 位 数 的 确 定 进行分析 , 检测位不做分析。 具体 的分 析方法如下 : 为了能够准确对错误 定位及指 出编码 没错 , 新增的检测位位数 对于 成员3 而言 , 可 以分解为3 == 2 0 + 2 =l + 2 ; 需要 满足 : 2 — 1 ≥n + k 。 对于 成员5 而言 , 可 以分解为5 = = 2 0 + 2 :1 + 4 ; 1 . 2检 测 位 位 置 的 确 定 对于 成员6 而言 , 可 以分 解为6 = = 2 + 2 = 2 + 4 ; 对n + k 位 的 汉 明码 子 左 至 右 进 行 编号 1 , 2 , 3 , …, n — , 检测位C : 对于成员7 而言 , 可 以分解为7 = = 2 。 + 2 +2 2 : l + 2 + 4 ; ( i -I , 2 , 4 , 8 , …) 则设置在1 , 2 , 4 , 8 , …, 2 k - 1 位。 这样设置 的 目的是 为 了保证它们能分别承担n + k 位信息中不 同数位所组成的“ 小组 ” 的奇 通过上述分析可以看出, 对于任何一个信息位都可 以进行 因子 偶检测任务 。 分解 , 而构 成 该 信 息 位 的 因子 必 须 是 2 的整 数 次 幂 , 这 些2 也就是对
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于C51的汉明码编码器和译码器的设计摘要:数字信号在传输过程中,由于受到干扰的影响,码元波形将变坏。
接收端收到后可能发生错误判决。
由乘性干扰引起的码间串扰,可以采用均衡的办法纠正,而加性干扰的影响可以采用差错控制的措施了。
汉明码就是一种能纠正一位错码且编码效率较高的线性分组码,它能纠正一个错码或检测两个错码。
关键词:汉明码,编码,译码,C51Abstract: The digital signal during transmission, due to the impact of interference, the symbol waveform deterioration. Receiver may receive an error after the verdict. By a multiplicative inter-symbol interference caused by crosstalk, a balanced approach can be used to correct, and the additive effects of interference can be used for error control measures. Hamming code is a code to correct a wrong and a higher coding efficiency of linear block codes that can correct a wrong code or wrong code detection two.Keywords: Hamming code, coding, decoding, C51 language目录1绪论............................................................................................................................................. - 3 -1.1问题的背景及提出 (3)1.2问题的研究及解决 (3)1.3设计研究的目的 (4)2KEIL及PROTEUS简介......................................................................................................... - 4 -2.1P ROTEUS的简介 (4)2.2K EIL软件及其调试功能简介 (5)2.3软件连接使用 (6)3(15,11)汉明码的原理 ................................................................................................................. - 8 -3.1基本概念 .. (8)3.2监督矩阵H (9)3.3生成矩阵G (10)3.4伴随式(校正子)S (11)4(15,11)汉明码编解码器的设计 ............................................................................................... - 12 -4.1(15,11)汉明码的编码思路 (12)4.2(15,11)汉明码的编码程序设计 (13)5(15,11)汉明码的译码思路及程序设计 ................................................................................... - 17 -5.1(15,11)汉明码的译码思路 (17)5.2(15,11)汉明码的译码程序设计 (19)6编译程序的调试及仿真........................................................................................................... - 21 -6.1系统仿真电路设计 .. (21)6.1.1系统电路框图 .......................................................................................................... - 21 -6.1.2显示电路设计 .......................................................................................................... - 21 -6.1.3键盘电路设计 .......................................................................................................... - 22 -6.1.4整机设计.................................................................................................................. - 23 -6.2仿真分析 (23)6.2.1仿真流程图.............................................................................................................. - 23 -6.2.2调试过程.................................................................................................................. - 24 -7致谢........................................................................................................................................... - 25 -8参考文献................................................................................................................................... - 25 -9附录........................................................................................................................................... - 26 -附录一:整机原理图 (26)附录二:仿真效果图 (26)1绪论1.1 问题的背景及提出近年来,对高效可靠的数字传输和存储系统的需求日益增长。
这种需求随着在商业、政府和军事领域面向数字信息的交换、处理和存储的大规模高速数据网的出现而变得更加迫切。
通信系统得主要质量指标是通信的有效性和可靠性。
在有噪声和损失存在的信道中,输入符号与接收符号不能一一对应,传输错误和判断错误的情况总会存在。
可靠数字传输系统的设计要求通信与计算机技术的融合,系统设计者所关心的一个主要问题就是如何控制差错以使得数据能够可靠重现。
在数字通信系统中,编码器分为两大类:一类是信源编码,另一类是信道编码。
信源编码的目的是解决通信的有效性问题。
信道编码的目的是解决通信可靠性问题。
采用信道编码后,在信息码后增加了监督位,这样就可以增加了码元之间的相互关联,在接收端根据相应的译码规则,就能够察觉传输中有无误码,甚至能自动纠正错误。
我们把建立在代数学基础上的编码称为代数码。
在代数码中,常见的是线性码。
在线性码中信息位和监督位是由一些线性代数方程联系着的。
增加了冗余,必然降低了传输效率,却赢得了提高可靠性的好处。
那么为了纠正一位错码,在分组码中最少要增加多少监督位才行呢?编码效率能否提高呢?从这种思想出发进行研究,便导致汉明码的诞生。
汉明码是一种能够纠正一位错码且编码效率较高的线性分组码。
那么怎么实现汉明码的编码与译码呢?本文将介绍基于C语言的汉明码的编码与译码系统,实现汉明码的编码与译码,从而实现传输的差错控制。
1.2 问题的研究及解决本设计研究基于C语言的汉明码的编码与译码系统。
根据汉明码的构成原理,我们需在信息位的后面加上监督位来监督码组中出现错码的位置,这样就方便在接收端对接收到的码组进行纠错以便得到正确的信息位,达到可靠的通信。
在本设计中,我们采用m序列循环产生预编码信号,经过汉明码编码系统产生带监督位的线性分组码。
发送这些码组,经过信道后这些码组由于受到干扰的影响,某些码元波形会变坏,在接收端经过汉明码译码系统来检验错码及纠正错码,它能纠正一个错码或者检测两个错码。
经过译码系统的检错与纠错,接收端就可以接收到正确的码组。
1.3 设计研究的目的通过运用proteus软件仿真对汉明码的编码译码有更深入的了解和认识,掌握汉明码的构造原理,了解汉明码在实际生活中的应用,掌握差错控制的基本方法,即在发送端的信息码元序列中,以某种确定的编码规则加入一些码元(称为监督码元),使信息序列与监督码元之间具有某种相关性。
在不断学习新的知识以及归纳复习老知识的同时,加强自身对通信系统设计的能力。
2Keil及Proteus简介2.1 Proteus的简介Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件[9]。
它运行于Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。
目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。