嵌入聲紋特征的個(gè)人證件識(shí)讀器_第1頁(yè)
嵌入聲紋特征的個(gè)人證件識(shí)讀器_第2頁(yè)
嵌入聲紋特征的個(gè)人證件識(shí)讀器_第3頁(yè)
嵌入聲紋特征的個(gè)人證件識(shí)讀器_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

2、重要的地位。本文介紹了基于SOPC、嵌入生物特征的個(gè)人證件識(shí)讀器設(shè)計(jì)。其中,生物特征主要以聲紋特征為目標(biāo),將其嵌入到二維條形碼中,再打印條碼到個(gè)人證件上,用于個(gè)人證件的防偽驗(yàn)證。本設(shè)計(jì)采用Altera公司的FPGA軟核處理器以及通用IP核實(shí)現(xiàn)系統(tǒng)的集成化,并且用C2H工具對(duì)軟件算法的瓶頸進(jìn)行硬件加速處理,系統(tǒng)性能得到了明顯提高。關(guān)鍵詞: SOPC;IP核;二維條形碼;C2H引言    SOPC可編程片上系統(tǒng)是一種獨(dú)特的嵌入式微處理系統(tǒng)。首先,它是SoC,即由單個(gè)芯片完成整個(gè)系統(tǒng)的主要邏輯功能;其次,它是可編程系統(tǒng),以FPGA為硬件基礎(chǔ),具有靈活的設(shè)計(jì)方式,可裁減、

3、可擴(kuò)充、可升級(jí),并具備軟硬件系統(tǒng)在線(xiàn)可編程的能力。    本系統(tǒng)采用了Altera公司的Cyclone II FPGA開(kāi)發(fā)平臺(tái)和相應(yīng)的開(kāi)發(fā)工具Quartus II進(jìn)行系統(tǒng)硬件部分的開(kāi)發(fā);利用Nios IIIDE實(shí)現(xiàn)了語(yǔ)音識(shí)別算法的編譯、鏈接、調(diào)試和運(yùn)行;同時(shí)還應(yīng)用了Altera公司獨(dú)具特色的C2H加速工具,實(shí)現(xiàn)了語(yǔ)音算法程序的硬件加速,使系統(tǒng)性能得到了明顯的提升。    此次設(shè)計(jì)采用了二維條形碼進(jìn)行語(yǔ)音特征的存儲(chǔ),一方面是考慮到二維條形碼的成本很低,市場(chǎng)應(yīng)用潛力巨大;另一方面,正因?yàn)樵趥€(gè)人證件上擁有了二維條形碼,系統(tǒng)可以脫離數(shù)據(jù)庫(kù)的支

4、持,變得更加靈活實(shí)用。系統(tǒng)結(jié)構(gòu)    本設(shè)計(jì)采用SOPC的可編程設(shè)計(jì)思想,以Cyclone II中實(shí)現(xiàn)的Nios II處理器為核心,系統(tǒng)架構(gòu)如圖1所示。    中心處理模塊可以接收其他模塊的數(shù)據(jù),并進(jìn)行處理,再將處理結(jié)果送到外部設(shè)備進(jìn)行顯示和報(bào)告。語(yǔ)音采集模塊在用戶(hù)注冊(cè)和認(rèn)證時(shí)采集用戶(hù)口令(即語(yǔ)音),其中包含A/D采樣、量化、編碼等,并會(huì)將數(shù)字形式的數(shù)據(jù)送到中心處理模塊等待處理。系統(tǒng)以串口掃描槍做為條碼掃描設(shè)備,用于讀取個(gè)人證件上嵌入聲紋特征的二維條形碼中的數(shù)據(jù),這些數(shù)據(jù)是在用戶(hù)注冊(cè)時(shí)生成的。圖1 系統(tǒng)結(jié)構(gòu)框圖  

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

