通信系统课程设计报告
表3 (7,4)汉明码译码输入、输出对应关系 译码输入 译码输出 校正子S 错码位置 序号 bbbbbbb aaaa SSS 错误码位 65432102103210C 1 2 7 7 3 3 5 7 7 0 1 2 3 4 5 6 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000010 0001111 0010101 0011110 0101110 0100101 0010011 0111000 1000111 1001101 1010000 1011101 1101001 1111000 1010100 0111111 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 010 100 000 000 011 011 100 000 000 001 010 100 011 101 110 111 b1 b2 无错 无错 b3b3b5 无错 无错 b0 b1 b2 b3 b4 b5b6
第16页 共22页
通信系统课程设计报告
第6 章 (7,4)汉明码的编译码器的设计
6.1 (7,4)汉明码编译码器的设计
在编码程序和译码程序都验证结果正确以后,为了将编码和译码结合起来,将编码的输出结果送到译码器的输入端,然后由译码器将7 位输入的汉明码译成4 位的信息码。分别对编译码两个程序进行打包,生成编码和译码的打包分立元器件,然后进行连线,形成如下图所示的编译码顶层文件图:
输入端输入的datain[3?0],经过编码后形成(7,4)汉明码的全部码字b[6?0];然后将b[6?0]作为译码器的输入,经译码器输出为b[3?0]、n[2?0]和s[2?0]。b[3?0]的波形结果应该和datain[3?0]的波形结果一致,则说明整个编译码过程是正确的。
第17页 共22页
通信系统课程设计报告
参考文献
[1] 《通信原理》 樊昌信、曹丽娜,国防工业出版社,2006
[2] 《现代通信实验系统的计算机仿真》陈萍,国防工业出版社,2005
第18页 共22页
通信系统课程设计报告
体会与建议
历时2周的通信系统课程设计圆满结束了,体会和收获颇多? ?
这次课程设计我做的是(7,4)汉明码的编解码的设计,刚接到这个题目时,感觉有点迷茫和彷徨,不知道从何入手。尽管上学期刚学的《通信原理》中也讲过线性分组码中的(7,4)汉明码的编解码方法,但是现在课程设计需要借助Quartus II软件的VHDL语言来实现这功能,所以感觉比较麻烦,因为以前学的VHDL基本都遗忘了。然后便是查阅以前的书籍资料,对相关知识进行温习,通过反复温习,终于领会了(7,4)汉明码的编解码的原理、方法和本次课程设计需要实现的基于VHDL的汉明码的编解码方案。顿时觉得豁然开朗,脑海里也有了大致的实施方案。
在本次课题中,(7,4)汉明码的编码相对来说比较容易,程序也就一小段;解码方面相对就比较复杂,用到了很多的变量。但是通过反复实践和观察,最终还是有所突破,并顺利完成了课题要求。
当然,在本次设计中也存在一些问题,比如:仿真的波形毛刺比较大,有些地方也有比较严重的失真,经过后期观察和反复尝试,最终使波形的失真度减到最小。
第19页 共22页
通信系统课程设计报告
附录
(7,4)汉明码编码源程序
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ; Entity bm is
port(datain:in bit_vector(3 downto 0); b:out bit_vector(6 downto 0)); end bm;
architecture one of bm is begin
b(6)<=datain(3); b(5)<=datain(2); b(4)<=datain(1); b(3)<=datain(0);
b(2)<=datain(3)XOR datain(2)XOR datain(1); b(1)<=datain(3)XOR datain(3)XOR datain(0); b(0)<=datain(3)XOR datain(1)XOR datain(0); end one;
第20页 共22页