<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入聲紋特征的個(gè)人證件識讀器

嵌入聲紋特征的個(gè)人證件識讀器

——
作者:北京交通大學(xué) 信息科學(xué)研究所 沈陽(yáng) 馮良 洪誠 時(shí)間:2007-03-14 來(lái)源:電子產(chǎn)品世界 收藏

摘   要:在現今的電子產(chǎn)品開(kāi)發(fā)領(lǐng)域中,基于FPGA的占有極其重要的地位。本文介紹了基于、嵌入生物特征的個(gè)人證件識讀器設計。其中,生物特征主要以聲紋特征為目標,將其嵌入到中,再打印條碼到個(gè)人證件上,用于個(gè)人證件的防偽驗證。本設計采用Altera公司的FPGA軟核處理器以及通用實(shí)現系統的集成化,并且用工具對軟件算法的瓶頸進(jìn)行硬件加速處理,系統性能得到了明顯提高。

關(guān)鍵詞;;;

引言

SOPC可編程片上系統是一種獨特的嵌入式微處理系統。首先,它是SoC,即由單個(gè)芯片完成整個(gè)系統的主要邏輯功能;其次,它是可編程系統,以FPGA為硬件基礎,具有靈活的設計方式,可裁減、可擴充、可升級,并具備軟硬件系統在線(xiàn)可編程的能力。

本系統采用了Altera公司的Cyclone II FPGA開(kāi)發(fā)平臺和相應的開(kāi)發(fā)工具Quartus II進(jìn)行系統硬件部分的開(kāi)發(fā);利用Nios II IDE實(shí)現了語(yǔ)音識別算法的編譯、鏈接、調試和運行;同時(shí)還應用了Altera公司獨具特色的加速工具,實(shí)現了語(yǔ)音算法程序的硬件加速,使系統性能得到了明顯的提升。
此次設計采用了進(jìn)行語(yǔ)音特征的存儲,一方面是考慮到二維條形碼的成本很低,市場(chǎng)應用潛力巨大;另一方面,正因為在個(gè)人證件上擁有了二維條形碼,系統可以脫離數據庫的支持,變得更加靈活實(shí)用。

系統結構

本設計采用SOPC的可編程設計思想,以Cyclone II中實(shí)現的Nios II處理器為核心,系統架構如圖1所示。

圖1 系統結構框圖

中心處理模塊可以接收其他模塊的數據,并進(jìn)行處理,再將處理結果送到外部設備進(jìn)行顯示和報告。語(yǔ)音采集模塊在用戶(hù)注冊和認證時(shí)采集用戶(hù)口令(即語(yǔ)音),其中包含A/D采樣、量化、編碼等,并會(huì )將數字形式的數據送到中心處理模塊等待處理。系統以串口掃描槍做為條碼掃描設備,用于讀取個(gè)人證件上嵌入聲紋特征的二維條形碼中的數據,這些數據是在用戶(hù)注冊時(shí)生成的。

本設計將SOPC設計與二維條形碼數據存儲相結合,不僅發(fā)揮了各自的特點(diǎn),而且擴寬了應用領(lǐng)域。
系統工作流程分為注冊和驗證兩個(gè)階段。注冊過(guò)程需要采集同一用戶(hù)的多個(gè)語(yǔ)音,通過(guò)注冊算法生成個(gè)人的生物特征,將其嵌入到二維條碼中,再打印條碼到此用戶(hù)的個(gè)人證件上。這樣的證件具備了唯一、不易復制等特點(diǎn),從而提高了證件的安全性能。對證件進(jìn)行驗證時(shí),先用條碼掃描設備讀取條碼中的特征數據,然后現場(chǎng)采集證件持有人的語(yǔ)音,進(jìn)行比對,給出驗證結果。

硬件的具體實(shí)現

本設計以32位Nios II軟核處理器為系統的核心部分,負責執行指令和數據運算。各種IP都可以通過(guò)SOPC Builder連接到Avalon總線(xiàn)上,其中包含用戶(hù)自定義的外設。用戶(hù)外設的編寫(xiě)需要符合Avalon總線(xiàn)的規范。

