二、创新实验设计
创新实验一:(7,4)汉明码的编码与译码实现
1、实验目的
实现(7,4)汉明码的编码与译码,通过这次实验不但加深了对汉明码编码 和译码原理了解,而且对线性分组码有所了解。
2、实验原理
线性分组码的构造方法比较简单、理论较为成熟,应用比较广泛。汉明码是一种能够纠正一个错码的效率比较高的线性分组码,下面以( 7,4)码为例就汉明码的编码与译码分别进行介绍:
编码原理
一般来说,若汉明码长为n,信息位数为k,则监督位数r=n-k。若希望用r 个监督位构造出 r 个监督关系式来指示一位错码的 n 种可能位置,则要求
2r ?1 ? n 或 2r
?1 ? k ? r ?1 (1)
设汉明码(n,k)中k=4,为了纠正一位错码,由式(1)可知,要求监督位
6数 r≥3。若取r=3,则 n=k+r=7。这样就构成了(7,4)码。用a
6
a a a a a a
5 4 3 2 1 0 来 表
示这 7 个码元,用
s s s
1 2 3 的值表示 3 个监督关系式中的校正子,则
s s s
1 2 3 的值与
错误码元位置的对应关系可以规定如表 1 所列。
s s
s s s
1 2 3
001
010
错码位置
a
0
a
1
a
2
a
3
s s s
1 2 3
101
110
100
111
错码位置
a
4
a
5
a
6
011
000
无错码
则由表 1 可得监督关系式:
s ? a
1 6
? a ? a ? a
5 4 2
?2?
s ? a ? a ? a
? a ?3?
2 6 5 3
s ? a
3 6
? a ? a ? a
4 3 0
?4?
6 5 4 3在发送端编码时,信息位a a a a
6 5 4 3
、、21 0监督位 a a a
、
、
2
1 0
错码,则S , S , S
1 2 3
等于 0,即
?a ? a ? a ? a ? 0
? 6 5 4 2
?a ? a ? a ? a ? 0
(5)
? 6 5 3 1
?a ? a ? a ? a ? 0
6 4 3 0
方程组(5)可等效成如下矩阵形式
?a ?
? 6 ?
?a
?
5
?1 1 1 0 1 0 0? ?a
?
? ?0?
? ? ? 4 ? ? ?
3 ? ? ??1 1 0 1 0 1 0?
3 ? ? ?
(6)
??1 0 1 1 0 0 1?? ?a ? ??0??
? 2 ?
? a ?
? 1 ?
??a
?
?
0
式(6)可简化为 HAT ? 0T ,H 为监督矩阵,则由式(6)可得到监督矩阵
H ? ?11
H ? ?1
1
0
1
0
1
0? =[P I ]
(7)
??1
0
1
1
0
0
1??
? ? r
因为生成矩阵G=[I
k
Q]=[I
k
P ],所以由(7)得生成矩阵 G 如下:
?100
?1
0
0
0
1
1
Q?
?0 1 0 0 1 1
] ? ?
k
k
?0
0
1
0
1
0
0?
G ? ?I
? [I P
??0 0 0 1 0
?
?
1?
?1 1?
?
然后利用信息位和生成矩阵 G 相乘产生整个码组,即有
A=?a a a a a a a ?? ?a a a a ?G
(8)
6 5 4
3 2 1 0
6 5 4 3
其中 A 为整个码组矩阵, a
6
a a a
5 4 3
是信息位。
根据上述原理可以得到(7,4)汉明码的整个码组。
译码与检错、纠错原理
当数字信号编码成汉明码后,由于信道噪声的存在,使得经过信道后的汉明码会发生差错,使得接收端接收到错码,因此需要多错码进行纠正,以提高通信系统的抗干扰能力及可靠性。下面分析纠错译码原理。
设 B 为接收码组,它是一行 7 列的矩阵,即 B=[b b b b b b b ],B 中可能含
1 2 3 4 5 6 7
有错码,错误图样 E ? A ? B=[e e e e e e e ] ,在 E 的表达式中,有
7 6 5 4 3 2 1
??0
?
e ?
i ?1
当b ? a 时
i i
当b ? a 时
i i
(i ? 0,1,2 ,7)
若e ? 0 ,表示该码元没错;若e
i i
? 1 ,表示该码元为错码。
由 E ? A ? B 得
A ? B ? E (9)
表示接收码组和错误图样之和等于正确码组 U,通过(9)式就可以实现
纠错。可以用标准阵来表示所有可能的2 n 个 n 元码组的接收矢量,(n,k)码的标准阵形式如下:
A A
1 2
E A ? E
2 2 2
A
3
A ? E
3 2
A
4
A ? E
4 2
A
5
A ? E
5 2
E A ? E
3
原创力文档

文档评论(0)