通信原理实验第1页2通信原理实验电子信息工程学院通信原理实验实验十五汉明编码和译码实验一、实验前的准备(1)预习本实验的相关内容;(2)熟悉实验指导书附录B和附录C中实验箱面板分布及测试孔位置,定义本实验相关模块的跳线状态。(3)实验前重点掌握的内容:汉明码的编码规则、汉明码的纠错能力。(4)思考题:①什么是汉明码?它能纠正几位错码?它有什么特点?②本实验中汉明编码器的输入数据速率是32kbps,输出数据速率是多少?为什么?③汉明编码器的输入信号选择m序列信号时,跳线开关SWC01、KC01如何设置?④汉明编码器的输入信号选择来自ADPCM模块的ADPCM信号时,跳线开关SWC01如何设置?二、实验目的(1)掌握汉明码编译码原理。(2)掌握汉明码纠错检错原理。(3)通过纠错编解码实验,加深对纠错编解码理论的理解。三、实验仪器(1)ZH5001A通信原理综合实验系统一台(2)20MHz双踪示波器一台四、基本原理在随机信道中,错码的出现是随机的,且错码之间是统计独立的。例如,由高斯白噪声引起的错码就具有这种性质。因此,当信道中加性干扰主要是这种噪声时,就称这种信道为随机信道。由于信息码元序列是一种随机序列,接收端是无法预知的,也无法识别其中有无错码。为了解决这个问题,可以由发送端的信道编码器在信息码元序列中增加一些监督码元。这些监督码元和信码之间有一定的关系,使接收端可以利用这种关系由信道译码器来发现或纠正可能存在的错码。在信息码元序列中加入监督码元就称为差错控制编码,有时也称为纠错编码。不同的编码方法有不同的检错或纠错能力。有的编码就只能检错不能纠错。那么,为了纠正一位错码,在分组码中最少要加入多少监督位才行呢?编码效率能否提高呢?从这种思想出发进行研究,便导致汉明码的诞生。汉明码是一种能够纠正一位错码且编码效率较高的线性分组码。一般说来,若码长为n,信息位数为k,则监督位数r=n−k。如果希望用r个通信原理实验监督位构造出r个监督关系式来指示一位错码的n种可能位置,则要求2r−1≥n或2r≥k+r+1式(15-1)设分组码(n,k)中k=4,为了纠正一位错码,由式(15-1)可知,要求监督位数r≥3。若取r=3,则n=k+r=7。我们用6543210表示这7个码元,用S1、S2、S3表示三个监督关系式中的校正子,则S1、S2、S3的值与错码位置的对应关系可以规定如表15-1所列。表15-1由表中规定可见,仅当一错码位置在2、4、5或6时,校正子S1为1;否则S1为0。这就意味着2、4、5和6四个码元构成偶数监督关系24561S(15-2)同理,1、3、5和6构成偶数监督关系13561S(15-3)以及,0、3、4和6构成偶数监督关系03461S(15-4)在发送端编码时,信息位6、5、4和3的值决定于输入信号,因此它们是随机的。监督位2、1和0应根据信息位的取值按监督关系来确定,即监督位应使上三式中S1、S2和S3的值为零(表示变成的码组中应无错码)000034613562456(15-5)通信原理实验由上式经移项运算,解出监督位346035614562(15-6)给定信息位后,可直接按上式算出监督位,其结果如表14-2所列。信息位监督位信息位监督位654321065432100000000100010100010111001110001011010100110011101101100001001111100010010110011010010110001111010001110101111111表15-2接收端收到每个码组后,先按式(15-2)~(15-4)计算出S1、S2和S3,再按表15-2判断错码情况。例如,若接收码组为0000011,按式(15-2)~(15-4)计算可得S1=0,S2=1,S3=1。由于S1S2S3等于011,故根据表15-1可知在3位有一错码。按上述方法构造的码称为汉明码。表15-2中所列的(7,4)汉明码的最小码距d0=3,因此,这种码能纠正一个错码或检测两个错码。汉明码有以下特点:码长n=2m-1最小码距d=3信息码位k=2n-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,可见,汉明码是一种高效码。汉明码的编码器和译码器电路如图15-1所示通信原理实验图15-1汉明码的编译码器五、实验内容通信原理实验(二)编码规则验证(1)设置m序列方式为00(M_SEL2拔下、M_SEL1拔下),此时m序列输出为1/0码。用示波器同时观测编码输入信号TPC01波形和编码输出信号TPC05,观测时用TPC01同步,观测是否符合汉明编码规则。注意此时输入、输出数据速率不同,输入数据速率为32bps,输出数据速率为56bps。(2)设置m序列方式为10(M_SEL2插入、M_SEL1拔下),此时m序列输出为11/00码。用示波器同时观测编码输入信号TPC01和编码输出信号TPC05,观测时用TPC01同步,观测是否符合汉明编码规则。(3)设置其他m序列方式,重复上述步骤。(三)译码数据输出测量(1)设置m序列方式为11/00码,用示波器同时观测汉明编码模块的编码输入信号TPC01波形和汉明译码模块译码输出m序列波形TPW07,观测时用TPC01同步。测量译码输出数据与发端信号是否保存一致。注意:输出波形与输入波形之间有时延。(2)设置其他m序列方式,重复上述步骤。(四)译码同步过程观测将汉明编码模块工作方式选择开关SWC01的编码使能开关插入(H_EN);ADPCM数据有效(ADPCM)。将汉明码译码模块的输入信号和时钟选择开关KW01、KW02设置在右端,输入信号直接来自汉明编码模块。(1)用示波器检测汉明译码模块内错码检测指示输出波形TPW03。将汉明编码模块内工作方式选择开关SWC01的编码使能开关断开(H_EN),使汉明译码模块失步,观测TPW03变化;将编码使能开关插入(H_EN),观察汉明译码的同步过程,记录测量结果。(2)将ADPCM数据换为m序列,重复上述测量步骤。(五)发端加错信号和汉明译码检错能力观测用示波器同时测量汉明编码模块内加错指示TPC03和汉明译码模块内错码检测指示输出波形TPW03,观测时以TPC03同步。(1)将汉明编码模块内工作方式选择开关SWC01的加错开关E_MOD0、E_MOD1均拔出,此时无错码,记录结果。(2)将汉明编码模块内工作方式选择开关SWC01的加错开关E_MOD0接入、E_MOD1拔出,产生1位错码,定性观测汉明译码能否检测出错码,记录结果。通信原理实验(3)将汉明编码模块内工作方式选择开关SWC01的加错开关E_MOD1接入、E_MOD0拔出,产生2位错码,定性观测汉明译码能否检测出错码,记录结果。(4)将汉明编码模块内工作方式选择开关SWC01的加错开关E_MOD0接入、E_MOD1接入,产生更多位错码,定性观测汉明译码能否检测出错码和失步,记录结果。(六)汉明译码纠错性能测量设置m序列方式为11,用示波器同时观测汉明编码模块的编码输入信号TPC01波形和汉明译码模块译码输出m序列波形TPW07,观测时用TPC01同步。(1)将汉明编码模块内工作方式选择开关SWC01的加错开关E_MOD0、E_MOD1均拔出,此时无错码,记录结果。(2)将汉明编码模块内工作方式选择开关SWC01的加错开关E_MOD0接入、E_MOD1拔出,产生1位错码,定性观测汉明译码能否纠正1位错码,记录结果。(3)将汉明编码模块内工作方式选择开关SWC01的加错开关E_MOD1接入、E_MOD0拔出,产生2位错码,定性观测汉明译码能否纠正2位错码,记录结果。(4)将汉明编码模块内工作方式选择开关SWC01的加错开关E_MOD0接入、E_MOD1接入,产生更多位错码,定性观测汉明译码能否纠正出错码和失步,记录结果。六、实验结论分析(二)编码规则验证通信原理实验(1)用示波器同时观测编码输入信号TPC01波形和编码输出波形TPC05,观测时以TPC01同步,观测是否符合汉明编码规则。注意此时输入、输出数据速率不同,输入数据速率为32kbps,输出数据速率为56kbps。分析:示波器上面是输入序列,是0011,下面是输出波形,是1110100,符合汉明编码规则。(2)设置m序列方式为10,此时m序列输出为11/00码。用示波器同时观测编码输入信号TPC01波形和编码输出波形TPC05,观测时以TPC01同步,观测是否符合汉明编码规则。分析:示波器上面是输入序列,是1100,下面是输出波形,是1101001,符合汉明编码规则。(三)译码数据输出测量(1)设置m序列方为11;用示波器同时观测汉明编码模块的编码输入信号TPC01波形和汉明译码模块译码输出m序列波形TPW07,观测时以TPC01同步。测量译码通信原理实验输出数据与发端信号是否保持一致。注意:输出波形与输入波形之间有时延。记录输出波形和输入波形。分析:根据示波器可以看出,译码正确,稍有延时。(五)发端加错信号和汉明译码检错能力观测用示波器同时测量汉明编码模块内加错指示TPC03和汉明译码模块内错码检测指示输出波形TPW03的波形,观测时以TPC03同步。(1)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD0、E_MOD1均拔出,此时无错码,记录结果。分析:无错码时,两通道都没有显示(2)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD0接入,产生1位错码,定性观测明译码能否检测出错码,记录结果。通信原理实验分析:加1位错码时,检测出了错误(一位)(3)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD1接入,产生2位错码,定性观测明译码能否检测出错码,记录结果。分析:加2位错码时,检测出了错误(4)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD0、E_MOD1均插入,产生更多错码,定性观测明译码能否检测出错码和失步,记录结果.通信原理实验分析:加3位错码时,检测出了错误(六)汉明译码纠错性能测量汉明编码的输入信号设置m序列方式为11;用示波器同时观测汉明编码模块的输入信号TPC01波形和汉明译码模块译码输出m序列波形TPW07,观测时以TPC01同步。(1)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD0、E_MOD1均拔出,此时无错码,记录结果。分析:无错码时,译码正常(2)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD0接入,产生1位错码,定性观测明译码能否检测出错码,记录结果。通信原理实验分析:加1位错译码时,正常(3)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD1接入,产生2位错码,定性观测明译码能否检测出错码,记录结果。分析:加2位错码时:不能全部正确译码(4)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD0、E_MOD1均插入,产生更多错码,定性观测明译码能否检测出错码和失步,记录结果。通信原理实验分析:加3位错码时:不能全部正确译码七、思考题(2)汉明编码器模块的使能开关、译码器模块的使能开关(H_EN断路器)起什么作用?从电路图中可以看出,没有插入H_EN时,汉明编码器被短路,输出数据没有经过汉明编码。插入H_EN时,输出数据经过汉明编码。