6、運(yùn)算。各種IP都可以通過(guò)SOPC Builder連接到Avalon總線(xiàn)上,其中包含用戶(hù)自定義的外設(shè)。用戶(hù)外設(shè)的編寫(xiě)需要符合Avalon總線(xiàn)的規(guī)范。    系統(tǒng)硬件結(jié)構(gòu)如圖2所示,包括CPU、UART、LCD、三態(tài)橋、片外存儲(chǔ)器控制,以及各種輸入/輸出控制,這些IP都可以直接復(fù)用。這樣的系統(tǒng)設(shè)計(jì)方法不僅模塊化,而且大大縮短了系統(tǒng)設(shè)計(jì)周期。FFT運(yùn)算模塊不僅可以直接使用IP,還可以用C2H加速工具來(lái)提高系統(tǒng)性能。在此次設(shè)計(jì)中,F(xiàn)FT、DCT以及數(shù)據(jù)量較大的循環(huán)運(yùn)算都采用C2H完成了硬件加速,效果較為明顯。Nios II軟核處理器   &#

7、160; Nios II是32位軟核處理器,具有較高的性能。本設(shè)計(jì)在Altera的Cyclone II上實(shí)現(xiàn)了處理器的配置,可以通過(guò)添加用戶(hù)自定義指令來(lái)增強(qiáng)系統(tǒng)設(shè)計(jì)性能,同時(shí)可以添加多個(gè)片內(nèi)存儲(chǔ)器來(lái)提高數(shù)據(jù)的處理能力。串口通信    本設(shè)計(jì)用到的掃描槍通過(guò)串口(UART)連接到開(kāi)發(fā)平臺(tái)上,目的是對(duì)二維條形碼中包含語(yǔ)音特征的數(shù)據(jù)進(jìn)行讀取,通過(guò)Avalon總線(xiàn)將數(shù)據(jù)傳送到相應(yīng)的片外存儲(chǔ)器中等待處理。Timer    本設(shè)計(jì)利用SOPC Builder工具將兩個(gè)Timer掛到Avalon總線(xiàn)上。其中一個(gè)設(shè)置為在IDE中運(yùn)行C程序時(shí)的系統(tǒng)時(shí)鐘

8、,另外一個(gè)用作計(jì)時(shí)器。算法程序中設(shè)置了多個(gè)時(shí)間戳(Timestamp),相鄰兩個(gè)時(shí)間戳內(nèi)程序段的運(yùn)行時(shí)間可以用這兩個(gè)時(shí)間戳的差值來(lái)表示。時(shí)間戳的設(shè)置對(duì)程序運(yùn)行沒(méi)有影響。設(shè)置計(jì)時(shí)器的最終目的是:將完全的軟件實(shí)現(xiàn)與用C2H加速后的程序運(yùn)行時(shí)間進(jìn)行比較。語(yǔ)音采集和語(yǔ)音報(bào)告驗(yàn)證結(jié)果    系統(tǒng)中,語(yǔ)音采集和語(yǔ)音報(bào)告驗(yàn)證結(jié)果部分均由Wolfson公司的WM8731L完成。WM8731L可以獨(dú)立于Nios II軟核處理器單獨(dú)工作,其控制模塊可按照I2C總線(xiàn)的時(shí)序編寫(xiě)。WM8731L內(nèi)部含有A/D、D/A模塊,同時(shí)具備較高的采樣率和量化精度。本設(shè)計(jì)采用了8kHz的采樣率,16位

9、的量化精度。    在語(yǔ)音采集部分,由于A/D是串行數(shù)據(jù)輸出,因此編寫(xiě)了串行到并行數(shù)據(jù)轉(zhuǎn)換以及寫(xiě)SRAM控制的Verilog模塊。語(yǔ)音報(bào)告結(jié)果部分通過(guò)GPIO與CPU進(jìn)行數(shù)據(jù)、地址通信,將不同的語(yǔ)音按照不同的驗(yàn)證結(jié)果播放出來(lái),這些語(yǔ)音的數(shù)據(jù)已經(jīng)事先燒寫(xiě)進(jìn)FLASH中。GPIO的控制可以通過(guò)Nios IDE來(lái)完成。類(lèi)似地,播放語(yǔ)音部分由于從FLASH讀出的數(shù)據(jù)是并行的,因此編寫(xiě)了并行到串行數(shù)據(jù)轉(zhuǎn)換的Verilog模塊。圖2 系統(tǒng)硬件結(jié)構(gòu)加速模塊    首先,在Nios IDE下運(yùn)行算法C語(yǔ)言程序,利用計(jì)時(shí)器找出程序運(yùn)行的瓶頸環(huán)節(jié)。而后對(duì)

