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
J
I
[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条)