汉明码编译码实验

2019-03-15 18:21

汉明码编译码实验

一、实验目的

1、 掌握汉明码编译码原理 2、 掌握汉明码纠错检错原理

二、实验内容

1、 汉明码编码实验。 2、 汉明码译码实验。

3、 汉明码纠错检错能力验证实验。

三、实验器材

LTE-TX-02E通信原理综合实验系统----------------------------------------------模块8

四、实验原理

在随机信道中,错码的出现是随机的,且错码之间是统计独立的。例如,由高斯白噪声引起的错码就具有这种性质。因此,当信道中加性干扰主要是这种噪声时,就称这种信道为随机信道。由于信息码元序列是一种随机序列,接收端是无法预知的,也无法识别其中有无错码。为了解决这个问题,可以由发送端的信道编码器在信息码元序列中增加一些监督码元。这些监督码元和信码之间有一定的关系,使接收端可以利用这种关系由信道译码器来发现或纠正可能存在的错码。在信息码元序列中加入监督码元就称为差错控制编码,有时也称为纠错编码。不同的编码方法有不同的检错或纠错能力。有的编码就只能检错不能纠错。

那么,为了纠正一位错码,在分组码中最少要加入多少监督位才行呢?编码效率能否提高呢?从这种思想出发进行研究,便导致汉明码的诞生。汉明码是一种能够纠正一位错码且编码效率较高的线性分组码。下面我们介绍汉明码的构造原理。

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

2r ? 1 ≥ n 或 2r ≥ k + r + 1

下面我们通过一个例子来说明如何具体构造这些监督关系式。

设分组码(n,k)中k=4,为了纠正一位错码,由式(14-1)可知,要求监督位数r≥3。若取r=3,则n= k + r =7。我们用α6α5?α0 表示这7个码元,用S1、S2、S3表示三个监督关系式中的校正子,则S1 S2 S3的值与错码位置的对应关系可以规定如表14-1所列。

表 14-1

(14-1)

S1 S2 S3 001 010 100 011 错码位置 αααα0 1 2 3 S1 S2 S3 101 110 111 000 错码位置 α4 α5 α6 无 错 由表中规定可见,仅当一错码位置在α2 、α4 、α5 或α6 时,校正子S1 为1;否则S1 为0。这就意味着α2 、α4 、α5 和α6四个码元构成偶数监督关系

S1 =α6?α5 ?α4 ?α2 (14-2) 同理,α1 、α

3 、α

5 和α6构成偶数监督关系

S2 =α6?α5 ?α3 ?α1 (14-3)

以及α0 、α3 、α4 和α6构成偶数监督关系

S3 =α6?α4 ?α3 ?α0 (14-4)

在发送端编码时,信息位α6 、α5 、α4 和α3 的值决定于输入信号,因此它们是随机的。监督位α2 、α1 和α0 应根据信息位的取值按监督关系来确定,即监督位应使上三式中S1、S2和S3的值为零(表示变成的码组中应无错码)

α6?α5?α4?α2=0?α6?α5?α3?α1=0???α6?α4?α3?α0=0?

(14-5)

由上式经移项运算,解出监督位

α2=α6?α5?αα1=αα0=α664?α5?α3?α4?α3?????

(14-6)

给定信息位后,可直接按上式算出监督位,其结果如表14-2所列。

表 14-2

信息位 α6α5α4α3 0000 0001 0010 0011 0100 0101 0110 0111 监督位 α2α1α0 000 011 101 110 110 101 011 000 信息位 α6α5α4α3 1000 1001 1010 1011 1100 1101 1110 1111 监督位 α2α1α0 111 100 010 001 001 010 100 111 接收端收到每个码组后,先按式(14-2)~(14-4)计算出S1 、S2 和S3 ,再按表14-2判断错码情况。例如,若接收码组为0000011,按式(14-2)~(14-4)计算可得S1 =0,S2 =1,S3 =1。由于S1 S2 S3 等于011,故根据表14-1可知在α

3 位有一错码。按上述方

法构造的码称为汉明码。表14-2中所列的(7,4)汉明码的最小码距d0 =3,因此,这种码能纠正一个错码或检测两个错码。

汉明码有以下特点:

码长 n=2r-1 最小码距d=3 信息码位 k=2r-m-1 纠错能力t=1 监督码位 r=n-k=m

这里m为≥2的正整数,给定m后,即可构造出具体的汉明码(n,k)。

