摘要
在通信系统中,要提高信息传输的有效性,我们将信源的输出经过信源编码用较少的符号来表达信源消息,这些符号的冗余度很小,效率很高,但对噪声干扰的抵抗能力很弱。汉明码(Hamming Code)是一种能够自动检测并纠正一位错码的线性纠错码,即SEC(Single Error Correcting)码,用于信道编码与译码中,提高通信系统抗干扰的能力。
为了提高信息传输的准确性,我们引进了差错控制技术。而该技术采用可靠的,有效的信道编码方法来实现的。 纠错码是一种差错控制技术,目前已广泛应用于各种通信系统和计算机系统中,纠错编码主要用于数字系统的差错控制,对于保证通信、存储、媒体播放和信息转移等数字传递过程的质量有着重要意义,是通信、信息类科知识结构中不可缺少的一部分。
关键字:通信系统、MATLAB 线性分组码、Hamming码
一、引言 .................................................................................................................................................................... 1 二、设计原理 ............................................................................................................................................................ 2
2.1 汉明码的构造原理 .................................................................................................................................. 2 2.2 监督矩阵H ............................................................................................................................................... 3 2.3 生成矩阵G ............................................................................................................................................... 4 2.4 校正子(伴随式)S ................................................................................................................................ 5 三、(7,4)汉明码编码的设计 .............................................................................................................................. 7
3.1 (7,4)汉明码编码方法 ........................................................................................................................ 7 3.2 编码流程图 .............................................................................................................................................. 7 3.3 (7,4)汉明码编码程序设计 ................................................................................................................ 7 四、(7,4)汉明码的译码器的设计 ...................................................................................................................... 8
4.1 (7,4)汉明码译码方法 ........................................................................................................................ 8 4.2 译码流程图 ............................................................................................................................................ 10 4.3(7,4)汉明码译码程序的设计 ............................................................................................................ 10 五、(7,4)汉明码编译码程序的编译及仿真波形 ............................................................................................ 11 六、总结 .............................................................................................................................................................. 13 七、参考文献 .......................................................................................................................................................... 14 附录 .......................................................................................................................................................................... 15
一、引言
当计算机存储或移动数据时,可能会产生数据位错误,这时可以利用汉明码来检测并纠错,简单的说,汉明码是一个错误校验码码集,由Bell实验室的R.W.Hamming发明,因此定名为汉明码。
与其他的错误校验码类似,汉明码也利用了奇偶校验位的概念,通过在数据位后面增加一些比特,可以验证数据的有效性。利用一个以上的校验位,汉明码不仅可以验证数据是否有效,还能在数据出错的情况下指明错误位置。
在接受端通过纠错译码自动纠正传输中的差错来实现码纠错功能,称为前向纠错FEC。在数据链路中存在大量噪音时,FEC可以增加数据吞吐量。通过在传输码列中加入冗余位(也称纠错位)可以实现前向纠错。但这种方法比简单重传协议的成本要高。汉明码利用奇偶块机制降低了前向纠错的成本。
1