通信原理实验18-汉明码编解码实验
实验十八 汉明码的编解码实验 实 验 内 容 1.熟悉汉明码码型变换编码实验 2.熟悉汉明码码型变换译码实验 一、实验目的 1.了解汉明码的编解码原理 2.掌握汉明码的编解码过程 3.学习通过 CPLD 编程实现汉明码编译码实验 二、实验电路工作原理 汉明码是 1949 年提出的一种能纠正单个错误的线性分组码。它是在原有数据中插入若干校验码来进行错误检查和纠正的编码技术。它在 CDMA 多载波系统中得到了广泛应用。
1.线性分组码的编码原理 分组码中信息码元和监督码元是用线性方程联系起来的。设分组系统码(n,k)中 k=4,为能纠正一位误码,取 r=3,则 n=k+r=7。我们用 a0a1a2a3a4a5a6 表示这 7 个码元,用 S1,S2,S3 表示由三个监督方程式计算得到的校正子,并假设 S1S2S3 三位校正子组码与误码位置的对应关系如表 1-1 所示。
表 表 1-1 校正子与误码位置 S1S2S3 误码位置 S1S2S3 误码位置 0 0 1 0 1 0 1 0 0 0 1 1 a0 a1 a2 a3 1 0 1 1 1 0 1 1 1 0 0 0 a4 a5 a6 无误 由表可知:
S1=6 5 4 2 a a a a (1-1)S2= 6 5 3 1 a a a a (1-2)S3= 6 4 3 0 a a a a (1-3)在编码时,a6,a5,a4,a3 为信息码元,取决于被传输的信息。由式(1-1),(1-2),(1-3)
可知,监督码元 a2,a1 和 a0 应根据以下的监督方程确定:
a2= 6 5 4 a a a (1-4); a1= 6 5 3 a a a (1-5); a0= 6 4 3 a a a (1-6)不难看出,上述(7.4)码的最小码距 dmin=3,它能纠正一个误码或检测两个误码。如超出纠错能力,则反而会因“乱纠”而增加新的误码。
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.线性分组码的解码原理 接收端收到的每个码组后,计算出 S1,S2 和 S3,如不全为 0,则可按表 1-1 确定误码的位置,然后给以纠正。
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<="1000000" when "111", "0100000" when "110", "0010000" when "101", "0001000" when "100", "0000100" when "011", "0000011" when "010", "0000010" when "001", "0000001" when "000";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);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,选择汉明编解码,按动 RST 复位程序; 3.用示波器观测 TPD07 的发送信号码元波形,TPD13 的时钟信号,观察发送码元的发光管显示; 4.观察 TPD04 的编码波形,记录并分析汉明码的编码规则; 5.观察 TPD08 处的汉明码解码码元,分析汉明码的解码算法; 6.将 1 步骤中的数据改变,再重复以上步骤。
五、实验报告要求 1.体会汉明码的检错原理 2.看看译码器能够纠正几位错码 六、测试点说明 1.TPD07:基带信号输入,码型与输入相对应; 2.TPD13:时钟信号; 3.TPD04:汉明码编码输出; 4.TPD08:汉明码译码输出。
备注:实验由试样程序实现,有兴趣的同学可以自己用 QUARTUSⅡ自己编译,测试点可以自己定义,电路原理图见附录。
版权声明:
1.大文斗范文网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《通信原理实验18-汉明码编解码实验》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。
