Hamming码实验报告(孙鹏跃)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息论与编码基础实验报告

学院:电子科学与工程学院

队别:四院二队

专业: 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 )为误差函数。 香农编码定理仅仅是一个存在性定理,他只是告诉我们确实存在这样的好码,但并没有说明如何构造这样的码,但定理却为寻找这种码指明了方向。

Hamming 1915年2月11日生于芝加哥。1937年在芝加哥大学获得数学学士学位,1939年在内布拉斯加大学获得硕士学位,接着又于1942年在伊利诺伊大学获得博土学位,成为一名数学专家。学成以后,他留校工作两年,然后转入肯塔基州位于俄亥俄河畔的路易斯维尔大学任教,两年后来到洛斯阿拉莫斯国家实验室,参与了著名的曼哈顿计划。但在那里Hamming 也只呆了两年,就又转到贝尔实验室工作。正是在这里,Hamming 遇到了他感兴趣和能发挥他特长的课题,也有一个适宜的工作环境,因此一干就是30年(1946—1976)。

Hamming 到贝尔实验室后接受的第一个任务就是解决通信中令人头痛的误码问题。通信时发送方发出的信息在传输过程中由于信号的衰减和外界的电磁干扰,到接收方产生了畸变和失真,获得的是错误的信息。这在商业、军事等应用中都会产生严重的后果,有时简直会祸国殃民,因此迫切需要加以解决。但在相当一段时间里,这成了摆在许许多多科学家和

工程师面前的一大难题,谁也找不出解决的好办法。Hamming 接受这个任务以后,意识到通信线路质量的改善是有限度的,外界干扰是客观存在也无法绝对避免,因此这个问题不可能通过让发送的代码不出错这条途径去解决,而只能通过一旦出错如何发现、如何纠正才能解决。这使Hamming 的研究沿着正确的路线进行。经过深入探讨,1947年Hamming 终于发明了一种能纠错的编码,这种码就叫“纠错码”(error-correcting-code)或“Hamming 码”(Hamming code)。哈明码是一种冗余码,即在有效信息代码中要加入校验位,这是为纠错而必须付出的代价。其基本原理是使每一信息位参与多个不同的奇偶校验(parity check)。所谓奇偶校验是在代码中设置一个校验位,通常置于代码的最左边。若整个代码中“1”的个数为奇数认为代码正确,称为奇校验(odd check);反之,若整个代码中“1”的个数为偶数认为正确,则称为偶校验(even check)。哈明码就是有多个奇偶校验位的一种代码,在适当安排下,通过这多个奇偶校验位就可以检查出代码传送中的错误并自动纠正。一般而言,对于长度为n 位的代码,其中应包括r 个校验位,有效信息位为n-r,r 的值应满足以下公式:

2r-1≥n

Hamming 码是一种能够自动检测并纠正一重错的线性纠错码,即SEC(Single Error Correcting)码,它不仅性能好,而且编译码电路非常简单,易于实现。从20世纪50年代问世以来,在提高系统可靠性方面获得了广泛的应用。最先用于磁芯存储器,60年代初用于大型计算机,70年代在MOS 存储器中得到应用,后来在中小型计算机中普遍采用,目前常用于RFID 系统中多位错误的纠正。

设数据位数为m,校验位数为k,则总编码位数为n,n=m+k,有Hamming 不等式:

)(log 02∑=≥−t

i i n C k n 对于这个不等式可以理解为:由于n 位码长中有一位出错,可能产生n 个不正确的代码(错误位也可能发生在校验位),所以加上k 位校验后,就需要定位昭m+k(=n)个状态。用2 k 个状态中的一个状态指出“有无错”,其余2 k-1个状态便可用于错误的定位。

汉明码距指的是长度相同的两个符号序列(码字)a 和b 之间对应位置上不同码元的个数,用符号D(a,b)表示,如两个二元序列:a=101111,b=111100,则得D(a,b)=3。

有了汉明码距的概念,我们就可以用汉明码距来描述码的纠错检测能力。如果一组编码的码长为n,将这些资源全部利用上,可以对2 n 个符号进行编码,但这样一来这个编码就没有任何抗干扰能力,因为合法码字之间的最小汉明码距为1,任何一个符号的编码的任意一位发生错误,就变成了另外一个符号的编码,它也是一个合法的码字。接收端不能判断是不是有错误发生。

我们可以在2 n 个可用的码字中间选择一些码字来对信源符号进行编码,把这些码字称为合法码字,而其他没有使用的码字称为非法码字。这样合法码字之间的汉明距离就会拉开,有些合法码字发生错误后有可能变成非法码字,接收端收到这些非法码字后就可以判断出传输过程中出现了错误。码字之间的最小汉明距离越大,编码的抗干扰能力就越强。如果编码

相关文档
最新文档