您好,欢迎访问三七文档
汉明码编译码实验一、实验目的1、掌握汉明码编译码原理2、掌握汉明码纠错检错原理二、实验内容1、汉明码编码实验。2、汉明码译码实验。3、汉明码纠错检错能力验证实验。三、实验器材LTE-TX-02E通信原理综合实验系统----------------------------------------------模块8四、实验原理在随机信道中,错码的出现是随机的,且错码之间是统计独立的。例如,由高斯白噪声引起的错码就具有这种性质。因此,当信道中加性干扰主要是这种噪声时,就称这种信道为随机信道。由于信息码元序列是一种随机序列,接收端是无法预知的,也无法识别其中有无错码。为了解决这个问题,可以由发送端的信道编码器在信息码元序列中增加一些监督码元。这些监督码元和信码之间有一定的关系,使接收端可以利用这种关系由信道译码器来发现或纠正可能存在的错码。在信息码元序列中加入监督码元就称为差错控制编码,有时也称为纠错编码。不同的编码方法有不同的检错或纠错能力。有的编码就只能检错不能纠错。那么,为了纠正一位错码,在分组码中最少要加入多少监督位才行呢?编码效率能否提高呢?从这种思想出发进行研究,便导致汉明码的诞生。汉明码是一种能够纠正一位错码且编码效率较高的线性分组码。下面我们介绍汉明码的构造原理。一般说来,若码长为n,信息位数为k,则监督位数r=n−k。如果希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能位置,则要求2r−1≥n或2r≥k+r+1(14-1)下面我们通过一个例子来说明如何具体构造这些监督关系式。设分组码(n,k)中k=4,为了纠正一位错码,由式(14-1)可知,要求监督位数r≥3。若取r=3,则n=k+r=7。我们用α6α5…α0表示这7个码元,用S1、S2、S3表示三个监督关系式中的校正子,则S1S2S3的值与错码位置的对应关系可以规定如表14-1所列。表14-1S1S2S3错码位置S1S2S3错码位置001010100011α0α1α2α3101110111000α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的值为零(表示变成的码组中应无错码)000034613562456=αααα=αααα=αααα(14-5)由上式经移项运算,解出监督位αα=αααα=ααααα=α340635164562(14-6)给定信息位后,可直接按上式算出监督位,其结果如表14-2所列。表14-2信息位监督位信息位监督位α6α5α4α3α2α1α0α6α5α4α3α2α1α00000000100100011010001010110011100001110111011010101100010001001101010111100110111101111111100010001001010100111接收端收到每个码组后,先按式(14-2)~(14-4)计算出S1、S2和S3,再按表14-2判断错码情况。例如,若接收码组为0000011,按式(14-2)~(14-4)计算可得S1=0,S2=1,S3=1。由于S1S2S3等于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)编码器再编码3-8译码器误码指示(b)译码器a6a5a4a3a2a1a042174a6a5a4a3本地产生的监督码元图14-1汉明码的编译码器五、实验前准备1、按如下电路连线(打了五角星标记的才要连线):8号号号号号号号FS356k号号号号S3号号号号8号号号号号号号32k号号号号号号号号号FJOUTFJINPCMOUTBTS_SELFS0号号号号号号号号号56k号号32k号号FS1S1号号号号PN号号号号FS_SELCOMRXA号号号号TS156k号号TS2号号号号号号号号TS0号号号号号号号号FS2S2号号号号(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α6α5α4α3α2α1α0α6α5α4α3α6α5α4α3α2α1α000000001001000110100010101100111100010011010101111001101111011112、译码数据输出测量:S2保持不变,将S1拨为“0001”。此时,将对COMRXA的数据进行汉明编码(S3的输入无效)。用示波器同时观察FS3(汉明码编码输入)和TS_SEL(汉明码译码输出)的波形,回答译码输出数据与发端信号是否保持一致,测出时延,并写出输出数据序列(从1111开始记录一个周期),验证汉明编译码的正确性。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?
本文标题:汉明码编译码实验
链接地址:https://www.777doc.com/doc-6352243 .html