汉明码系统
- 格式:doc
- 大小:1.72 MB
- 文档页数:20
汉明码系统汉明码系统一、实验原理和电路说明差错控制编码的基本作法是:在发送端被传输的信息序列上附加一些监督码元,这些多余的码元与信息之间以某种确定的规则建立校验关系。
接收端按照既定的规则检验信息码元与监督码元之间的关系,一旦传输过程中发生差错,则信息码元与监督码元之间的校验关系将受到破坏,从而可以发现错误,乃至纠正错误。
通信原理综合实验系统中的纠错码系统采用汉明码(7,4)。
所谓汉明码是能纠正单个错误的线性分组码。
它有以下特点:码长n=2 m-1 最小码距d=3信息码位k=2 m -m-1 纠错能力t=1监督码位r=n-k这里m位≥2的正整数,给定m后,既可构造出a 6 a 5 a 4 a 3 a 2 a 1 a 0a a a a 图4.4.1汉明编码器电原理图●●●●●●●●●a 6 a 5 a 4 a 3a 6 a 5 a 4 a 3 a 3 a 3 a 3图4.4.2汉明译码器电原理图3-8译码器校正子生成错码 指示765432 1● ●● ● ●●●●表 4.4.1 (7,4)汉明编码输入数据与监督码元生成表4位信息位 a 6, a 5, a 4, a 3 3位监督码元 a 2, a 1, a 0 4位信息位 a 6, a 5, a 4, a 3 3位监督码元 a 2, a 1, a 0 0000 000 1000 1010001 011 1001 110 001011010100110011 101 1011 0000100 111 1100 0100101 100 1101 0010110 001 1110 1000111 010 1111 111 表4.4.1为(7,4)汉明编码输入数据与监督码元生成表。
编码输出数据最先输出是a6bit,其次是a5、a4……,最后输出a0位。
汉明编译码模块实验电路功能组成框图见图4.4.4和图3.3.5所示。
汉明编码模块实验电路工作原理描述如下:1、输入数据:汉明编码输入数据可以来自ADPCM1模块的ADPCM码字,或来自同步数据端口数据、异步端口数据、CVSD编码数据、m序列。
选择ADPCM码字由工作方式选择开关SWC01中的ADPCM状态决定,当处于ADPCM状态时(插入跳线器),汉明编码器对ADPCM信号编码;否则处于非ADPCM状态时(拔除跳线器),输入编码数据来自开关KC01所设置的位置,分别为同步数据端口数据、异步端口数据、CVSD编码数据、m序列。
2、m序列发生器:m序列用于测试汉明编码规则,输出信号与开关KWC01位置表4.4.2所示:选项KWC01设置状态M_SEL2 □□□□□□□□M_SEL1 □□□□□□□□m序列0/1码00/11码1110100 15位码长3、编码使能开关:此开关应与接收端汉明译码器使能开关同步使用,该开关处于使能状态(H_EN短路器插入),汉明码编码器工作;否则汉明码编码器不工作。
需注意:汉明码编码器不工作时,ADPCM和CVSD话音数据无法通话,这是因为编码速率与信道速率不匹配。
4、错码产生:错码产生专门设计用于测量汉明译码器的纠错和检错性能。
输出错码与开关KWC01位置参见表4.4.3所示:选项KWC01设置状态E_MOD0 □□□□□□□□E_MOD1 □□□□□□□□错码序列无错码错1位错2位错更多错码可以用示波器从错码指示端口TPC03监测。
汉明编码模块各测试点定义:1、TPC01:输入数据2、TPC02:输入时钟3、TPC03:错码指示(无加错时,该点为低电平。
)4、TPC04:编码模块输出时钟(56KHz/BPSK/DBPSK)5、TPC05:编码模块输出数据(56Kbtps/BPSK/DBPSK)汉明译码模块实验电路工作原理描述如下: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 BPSK/DBPSK)2、TPW02:输入数据(56Kbtps BPSK/DBPSK)3、TPW03:检测错码指示4、TPW04:输出时钟5、TPW05:CVSD数据输出6、TPW06:同步数据输出7、TPW07:m序列输出8、TPW08:异步数据输出TPC02 汉明 编码器 系统定时M 序列 发生器●错码 产生输出数据CVSD m 序列开关 开关 M_SEL2E_MOD1E_MOD2 M_SEL1SWC01图4.4.4 汉明编码模块电路功能组成框图UC01 数据开关 数据开关输 出时钟开关 开关 ADPCM H_ENKC01TPC01输出时钟错码检测TPC04TPC03TPC05●●●●●TPW01 汉明译码器 系统定时●图4.4.5 汉明译码模块电路功能组成框图UW01 数据开关 输 出 时钟开关 H_ENKW02 TPW02输出时钟错码指示TPW04TPW03●●●开 关 开 关KW01分 路 器ADPCM 时序同步数据序列异步数据信道 信道 终端 终端 数据●● CH LOOP CH LOOP ● ON OFF· · · ·· · · ·KC01DT_SYSDT_MAS CVSD二、 实验仪器1、ZH5001通信原理综合实验系统 一台 2、20M Hz 双踪示波器 一台 3、ZH9001型误码测试仪(或GZ9001型) 一台 4、 频谱测量仪一台三、实验目的1、 通过纠错编解码实验,加深对纠错编解码理论的理解;三、 实验内容准备工作:(1) 首先通过菜单将调制方式设置为BPSK 或DBPSK 方式;将汉明编码模块内· · · · · · · · · · · · · · · ·E_MOD0 E_MOD1H_EN ADPCMM_SEL2 M_SEL1SWC01工作方式选择开关SWC01中,编码使能开关插入(H_EN),ADPCM数据断开(ADPCM);将输入数据选择开关KC01设置在m序列(DT_M)位置;设置m序列方式为(00:M_SEL2和M_SEL1拔下),此时m序列输出为1/0码。
(2)将汉明译码模块内输入信号和时钟选择开关KW01、KW02设置在LOOP位置(右端),输入信号直接来自汉明编码模块(不通过调制、信道、解调);将译码器使能开关KW03设置在工作位置0N(左端)。
1.编码规则验证(1)用示波器同时观测编码输入信号TPC01波形和编码输出波形TPC05,观测时以TPC01同步,观测是否符合汉明编码规则(参见表4.4.1所示)。
注意此时输入、输出数据速率不同,输入数据速率为32Kbps,输出数据速率为56Kbps。
(2)设置m序列方式为10:(M_SEL2插入、M_SEL1拔下),此时m序列输出为11/00码(参见表4.4.2所示)。
用示波器同时观测编码输入信号TPC01波形和编码输出波形TPC05,观测时以TPC01同步,观测是否符合汉明编码规则。
(3)设置其它m序列方式,重复上述测量步骤。
注:其它两种m序列周期因非4bit的倍数,观测时要仔细调整示波器才能观测。
2.译码数据输出测量(1)用示波器同时观测汉明编码输入TPC01波形和汉明译码输出m序列波形TPW07,观测时以TPC01同步。
测量译码输出数据与发端信号是否保持一致。
(2)设置不同的m序列方式,重复上述实验,验证汉明编译码的正确性。
问题与思考:(KO01置于左边,K501置于右边)当m序列产生输出0/1码或00/11码或7位m序列时(都是短周期数据),观测编译码信号是否一致。
然后保持设置不变,将实验箱关机后再开机。
有可能发生译码输出与编码数据不一致。
如不一致,可将SWC01中的M_SEL1和M_SEL2两个开关都插入(输入测试信号为15位的长m序列),就可正确译码。
然后,再拔去M-SEL2, 改变输入为7位短m 序列,仍能正确译码;或者将KC01中的选择开关从m序列改到CVSD一段时间(加入一段随机码),然后再改回到m序列也可正确译码。
这是为什么?(参阅表3.4.1进行分析)在实际通信中如何解决这问题?3.译码同步过程观测将汉明编码模块工作方式选择开关SWC01的编码使能开关插入(H_EN);ADPCM数据有效(ADPCM)。
将汉明译码模块的输入信号和时钟选择开关KW01、KW02设置在2_3位置(右端),输入信号直接来自汉明编码模块。
(1)用示波器检测汉明译码模块内错码检测指示输出波形TPW03。
将汉明编码模块内工作方式选择开关SWC01的编码使能开关断开(H_EN),使汉明译码模块失步,观测TPW03变化;将编码使能开关插入(H_EN),观测汉明译码的同步过程,记录测量结果。
(2)将ADPCM数据换为m序列,重复上述测量步骤,分析测量结果。
4.发端加错信号观测将汉明编码模块工作方式选择开关SWC01的编码使能开关插入(H_EN);ADPCM数据有效(ADPCM)。
将汉明译码模块内输入信号和时钟选择开关KW01、KW02设置在LOOP位置(右端),输入信号直接来自汉明编码模块;将译码器使能开关KW03设置在工作位置0N(左端)。
(1)用示波器同时测量汉明编码模块内加错指示TPC03和汉明译码模块内错码检测指示输出波形TPW03的波形,观测时以TPC03同步。
此时无错码。
(2)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD0接入,产生1位错码,定性观测明译码能否检测出错码,记录结果。
(3)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD1接入,产生2位错码,定性观测明译码能否检测出错码,记录结果。
(4)将汉明编码模块工作方式选择开关SWC01的加错开关E_MOD0、E_MOD1都插入,产生更多错码,定性观测明译码能否检测出错码和失步,记录结果。
5.收端错码检测能力观测和错码纠错性能测量首先通过菜单将调制方式设置为BPSK (或DBPSK)方式;将汉明编码模块工作方式选择开关SWC01的编码使能开关插入(H_EN),ADPCM数据断开(ADPCM);将输入数据选择开关KC01设置在同步数据输入DT-SYS (最左端)。