实验十七汉明码的编解码实验
实验十八汉明码的编解码实验
实
验
内
容
1. 熟悉汉明码码型变换编码实验2.熟悉汉明码码型变换译码实验
一、实验目的
1.了解汉明码的编解码原理2.掌握汉明码的编解码过程
3. 学习通过CPLD编程实现汉明码编译码实验
二、实验电路工作原理
汉明码是
1949年提出的一种能纠正单个错误的线性分组码。它是在原有数据中插入
CDMA多载波系统中得到了广泛应
若干校验码来进行错误检查和纠正的编码技术。它在用。
1.线性分组码的编码原理
分组码中信息码元和监督码元是用线性方程联系起来的。设分组系统码(n,k)中k=4,
为能纠正一位误码,取r=3,则n=k+r=7。我们用a0a1a2a3a4a5a6表示这7个码元,用S1,S2,S3表示由三个监督方程式计算得到的校正子,并假设位置的对应关系如表
1-1所示。
S1S2S3三位校正子组码与误码
表1-1 校正子与误码位置
S1S2S3 0 0 1 0 1 0 1 0 0 0 1 1
由表可知: S1=
误码位置
a0 a1 a2 a3
S1S2S3 1 0 1 1 1 0 1 1 1 0 0 0
误码位置
a4 a5 a6 无误
a6a5a4
a2(1-1)
94
实验十七汉明码的编解码实验
S2=a6S3=a6
a5a4
a3a3
a1(1-2)a0(1-3)
由式(1-1),(1-2),(1-3)
在编码时,a6,a5,a4,a3为信息码元,取决于被传输的信息。可知,监督码元
a2,a1和a0应根据以下的监督方程确定:
a2=a6a1=a6a0=a6
a5a5a4
;a4(1-4);a3(1-5)
a3(1-6)
dmin=3,它能纠正一个误码或检测两个误码。如
不难看出,上述(7.4)码的最小码距
超出纠错能力,则反而会因“乱纠”而增加新的误码。
2.线性分组码的实现方法dataout(7)<='0';
dataout(6 downto 3 ) <=datain(3 downto 0); dataout(2)<=datain(3)xor datain(2) xor datain(1); dataout(1)<=datain(2) xor datain(1) xor datain(0); dataout(0)<=datain(3) xor datain(2) xor datain(0); 3.线性分组码的解码原理接收端收到的每个码组后,计算出码的位置,然后给以纠正。
4.解码的实现方法
sel(2)<=(datain(6)xor datain(5) xor datain(4))xor datain(2); sel(1)<=(datain(5) xor datain(4) xor datain(3))xor datain(1); sel(0)<=(datain(6) xor datain(5) xor datain(3))xor datain(0); with sel select
out38<=\
\\\\\\\
error_flag<=out38(0)or out38(1)or out38(2)or out38(3)or out38(4)or out38(5)or out38(6); dataout(3)<=datain(6) xor out38(4); dataout(2)<=datain(5) xor out38(6);
95
S1,S2和S3,如不全为0,则可按表1-1确定误
实验十七汉明码的编解码实验
dataout(1)<=datain(4) xor out38(5); dataout(0)<=datain(3) xor out38(2);
四、实验步骤
拨码开关识别注意点:
SWD01拨上为“1”,拨下为“0”,SWD01拨上为“0”,拨下为“1”,同时输入信号从高位算起(即第八位向第一位开始算起)
。
1.将SWD02 ( 8位的拨码开关)拨到你想要输入的数据;2.将SWD01(4位的拨码开关)拨为1010,选择汉明编解码,按动3.用示波器观测
光管显示;
4.观察TPD04的编码波形,记录并分析汉明码的编码规则;5.观察TPD08处的汉明码解码码元,分析汉明码的解码算法;6.将1步骤中的数据改变,再重复以上步骤。
TPD07的发送信号码元波形,
RST复位程序;
TPD13的时钟信号,观察发送码元的发
五、实验报告要求
1.体会汉明码的检错原理2.看看译码器能够纠正几位错码
六、测试点说明
1.TPD07:基带信号输入,码型与输入相对应;2.TPD13:时钟信号;3.TPD04:汉明码编码输出;4.TPD08:汉明码译码输出。备注:实验由试样程序实现,以自己定义,电路原理图见附录。
有兴趣的同学可以自己用
QUARTUSⅡ自己编译,测试点可
96