基于ISE和Modelsim的汉明码设计

基于ISE和Modelsim的汉明码设计


2024年4月14日发(作者:)

通1言与信息处理 

督矩阵。(11,k)线性分组码的监督矩阵日由r行1"1 

自动化技术与应用》2010年第29卷第3期 

仍 仍 伽 

字。G为k×n阶矩阵,各行也是线性无关的。生成矩 

列组成,这r行是线性无关的。监督矩阵可写成如 

阵也可以分为两部分,G=口 (1) 

下形式: 

其中 

『¨l0 l0 0] 

1 1 1 

—..。....。..........。......,。.。....。....L 

H Il 

]●●●●●●● ●●●●J

仍 

 

1 0

l 0

 1

 0

 1 0

 0

 0 1

 

 

 [P, ,称为典型监督 

1 1 0 

Q= 

PT 

矩阵,J,为r×r阶单位矩阵,P为r×k阶矩阵。 

1 O 1 

HA =0 ,说明 矩阵与码字的转置乘积必为零,可 

0 1 1 

以用来作为判断接收码字 是否出错的依据。 

,t为五阶单位阵。可以写成式(1)形式的G矩阵,称 

若把监督方程补充为下列方程 

为典型生成矩阵。表1所示为(7,4)码的码字表。 

表1 (7.4)码的码字表 

序号 码 宇 序号 码 字 

以3 

信息码元 监督元 信息码元 监督元 

0 0 O 0 0 O 0 0 8 1 0 0 0 1 1 l 

+日3 

l 0 0 0 1 0 1 l 9 l 0 0 l 1 0 0 

+日3 

2 0 0 1 0 1 0 l lO l 0 l 0 O 1 0 

 ,

3 0 0 l 1 1 l 0 l1 l 0 1 1 0 0 1 

1 0 O 0 

4 0 1 O 0 1 l 0 l2 1 l 0 0 O 0 1 

O 1 O O 

5 0 1 0 1 1 0 1 l3 l 1 O 1 0 1 0 

O O 1 O 

6 0 1 1 0 0 1 l l4 l 1 l 0 1 0 0 

O O O 1 

7 O l 1 1 0 0 0 l5 l 1 1 1 1 1 1 

1 l 1 O 

1 1 O 1 

2.2伴随式(校正子)S 

1 0 l 1 

表2 (7,4)码伴随式与错误图样的对应关系 

a6 

E S 

序号 锗误码位 

a5 

e6 e5 e4 e3 e2 el e s2 s1 s 

O 0 

AT= ’ 

a4 

0 { O 0 0 O 0 0 0 0 0 0 

1 bO 0 0 0 0 0 0 1 O 0 1 

a3 

2 bl 0 0 0 0 0 l 0 0 1 0 

A= a a a3】.G 

3 b2 0 0 0 0 1 0 0 1 0 0 

4 b3 0 0 0 1 0 O O 0 1 1 

其中 

5 b4 0 0 1 0 0 0 0 1 0 1 

6 b5 0 1 0 O 0 O O 1 1 O 

1 O O O 

l 1 1 

7 b6 1 0 0 0 0 0 0 1 1 1 

O 1 0 O 1 l 0 

设发送码组A=[a 一l,a 一2,…,a1,a0】,在传 

G= 

输过程中可能发生误码。接收码组 =【b 一l, 一 

O O 1 O 1 0 1 

2,…,b I, 0】,则收发码组之差定义为错误图样 

O O O 1 

O 1 1 

E,也称为误差矢量, =【P 一1,P 一2,…,e1,P0】, 

称为生成矩阵,由G和信息组就可以产生全部码 

E=B—A,当bi≠ai时, ,==l;当bi=a 时, ,:=0。 

《自动化技术与应用》2010年第29卷第3期 通1言与信息处理 

Communication and Information Processing 

中矩阵哪位出现1,就表示接收组口中相应的码 

元错了。接收端利用监督矩阵来测量接收组口中 

的错误。令 = 日 ,称为伴随式或校正子。则 

S=BH =rA+E)H =EH ,伴随式 与错误 

图样 之间有确定的线性变换关系即 能代表 

中错误的情况,j5}无错则S=0,B有错则S V- 

0(非全零矩阵)接收端译码器的任务就是实现检 

错和纠错。表2为(7,4)码伴随式与错误图样的对 

应关系。 

图1 汉明码编码器硬件设计电路 

(7)调用Modelsim进行功能仿真,仿真结果如图 

2所示: 

3 汉明码编译码器设计流程 

3。1汉明码编码器设计 

(7,4)汉明码的编码就是将输人的四位信息码编成 

七位的汉明码,即加入三位监督位。按照以下步骤设计 

汉明码编码器: 

(1)启动ISE。 

(2)创建一个新项目,命名为“hammbm”。 

(3)用VHDL编写汉明码编码代码,程序如下: 

library ieee; 

 

use ieee.std

logic 1164.all;

图2 汉明码编码器设计仿真结果 

3.2汉明码译码器设计 

(7,4)汉明码的译码就是将输入的七位汉明 

码翻译成四位的信息码,并且纠正其中可能 

出现的一个错误。按照以下步骤设计汉明码 

编码器: 

entity hammbm is 

(1)启动ISE。 

(2)创建一个新项目,命名为“hammym”。 

(3)用VHDL编写汉明码编码代码,程序如下: 

library ieee; 

use ieee.stdlogic1 164.all; 

port(a:in std_logic_vector(3 downto 0); 

b:out std

logic—vector(6 downto 0)); 

end hammbm; 

architecture lab l of hammbm is 

begin 

entity hammym is 

b(6)<=a(3); 

b(5)<=a(2); 

b(4)<=a(1); 

b(3)<=a(0); 

b(2)<=a(3)xor a(2)xor a(1); 

port(a:in std_logic—vector(6 downto 0); 

S:out std

logic vector(2 downto 0); 

b:out stdlogic

vector(3 downto 0)); 

end hammym; 

architecture lab2 of hammym is 

begin 

b(1)<=a(3)xor a(2)xor a(O); 

b(0)<=a(3)xor a(1)xor a(O); 

end labl; 

process(a) 

variable SS:std

logic

vector(2 downto 0); 

(4)HDL语法检查。 

(5)功能仿真TEST bench构建。 

(6)汉明码编码器硬件设计电路如图l所示: 

variable bb:std logic vector(6 downto 0); 

begin 

ss(2):=a(6)XOF a(5)xor a(4)xor a(2); 

ss(1):=a(6)xor a(5)xor a(3)xor a(1); 

ss(o):a(6)xor a(4)xor a(3)xor a(o); 

通信与信息处理 

Communlcation and lnformation Processin 

自动化技术与应用 201 0年第2 9卷第3期 

bb:=a; 

if ss>”000”then 

case ss is 

when”001”=>bb(0):=not bb(O); 

when”010”=>bb(1):=not bb(i); 

when”100”=>bb(2):not bb(2); 

when”O11”=>bb(3):=not bb(3); 

图4 汉明码译码器设计仿真结果 

4 结束语 

介绍了(7,4)汉明码的原理和作用,使用VHDL编 

when”101”=>bb(4):=not bb(4); 

when”Ii0”=>bb(5):=not bb(5); 

写了汉明码编译码器的代码,简化了硬件开发的设计 

when”11l”=>bb(6):=not bb(6); 

流程,利用VHDL设计硬件电路有以下等优点:设计 

when others=>nuU: 

技术齐全、方法灵活、支持广泛;系统硬件描述能力 

end case; 

强;VHDL可以与工艺无关编程,VHDL标准、规范, 

else b<=a(6)&a(5)&a(4)&a(3); 

易于共享和复用。具有易于修改的优点。最后,通过 

end ifl 

Modelsim进行仿真,得出了满足需要的结果,有一定 

S<=SS 

的实用意义。 

b<=bb(6)&bb(5)&bb(4)&bb(3); 

end process; 

参考文献: ’ 

end lab2; 

[1]刘燎原.基于VHDL语言的汉明码编码器和译码器的设 

(4)HDL语法检查。 

计[J】.安徽职业技术学院学报,2006(12):5-7. 

[2】李玉飞.海明码纠错的FPGA实现….现代电子技术, 

(5)功能仿真TEST bench构建。 

2007(3):60—61,64. 

(6)汉明码译码器硬件设计电路如图3所示: 

[3】范慧霞,郑喜珍,冯志谦等.海明校验的原理及其实现[J]. 

中国科技信息,2007(23):132,136. 

[4】孟庆海,张洲.VHDL基础及经典实例开发[M】.西安:西 

安交通大学出版社,2008. 

[5]李云松,宋锐,雷杰等.Xilinx FPGA设计基础(VHDL 

版)【M】.西安:西安电子科技大学出版社,2008. 

[6】池雅庆.廖峰等.ASIC芯片设计从实践到提高[M】.北京: 

中国电力出版社,2007. 

图3 汉明码译码器硬件设计电路 作者简介.王文剑(

1 9 8 5一),硕士研究生,研究方向为数删宅 

(7)调用Modelsim进行功能仿真,仿真结果如图掘与信息融l舍技术。 

4所示: 

更正启事 

由于成本原因,本刊自201 0年起每册定价由8.00元调整至1 0.O0元。由于工作人员失误将20l0年第一期定 

价印成8.00元,应改为10.O0元,特此更正,并向本刊读者致歉。 

自动化技术与应用编辑部 

2010年3月1日 


发布者:admin,转转请注明出处:http://www.yc00.com/news/1713077320a2178360.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信