汉明码的编码效率等于k/n=(2r-1-r) / (2r-1) = 1- r / (2r-1) = 1-r/n 。当n很大时,则编码效率接近1,可见,汉明码是一种高效码

汉明码的编码器和译码器电路如图14-1所示

a6a5a4a3a6a5a4a3a2a1a0(a)编码器 a6a5a4a3再编码a6a5a4a3误码指示a2a1a0本地产生的监督码元74214 3-8译码器(b)译码器图14-1 汉明码的编译码器

五、实验前准备

1、按如下电路连线(打了五角星标记的才要连线):

号号号号号号号号号号号号号FS0COMRXA56k号号FS1号号号号FS256k号号TS1号号号号号号号号TS2TS0号号号号PN号号号号32k号号PCMOUTBFS3FS_SELFJOUT32k号号号号号号号号号56k号号号号TS_SELFJIN8号号号号号号号8号号号号号号号S1号号号号S2号号号号S3号号号号

(FJOUT、FJIN、COMRXA、FS3指的是模块8上电路板上做了标注的相应的圆形插孔)

六|、实验步骤

1、验证汉明码编码规则实验

将S2拨为“1110”(注:拨码开关向上拨动设置为“1”,向下拨动设置为“0”),设置8号板为汉明码的工作模式。将S1拨为“0000”。此时,将对S3的数据进行汉明编码(COMRXA的输入无效)。以FS0(汉明编码的帧同步信号)为触发,观测FJOUT(汉明码输出)。将S3拨为0~15之间的数,然后观测汉明编码。并填写下表,验证汉明码编码结果。(注:这里的FS0、FJOUT指的是模块8上电路板上做了标注的相应的半圆形向上凸起的金属测试点。) 输入 α6α5α4α3 0000 0001 0010 0011 0100 0101 0110 0111 2、译码数据输出测量:

S2保持不变,将S1拨为“0001”。此时,将对COMRXA的数据进行汉明编码(S3的输入无效)。用示波器同时观察FS3(汉明码编码输入)和TS_SEL(汉明码译码输出)的波形,回答译码输出数据与发端信号是否保持一致,测出时延,并写出输出数据序列(从1111开始记录一个周期),验证汉明编译码的正确性。

编码输出 α6α5α4α3α2α1α0 输入 α6α5α4α3 1000 1001 1010 1011 1100 1101 1110 1111 编码输出 α6α5α4α3α2α1α0 3、发端加错信号观测

(1)保持S2为“1110”,将S1拨为“0000”(此时无误码)。用示波器同时观测FS2(发端加错指示)和TS0(收端检错指示),说明这两点的波形的状态;

(2)将S1拨为“0001”(表示插入一个误码)。用示波器同时观测FS2(发端加错指示和TS0(收端错码指示),上下对应记录这两点的波形,定性说明汉明译码能否检测出错码。

(3)将S1拨为“0010”(表示插入两个误码)。用示波器同时观测FS2(发端加错指示)和TS0(收端检错指示),定性说明汉明译码能否检测出错码。回答:为什么TS0(收端错码指示)的脉冲有时窄,有时宽(宽度是窄脉冲的2倍)?

(4)将S1拨为“0011”(表示插入三个误码),用示波器同时观测FS2(发端加错指示)和TS0(收端检错指示),定性说明汉明译码能否检测出错码。回答:为什么TS0(收端错码指示)的脉冲出现的规律与发端FS2(发端加错指示)不完全一致?

4、汉明码检纠错能力验证实验

(1)保持S2为“1110”,将S1拨为“0001”(表示插入一个误码)。用示波器同时观测FS3(汉明码编码输入)和TS_SEL(汉明码译码输出)的波形是否稳定一致?

(2)将S1拨为“0010”(表示插入两个误码)。用示波器同时观测FS3(汉明码编码输入)和TS_SEL(汉明码译码输出)的波形是否稳定一致?描述所观察到的现象。

(3)将S1拨为“0011”(表示插入三个误码)。用示波器同时观测FS3(汉明码编码输入)和TS_SEL(汉明码译码输出)的波形是否稳定一致?描述所观察到的现象。

用文字说明该汉明编译码系统能纠正几位错码?

七、实验报告要求

1、根据实验测试记录,整理数据。

2、为什么汉明编码前的数据数率是32Kb/S,编码后的数据速率是56Kb/S?


汉明码编译码实验.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:二采区运输顺槽作业规程

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: