汉明码

更新时间:2023-09-17 02:23:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要

本文主要利用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 汉明码编码程序设计 .................................................... 8 3.4 汉明码编码仿真波形 .................................................... 9 四、汉明码的译码器的设计 ...................................................... 10

4.1 汉明码译码方法 ........................................................ 10 4.2译码程序设计的流程图 ................................................... 11 4.3 汉明码译码程序的设计 ................................................. 12 4.4 汉明码译码仿真波形 ................................................... 13 五、 总结 ..................................................................... 15 六、 参考文献 ................................................................. 16 附录 .......................................................................... 17

一、前言

数字信号在传输过程中,由于受到干扰的影响,码元波形将变坏。接收端收到后可能发生错误判决。由于乘性干扰引起的码间串扰,可以采用均衡的办法来纠正。而加性干扰的影响则需要用其他办法解决。在设计数字通信系统时,应该首先从合理选择调制制度,解调方法以及发送功率等方面考虑,使加性干扰不足以影响到误码率要求。在仍不能满足要求时,就要考虑采用差错控制措施了。

从差错控制角度看,按加性干扰引起的错码分布规律不同,信道可以分为3类,即随机信道,突发信道和混合信道。在随机信道中,错码的出现是随机的,而且错码之间是统计独立的。在突发信道中,错码是成串集中出现的,而且在短促的时间段之间存在较长的无错码区间。把既存在随机错码又存在突发错码的的信道称为混合信道。对于不同类型的信道,应该采用不同的差错控制技术。

本次课程设计运用MATLAB进行汉明码的编译码设计与仿真,MATLAB通信工具箱是一套用于在通信领域进行理论研究、系统开发、分析设计和仿真的专业化工具软件包。MATIAB通信工具箱由两大部分组成:通信系统功能函数库和SIMULINK通信系统仿真模型库。 MATLAB通信系统功能函数库由七十多个函数组成,每个函数有多种选择参数、函数功能覆盖了现代通信系统的各个方面。这些函数包括:信号源产生函数、信源编码/解码函数、纠错控制编码/解码函数、调制/解调函数(基带和通带)、滤波器函数、传输信道模型函数(基带和通带)、TDMA、FDMA、CDMA函数、同步函数、工具函数等。以纠错控制编解码函数为例:函数库提供了线性分组码、汉明码、循环码、BCH码、里德一索洛蒙码(REED—SOLOMON)、卷积码等6种纠错控制编码,每种编码又有编码、解码、矢量输入输出、序列输入输出等四种形式的函数表达。

1

二、设计原理

2.1 纠错编码原理

我们把信息码分组,为每组信息码附加若干监督码的编码称为分组码(block code).在分组码中,监督码元仅监督本码组中的信息码元。分组码一般用符号(n,k)表示,其中n是码组的总位数,又称为码组的长度(码长),k是码组中信息码元的数目,n-k=r为码组中的监督码元的数目,或者称为监督位数目,分组码的结构如图1所示,图中前k位为信息位,后面附加r个监督位。其中an-1到ar为k个信息位,ar-1到a0为r个监督位。

an-1 an-2 ??? ar ar-1 ??? ao 图1 分组码的结构

在分组码中,把码组中“1”的个数称为码组的重量,简称码重。把两个码组中对应位上数字不同的位数称为码组的距离,简称为码距,码距又称为汉明距离。我们把某种编码中各个码组之间距离的最小值称为最小码距(d0)。

一种编码的最小距离的大小直接关系着这种编码的检错与纠错能力: (1)为检测e个错码,要求最小码距d0大于等于e+1; (2)为了纠正t个错码,要求最小码距d0大于等于2t+1;

(3)为纠正t个错码同时检测e个错码,要求最小码距d0大于等于e+t+1(e>t).

2.2 汉明码编码

2.2.1 汉明码的定义

若一致监督矩阵H 的列是由不全为0且互不相同的所有二进制m(m≥2的正整数)重组成,则由此H矩阵得到的线性分组码称为[2m-1,2m-1-m,3]汉明码。 2.2.2 汉明码的构造特点

1).绐定一个m,我们由二进制m 重组成线性分组码的监督矩阵H,由二进制m重来标定一个发生错误的位置。由此可知,二进制m 重共有2 种位组合,去掉一个全为0的位组合,则余下共有2m-1种位组合。故汉明码的最大码长n=2m-1。

2

2).由上面分析,我们可以知道:m 即是汉明码监督位的位数。故一个汉明码中,信息位的位数k=n—m=2-1-m

3).汉明码的距离为3,因此可以纠正1位错误,检出2位错误。 2.2.3 汉明码编码的主要算法

汉明码的编码就是如何根据信息位数k,求出纠正一个错误的监督矩阵H,然后根据H求出信息位所对应的码字。构造汉明码监督矩阵H的方法很多,这里仅介绍一种。 1)根据已知的信息位数k,从汉明不等式中求出校验位数m=n-k;

2)在每个码字C:(C1,C2,? ,C2m -1)中,用c02 ,c12 ,cn-12作为监督位,剩下的位作为信息位;

3)用二进制数字表示2m-1 列,得到2m-1列和m行监督矩阵H; 4)用3步的H形成HCT =0,从而得出m个监督方程;

5)将已知的信息代入方程组,然后求出满足上述方程组的监督位c (i=0,1,? ,m一1)。

m

2.3 汉明码的构造原理

线性分组码是一类重要的纠错码,应用很广泛。在(n,k)分组码中,若监督码元是按线性关系模2相加而得到的,则称其为线性分组码。

一般来说,若汉明码长为n,信息位数为k,则监督位数r=n-k.若希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能位置,则要求: 2r?1?n 或

2r?1?k?r?1,现在以(7,4)分组码为例来说明线性分组码的特点。设其码字为A=[a6,

a5,a4,a3,a2,a1,a0],前4位是信息元,后3位是监督元,可用下列线性方程组来描述该分组码产生监督元:

?a2?a6?a5?a4?? ?a1?a6?a5?a3

?a?a?a?a0643?? (式2.3.1) 显然,这3个方程是线性无关的。代入上述公式可得(7,4)码的全部码组,如表1所示。

表1 (7,4)汉明码的全部码组

3

本文来源:https://www.bwwdw.com/article/zjoh.html

Top