74汉明码编码
- 格式:doc
- 大小:180.50 KB
- 文档页数:12
桂林电子科技大学课程设计(论文)报告用纸 第 I 页 共 II 页
摘 要
EDA ( Elect ronics Design Automation) 技术是随着集成电路和计算机技术飞速发展应运而生的一种高级、快速、有效的电子设计自动化工具。目前,VHDL语言已经成为EDA的关键技术之一,VHDL 是一种全方位的硬件描述语言,具有极强的描述能力,能支持系统行为级、寄存器传输级和逻辑门级三个不同层次的设计,支持结构、数据流、行为三种描述形式的混合描述,覆盖面广,抽象能力强,因此在实际应用中越来越广泛。
本文用VHDL语言实现了(7,4)汉明码的编码和译码,并通过实例来说明利用VHDL语言实现数字系统的过程。在介绍(7,4)汉明码编码和译码原理的基础上,设计出了(7,4)汉明码的编码器和译码器,写出了基于VHDL实现的源程序,并通过QUARTUSⅡ软件进行仿真验证。
关键字:VHDL;(7,4)汉明码
桂林电子科技大学课程设计(论文)报告用纸 第 II 页 共 II 页
目 录
引言……………………………………………………………………………1
1 QuartusⅡ与VHDL简介…………………………………………1
1.1 QuartusⅡ简介………………………………………………………………1
1.1 VHDL简介……………………………………………………………………2
2 设计原理……………………………………………………………………2
2.1 m序列产生原理………………………………………………………………2
2.2 (7,4)汉明码编码原理………………………………………………………3
2.3 (7,4)汉明码译码原理………………………………………………………4
3 (7,4)汉明码的建模与仿真………………………………………………4
3.1 m序列发生器的建模与仿真……………………………………………………4
3.1.1VHDL设计程序………………………………………………………………5
3.1.2m序列电路符号……………………………………………………………6
3.1.3m序列仿真波形……………………………………………………………6
3.2 (7,4)汉明码的编码建模与仿真………………………………………………6
3.2.1 VHDL设计程序……………………………………………………………6
3.2.2编码部分电路符号…………………………………………………………7
3.2.3编码仿真波形…………………………………………………………7
3.3 (7,4)汉明码的译码建模与仿真………………………………………………7
3.3.1 VHDL设计程序……………………………………………………………7
3.3.2译码部分电路符号…………………………………………………………8
3.3.3译码仿真波形…………………………………………………………8
4 小结……………………………………………………………………9
谢辞……………………………………………………………………………10
参考文献………………………………………………………………………11
桂林电子科技大学课程设计(论文)报告用纸 第1页 共11页
引言
数字通信是以模拟通信为基础发展起来的,它已成为不可替代的现代通信技术,特别是近年来,随着FPGA/CPLD(现场可编程逻辑器件/复杂可编程逻辑器件)的出现和发展,对通信系统进行ASIC(专用集成电路)芯片的研究开始盛行,VHDL等硬件描述语言亿广泛应用于ASIC芯片的开发,这将为现代通信技术的发展做出重大贡献。VHDL语言具有功能强大的语言结构,可用明确的代码描述复杂的控制逻辑设计,并且具有多层次的设计描述功能,支持设计库和可重复使用的元件的生成。汉明码是在原编码的基础上附加一部分代码,使其满足纠错码的条件。它属于线性分组码,由于汉明码的抗干扰能力较强,至今仍是应用比较广泛的一类码。
本文用VHDL语言实现了(7,4)汉明码的编码和译码,并通过实例来说明利用VHDL语言实现数字系统的过程。在介绍(7,4)汉明码编码和译码原理的基础上,设计出了(7,4)汉明码的编码器和译码器,写出了基于VHDL实现的源程序,并通过QUARTUSⅡ软件进行仿真验证。
2 设计原理
本次课程设计主要实现的是(7,4)汉明码的编码与译码,其中要编译的码字由m序列产生。
2.1m序列产生原理
二进制伪随机序列一般是通过移位寄存器加反馈电路共同来产生的。这种反馈移位寄存器可分为线性反馈和非线性反馈移位寄存器两种。其中,由线性反馈移位寄存器产生的周期最长的二进制数字序列叫做最大长度线性反馈移位寄存器序列,也称m序列。m序列的性质主要表现为均衡性、游程特性、移位相加特性、相关特性等。
本次设计采用长度为15的m序列,由4级移位寄存器构成,特征多项式为34()1fxxx,其产生电路逻辑框图如图1所示。四级移存器的所有可能状态为24=16种:0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111。中全0状态在m序列中是被禁止的。在时钟脉冲的作用下移存器的状态不断变化,其状态变化图表如表1所示,D4为此m序列的输出,D1、D2、,D3是移存器的状态。可以看出,从CP=0到CP=15是一个周期,在第15个时钟脉冲时移存器的状态又回到初始状态。所以此m序列发生器的输出为111101011001010 111101011001010… …。
图1 15位m序列电路逻辑框图 桂林电子科技大学课程设计(论文)报告用纸 第2页 共11页
表1 状态变化图表
CP D1 D2 D3 D4 CP D1 D2 D3 D4
0 1 1 1 1 8 1 0 0 0
1 0 1 1 1 9 1 1 1 0
2 0 0 1 1 10 0 1 1 1
3 0 0 0 1 11 0 1 0 1
4 1 0 0 0 12 0 0 1 0
5 0 1 0 0 13 1 1 0 1
6 0 0 1 0 14 1 0 1 0
7 1 0 0 1 15 1 1 1 1
2.2(7,4)汉明码编码原理
线性分组码是一类重要的纠错码,应用很广泛。在(n,k)分组码中,若监督元是按线性关系相加而得到的,则称其为线性分组码。现在以(7,4)分组码为例来说明线性分组码的特点。
其主要参数如下:
码长:21mn
信息位:21mkm
监督位:mnk,且3m
最小距离:min03dd
根据设计需要,本设计采用(7,4)汉明码。其生成矩阵G和监督矩阵H如下:
系统码的编码结构非常简单,根据生成矩阵,输出码字可按下式计算:
所以有
信息位 监督位
1000110010001100101110001101G101110011100100111001H3210321010001100100011(,,,)(,,,)00101110001101baaaaGaaaa63524130babababa231013210210baaabaaabaaa 桂林电子科技大学课程设计(论文)报告用纸 第3页 共11页
由以上关系可以得到(7,4)汉明码的全部码字如表2所示。
表2 (7,4)汉明码的全部码字
序号 信息码元 监督元 序号 信息码元 监督元
0 0000 000 8 1000 111
1 0001 011 9 1001 100
2 0010 101 10 1010 010
3 0011 110 11 1011 001
4 0100 110 12 1100 001
5 0101 101 13 1101 010
6 0110 011 14 1110
100
7 0111 000 15 1111 111
2.3(7,4)汉明码译码原理
设发送码组A= [an—1,an—2,„,a1,a0 ],在传输过程中可能发生误码。接收码组B=[ bn—1,bn—2,„,b1,b0 ],收发码组之差定义为错误图样E,即 EBA。
由伴随式或校正子定义
上述(7,4)汉明码的伴随式与错误图样的对应关系如表3所示。
表3 (7,4)汉明码S与E的对应关系
错误
码位 E S
e6 e5 e4 e3 e2 e1 e0 s2 s1 s0
/ 0 0 0 0 0 0 0 0 0 0
b0 0 0 0 0 0 0 1 0 0 1
b1 0 0 0 0 0 1 0 0 1 0
b2 0 0 0 0 1 0 0 1 0 0
b3 0 0 0 1 0 0 0 0 1 1
b4 0 0 1 0 0 0 0 1 0 1
b5 0 1 0 0 0 0 0 1 1 0
b6 1 0 0 0 0 0 0 1 1 1
根据伴随式来确定可纠正的错误图样,在纠错部分通过异或运算来对对应位取反,完成译码。
3 (7,4)汉明码的建模与仿真
3.1 m序列发生器的建模与仿真
本文采用4级移存器产生的15位m序列,特征多项式为34()1fxxx,输出为64322654321065411543001011100(e,,,,,,)11100100111001TTeeeesSEHeeeeeeeeeeseeees 桂林电子科技大学课程设计(论文)报告用纸 第4页 共11页