《DSP课程设计报告书基于DSP的指纹识别系统设计.doc》由会员分享,可在线阅读,更多相关《DSP课程设计报告书基于DSP的指纹识别系统设计.doc(17页珍藏版)》请在三一办公上搜索。
1、湖 北 民 族 学 院 科 技 学 院信息工程系DSP课程设计报告书题目: 基于DSP的指纹识别系统设计专 业:电气工程及其自动化班 级: 学 号: 学生姓名: 指导教师: 2010 年 5 月 28日信息工程系课程设计任务书学 号学生姓名专业(班级)电气工程设计题目基于DSP的指纹识别系统设计设计技术参数(1)TMSC5402芯片的运算能力高达100MIPS(2)FPS200采集的指纹图像为256300象素(3)系统录入指纹时间小于0.5,误识率小于0.1%,拒识率小于2%.设计要求(1)绘制系统框图(VISIO);(2)包括电源设计、存储空间的软硬件设计、RS232 通信接口软硬件设计、总
2、线控制和驱动设计等、用Protel软件绘制原理图和PCB图;(3)编写测试程序;(4)从理论上分析,设计的系统要满足基本的信号处理要求;(5)参考文献、论文格式规范。工作量字数 5000-10000字图纸 10-15张。工作计划第14周认真复习教材第15周再次认真学习protel和visio软件的使用第16周完成课程设计第17周认真检查修改参考资料1康华光,陈大钦. 电子技术基础模拟部分(第五版)M. 北京:高等教育出版社,20052杨强.谭礼俊.生物识别技术对比浅析J.人众科技.2005 2 50- 51.3勒中鑫.数字图像信息处理M 北京:国防工业出版社.2003 63 654陈宏.田捷.
3、检验配准模式的指纹匹配算法J.软件学报.2000年 16(6): 115赵鹏匕.基于TMS32 C5402 DSP的指纹识别系统研究C.山西:中北大学.20指导教师签字 年 月 日信息工程系课程设计成绩评定表学生姓名: 学号: 专业(班级): 电气工程 课程设计题目: 基于DSP的指纹识别系统设计 指导教师评语: 成绩: 指导教师: 年 月 日 摘 要在综合考虑日前技术的发展、性能与成本等因素的基础上,本文设计了一个以TI公司的TM S320C5402处理器为核心的指纹识别系统该系统的硬件由FPS200指纹采集传感器、主控电路、输入通路、输出通路等部分组成.并对指纹识别算法采用DSP专用汇编指
4、令集与C语言混合编程的方法,以此实现了一个高效低功耗的嵌入式系统。文中介绍了其组成原理、硬件结构设计、系统功能设计、图像采集电路的实现,以及指纹识别算法的处理流程和实现方法。通过试验,该模块的采集效率高、识别速度快且准确可关键词:指纹识别 TMS320C5402 DSP 识别算法Abstract On the basis of comprehensive balancing of the current advancern ent of technology system performance and the cost a novel fingerprint identification s
5、ystem is designed with TMS320C5402 chip made by TI Corporation as its central processor .The hardware of system consists of FPS200 fingerprint collecting sensor main control circuit ,input channels,output channels The program of fingerprint identification algorithm mixes the assemble language and C,
6、which implements a high effective and low cost embedded system.The software and hardware design and implementation of this system are introduced later .In experiments,the module is fast speed and accurate ,and takes a very good performance.Key words:fingerprint identification; DSP;TMSC5402;identific
7、ation algorithm目 录绪言61 指纹识别系统的工作原理72总体硬件设计82.1存储空间的软硬件设计82.2 RS232 通信接口软硬件设计102.3总线控制和驱动102.4指纹图像的获取113软件设计123.1识别算法的实现123.2系统处理流程134系统调试方法155总结16参考文献17 绪言:随着计算机与信息技术的不断发展,生物识别技术的应用越来越加广泛.在各种生物识别技术中,指纹识别是日前生物检测学中研究最深入、应用最广泛、发展最成熟的最有前景的一种识别技术,它通过分析指纹的局部特征,从中抽取详尽的特征点,从而可靠地确认个人身份.指纹识别的优点是指纹作为人体独一无一的特征,
8、它的复杂度可以提供用于鉴别的足够特征,具有极高的安全性、实用性、可行性.是一种比较理想的身份认证技术。1指纹识别系统的工作原理指纹识别系统从整体上可分为指纹图像采集、图像处理和识别二大部分组成.工作原理框图如图1所示. 系统学习模块负责采集用户指纹数据,对指纹图像进行预处理,提取这些指纹特征,作为将来的对比模板存入数据库;指纹识别模块则负责采集和处理指纹图像,在提取特征后与数据库中的指纹模板进行对比,然后判断是否匹配,得出结论。整个系统核心就是图像处理特征提取以及指纹比对. 图1.指纹识别系统原理框图2 总体硬件设计指纹系统总体设计方案如图2所示。该系统是由指纹采集仪、FPGA、SRAM 和F
9、lash 等硬件组成。RS232 用于数据传输,PC 机可以通过该接口得到指纹特征数据;Flash 存储指纹信息库、LCD 用的字符和DSP 程序;FPGA 在DSP 的控制下从取指器中取出图放入SRAM 中. 图2.系统总体硬件框图2.1 存储空间的软硬件设计本系统要访问的存储器有三个:DSP 内部DARAM(16K 字,用于存放常量和变量的数据空间)、SRAM 和Flash。因为5402 有20 根地址线可以用来对程序空间寻址,所以有1M 字节的寻址空间,利用高地址线A19 来区分Flash 和SRAM。其中SRAM 是BootLoader 后程序运行的空间,这样就把Flash 放在高地址
10、上去了。5402 的数据寻址空间仅为64K,所以要进行分页扩展。为了避免和DARAM 的访问冲突,不能使用64K 一页。因为64K 中低地址的16K 实际上不能访问,它优先被64K 中低地址的16K 实现上不能访问,它无被DARAM 访问,所以定为32K 的一数据页。分配一个I/O 地址,而后通过I/O 地址的译码对74LS273 进行使能控制,最后锁存I/O 的数据作数据页。当对数据空间进行访问时,应分为以下几步:解析该地址,进行分割。前(低)15 位为页内地址,后(高)6 位为页地址。判断页地址是否为0。如果为0,则说明访问DARAM,直接使用访问数据的指令;需要的16 位地址就是前15
11、位的地址、高位补零,并结束。把页地址用PORTW 命令送到寄存器(所分配的I/O 空间地址)里,页地址也就在SRAM 的高地址线上了。再使用访问数据的指令,需要的16 位地址就是前15 位的地址、高位补零。对存储器的管理,需要编写一定量的程序。可以设置一个全局变量存储页地址。由于扩展页仅为32K,大于32K 的数组是开辟不出来的,所以使用链表。需要注意的是释放空间时,把相邻的未使用的空间尽量连接成一大块,同时需要一个接一个地把用过的堆栈拷贝到堆空间的尾部,使自己空间聚合成一个大块。图3、图4 分别为外部程序扩展和数据空间扩展示意图。 图5.外部存储电路设计2.2 RS232 通信接口软硬件设计
12、该系统使用MAX3232 连接DSP 与PC 机,通过软件控制分频比可获得通用的300baud230kbaud 的波特率。MAX3110E 内部UART 与RS232 收发器能够独立工作。McBSP 的时钟停止模式可以兼容SPI 主-从协议。所谓McBSP 的时钟停止模式是指其时钟会在每次数据传输结束时停止,并在下次数据传输开始时立即启动或延半个周期再启动。其接收器和发送器是同步的,即CLKX 和FSX 分别与CLKR 和FSR 相连;在传输过程中,CLKX 和FSX 又分别用做SPI 的移位时钟SCK 和从方使能SS,可以是输出(主方),也可以输入(从方)。其McBSP 初始化编程应遵守以下
13、几个步骤:将SPCR 中的XRST、RRST 置为0,处于复位状态。McBSP 保持复位的状态下,设置有关的寄存器为需要的值。由于SPI 协议要求McBSP 在移位输出数据之前,FSX 信号必须由DXR-XSR 产生FSX,所以XCR 寄存器中XDATALY 位必须设置为1。设置SPCR-GRST 为1,采样率发生器退出复位状态,开始工作。等待两个时钟周期,以确保McBSP 在初始化过程中内部能够正确地同步。而后,配置MAX3110E 的波特率和发送波形,发送数据时根据MAX3110E 的数据手册拼装成一个16 位的字进行发送。接收通过DSP 的Int0 中断进行处理。 图6.RS232通信接
14、口设计2.3 总线控制和驱动本系统中总线有两种:数据总线和地址总线。数据总线进行数据交换,地址总线进行寻址。因为DSP 的数据总线是3.3V 的高电平逻辑值,可能出现不能驱动外部5V 的逻辑电平的情况;而且连接在动能力不足。因此,需要对总线,特别是数据总线进行加强驱动能力的设计。其中数据总线使用SN74LVTH16245 来进行驱动向驱动;地址总线是单向的,没有方向的控制,也没有使能的控制,使用SN74LVTH16244单向驱动器就可以了。对于数据总线的控制,按照所逻辑合理使用了DSP_MSTRB。DSP_IOSTRB、R/W 就可以完成了 图7.总线控制和驱动2.4 指纹图像的获取采用Alt
15、era 公司的Maxplus II 软件进行VHDL 语言编程。按照一定的时序,把指纹图像放大SRAM的固定地址中,这一部分调试有些麻烦,可以放在最后做,而图像的获取可使用CCS2.0 下的file-data-load 把图像文件放入指定的内存区域。此图像文件为CCS 数据文件,可以编写一段C 程序把BMP 文件转换成CCS 文件。另一种比较方便的方法是用DSP 编写一个小程序,使用fopen()、fread()等函数把图像读入内存,然后使用file-data-save 保存成CCS 文件。3 软件设计本系统软件设计是基于D SP的集成开发环境CCS2 0下设计的.软件实现包括两大部分:一是完
16、成指纹数据采集系统的初始化一是完成指纹识别程序.系统初始化程序包括:V C 5402内部寄存器初始化程序、接日程序设计、判断是否进行指纹采集的程序.我们将在下节重点讨论识别程序算法及实现.调用TM S320C 5402编辑器将系统初始化及指纹识别程序编译生成H EX文件后烧写到系统的FLASH中,以便保证系统上电后能够正常自举加载.3.1识别算法的实现指纹识别算法是指纹识别的核心技术,本系统的指纹识别算法流程图,如图8所示先经过图像分割、滤波增强(包括规格化、计算方向图和方向滤波)、一值化、细化这儿个指纹图像预处理后,再进行特征提取和特征匹配最后输出结果. 图像分割卞要是将指纹图像的前景区域和
17、背景区域分割开来.前景区域包括了指纹图像的脊和谷,为提高特征点提取的可靠性,要进行图像分割,去除背景区域.规格化即是把指纹图像的对比度和灰度都调整到一个固定的级别上,为后续处理提供统一的规格.方向信息是指纹图像的贡要信息.本文采用基于邻域灰度统计特征法获取指纹的点方向图,进而设计出了系统的滤波器模板,使指纹在切向平滑、在法向锐化,以消除指纹的误断和义连一值化是将灰度指纹图像根据所选闽值将像素点转换为Q1的一值图像,从而增强了脊、谷的对比度.之后对纹路又进行细化细化的日地是删除纹线的边缘像素,使之只有一个像素宽度.细化以后的指纹图像中的每条纹线都变为单像素宽的“点线”再经去噪,就可以见到清晰的点
18、线图,为以后的特征提取作好了准备. 指纹特征提取算法可以简单的分为直接从灰度指纹图像提取特征和从细化一值指纹图像提取征,本系统采用了细化一值图像提取特征的方法,该方法在得到可靠的细化一值图像后,提取出特征点相应的坐标位置、种类、方向等有用的信息.我们采用了较典型的方法(邻域判定法),该方法用一个3x3的模板便可将端点和分义点提取出来,对于细化后的一值图像,对每个点值计算其交义数(C .1).点R的交义数C.,定义在一个3x3的模板上.模板如图9所示. 图8.指纹算法识别流程图图9特征提取模板R是待检验点,如果R是端点,则它的8领域满足如果M点是分义点,则它的8领域点满足这样就可以找到特征点,并
19、记录他们的类型和位置.求出特征点后,再根据平均纹线距离等信息对所得特征点进行有效性检验,去除伪特征点,保留真特征点.然后一特征点的坐标(戈力,及特征点的方向d,结合其邻域情况(邻域内的特征点数、相对位置、脊线上特征点所处位置的纹曲率、特征点邻域内的脊线纹密度等等),可以构成该指纹细节特征点的特征向量.将所有的特征向量进行筛选后留下50到80个特征向量,构成指纹特征模板.特征匹配卞要是细节特征的匹配,依靠指纹本身决定的可靠参考坐标系,可以提高指纹的匹配的效率.指纹中心处具有较高的不可定向性程度,其附近的纹线方向多变.利用方向图和不可定性图设计和实现了指纹自动定位的快速算法.该算法能够确定指纹中心
20、点的位置和方向,自动定位率在9/c以上.对于用活体指纹采集输入的指纹,自动定位率更高.用同样的方法,我们还可以准确提取指纹的下、中心及左、右二角点等形态特征与辅助定位信息.对点模式匹配算法很多,我们使用的算法是通过在一定范围搜索参数空间,计算其匹配支持数,也就是在该参数空间单,有多少指纹对匹配.当匹配支持数最大时,也就得到了所需要的结果.算法步骤:(1)分别读取两个细节点集合;( 2)分别计算他们的细节节点的模值:,细节节点的方向。,细节节点的弧度值rad ianx,y为细节点的戈J轴坐标,angle为细节点的角度. ( 3)依据rack二的大小按升序排列两个细节点集合;( 4)根据r,e,r
21、ad ian的值计算两细节点集合的匹配支持参数值supportvalue m n ;(5)循环比较、pportvalue m n与阀T值的大小(本程序T = 10),大于T则匹配度参数加上( 6)匹配度=匹配度参数乘100再除以细节点数,如果大于70则超过70%的细节点匹配,认为两细节点匹配.3.2系统处理流程整个系统的处理的过程分为四个步骤: 从图像传感器输出的指纹图像首先送到FPGA缓冲,同时运用设计好的预处理模块对数据进行处理,得到各像素点的梯度值以及子块中极大值点的坐标,所有这些数据连同原始数以突发模式存入DDR SDRAM中; DSP通过FPGA从DDR SDRAM中读取所有相关数据
22、,计算出脊线方向和脊线频率,然后利用GABOR对原始数据进行滤波,处理后的图像数据再通过FPGA存入DDR SDRAM中,因此在DDR SDRAM的输入输出端都需要进行缓冲; 根据DSP处理的指令要求,从DDR SDRAM中读出滤波后的数据,由FPGA内部的比较逻辑提取出指纹图像中每行(每列)中的极大值点,送到DSP进行进一步处理,完成指纹图像脊线提取; 由DSP完成匹配识别算法,并输出处理结果。4系统调试方法设计并加工好印制电路板后,就进入了硬件调试阶段。首先应对电路板作细致常规检查,防止短路和断路情况发生。加电后,检查晶体是否振荡,复位是否正确可靠,而后用示波器检查5402输出时钟CLKO
23、UT是否按照指定时钟模式工作。在作完这些检查宾,就可以进入系统硬件调试阶段。在硬件仿真时,首先要配置目标系统存储器映像,这是通过设置仿真器命令文件实现。可以在仿真调试软件目录下改写emuinit.cmd,使之每次启动仿真器时自动加载,也可以在启动仿真器后手动加载命令文件以初始化目标存储器映像。一般而言,仿真器存储器映像与连接器存储器映像应一致。对SRAM调试基本思想是,首先对SRAM两具单元初始化为两个不同值,而后调试主程序不断交替这两个单元数值。具体方法是从一个单元读出数据写入另一个单元,由累加器作为传递单元。使用Debugger软件,查看相应SRAM单元,若确实将照设定交替变化,则表明该部
24、分没有问题。5总结本文针对TM S320C5402型DSP的快速,高效的特点,采取了DSP集成开发环境下CCS2 0对指纹图像进行处理.在实际应用环境中对系统进行了测试.实验结果显示,系统录入指纹时间小于0.5误识率小于0.1%,拒识率小于2%,总体结果令人满意,在保证可靠性和可行性的前提下,可采用性能更好的DSP,相信指纹识别效果会更好.参考文献1康华光,陈大钦. 电子技术基础模拟部分(第五版)M. 北京:高等教育出版社,20052杨强.谭礼俊.生物识别技术对比浅析J.人众科技.2005 2 50- 51.3勒中鑫.数字图像信息处理M 北京:国防工业出版社.2003 63 654陈宏.田捷.检验配准模式的指纹匹配算法J.软件学报.2000年 16(6): 11- 185赵鹏匕.基于TMS32 C5402 DSP的指纹识别系统研究C.山西:中北大学.20066周立功. PDIUSBD12 USB 固件编程与驱动开发. 北京:北京航空航天大学出版社,20037王崇文,赵德绅,王延才.指纹取像与指纹识别. 计算机工程与应用,2002;(20):91948 戴明桢,周建江.TMS320VC5X结构、原理及应用. 北京:北京航天航空大学出版社,2001