matlab(7-4)汉明码和(7-4)循环码的编程设计

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)码,错误图样与伴随式的对应关系如下

相关文档
最新文档