系統硬件結構如圖2所示,包括CPU、UART、LCD、三態(tài)橋、片外存儲器控制,以及各種輸入/輸出控制,這些IP都可以直接復用。這樣的系統設計方法不僅模塊化,而且大大縮短了系統設計周期。FFT運算模塊不僅可以直接使用IP,還可以用C2H加速工具來(lái)提高系統性能。在此次設計中,FFT、DCT以及數據量較大的循環(huán)運算都采用C2H完成了硬件加速,效果較為明顯。

圖2 系統硬件結構

Nios II軟核處理器

Nios II是32位軟核處理器,具有較高的性能。本設計在A(yíng)ltera的Cyclone II上實(shí)現了處理器的配置,可以通過(guò)添加用戶(hù)自定義指令來(lái)增強系統設計性能,同時(shí)可以添加多個(gè)片內存儲器來(lái)提高數據的處理能力。

串口通信

本設計用到的掃描槍通過(guò)串口(UART)連接到開(kāi)發(fā)平臺上,目的是對二維條形碼中包含語(yǔ)音特征的數據進(jìn)行讀取,通過(guò)Avalon總線(xiàn)將數據傳送到相應的片外存儲器中等待處理。

Timer

本設計利用SOPC Builder工具將兩個(gè)Timer掛到Avalon總線(xiàn)上。其中一個(gè)設置為在IDE中運行C程序時(shí)的系統時(shí)鐘,另外一個(gè)用作計時(shí)器。算法程序中設置了多個(gè)時(shí)間戳(Timestamp),相鄰兩個(gè)時(shí)間戳內程序段的運行時(shí)間可以用這兩個(gè)時(shí)間戳的差值來(lái)表示。時(shí)間戳的設置對程序運行沒(méi)有影響。設置計時(shí)器的最終目的是:將完全的軟件實(shí)現與用C2H加速后的程序運行時(shí)間進(jìn)行比較。

語(yǔ)音采集和語(yǔ)音報告驗證結果

系統中,語(yǔ)音采集和語(yǔ)音報告驗證結果部分均由Wolfson公司的WM8731L完成。WM8731L可以獨立于Nios II軟核處理器單獨工作,其控制模塊可按照I2C總線(xiàn)的時(shí)序編寫(xiě)。WM8731L內部含有A/D、D/A模塊,同時(shí)具備較高的采樣率和量化精度。本設計采用了8kHz的采樣率,16位的量化精度。

在語(yǔ)音采集部分,由于A(yíng)/D是串行數據輸出,因此編寫(xiě)了串行到并行數據轉換以及寫(xiě)SRAM控制的Verilog模塊。語(yǔ)音報告結果部分通過(guò)GPIO與CPU進(jìn)行數據、地址通信,將不同的語(yǔ)音按照不同的驗證結果播放出來(lái),這些語(yǔ)音的數據已經(jīng)事先燒寫(xiě)進(jìn)FLASH中。GPIO的控制可以通過(guò)Nios IDE來(lái)完成。類(lèi)似地,播放語(yǔ)音部分由于從FLASH讀出的數據是并行的,因此編寫(xiě)了并行到串行數據轉換的Verilog模塊。

加速模塊

首先,在Nios IDE下運行算法C語(yǔ)言程序,利用計時(shí)器找出程序運行的瓶頸環(huán)節。而后對瓶頸部分利用C2H工具進(jìn)行硬件加速,從而提高系統性能。這部分主要包括FFT運算加速和循環(huán)運算加速模塊。

軟件流程

個(gè)人證件的驗證流程如圖3所示。驗證分為兩個(gè)基本過(guò)程,首先要讀取條碼中的數據,即用戶(hù)登錄;然后采集用戶(hù)語(yǔ)音,即用戶(hù)身份輸入。經(jīng)過(guò)特征比對,給出驗證結果,由此可以說(shuō)明用戶(hù)現場(chǎng)所持證件是否屬于其個(gè)人。

圖3 驗證過(guò)軟件結構流程圖

C2H硬件加速

Nios II C2H加速器可以將ANSI C源程序代碼轉換成用戶(hù)自定義的硬件加速模塊。利用C2H工具,開(kāi)發(fā)人員首先在A(yíng)ltera Nios II處理器中開(kāi)發(fā)和調試C語(yǔ)言算法,而后將分析出的C程序瓶頸代碼轉換成硬件加速模塊。硬件加速模塊被掛到Avalon總線(xiàn)上,作為用戶(hù)外設來(lái)使用。由此實(shí)現了從軟件運行算法到硬件加速處理的轉換過(guò)程。需要注意的是,并不是所有的C代碼都可以轉換成硬件加速模塊。C2H編譯器的特點(diǎn)如下:

