基于DSP指纹识别的设计.docx
- 文档编号:17659355
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:15
- 大小:220.57KB
基于DSP指纹识别的设计.docx
《基于DSP指纹识别的设计.docx》由会员分享,可在线阅读,更多相关《基于DSP指纹识别的设计.docx(15页珍藏版)》请在冰点文库上搜索。
基于DSP指纹识别的设计
湖北民族学院科技学院
信息工程系
DSP课程设计报告书
题目:
基于DSP的指纹识别系统设计
专业:
电气工程及其自动化
班级:
K030711
学号:
K030741127
学生姓名:
范晓辉
指导教师:
黄勇
2010年5月28日
信息工程系课程设计任务书
学号
K030741127
学生姓名
范晓辉
专业(班级)
电气工程
设计题目
基于DSP的指纹识别系统设计
设
计
技
术
参
数
(1)TMSC5402芯片的运算能力高达100MIPS
(2)FPS200采集的指纹图像为256×300象素
(3)系统录入指纹时间小于0.5,误识率小于0.1%,拒识率小于2%.
设
计
要
求
(1)绘制系统框图(VISIO);
(2)包括电源设计、存储空间的软硬件设计、RS232通信接口软硬件设计、总线控制和驱动设计等、用Protel软件绘制原理图和PCB图;
(3)编写测试程序;
(4)从理论上分析,设计的系统要满足基本的信号处理要求;
(5)参考文献、论文格式规范。
工
作
量
字数5000-10000字
图纸10-15张
。
工
作
计
划
第14周认真复习教材
第15周再次认真学习protel和visio软件的使用
第16周完成课程设计
第17周认真检查修改
参
考
资
料
[1]康华光,陈大钦.电子技术基础—模拟部分(第五版)[M].北京:
高等教育出版社,2005
[2]杨强.谭礼俊.生物识别技术对比浅析[J].人众科技.2005250-51.
[3]勒中鑫.数字图像信息处理[M]北京:
国防工业出版社.200363–65
[4]陈宏.田捷.检验配准模式的指纹匹配算法[J].软件学报.2000年16(6):
11
[5]赵鹏匕.基于TMS32C5402DSP的指纹识别系统研究[C].山西:
中北大学.20
指导教师签字
年月日
信息工程系课程设计成绩评定表
学生姓名:
范晓辉学号:
K030741127专业(班级):
电气工程
课程设计题目:
基于DSP的指纹识别系统设计
指导教师评语:
成绩:
指导教师:
年月日
摘要
在综合考虑日前技术的发展、性能与成本等因素的基础上,本文设计了一个以TI公司的TMS320C5402处理器为核心的指纹识别系统该系统的硬件由FPS200指纹采集传感器、主控电路、输入通路、输出通路等部分组成.并对指纹识别算法采用DSP专用汇编指令集与C语言混合编程的方法,以此实现了一个高效低功耗的嵌入式系统。
文中介绍了其组成原理、硬件结构设计、系统功能设计、图像采集电路的实现,以及指纹识别算法的处理流程和实现方法。
通过试验,该模块的采集效率高、识别速度快且准确可
关键词:
指纹识别TMS320C5402DSP识别算法
AbstractOnthebasisofcomprehensivebalancingofthecurrentadvancernentoftechnologysystemperformanceandthecostanovelfingerprintidentificationsystemisdesignedwithTMS320C5402chipmadebyTICorporationasitscentralprocessor.ThehardwareofsystemconsistsofFPS200fingerprintcollectingsensormaincontrolcircuit,inputchannels,outputchannelsTheprogramoffingerprintidentificationalgorithmmixestheassemblelanguageandC,whichimplementsahigheffectiveandlowcostembeddedsystem.Thesoftwareandhardwaredesignandimplementationofthissystemareintroducedlater.Inexperiments,themoduleisfastspeedandaccurate,andtakesaverygoodperformance.
Keywords:
fingerprintidentification;DSP;TMSC5402;identificationalgorithm
目录
绪言6
1指纹识别系统的工作原理7
2总体硬件设计8
2.1存储空间的软硬件设计8
2.2RS232通信接口软硬件设计10
2.3总线控制和驱动10
2.4指纹图像的获取11
3软件设计12
3.1识别算法的实现12
3.2系统处理流程13
4系统调试方法15
5总结16
参考文献17
绪言:
随着计算机与信息技术的不断发展,生物识别技术的应用越来越加广泛.在各种生物识别技术中,指纹识别是日前生物检测学中研究最深入、应用最广泛、发展最成熟的最有前景的一种识别技术,它通过分析指纹的局部特征,从中抽取详尽的特征点,从而可靠地确认个人身份.指纹识别的优点是指纹作为人体独一无一的特征,它的复杂度可以提供用于鉴别的足够特征,具有极高的安全性、实用性、可行性.是一种比较理想的身份认证技术。
1指纹识别系统的工作原理
指纹识别系统从整体上可分为指纹图像采集、图像处理和识别二大部分组成.工作原理框图如图1所示.系统学习模块负责采集用户指纹数据,对指纹图像进行预处理,提取这些指纹特征,作为将来的对比模板存入数据库;指纹识别模块则负责采集和处理指纹图像,在提取特征后与数据库中的指纹模板进行对比,然后判断是否匹配,得出结论。
整个系统核心就是图像处理特征提取以及指纹比对.
图1.指纹识别系统原理框图
2总体硬件设计
指纹系统总体设计方案如图2所示。
该系统是由指纹采集仪、FPGA、SRAM和Flash等硬件组成。
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放在高地址上去了。
5402的数据寻址空间仅为64K,所以要进行分页扩展。
为了避免和DARAM的访问冲突,不能使用64K一页。
因为64K中低地址的16K实际上不能访问,它优先被64K中低地址的16K实现上不能访问,它无被DARAM访问,所以定为32K的一数据页。
分配一个I/O地址,而后通过I/O地址的译码对74LS273进行使能控制,最后锁存I/O的数据作数据页。
当对数据空间进行访问时,应分为以下几步:
①解析该地址,进行分割。
前(低)15位为页内地址,后(高)6位为页地址。
②判断页地址是否为0。
如果为0,则说明访问DARAM,直接使用访问数据的指令;需要的16位地址就是前15位的地址、高位补零,并结束。
③把页地址用PORTW命令送到寄存器(所分配的I/O空间地址)里,页地址也就在SRAM的高地址线上了。
④再使用访问数据的指令,需要的16位地址就是前15位的地址、高位补零。
对存储器的管理,需要编写一定量的程序。
可以设置一个全局变量存储页地址。
由于扩展页仅为32K,大于32K的数组是开辟不出来的,所以使用链表。
需要注意的是释放空间时,把相邻的未使用的空间尽量连接成一大块,同时需要一个接一个地把用过的堆栈拷贝到堆空间的尾部,使自己空间聚合成一个大块。
图3、图4分别为外部程序扩展和数据空间扩展示意图。
图5.外部存储电路设计
2.2RS232通信接口软硬件设计
该系统使用MAX3232连接DSP与PC机,通过软件控制分频比可获得通用的300baud~230kbaud的波特率。
MAX3110E内部UART与RS232收发器能够独立工作。
McBSP的时钟停止模式可以兼容SPI主-从协议。
所谓McBSP的时钟停止模式是指其时钟会在每次数据传输结束时停止,并在下次数据传输开始时立即启动或延半个周期再启动。
其接收器和发送器是同步的,即CLKX和FSX分别与CLKR和FSR相连;在传输过程中,CLKX和FSX又分别用做SPI的移位时钟SCK和从方使能SS,可以是输出(主方),也可以输入(从方)。
其McBSP初始化编程应遵守以下几个步骤:
①将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通信接口设计
2.3总线控制和驱动
本系统中总线有两种:
数据总线和地址总线。
数据总线进行数据交换,地址总线进行寻址。
因为DSP的数据总线是3.3V的高电平逻辑值,可能出现不能驱动外部5V的逻辑电平的情况;而且连接在动能力不足。
因此,需要对总线,特别是数据总线进行加强驱动能力的设计。
其中数据总线使用SN74LVTH16245来进行驱动向驱动;地址总线是单向的,没有方向的控制,也没有使能的控制,使用SN74LVTH16244单向驱动器就可以了。
对于数据总线的控制,按照所逻辑合理使用了DSP_MSTRB。
DSP_IOSTRB、R/W就可以完成了
图7.总线控制和驱动
2.4指纹图像的获取
采用Altera公司的MaxplusII软件进行VHDL语言编程。
按照一定的时序,把指纹图像放大SRAM的固定地址中,这一部分调试有些麻烦,可以放在最后做,而图像的获取可使用CCS2.0下的file->data->load把图像文件放入指定的内存区域。
此图像文件为CCS数据文件,可以编写一段C程序把BMP文件转换成CCS文件。
另一种比较方便的方法是用DSP编写一个小程序,使用fopen()、fread()等函数把图像读入内存,然后使用file->data->save保存成CCS文件。
3软件设计
本系统软件设计是基于DSP的集成开发环境CCS20下设计的.软件实现包括两大部分:
一是完成指纹数据采集系统的初始化一是完成指纹识别程序.系统初始化程序包括:
VC5402内部寄存器初始化程序、接日程序设计、判断是否进行指纹采集的程序.我们将在下节重点讨论识别程序算法及实现.调用TMS320C5402编辑器将系统初始化及指纹识别程序编译生成HEX文件后烧写到系统的FLASH中,以便保证系统上电后能够正'常自举加载.
3.1识别算法的实现
指纹识别算法是指纹识别的核心技术,本系统的指纹识别算法流程图,如图8所示先经过图像分割、滤波增强(包括规格化、计算方向图和方向滤波)、一值化、细化这儿个指纹图像预处理后,再进行特征提取和特征匹配最后输出结果.图像分割卞要是将指纹图像的前景区域和背景区域分割开来.前景区域包括了指纹图像的脊和谷,为提高特征点提取的可靠性,要进行图像分割,去除背景区域.规格化即是把指纹图像的对比度和灰度都调整到一个固定的级别上,为后续处理提供统一的规格.方向信息是指纹图像的贡要信息.本文采用基于邻域灰度统计特征法获取指纹的点方向图,进而设计出了系统的滤波器模板,使指纹在切向平滑、在法向锐化,以消除指纹的误断和义连一值化是将灰度指纹图像根据所选闽值将像素点转换为Q1的一值图像,从而增强了脊、谷的对比度.之后对纹路又进行细化细化的日地是删除纹线的边缘像素,使之只有一个
像素宽度.细化以后的指纹图像中的每条纹线都变为单像素宽的“点线”再经去噪,就可以见到清晰的点线图,为以后的特征提取作好了准备.
指纹特征提取算法可以简单的分为直接从灰度指纹图像提取特征和从细化一值指纹图像提取征,本系统采用了细化一值图像提取特征的方法,该方法在得到可靠的细化一值图像后,提取出特征点相应的坐标位置、种类、方向等有用的信息.我们采用了较典型的方法(邻域判定法),该方法用一个3x3的模板便可将端点和分义点提取出来,对于细化后的一值图像,对每个点值计算其交义数(C.1).点R的交义数C.,定义在一个3x3的模板上.模板如图9所示.
图8.指纹算法识别流程图
图9特征提取模板
R是待检验点,如果R是端点,则它的8领域满足
如果M点是分义点,则它的8领域点满足
这样就可以找到特征点,并记录他们的类型和位置.求出特征点后,再根据平均纹线距离等信息对所得特征点进行有效性检验,去除伪特征点,保留真特征点.然后一特征点的坐标(戈力,及特征点的方向d,结合其邻域情况(邻域内的特征点数、相对位置、脊线上特征点所处位置的纹曲率、特征点邻域内的脊线纹密度等等),可以构成该指纹细节特征点的特征向量.将所有的特征向量进行筛选后留下50到80个特征向量,构成指纹特征模板.
特征匹配卞要是细节特征的匹配,依靠指纹本身决定的可靠参考坐标系,可以提高指纹的匹配的效率.指纹中心处具有较高的不可定向性程度,其附近的纹线方向多变.利用方向图和不可定性图设计和实现了指纹自动定位的快速算法.该算法能够确定指纹中心点的位置和方向,自动定位率在9}/c以上.对于用活体指纹采集输入的指纹,自动定位率更高.用同样的方法,我们还可以准确提取指纹的下、中心及左、右二角点等形态特征与辅助定位信息.对点模式匹配算法很多,我们使用的算法是通过在一定范围搜索参数空间,计算其匹配支持数,也就是在该参数空间单,有多少指纹对匹配.当匹配支持数最大时,也就得到了所需要的结果.算法步骤:
(1)分别读取两个细节点集合;
(2)分别计算他们的细节节点的模值:
,细节节点的方向。
,细节节点的弧度值radian
x,y为细节点的戈J轴坐标,angle为细节点的角度.
(3)依据rack二的大小按升序排列两个细节点集合;
(4)根据r,e,radian的值计算两细节点集合的匹配支持参数值supportvalue{m}{n};
(5)循环比较、pportvalue{m}{n}与阀T值的大小(本程序T=10),大于T则匹配度参数加上
(6)匹配度=匹配度参数乘100再除以细节点数,如果大于70则超过70%的细节点匹配,认为两细
节点匹配.
3.2系统处理流程
整个系统的处理的过程分为四个步骤:
⑴从图像传感器输出的指纹图像首先送到FPGA缓冲,同时运用设计好的预处理模块对数据进行处理,得到各像素点的梯度值以及子块中极大值点的坐标,所有这些数据连同原始数以突发模式存入DDRSDRAM中;
⑵DSP通过FPGA从DDRSDRAM中读取所有相关数据,计算出脊线方向和脊线频率,然后利用GABOR对原始数据进行滤波,处理后的图像数据再通过FPGA存入DDRSDRAM中,因此在DDRSDRAM的输入输出端都需要进行缓冲;
⑶根据DSP处理的指令要求,从DDRSDRAM中读出滤波后的数据,由FPGA内部的比较逻辑提取出指纹图像中每行(每列)中的极大值点,送到DSP进行进一步处理,完成指纹图像脊线提取;
⑷由DSP完成匹配识别算法,并输出处理结果。
4系统调试方法
设计并加工好印制电路板后,就进入了硬件调试阶段。
首先应对电路板作细致常规检查,防止短路和断路情况发生。
加电后,检查晶体是否振荡,复位是否正确可靠,而后用示波器检查5402输出时钟CLKOUT是否按照指定时钟模式工作。
在作完这些检查宾,就可以进入系统硬件调试阶段。
在硬件仿真时,首先要配置目标系统存储器映像,这是通过设置仿真器命令文件实现。
可以在仿真调试软件目录下改写emuinit.cmd,使之每次启动仿真器时自动加载,也可以在启动仿真器后手动加载命令文件以初始化目标存储器映像。
一般而言,仿真器存储器映像与连接器存储器映像应一致。
对SRAM调试基本思想是,首先对SRAM两具单元初始化为两个不同值,而后调试主程序不断交替这两个单元数值。
具体方法是从一个单元读出数据写入另一个单元,由累加器作为传递单元。
使用Debugger软件,查看相应SRAM单元,若确实将照设定交替变化,则表明该部分没有问题。
5总结
本文针对TMS320C5402型DSP的快速,高效的特点,采取了DSP集成开发环境下CCS20对指纹图像进行处理.在实际应用环境中对系统进行了测试.实验结果显示,系统录入指纹时间小于0.5误识率小于0.1%,拒识率小于2%,总体结果令人满意,在保证可靠性和可行性的前提下,可采用性能更好的DSP,相信指纹识别效果会更好.
参考文献
[1]康华光,陈大钦.电子技术基础—模拟部分(第五版)[M].北京:
高等教育出版社,2005
[2]杨强.谭礼俊.生物识别技术对比浅析[J].人众科技.2005250-51.
[3]勒中鑫.数字图像信息处理[M]北京:
国防工业出版社.200363–65
[4]陈宏.田捷.检验配准模式的指纹匹配算法[J].软件学报.2000年16(6):
11-18
[5]赵鹏匕.基于TMS32C5402DSP的指纹识别系统研究[C].山西:
中北大学.2006
[6]周立功.PDIUSBD12USB固件编程与驱动开发.北京:
北京航空航天大学出版社,2003
[7]王崇文,赵德绅,王延才.指纹取像与指纹识别.计算机工程与应用,2002;(20):
91~94
[8]戴明桢,周建江.TMS320VC5X结构、原理及应用.北京:
北京航天航空大学出版社,2001
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DSP 指纹识别 设计