- 12
- 0
- 约3.52千字
- 约 9页
- 2021-07-12 发布于江苏
- 举报
精选范本
精选范本 ,供参考!
实验报告书 ------ 汉明码设计与实现
汉明码编译码器系统
班级: 姓名: 学号:
一. 实验原理描述
汉明码编码原理
一般来说,若汉明码长为 n,信息位数为 k,则监督位数 r=n-k 。若希望用 r
2r1 n 或 2r1k
2r
1 n 或 2
r
1
k
r
1 (1)
下面以( 7,4)汉明码为例说明原理:
设汉明码( n,k )中 k=4,为了纠正一位错码,由式( 1)可知,要求监督位数 r ≥3。若取 r=3, 则 n=k+r=7。我们用 a6a5a4a3a2a1a0 来表示这 7 个码元,用 s1s2 s3
的值表示 3 个监督关系式中的校正子, 则 s1 s2 s3 的值与错误码元位置的对应关系可以规定如表 1 所列。
表 1 校正子和错码位置的关系
s s s
错码位置
错码位置
1 2 3
s s s
1 2 3
001
a
101
0
a
4
010
a
1
110
a
5
100
a
2
111
a
6
无错码
011
a
3
000
则由表 1 可得监督关系式 :
(2)
(3)
⊕ (4)
在发送端编码时,信息位
a6a5a4a3 的值决定于输入信号,因此它们是随机的。
监督位a2 、a1 、a0 应根据信息位的取值按监督关系来确定, 即监督位应使式( 2)
~式( 4) 中 s1 、 s2 、 s3 的值为 0(表示编成的码组中应无错码)
(5)
(5)
式(5)经过移项运算,接触监督位
(6)
式( 5)其等价形式为:
(7)
式( 6)还可以简记为
或
(8)
其中
所以有
(9)
式( 6)等价于
(10)
其中 Q为 P 的转置,即
Q PT
(11)
式( 10)表示 , 信息位给定后,用信息位的行矩阵乘矩阵 Q就产生出监督位。我们将 Q的左边加上一个 k×k 阶单位方阵,就构成一个矩阵 G
(12)
G称为生成矩阵,因为由它可以产生整个码组,即 有
(13)
或者 (14)
式(13) 即汉明码的编码原理
汉明码纠错原理
当数字信号编码成汉明码形式(本文中即 A)后在信道中传输,由于信道中
噪声的干扰, 可能由于干扰引入差错, 使得接收端收到错码, 因此在接收端进行汉明码纠错,以提高通信系统的抗干扰能力及可靠性。
一般来说接收码组与 A 不一定相同。若设接收码组为一 n 列的行矩阵 B,即
(15)
则发送码组和接收码组之差为
(16)
E就是传输中产生的错码行矩阵
(17)
若 ei =0,表示接收码元无错误,若 ei =1,则表示该接收码元有错。式( 16) 可改写成
(18)
若 E=0,即接收码组无错 , 则 B A E A,将它代人式( 8),该是仍成立,即有
(19)
当接收码组有错时, E≠0,将 B 带入式( 8)后,该式不一定成立。在未超过检错能力时,式( 19)不成立。假设此时式( 19)的右端为
S, 即
(20)
将 代入式( 20),可得
由式( 8)可知,所以
(21)
此处 S 与前面的
s1s2 s3 有着一一对应关系,则 S能代表错码位置。
因此,纠错原理即,接收端收到码组后按式( 20)计算出 S, 再根据表 1 判断
错码情况,进行差错纠正。
二. 实验仪器
通信原理综合实验系统一台
电脑-MATlab 一台
三. 实验目的
熟悉掌握汉明码的原理与实现
观察了解汉明距离的作用
通过已经知道的汉明码监督方程为传输的编码进行纠错也验证
四. 实验内容
汉明码编码规则
汉明码是 1950 年由美国贝尔实验室提出来的, 是第一个设计用来纠正一位误码的线性分组码, 汉明码及其变型已广泛应用于数字通信和数据存储系统中作为差错控制码。
汉明码的原始设计思想来自于前面讨论的奇偶监督码。通过一个例子来说明如何具体构造这些监督关系式。
设分组码 (n,k) 中 k = 4。为了纠正一位错码,按汉明不等式可得 r ≥ 3,
若取 r =3 ,则 n = k +r =7 。我们用
a6 a5 a4 a3 a2 a1 a0 a 2= a6 ⊕ a5 ⊕ a4
a 1= a6 ⊕ a5 ⊕ a3
a 0= a6 ⊕ a4 ⊕ a3
编码的检验与纠错
用 S1,S2, S3 表示三个监督关系式式中的校正子, 监督方程为:
S1 = a6 ⊕ a5 ⊕ a4 ⊕ a2
S2 = a6 ⊕ a5 ⊕ a3 ⊕ a1
S3 = a6 ⊕ a4 ⊕ a3 ⊕ a0
则 S1,S2, S3 的值与错码位置的对应关系可以规定如下表:
五. 实验要求
编写 7 位汉明码的程序,输出汉明码
function f=hammingencod(a)
G=[1 0 0 0 1 1 1;0 1 0 0 1 1 0;0 0 1 0 1 0
原创力文档

文档评论(0)