matlab74汉明码纠错,基于MATLAB汉明码设计与实现

实验报告书------汉明码设计与实现

汉明码编译码器系统

班级: 姓名: 学号:

一.实验原理描述

1.1汉明码编码原理

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

21r n -≥或211r

k r -≥++(1)

下面以(7,4)汉明码为例说明原理:

设汉明码(n,k )中k=4,为了纠正一位错码,由式(1)可知,要求监督位数r ≥3。若取r=3,则n=k+r=7。我们用

6543210

a a a a a a a 来表示这7个码元,用

123

s s s 的值表示3个监督关系式中的校正子,则123

s s s 的值与错误码元位置的对应关系

可以规定如表1所列。

表1 校正子和错码位置的关系

98445401f3fd086e57e526b3627eff74.png

则由表1可得监督关系式: S 1=a 6⊕a 5⊕a 4⊕a 2 (2)

S 2=a 6⊕a 5⊕a 3⊕a 1(3)

S 3=a 6⊕a 4⊕a 3⊕a 0(4) 在发送端编码时,信息位6543

a a a a 的值决定于输入信号,因此它们是随机的。

监督位

2

a 、1a 、0a 应根据信息位的取值按监督关系来确定,即监督位应使式(2)