(完整word版)matlab(7,4)汉明码和(7,4)循环码的编程设计 下载本文

内容发布更新时间 : 2024/5/12 13:58:43星期一 下面是文章的全部内容请认真阅读。

二、创新实验设计

创新实验一:(7,4)汉明码的编码与译码实现

1、实验目的

实现(7,4)汉明码的编码与译码,通过这次实验不但加深了对汉明码编码和译码原理了解,而且对线性分组码有所了解。

2、实验原理

线性分组码的构造方法比较简单、理论较为成熟,应用比较广泛。汉明码是一种能够纠正一个错码的效率比较高的线性分组码,下面以(7,4)码为例就汉明码的编码与译码分别进行介绍:

(1)编码原理

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

2r?1?n或2?1?k?r?1 (1)

设汉明码(n,k)中k=4,为了纠正一位错码,由式(1)可知,要求监督位数r≥3。若取r=3,则n=k+r=7。这样就构成了(7,4)码。用示这7个码元,用

a6a5a4a3a2a1a0r来表

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

s1s2s3的值与

错误码元位置的对应关系可以规定如表1所列。

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

s1s2s3 错码位置 a0a1a2a3 s1s2s3 错码位置 a4a5a6 001 101 010 100 011 110 111 000 无错码 则由表1可得监督关系式:

?2?

s?a6?a5?a3?a?3? 2

s?a6?a4?a3?a0?4? 3

s1?a6?a5?a4?a2

在发送端编码时,信息位监督位

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

a1、

a0应根据信息位的取值按监督关系来确定,为使所编的码中无

错码,则S1,S2,S3等于0,即

?a6?a5?a4?a2?0??a6?a5?a3?a1?0?a?a?a?a?0430?6方程组(5)可等效成如下矩阵形式

?a6??a??5??1110100??a4??0??1101010??a???0????3?????1011001???a2???0?????a1??a??0?(5)

(6)

式(6)可简化为HAT?0T,H为监督矩阵,则由式(6)可得到监督矩阵

?1110100??=[PI] H??1101010r????1011001??(7)

因为生成矩阵G=[IkQ]=[IkP'],所以由(7)得生成矩阵G如下:

?10001?01001G??IkQ??[IkP']???00101??0001011?10?? 01??11?然后利用信息位和生成矩阵G相乘产生整个码组,即有

A=?a6a5a4a3a2a1a0???a6a5a4a3?G其中A为整个码组矩阵,a6a5a4a3是信息位。 根据上述原理可以得到(7,4)汉明码的整个码组。

(8)

(2)译码与检错、纠错原理

当数字信号编码成汉明码后,由于信道噪声的存在,使得经过信道后的汉明码会发生差错,使得接收端接收到错码,因此需要多错码进行纠正,以提高通信系统的抗干扰能力及可靠性。下面分析纠错译码原理。

设B为接收码组,它是一行7列的矩阵,即B=[b1b2b3b4b5b6b7],B中可能含

有错码,错误图样E?A?B=[e7e6e5e4e3e2e1],在E的表达式中,有

?0ei???1当bi?ai时当bi?ai时(i?0,1,2,7)

若ei?0,表示该码元没错;若ei?1,表示该码元为错码。 由E?A?B得

A?B?E(9)

(9)表示接收码组和错误图样之和等于正确码组U,通过(9)式就可以实现纠错。可以用标准阵来表示所有可能的2n个n元码组的接收矢量,(n,k)码的标准阵形式如下:

A1E2E3EjE2n?kA2A2?E2A2?E3A2?EjA2?E2n?kA3A3?E2A3?E3A3?EjA3?E2n?kA4A4?E2A4?E3A4?EjA4?E2n?kA5A5?E2A5?E3 A5?EjA5?E2n?k应该注意到,码组A1(全0码字)起两个作用:既是其中一个正确码组,也是错误图样E1,代表A1所在行没有错误。标准阵中的A1,E2,E3E2n?k是陪集首,

陪集首的选择是有规定的,第j行的陪集首是在前j-1行中没有出现的最小码组,即错误图样E,如果不选错误图样作为陪集首,译码将会产生错误。

?d?1?对于(7,4)汉明码,其最小码重是3,设码的纠错能力为t,根据公式t??min??2?得该码的纠错能力为1,即能纠错一位错码。由于根据完备码的定义有

2n?k?n?????j?0?j?t(12)

将(7,4)码代入(12)可以得知,(7,4)汉明码为完备码组,只能纠错和检错一位错码。

对于正确码组A而言,有

AHT?0(10)

当接收到错码变成码组B时,有

S?BHT?(A?E)HT?AHT?EHT?EHT(11)

其中S为校正子所构成的校正矩阵,由于S和E如(11)所示的一一对应的关系,对于(7,4)码,错误图样与伴随式的对应关系如下

表2.2 伴随式查询表