①支持大部分的ANSI C代碼和C語(yǔ)言結構,如指針、堆棧、結構體、全局和局部變量、循環(huán)、函數調用等;

②C2H編譯器可以將C語(yǔ)言的語(yǔ)法成分映射為硬件結構,而且用戶(hù)可以控制這些硬件加速結構;

③由于IDE6.0整合了C2H工具,用戶(hù)無(wú)需學(xué)習新的開(kāi)發(fā)環(huán)境;

④C2H可以利用SOPC Builder將加速好的硬件結構自動(dòng)連接到Avalon總線(xiàn)上,無(wú)需用戶(hù)手動(dòng)處理;

⑤C2H可以產(chǎn)生硬件結構、資源利用率等詳細報告。

本設計中規定用戶(hù)采集語(yǔ)音的時(shí)長(cháng)約為1s,內容為“你好”。在這樣的條件下,利用計時(shí)器計算從預處理到給出識別結果的程序運行時(shí)間。系統時(shí)鐘頻率設置為50MHz。通過(guò)試驗,得出運行時(shí)間約為5s,這顯然不能滿(mǎn)足實(shí)際需求。對實(shí)驗結果進(jìn)行分析,發(fā)現程序運行耗時(shí)主要集中在預處理和特征提取這部分,將其稱(chēng)為“前端”。經(jīng)過(guò)分析前端的代碼運行情況,設計師發(fā)現程序運行時(shí)間較長(cháng)的主要原因是該部分包含了大量的矩陣運算和循環(huán)運算。下一步工作就是分析程序的運行瓶頸。經(jīng)過(guò)分析研究發(fā)現,本設計算法中的瓶頸主要集中在加窗、FFT和DCT等部分,它們的耗時(shí)一般占到整個(gè)程序運行的60%以上。若將這些環(huán)節加速成功,性能將有較大提升。

圖4中顯示了在SOPC Builder中向Avalon總線(xiàn)加載C2H加速器和片內RAM的情況。圖中顯示了兩個(gè)加速器:accelerator_ c2h_fft_fft和 accelerator_ c2h_fft_ham,分別對應FFT和加窗(漢明窗)的硬件加速運算過(guò)程,SOPC Builder并沒(méi)有為這兩個(gè)模塊分配基地址。圖4中最下方的4個(gè)片內RAM可以起到數據緩存的作用。SinRAM與CosRAM為FFT加速運算提供正弦和余弦的查找表數據,dataRRAM與dataIRAM分別用于存儲FFT運算后生成數據的實(shí)部和虛部。

圖4 C2H加速器和添加的片內RAM

本設計中FFT采用256點(diǎn)的運算。軟件FFT與硬件加速FFT計算時(shí)間的比較如表1所示,其中V1、V2、V3是設計中同一用戶(hù)注冊時(shí)的3段語(yǔ)音(內容相同)。通過(guò)表1可以看出,完全軟件計算時(shí),FFT耗時(shí)大約為2s;利用C2H工具加速后,耗時(shí)僅約為0.01s,提速效果良好。而后再將算法程序中其它環(huán)節進(jìn)行加速,則設計的整體性能是可以滿(mǎn)足實(shí)際需求的。因此,C2H對運行在SOPC系統上軟件算法的加速處理是十分有效的。

結語(yǔ)

本文闡述了一種基于FPGA平臺的應用設計實(shí)例,不僅能充分體現SOPC設計理念,而且與生物特征技術(shù)有機結合,發(fā)揮了二者的優(yōu)勢,具有廣闊的應用前景。另外,本設計采用了Altera的C2H加速工具對軟件算法進(jìn)行硬件加速,實(shí)驗結果表明利用這種方法進(jìn)行設計效果明顯。由于使用C2H工具對算法有一定的限制,因此某些情況下,用戶(hù)自定義指令和用戶(hù)外設仍然是不可或缺的設計方法。這幾種設計手段的有機結合是FPGA設計的主要方向?!?/P>

參考文獻
1徐光輝,程動(dòng)旭,黃如.基于FPGA的嵌入式開(kāi)發(fā)與應用.北京:電子工業(yè)出版社,2006
2夏宇聞.Verilog數字系統設計教程.北京:北京航空航天大學(xué)出版社,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



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>