10、瓶頸部分利用C2H工具進(jìn)行硬件加速,從而提高系統(tǒng)性能。這部分主要包括FFT運(yùn)算加速和循環(huán)運(yùn)算加速模塊。軟件流程    個(gè)人證件的驗(yàn)證流程如圖3所示。驗(yàn)證分為兩個(gè)基本過(guò)程,首先要讀取條碼中的數(shù)據(jù),即用戶(hù)登錄;然后采集用戶(hù)語(yǔ)音,即用戶(hù)身份輸入。經(jīng)過(guò)特征比對(duì),給出驗(yàn)證結(jié)果,由此可以說(shuō)明用戶(hù)現(xiàn)場(chǎng)所持證件是否屬于其個(gè)人。C2H硬件加速    Nios II C2H加速器可以將ANSI C源程序代碼轉(zhuǎn)換成用戶(hù)自定義的硬件加速模塊。利用C2H工具,開(kāi)發(fā)人員首先在Altera Nios II處理器中開(kāi)發(fā)和調(diào)試C語(yǔ)言算法,而后將分析出的C程序瓶頸代碼轉(zhuǎn)

11、換成硬件加速模塊。硬件加速模塊被掛到Avalon總線(xiàn)上,作為用戶(hù)外設(shè)來(lái)使用。由此實(shí)現(xiàn)了從軟件運(yùn)行算法到硬件加速處理的轉(zhuǎn)換過(guò)程。需要注意的是,并不是所有的C代碼都可以轉(zhuǎn)換成硬件加速模塊。C2H編譯器的特點(diǎn)如下:支持大部分的ANSI C代碼和C語(yǔ)言結(jié)構(gòu),如指針、堆棧、結(jié)構(gòu)體、全局和局部變量、循環(huán)、函數(shù)調(diào)用等;C2H編譯器可以將C語(yǔ)言的語(yǔ)法成分映射為硬件結(jié)構(gòu),而且用戶(hù)可以控制這些硬件加速結(jié)構(gòu);由于IDE6.0整合了C2H工具,用戶(hù)無(wú)需學(xué)習(xí)新的開(kāi)發(fā)環(huán)境;C2H可以利用SOPC Builder將加速好的硬件結(jié)構(gòu)自動(dòng)連接到Avalon總線(xiàn)上,無(wú)需用戶(hù)手動(dòng)處理;C2H可以產(chǎn)生硬件結(jié)構(gòu)、資源利用率等詳細(xì)報(bào)告。

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

13、環(huán)節(jié)加速成功,性能將有較大提升。圖3 驗(yàn)證過(guò)程軟件流程圖    圖4中顯示了在SOPC Builder中向Avalon總線(xiàn)加載C2H加速器和片內(nèi)RAM的情況。圖中顯示了兩個(gè)加速器:accelerator_ c2h_fft_fft和 accelerator_ c2h_fft_ham,分別對(duì)應(yīng)FFT和加窗(漢明窗)的硬件加速運(yùn)算過(guò)程,SOPC Builder并沒(méi)有為這兩個(gè)模塊分配基地址。圖4中最下方的4個(gè)片內(nèi)RAM可以起到數(shù)據(jù)緩存的作用。SinRAM與CosRAM為FFT加速運(yùn)算提供正弦和余弦的查找表數(shù)據(jù),dataRRAM與dataIRAM分別用于存儲(chǔ)FFT運(yùn)算后生成數(shù)據(jù)的實(shí)部和虛部。圖4 C2H加速器和添加的片內(nèi)RAM    本設(shè)計(jì)中FFT采用256點(diǎn)的運(yùn)算。軟件FFT與硬件加速FFT計(jì)算時(shí)間的比較如表1所示,其中V1、V2、V3是設(shè)計(jì)中同一用戶(hù)注冊(cè)時(shí)的3段語(yǔ)音(內(nèi)容相同)。通過(guò)表1可以看出,完全軟件計(jì)算時(shí),F(xiàn)FT耗時(shí)大約為2s;利用C2H工具加速后,耗時(shí)僅約為0.01s,提速效果良好。而后再將算法程序中其它環(huán)節(jié)進(jìn)行加速,則設(shè)計(jì)的整體性能是可以滿(mǎn)足實(shí)際需求的。因此,C2H對(duì)運(yùn)行在SOPC系統(tǒng)上軟件算法的加速處理是十分有效的。結(jié)語(yǔ) 

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論