北京交通大学-通信原理实验-汉明编码实验报告
- 格式:doc
- 大小:3.78 MB
- 文档页数:21
实验十五汉明编码和译码实验一、实验前的准备(1)预习本实验的相关内容。
(2)熟悉实验指导书附录B和附录C中实验箱面板分布及测试孔位置相关模块的跳线状态。
(3)实验前重点熟悉的内容:汉明码的编码规则、汉明码的纠错能力。
(4)思考题。
1)什么是汉明码?它能纠几位错码?它有什么特点?2)本实验中汉明编码器的输入数据速率为32kbps,输出数据速率为多少?为汉明编码器的输入信号选择m序列信号时,跳线开关SWCO1、KCO1如何汉明编码器的输入信号选择来自ADPCM模块的ADPCM信号时,跳线开关如何设置?二、实验目的(1)掌握汉明码编译码原理。
(2)掌握汉明码纠错检错原理。
(3)通过纠错编解码实验,加深对纠错编解码理论的理解。
三、实验仪器(1)ZH5001A通信原理综合实验系统(2)20MHz双踪示波器四、基本原理差错控制编码的基本原理是:由发送端的信道编码器在信息码元序列中增加一些监督码元。
这冗余的码元与信息之间以某种确定的规则建立校验关系,使接收端可以利用这种关系由信道译码器来发现或纠正可能存在的错码。
不同的编码方法有不同的检错或纠错能力。
为了纠正位错码,在分组码中最少要加入多少监督位才可行呢?编码效率能否提高呢?从这种思想出发进行研究,便导致了汉明码的诞生。
汉明码是一种能够纠正一位错码且编码效率较高的线性分组码。
下面介绍汉明码的编码原理。
一般来说,若码长为n ,信息位数为k ,记作(,)n k 码,则监督位数r n k =-,如果希望用r 个监督位构造出r 个监督关系式来指示一位错码的n 种可能位置,则要求2121r n r k r -≥≥++或通信原理综合实验系统中的纠错码系统采用(7,4)汉明码。
用650a a a … 表示这7个码元,用123S S S 、、表小3个监督关系式中的校正子,则123S S S 的值与码元间构成偶数监督关系:165422443136530S a a a a S a a a a S a a a a =⊕⊕⊕=⊕⊕⊕=⊕⊕⊕ 在发送端编码时,信息位654a a a 、、和3a 的值决定于输入信号,因此它们是随机的。
监督位21a a 、和0a 应根据信息位的取值按监督关系来确定,即监督位应使以上=式中123S S S 、、的值为零(表示变成的码组中应无错码),即654254316530000a a a a a a a a a a a a ⊕⊕⊕=⎫⎪⊕⊕⊕=⎬⎪⊕⊕⊕=⎭上式经移项运算,解出监督位265415430653a a a a a a a a a a a a =⊕⊕⎫⎪=⊕⊕⎬⎪=⊕⊕⎭给定信息位后,可直接按上式算出监督位,其结果如下表接收端收到每个码组后,先按式(12-2)~式(12-4)计算出123S S S 、、,再按上表判断错码情况。
例如,若接收码组为0000011,按式(12-2)~式(12-4)计算可得1231S S S =0、=1、。
由于123S S S 等于011,故可知在3a 位有一错码。
按上述方法构造的码称为汉明码。
(7,4)汉明码的最小码距d=3,因此,这种码能纠正一个错码或检测两个错码。
汉明码有以下特点:码长21m n =-最小码距d=3信息码位 21n k m =-- 纠错能力t=1监督码位r n k m =-=这里,m 为2≥ 的正整数,给定m 后,即可构造出具体的汉明码(n,k )。
汉明码的编码器和译码器电路如图所示。
汉明编码模块实验电路工作原理描述如下。
1.输入数据汉明编码输入数据可以来自ADPCM1模块的ADPCM 码字,或来自同步数据端口数据、异步端口数据、CVSD 编码数据、m 序列。
选择ADPCM 码字由工作方式选择开关SWCO1中的ADPCM 状态决定,当处于ADPCM 状态时(插入跳线器),汉明编码器对ADPCM 信号编码否则处于非ADPCM 状态时(拔除跳线器),输入编码数据来自开关KCO1所设置的位置,分别为同步数据端口数据、异步端口数据、CVSD 编码、m 序列。
2.m序列发生器m序列用于测试汉明编码规则,输出数据信号与开关SWCO1位置如下表。
3.编码使能开关此开关应与接收端汉明译码器使能开关同步使用,该开关处于使能状态(H-EN短路器插入),汉明码编码器工作;否则汉明码编码器不工作。
需要注意:汉明码编码器不工作时,ADPCM和CVSD话音数据无法通过调制解调信道通话,这是因为编码速率与信道速率不匹配。
4.错码产生错码产生专门设计用于测量汉明译码器的纠错和检错性能。
输出错码与开关SWCO1位置如下表所示。
错码可以用示波器从错码指示端口TPC03监测。
汉明编码模块各测试点定义如下。
(1)TPCO1:输入数据。
(2)TPC02:输入时钟。
(3)TPC03:错码指示(无加错时,该点为低电平)。
(4)TPC04:编码模块输出时钟(56kHz/BPSK/DBPSK)。
(5)TPC05:编码模块输出数据(56kbtps/BPSK/DBPSK)。
汉明编码模块电路功能组成框图见图12-2。
汉明译码模块实验电路工作原理描述如下。
1.输入信号选择开关开关KWO1、KW02用于选择输入信号和时钟是来自解调器信道或直接来自汉明编码模块。
当KWO1、KW02设置在1-2位置(CH:左端),则输入信号来自信道开关KWO1、KW02设置在2_3位置(LOOP:右端)则输入信号来自汉明编码模块。
2.汉明译码器主要由串/并变换器、校正子生成器、3/8译码器和纠错电路构成。
该电路专门由一个CPLD(EPM7128)实现。
3.汉明译码使能开关SW03中H-EN与发端编码使能开关同步使用。
汉明译码模块各测试点定义如下。
TPWO1;输入时钟(56kHz)。
TPW02:输入数据(56kbps)。
TPW03:检测错码指示。
TPW04:输出时钟。
TPW05:CVSD数据输出。
TPW06:同步数据输出。
TPW07:m序列输出。
TPW08:异步数据输出。
汉明译码模块电路功能组成框图见图12-3。
五、实验内容(一)准备工作(1)首先通过菜单将调制方式设置为BPSK或DBPSK方式;将汉明编码模块内工作方式选择开关SWCO1中:编码使能开关插入(HEN),ADPCM 数据断开(ADPCM);加错开关EMODO、EMOD1均拔出接入;将输入数据选择开关KCO1设置在m序列(DTM)位置,设置m序列方式为00(MSEL2和MSEL1拔下),此时m序列输出为1/0码。
(2)将汉明译码模块内输入信号和时钟选择开关KWO1、KW02设置在LOOP位置(右端),输入信号直接来自汉明编码模块(不通过调制、信道、解调);将译码器使能开关KW03设置在工作位置ON(左端)。
(二)编码规则验证(1)用示波器同时观测编码输入信号TPCO1波形和编码输出波形TPC05,观测时以TPCO1同步,观测是否符合汉明编码规则(参见表12-1)。
注意此时输入、输出数据速率不同,输入数据速率为32kbps,输出数据速率为56kbps。
上方为TPC01波形,下方为TPC05波形:可见上方数据为:…1100……TPC05编码波形数据为:……1100010……对比上面编码表,可以看出,是正确的。
(2)设置m序列方式为10(MSEL2插入、MSEL1拔下),此时m序列输出为1l/00码(参见表12-1)。
用示波器同时观测编码输入信号TPCO1波形和编码输出波形TPC05,观测时以TPCO1同步,观测是否符合汉明编码规则。
上方为TPC01波形,下方为TPC05波形:可见上方数据为:…1100……TPC05编码波形数据为:……1100010……对比上面编码表,可以看出,是正确的。
(三)译码数据输出量(1)设置m序列方式为11(MSEL2,MSEL1均插入用示波器同时观测汉明编码模块的编码输入信号TPCO1波形和汉明译码模块译码输出m序列波形TPW07,观测时以TPCO1同步。
测量译码输出数据与发端信号是否保持一致。
注意:输出波形与输入波形之间有时延。
记录输出波形和输入波形。
上方为TPC01波形,下方为TPW07波形:可见上方数据为:……1101011110001001101……TPW07解码输出波形数据为:……1111000100110101111……可以看出,两者之间存在6个码元的延迟。
(四)译码同步过程观测将汉明编码模块工作方式选择开关SWCO1的编码使能开关插入(H_EN);ADPCM数据有效(ADPCM)将汉明译码模块的输入信号和时钟选择开关KWO1、KW02设置在23位置(右端),输入信号直接来自汉明编码模块。
(1)用示波器检测汉明译码模块内错码检测指示输出波形TPW03。
将汉明编码模块内工作方式选择开关SWCO1的编码使能开关断开(H_EN,使汉明译码模块失步,观测TPW03变化;将编码使能开关插入(H_EN),观测汉明译码的同步过程,记录测量结果。
(五)发端加错信号和汉明译码检错能力观测用示波器同时测量汉明编码模块内加错指示TPC03和汉明译码模块内错码检测指示输出波形TPW03的波形,观测时以TPC03同步。
(1)将汉明编码模块工作方式选择开关SWCO1的加错开关E_MOD0、E_MOD1均拔出,此时无错码,记录结果。
可见无错码时只有两个低电平输出。
(2)将汉明编码模块工作方式选择开关SWCO1的加错开关E_MOD0接入、产生1位错码,定性观测明译码能否检测出错码,记录结果。
上方为TPC03波形,下方为TPW03波形:可见一位错码时发端和收端都有错误提示输出。
(3)将汉明编码模块工作方式选择开关SWCO1的加错开关E_MOD1,产生2位错码,定性观测明译码能否检测出错码,记录结果。
上方为TPC03波形,下方为TPW03波形:可见两位错码时发端和收端都有错误提示输出。
但电平宽度不变。
(4)将汉明编码模块工作方式选择开关SWCO1的加错开关E_MOD0、E_MOD1都插入产生更多错码,定性观测明译码能否检测出错码和失步,记录结果。
上方为TPC03波形,下方为TPW03波形:可见两位错码时发端和收端都有错误提示输出。
但电平宽度不变。
但是这时的错误提示实际上是错误的。
(六)汉明译码纠错性能量汉明编码的输入信号设置m序列方式为11(MSEL2,MSEL1均插入);用示波器同时观测汉明编码模块的输入信号TPCO1波形和汉明译码模块译码输出m序列波形TPW07,观测时以TPCO1同步。
(1)将汉明编码模块工作方式选择开关SWCO1的加错开关E_MODO、E_MOD1均拔出,此时无错码,记录结果。
上方为TPC01波形,下方为TPW07波形:可见没有错码时收端可以正常工作,解码正常。
(2)将汉明编码模块工作方式选择开关SWCO1的加错开关E_MODO接入,产生1位错码,定性观测汉明编译码系统能否纠1位错码,记录结果。