北交通原实验6 汉明编码和译码实验汇总.docx
《北交通原实验6 汉明编码和译码实验汇总.docx》由会员分享,可在线阅读,更多相关《北交通原实验6 汉明编码和译码实验汇总.docx(16页珍藏版)》请在冰豆网上搜索。
![北交通原实验6 汉明编码和译码实验汇总.docx](https://file1.bdocx.com/fileroot1/2023-1/22/537cf00a-1b42-4ea6-9023-aa6f19a1ecc1/537cf00a-1b42-4ea6-9023-aa6f19a1ecc11.gif)
北交通原实验6汉明编码和译码实验汇总
通信系统原理实验报告
汉明编码和译码实验
姓名
学号
班级
成员
老师
时间2014年12月31日
上课时间第十五周周三14:
10—16:
00
一、实验目的
1、掌握汉明码编译码原理。
2、掌握汉明码纠错检错原理。
3、通过纠错编解码实验,加深对纠错编解码理论的理解。
二、实验仪器
1、ZH5001A通信原理综合实验系统一台
2、20MHz双踪示波器一台
三、实验原理
(一)汉明码的编码规则和纠错能力
一般来说,若码长为n,信息位数为k,记作(n,k)码,则监督位数r=n-k。
如果希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能位置,则要求
通信原理综合实验系统中的纠错码系统采用(7,4)汉明码。
用
表示这7个码元,用S1、S2、S3表示3个监督关系式中的校正子,则S1、S2、S3
的值与码元间构成偶数监督关系:
在发送端编码时,信息位
的值决定于输入信号,因此它们是随机的。
监督位
应根据信息位的取值按监督关系来确定,即监督位应使以上三式中S1、S2和S3的值为零(表示变成的码组中应无错码),即
由上式经移项运算,解出监督位
给定信息后,课直接按上式算出监督位,其结果如下表。
表格1监督位和信息位的对应关系
信息位
监督位
信息位
监督位
0000
000
1000
101
0001
011
1001
110
0010
110
1010
011
0011
101
1011
000
0100
111
1100
010
0101
100
1101
001
0110
001
1110
100
0111
010
1111
111
接收端收到每个码组后,先计算出
S1、S2和S3,再按表格1判断错码情况。
例如,若接受码为0000011,则计算可得
=0,
=1,
=1。
由于
等于011,故可知在
位有一错码。
按上式方法构造的码称为汉明码。
(7,4)汉明码的最小码距d=3,因此,这种码能纠正一个错码或检测两个错码。
汉明码有以下特点:
码长
最小码距d=3
信息码位
纠错能力t=1
监督码位r=n-k=m
这里,m为≥2的正整数,给定m后,即可构造出具体的汉明码(n,k)。
汉明码的编码器和译码器电路如下图所示。
(二)汉明编译码实验电路的构成
汉明编译码模块实验电路功能组成框图如下图所示
1、汉明编码模块实验电路工作原理:
(1)输入数据
汉明编码输入数据可以来自ADPCM1模块的ADPCM码字,或来自同步数据端口数据、异步端口数据、m序列。
选择ADPCM码字由工作方式选择开关SWC01中的ADPCM状态决定,当处于ADPCM状态时(插入跳线器),汉明编码器对ADPCM信号编码;否则处于非ADPCM状态时(拔除跳线器),输入编码数据来自开关KC01所设置的位置,分别为同步数据端口数据、异步端口数据、CVSD编码数据、m序列。
(2)m序列发生器
M序列用于测试汉明编码规则,输入数据信号与开关SWC01位置表如下表所示。
我们只测试前两个开关状态。
(3)编码使能开关
此开关与接收端汉明译码器使能开关同步使用,该开关处于使能状态(H_EN短路器插入),汉明码编码器工作;否则汉明码编码器不工作。
需要注意:
汉明码编码器不工作时,ADPCM和CVSD语音数据无法通过调制解调信道通话,这是因为编码速率与信道速率不匹配。
(4)错码产生
错码产生专门设计用于测量汉明译码器的纠错和检错性能。
输出错码与开关SWC01位置如下表所示。
错码可以用示波器从错码指示端口TPC03监测。
汉明编码模块各测试点定义如下。
(1)TPC01:
输入数据。
(2)TPC02:
输入时钟。
(3)TPC03:
错码指示(无加错时,该点为低电平)。
(4)TPC04:
编码模块输出时钟(56KHZ/BPSA/DPSK)。
(5)TPC05:
编码模块输出数据(56Kbtps/BPSA/DPSK)。
汉明编码模块电路功能组成框图如下图。
2、汉明译码模块实验电路工作原理:
(1)输入信号选择开关
开关KW01、KW02用于选择输入信号和时钟是来自解调器信道或直接来自汉明编码模块。
当KW01、KW02设置在1_2位置(CH:
左端),则输入信号来自信道;开关KW01、KW02设置在2_3位置(LOOP:
右端),则输入信号来自汉明编码模块。
(2)汉明译码器
主要由串/并变换器、校正子生成器、3/8译码器和纠错电路构成。
该电路专门一个CPLD(EPM7128)实现。
(3)汉明译码使能开关
SW03中H_EN与发端编码使能开关同步使用。
汉明译码模块个测试点定义如下。
(1)TPW01:
输入时钟(56KHZ)
(2)TPW02:
输入数据(56kbps)。
(3)TPW03:
检测错码指示。
(4)TPW04:
输出时钟。
(5)TPW05:
CVSD数据输出。
(6)TPW06:
同步数据输出。
(7)TPW07:
m序列输出。
(8)TPW08:
异步数据输出。
汉明译码模块电路功能组成框图如下图所示。
四、实验内容
(一)准备工作
(1)首先通过菜单将调制方式设置成BPSK或DBPSK方式;将汉明编码模块内工作方式选择开关SWC01中:
编码使能开关插入(H_EN),ADPCM数据断开(ADPCM);加错开关E_MOD0、E_MOD1均拔出;将输入数据选择开关KC01设置在m序列(DT_M)位置;设置m序列方式为00(M_SEL2和M_SEL1拔下),此时m序列输出0/1码。
(2)将汉明码模块内输入序号的时钟选择开关KW01、KW02设置在LOOP位置(右端),输入信号直接来自汉明编码模块(不通过调制、信道、解调);将译码器使能开关KW03设置在工作位置ON(左端)。
(二)编码规则验证
(1)用示波器同时观测编码输入信号TPC01波形和编码输出波形TPC05,观测时以TPC01同步,观测是否符合汉明编码规则,注意此时输入、输出数据速率不同,输入数据速率为32kbps,输出数据速率为56kbps。
TPC01
TPC05
以四分之一周期为单位,输入序列0011,输出序列0001011,时延4us。
符合汉明编码规则。
(2)设置m序列方式为10(M_SEL2插入、M_SEL1拔下),此时m序列输出为11/00码。
用示波器同时观测编码输入信号TPC01波形和编码输出波形TPC05,观测时以TPC01同步,观测是否符合汉明编码规则。
当输入每个码元时长为
(1)中一倍时,输出不变。
时延增大为14us。
符合汉明编码规则。
(3)设置其它m序列方式,重复上述测试步骤。
记录输入为0/1码、00/11码等m序列码的汉明编码输出及波形。
0/1码
00/11码:
其结果与
(1)、
(2)相似。
(三)译码数据输出测试
设置m序列方式为11(M_SEL2、M_SEL1均插入);用示波器同时观测汉明编码模块的编码输入信号TPC01波形和汉明编码模块译码输出m序列波形TPW07,观测试以TPC01同步。
测量译码输出数据与发端信号是否一致。
注意:
输出波形与输入波形之间有时延。
记录输出波形和输入波形。
当M_SEL2和M_SEL1都插入时,其图形如下:
TPW07
TPC01
当M_SEL2插入,M_SEL1拔下时,其图形如下:
当M_SEL2和M_SEL1都拔下时,其图形如下:
由以上三个图形可以看出,译码正确,时延约为50us。
(五)发端加错信号和汉明译码检错能力观测
用示波器同时测量汉明编码模块内加错指示TPC03和汉明译码模块内错码检测指示输出波形TPW03的波形,观测时以TPC03同步。
(1)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD0、E_MOD1均拔出,此时无错码,记录结果。
TPC03
TPW03
当把图形放的特别大时,其图形如下:
由第一个图可见,不加错时都没有显示。
由第二个图可知,不加错码放大后是一个周期性的连续信号。
(2)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD0接入,产生1位错码,定性观测汉明译码能否检测出错码,记录结果。
由图形可知,当加一位错码时,汉明译码检测出了错误。
(3)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD1接入,产生2位错码,定性观测汉明译码能否检测出错码,记录结果。
由图可见,当加入两位错码时,汉明译码也可以检测出来。
(六)汉明译码纠错性能测量
汉明编码的输入信号设置m序列方式为11(M_SEL2、M_SEL1均插入);用示波器同时观测汉明编码模块的输入信号TPC01波形和汉明译码模块译码输出m序列波形TPW07,观测时以TPC01同步。
(1)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD0、E_MOD1均拔出,此时无错码,记录结果。
由图可见,不加错时译码正常。
编码与译码能够一一对应。
(2)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD0接入,产生1位错码,定性观测汉明编译码系统能否纠1位错码,记录结果。
由图形可知,当加入一位错码时,译码也正常。
(3)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD1接入,产生2位错码,定性观测汉明编译码系统能否纠2位错码,记录结果。
由图形可知,当加入两位错码时,就不能正确译码。
六、思考题
1、汉明编码器模块的使能开关、译码器模块的使能开关(H_EN断路器)起什么作用?
从电路图中可以看出,没有插入H_EN时,汉明编码器被短路,输出数据没有经过汉明编码。
插入H_EN时,输出数据经过汉明编码。
2、根据实验数据分析汉明码的纠错功能。
汉明编码能够纠正一个错码和检测两个错码,三个及以上无法判断纠错检错能力。
3、本实验中汉明编码器的输入数据速率为32kbps,输出数据速率为多少?
为什么?
本实验中汉明编码的,输出数据速率为32*7/4=56kbps。
这是由于汉明编码是(7,4)编码。