当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]嵌入声纹特征的个人证件识读器

摘   要:在现今的电子产品开发领域中,基于FPGA的SOPC占有极其重要的地位。本文介绍了基于SOPC、嵌入生物特征的个人证件识读器设计。其中,生物特征主要以声纹特征为目标,将其嵌入到二维条形码中,再打印条码到个人证件上,用于个人证件的防伪验证。本设计采用Altera公司的FPGA软核处理器以及通用IP核实现系统的集成化,并且用C2H工具对软件算法的瓶颈进行硬件加速处理,系统性能得到了明显提高。
关键词: SOPC;IP核;二维条形码;C2H

引言
    SOPC可编程片上系统是一种独特的嵌入式微处理系统。首先,它是SoC,即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,以FPGA为硬件基础,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件系统在线可编程的能力。

    本系统采用了Altera公司的Cyclone II FPGA开发平台和相应的开发工具Quartus II进行系统硬件部分的开发;利用Nios II IDE实现了语音识别算法的编译、链接、调试和运行;同时还应用了Altera公司独具特色的C2H加速工具,实现了语音算法程序的硬件加速,使系统性能得到了明显的提升。

    此次设计采用了二维条形码进行语音特征的存储,一方面是考虑到二维条形码的成本很低,市场应用潜力巨大;另一方面,正因为在个人证件上拥有了二维条形码,系统可以脱离数据库的支持,变得更加灵活实用。

系统结构
    本设计采用SOPC的可编程设计思想,以Cyclone II中实现的Nios II处理器为核心,系统架构如图1所示。

    中心处理模块可以接收其他模块的数据,并进行处理,再将处理结果送到外部设备进行显示和报告。语音采集模块在用户注册和认证时采集用户口令(即语音),其中包含A/D采样、量化、编码等,并会将数字形式的数据送到中心处理模块等待处理。系统以串口扫描枪做为条码扫描设备,用于读取个人证件上嵌入声纹特征的二维条形码中的数据,这些数据是在用户注册时生成的。



图1 系统结构框图

    本设计将SOPC设计与二维条形码数据存储相结合,不仅发挥了各自的特点,而且扩宽了应用领域。

    系统工作流程分为注册和验证两个阶段。注册过程需要采集同一用户的多个语音,通过注册算法生成个人的生物特征,将其嵌入到二维条码中,再打印条码到此用户的个人证件上。这样的证件具备了唯一、不易复制等特点,从而提高了证件的安全性能。对证件进行验证时,先用条码扫描设备读取条码中的特征数据,然后现场采集证件持有人的语音,进行比对,给出验证结果。

硬件的具体实现
    本设计以32位Nios II软核处理器为系统的核心部分,负责执行指令和数据运算。各种IP都可以通过SOPC Builder连接到Avalon总线上,其中包含用户自定义的外设。用户外设的编写需要符合Avalon总线的规范。

    系统硬件结构如图2所示,包括CPU、UART、LCD、三态桥、片外存储器控制,以及各种输入/输出控制,这些IP都可以直接复用。这样的系统设计方法不仅模块化,而且大大缩短了系统设计周期。FFT运算模块不仅可以直接使用IP,还可以用C2H加速工具来提高系统性能。在此次设计中,FFT、DCT以及数据量较大的循环运算都采用C2H完成了硬件加速,效果较为明显。

Nios II软核处理器
     Nios II是32位软核处理器,具有较高的性能。本设计在Altera的Cyclone II上实现了处理器的配置,可以通过添加用户自定义指令来增强系统设计性能,同时可以添加多个片内存储器来提高数据的处理能力。

串口通信
    本设计用到的扫描枪通过串口(UART)连接到开发平台上,目的是对二维条形码中包含语音特征的数据进行读取,通过Avalon总线将数据传送到相应的片外存储器中等待处理。

Timer
    本设计利用SOPC Builder工具将两个Timer挂到Avalon总线上。其中一个设置为在IDE中运行C程序时的系统时钟,另外一个用作计时器。算法程序中设置了多个时间戳(Timestamp),相邻两个时间戳内程序段的运行时间可以用这两个时间戳的差值来表示。时间戳的设置对程序运行没有影响。设置计时器的最终目的是:将完全的软件实现与用C2H加速后的程序运行时间进行比较。

语音采集和语音报告验证结果
    系统中,语音采集和语音报告验证结果部分均由Wolfson公司的WM8731L完成。WM8731L可以独立于Nios II软核处理器单独工作,其控制模块可按照I2C总线的时序编写。WM8731L内部含有A/D、D/A模块,同时具备较高的采样率和量化精度。本设计采用了8kHz的采样率,16位的量化精度。

    在语音采集部分,由于A/D是串行数据输出,因此编写了串行到并行数据转换以及写SRAM控制的Verilog模块。语音报告结果部分通过GPIO与CPU进行数据、地址通信,将不同的语音按照不同的验证结果播放出来,这些语音的数据已经事先烧写进FLASH中。GPIO的控制可以通过Nios IDE来完成。类似地,播放语音部分由于从FLASH读出的数据是并行的,因此编写了并行到串行数据转换的Verilog模块。



