基于FPGA的汉明距离电路的实现

2011-08-16 17:21:16来源: 互联网
    当今时代已经成为信息化时代,而信息的数字化也越来越为研究人员所重视。数字化技术已经引发了一场范围广泛的产业革命,各种家用电器设备,信息处理设备都将向着数字化的方向变化。如数字电视、数字广播、数字电影、DVD等等,同时现在的通信网络也向着数字化的方向发展。随着数字化的发展,数字集成电路也得到了广泛应用。20世纪80年代中期,Altera和Xilinx分别推出了类似于PAL结构的扩展型CPLD和与标准门阵列类似的FPGA,它们都具有体系结构和逻辑单元比较灵活、集成度高以及适用范围广等特点。同时,这两种器件也兼容了PLD和通用门阵列的优点,可实现较大规模的电路编程同时也很灵活。

  汉明距离在信息论中的定义是两个等长字符串之间的汉明距离,也就是两个字符串对应位置的不同字符的个数。例如:*1011101与1001 001之间的汉明距离就是2;*2143896与2233796之间的汉明距离为3;*“toned”与“roses”之间的汉明距离为3。

  在通信中,累计定长二进制字中发生翻转的错误数据位通常也被称为信号距离。事实上,汉明重量分析在包括信息论、编码理论、密码学等领域都有应用。

  1 硬件设计

  在扩频通信和数字突发通信系统中,接收机进行的数字相关检测或独特码检测,实际上就是本地一组确定序列的一位二进制数,接收机将接收到的数据连续不断的送入N位移位寄存器中,这样,任一瞬间移位寄存器中的内容即为一串二进制码,移位寄存器的输出作为ROM的地址输入,这样,经查找表运算后,ROM就可输出所需的数据,并将所得数据送入汉明计算电路以得到汉明距离,再经过门限判决输入的汉明距离。其汉明距离的计算电路框图如图1所示。

a.jpg

  1.1 8位并入串出移位寄存器

  图2是本系统中的并入串出移位寄存器电路图。图2中,当移位/置入控制端(c.jpg)为低时,并行数据(A—H)被置入寄存器;而当c.jpg为高电平时,并行置数功能被禁止。当CLK和CLK INK有一个为低电平且c.jpg为高电平时,另一个时钟则可以输入;当CLK和CLK INK有一个为高电平时,另一个时钟被禁止:而只有在CLK为高电平时,CLK INK才可变为高电平。

b.jpg

  1.2 ROM查找表的设计

  用FPGA设计汉明距离电路的另一个关键是存储器ROM,图3所示是一个lpm_rom的器件图。设计时,移位寄存器的输出作为ROM的地址输入,这样,经查找表运算后,ROM就可以输出所需的汉明数据。

d.jpg

  1.3 逻辑计算电路

  图4所示是本系统中的逻辑计算电路的c5in3out的器件图。通过c5in3out可计算出序列D6~D32的汉明距离。序列D0~D5(即图4中的A,B,C,D,E)的汉明距离可以采用逻辑函数获得。逻辑计算电路有三个二进制输出变量,由最高有效位到最低有效位依次为A、B、C(即图4中的X,Y,Z),其逻辑表达式为:

f.jpg

e.jpg

  1.4 汉明加法器

  图5所示是一个汉明加法器的add器件图。add通常是采用求和网络法求和。求和网络法将ROM输出的数据两两通过一个加法器相加后,可将得出的结果再两两通过一个加法器相加,依次将各项计算结果相加在一起,其最终的累加结果便是汉明距离。

g.jpg

  2 汉明电路的仿真调试

  2.1 8位并入串出移位寄存器的maxpluslI仿真

  8位并入串出移位寄存器maxplusII波形仿真如图6所示。其中的Clk为移位时钟信号;Load为并行数据预置使能信号;Din是8位二进制并行预置数据端口;Qb表示当前值reg(0)向qb输出;Reg(8)为当前值和移位值(如:9A 1001 1010B;移位后:4D 0100 1101 B:第二次移位:A6 10100110 B)。

h.jpg

  2.2 32位序列汉明距离电路的实现仿真

  选取查找表-求和网络法来实现32位汉明距离的计算时,可分别将(D6~D14)、 (D15~D23)、(D24~D32)作为查找表的地址线,再由此计算出序列D6~D32的汉明距离。而其序列D0~D5的汉明距离可以采用逻辑函数获得,具体的波形仿真如图7所示。

  图7中,Datain『31..0』为汉明距离电路的输入端口;Out『4..0』为汉明距离计算输出端口(内置的32位数可用十六进制表示为000000 00)。例如F800A08C即1111 1000 0000 0000 1010 0000 10001100B,输出的汉明距离d为10。

  3 结束语

  设计完成后,可使用FPGA(即现场可编程门阵列)进行下载验证,FPGA是专用集成电路(ASIC)领域中的一种半定制电路,FPGA既可解决定制电路的不足,又可克服原有可编程器件门电路数有限的缺点。而使用MaxPlusⅡ软件和VHDL语言进行电路设计,不仅可以进行逻辑仿真,还可以进行时序仿真。由于本设计在编写过程中使用了较多的与门和异或门,所以,在波形仿真图中,波形显示具有比较长的延时。但是,自行编写的计数器功能完善,程序简单明了,完全可以实现32位汉明距离的计算。

关键字:FPGA  汉明距离

编辑:北极风 引用地址:http://www.eeworld.com.cn/FPGA/2011/0816/article_2402.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
FPGA
汉明距离

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved