matlab(7-4)汉明码和(7-4)循环码的编程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、创新实验设计
创新实验一:(7,4)汉明码的编码与译码实现
1、实验目的
实现(7,4)汉明码的编码与译码,通过这次实验不但加深了对汉明码编码和译码原理了解,而且对线性分组码有所了解。
2、实验原理
线性分组码的构造方法比较简单、理论较为成熟,应用比较广泛。汉明码是一种能够纠正一个错码的效率比较高的线性分组码,下面以(7,4)码为例就汉明码的编码与译码分别进行介绍:
(1)编码原理
一般来说,若汉明码长为n ,信息位数为k ,则监督位数r=n-k 。若希望用r 个监督位构造出r 个监督关系式来指示一位错码的n 种可能位置,则要求
21r n -≥或211r
k r -≥++ (1)
设汉明码(n,k )中k=4,为了纠正一位错码,由式(1)可知,要求监督位数r ≥3。若取r=3,则n=k+r=7。这样就构成了(7,4)码。用6543210
a a a a a a a 来表
示这7个码元,用
123
s s s 的值表示3个监督关系式中的校正子,则
123
s s s 的值与
错误码元位置的对应关系可以规定如表1所列。
表2.1 校正子和错码位置的关系
则由表1可得监督关系式:
16542
s a a a a =⊕⊕⊕
()2
26531s a a a a =⊕⊕⊕
()3 36430s a a a a =⊕⊕⊕
()4 在发送端编码时,信息位6543
a a a a 的值决定于输入信号,因此它们是随机的。
监督位
2
a 、
1
a 、
a 应根据信息位的取值按监督关系来确定,为使所编的码中无
错码,则123,,S S S 等于0,即
654265316
43000(5)0
a a a a a a a a a a a a ⊕⊕⊕=⎧⎪
⊕⊕⊕=⎨⎪⊕⊕⊕=⎩
方程组(5)可等效成如下矩阵形式
6543210111010001101010010110010a a a a a a a ⎡⎤
⎢⎥⎢⎥
⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦
⎢⎥⎢⎥⎢⎥⎣⎦
(6)
式(6)可简化为0T T HA =,H 为监督矩阵,则由式(6)可得到监督矩阵
11101001101010=[P I ] (7)1011001r H ⎡⎤
⎢⎥=⎢⎥
⎢⎥⎣⎦
因为生成矩阵'=[I Q]=[I ]k k G P ,所以由(7)得生成矩阵G 如下:
[]k 10001
1101001
10[']001010100010
11k G I Q I P ⎡⎤⎢⎥⎢
⎥===⎢⎥
⎢
⎥⎣⎦
然后利用信息位和生成矩阵G 相乘产生整个码组,即有
[][]65432106543=(8)A a a a a a a a a a a a G
=
其中A 为整个码组矩阵,6543a a a a 是信息位。 根据上述原理可以得到(7,4)汉明码的整个码组。
(2)译码与检错、纠错原理
当数字信号编码成汉明码后,由于信道噪声的存在,使得经过信道后的汉明码会发生差错,使得接收端接收到错码,因此需要多错码进行纠正,以提高通信系统的抗干扰能力及可靠性。下面分析纠错译码原理。
设B 为接收码组,它是一行7列的矩阵,即1234567=[]B b b b b b b b ,B 中可能含有
错码,错误图样7654321=[]E A B e e e e e e e =-,在E 的表达式中,有
0(0,1,2,7)1
i i i i i b a e i b a =⎧==⎨
≠⎩当时当时
若0i e =,表示该码元没错;若1i e =,表示该码元为错码。 由E A B =-得
(9)A B E
=+
(9)表示接收码组和错误图样之和等于正确码组U ,通过(9)式就可以实现纠错。可以用标准阵来表示所有可能的2n 个n 元码组的接收矢量,(n,k)码的标准阵形式如下:
12345222324252
3233343532345234522222n k
n k
n k
n k
n k
j j j j j A A A A A E A E A E A E A E E A E A E A E A E E A E A E A E A E E A E A E A E A E -----++++++++++++++++ 应该注意到,码组1A (全0码字)起两个作用:既是其中一个正确码组,也是错误图样1E ,代表1A 所在行没有错误。标准阵中的123
2,,n k A E E E -是陪集首,
陪集首的选择是有规定的,第j 行的陪集首是在前j-1行中没有出现的最小码组,即错误图样E ,如果不选错误图样作为陪集首,译码将会产生错误。
对于(7,4)汉明码,其最小码重是3,设码的纠错能力为t ,根据公式
min 12d t -⎡⎤
=⎢⎥⎣⎦
得该码的纠错能力为1,即能纠错一位错码。由于根据完备码的定义有
02
(12)t
n k
j n j -=⎛⎫= ⎪⎝⎭
∑
将(7,4)码代入(12)可以得知,(7,4)汉明码为完备码组,只能纠错和检错一位错码。
对于正确码组A 而言,有
(10)
T AH =
当接收到错码变成码组B 时,有
()(11)T T T T T S BH A E H AH EH EH ==+=+=
其中S 为校正子所构成的校正矩阵,由于S 和E 如(11)所示的一一对应的关系,对于(7,4)码,错误图样与伴随式的对应关系如下