图2 系统硬件结构


加速模块
    首先,在Nios IDE下运行算法C语言程序,利用计时器找出程序运行的瓶颈环节。而后对瓶颈部分利用C2H工具进行硬件加速,从而提高系统性能。这部分主要包括FFT运算加速和循环运算加速模块。

软件流程
    个人证件的验证流程如图3所示。验证分为两个基本过程,首先要读取条码中的数据,即用户登录;然后采集用户语音,即用户身份输入。经过特征比对,给出验证结果,由此可以说明用户现场所持证件是否属于其个人。

C2H硬件加速
    Nios II C2H加速器可以将ANSI C源程序代码转换成用户自定义的硬件加速模块。利用C2H工具,开发人员首先在Altera Nios II处理器中开发和调试C语言算法,而后将分析出的C程序瓶颈代码转换成硬件加速模块。硬件加速模块被挂到Avalon总线上,作为用户外设来使用。由此实现了从软件运行算法到硬件加速处理的转换过程。需要注意的是,并不是所有的C代码都可以转换成硬件加速模块。C2H编译器的特点如下:
①支持大部分的ANSI C代码和C语言结构,如指针、堆栈、结构体、全局和局部变量、循环、函数调用等;
②C2H编译器可以将C语言的语法成分映射为硬件结构,而且用户可以控制这些硬件加速结构;
③由于IDE6.0整合了C2H工具,用户无需学习新的开发环境;
④C2H可以利用SOPC Builder将加速好的硬件结构自动连接到Avalon总线上,无需用户手动处理;
⑤C2H可以产生硬件结构、资源利用率等详细报告。

    本设计中规定用户采集语音的时长约为1s,内容为“你好”。在这样的条件下,利用计时器计算从预处理到给出识别结果的程序运行时间。系统时钟频率设置为50MHz。通过试验,得出运行时间约为5s,这显然不能满足实际需求。对实验结果进行分析,发现程序运行耗时主要集中在预处理和特征提取这部分,将其称为“前端”。经过分析前端的代码运行情况,设计师发现程序运行时间较长的主要原因是该部分包含了大量的矩阵运算和循环运算。下一步工作就是分析程序的运行瓶颈。经过分析研究发现,本设计算法中的瓶颈主要集中在加窗、FFT和DCT等部分,它们的耗时一般占到整个程序运行的60%以上。若将这些环节加速成功,性能将有较大提升。



图3 验证过程软件流程图


    图4中显示了在SOPC Builder中向Avalon总线加载C2H加速器和片内RAM的情况。图中显示了两个加速器:accelerator_ c2h_fft_fft和 accelerator_ c2h_fft_ham,分别对应FFT和加窗(汉明窗)的硬件加速运算过程,SOPC Builder并没有为这两个模块分配基地址。图4中最下方的4个片内RAM可以起到数据缓存的作用。SinRAM与CosRAM为FFT加速运算提供正弦和余弦的查找表数据,dataRRAM与dataIRAM分别用于存储FFT运算后生成数据的实部和虚部。


图4 C2H加速器和添加的片内RAM


    本设计中FFT采用256点的运算。软件FFT与硬件加速FFT计算时间的比较如表1所示,其中V1、V2、V3是设计中同一用户注册时的3段语音(内容相同)。通过表1可以看出,完全软件计算时,FFT耗时大约为2s;利用C2H工具加速后,耗时仅约为0.01s,提速效果良好。而后再将算法程序中其它环节进行加速,则设计的整体性能是可以满足实际需求的。因此,C2H对运行在SOPC系统上软件算法的加速处理是十分有效的。

结语
    本文阐述了一种基于FPGA平台的应用设计实例,不仅能充分体现SOPC设计理念,而且与生物特征技术有机结合,发挥了二者的优势,具有广阔的应用前景。另外,本设计采用了Altera的C2H加速工具对软件算法进行硬件加速,实验结果表明利用这种方法进行设计效果明显。由于使用C2H工具对算法有一定的限制,因此某些情况下,用户自定义指令和用户外设仍然是不可或缺的设计方法。这几种设计手段的有机结合是FPGA设计的主要方向。

参考文献
1徐光辉,程动旭,黄如.基于FPGA的嵌入式开发与应用.北京:电子工业出版社,2006
2夏宇闻.Verilog数字系统设计教程.北京:北京航空航天大学出版社,2003
3 EDA先锋工作室.Altera FPGA/CPLD设计.北京:人民邮电出版社,2005
4 Nios II C2H Compiler User Guide
5 Quartus II Version 6.0 Handbook. Volume 5: Altera Embedded Peripherals
6 Quatieri, Thomas F. Discrete-time Speech Signal Processing: Principles and Practice.2004

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