《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的說話人識別系統設計
基于FPGA的說話人識別系統設計
來源:電子技術應用2012年第11期
陳 勇,李晶皎,石 鑫,張莉佳
東北大學 信息科學與工程學院,遼寧 沈陽110819
摘要: 針對實時性問題提出了一種以FPGA為硬件平臺的說話人識別系統解決方案。該方案以MFCC為語音特征,采用了基于矢量量化的說話人識別算法。系統主要包括語音信號采集、端點檢測、特征提取和識別判斷4個部分。經測試證明,該系統完成了設計所需的基本功能。在實驗室條件下,當系統時鐘為50 MHz時,完成一次4碼的識別耗時15.932 ms,對12碼的識別率為93.3%。
中圖分類號: TN912.34;TP391.4
文獻標識碼: A
文章編號: 0258-7998(2012)11-0016-03
Design of speaker′s voice recognition system based on FPGA
Chen Yong,Li Jingjiao,Shi Xin,Zhang Lijia
College of Information Science and Engineering,Northeastern University, Shenyang 110819,China
Abstract: For real-time problem, this paper presents a speaker′s voice recognition system solution that makes the FPGA as the hardware platform. The system consists of four parts: signal acquisition, endpoint detection, feature extraction and identification. The experiment results show that the time-consuming is 15.932 ms on the 4 codebooks and 50 MHz-clock system, the identification rate is 93.3% on the 12 codebooks system. This kind of design improves the system′s recognition speed, which is an effective program to solve the real-time problem.
Key words : speaker′s voice recognition;VAD;MFCC;vector quantization;FPGA

    說話人識別作為一種生物識別技術,能夠根據測試語音來辨別說話者的身份。說話人識別的過程可以分為語音信號預處理、特征提取和識別判斷三部分。其中,識別判斷由碼本訓練和識別兩部分組成,其原理如圖1所示。

    語音信號的預處理包括采樣和量化、預加重、分幀、加窗、端點檢測等。預處理的目的是去除噪聲,加強有用的信息,并對輸入應測量儀器或其他因素造成的退化現象進行復原。
    特征提取是系統的關鍵部分。近年來,一種能夠比較充分利用人耳非線性系統感知特性的參數得到了廣泛的應用,這就是Mel頻率倒譜系數[1]。臨界頻率帶寬隨著頻率的變化而變化,并與Mel頻率增長一致[2]。在1 000 Hz以下大致呈線性分布,帶寬為100 Hz左右;在1 000 Hz以上呈對數增長,具體如式(1)所示:
  
1 識別系統設計
    本文設計的說話人識別系統的應用背景為文本相關的閉集識別[4]。通過對待識別者語音信號的采集分析,系統能夠識別出系統內注冊人員的身份。
1.1 系統整體架構
    通過對具體功能的分析,系統的整體框架可以采用圖3所示的形式。其工作流程為:采集待識別者3 s的語音數據并將其保存在片外SRAM中;在采集的同時進行端點檢測;完成端點檢測后,對有效的語音數據進行Mel倒譜系數的提取;用碼本庫中的碼本對待識別者語音特征進行量化,判斷最小失真碼本;最后進行閾值比較,并用數碼管顯示識別結果。
    系統的硬件平臺為Altera公司提供的EP2C35F672C6開發板。它由33 216個LE組成,片上有105個M4K-RAM塊,RAM總量為483 840,并且其片上有4個鎖相環。
1.2 功能模塊分析
    算法實現模塊主要包括:預處理模塊、特征提取模塊、碼本庫和識別模塊。其工作流程如下:首先,預處理模塊對輸入的語音數據進行實時處理,判斷錄音是否有效;其次,對有效的語音數據進行特征提取,形成待測碼本;接著,用碼本庫中的碼本對待測碼本進行矢量量化;最后,對量化結果進行判斷,輸出識別結果。
2 說話人識別系統的FPGA實現
    系統的硬件結構主要包括語音采集模塊、端點檢測模塊、特征提取模塊和VQ識別模塊。
2.1 語音采集模塊
    語音采集模塊包括語音數據的采集和存儲兩部分,由WM8731控制單元和格式轉換單元組成。系統通過I2C總線來實現對WM8731的控制,I2C控制器的時鐘輸入由系統時鐘分頻得到。系統時鐘為50 MHz,分頻得到I2C控制器時鐘為20 kHz。由于WM8731采集的16 bit語音數據是串行輸出的,因此在進行后續處理之前需要進行串行到并行格式的轉換。
2.2 端點檢測模塊
    本文采用基于短時能量和短時平均過零率的雙門限檢測法,將加窗處理放在特征提取的過程中進行。
    一般情況下,在預加重單元中,預加重系數的值接近于1。在0.9~1之間,其典型值為0.94。為方便硬件編程,將一階FIR濾波器用差分方程表示為:
 
    其中,data為16 bit輸入數據,Data為8 bit輸出數據。把輸入信號中大于-20且小于20的數據置0,可以有效地降低白噪聲對過零率造成的影響。
    端點檢測模塊的RTL級視圖如圖5所示。其中,vad_part1_sp2為數據轉換單元;vad_d1為有效位延遲單元;vad_part2_sp1為短時能量和短時平均過零率計算單元;vad_part3_sp1為幀端點檢測單元。

 

 

    在幀端點檢測單元中,en為輸入使能標志位,energy和zcr分別為輸入幀短時能量和短時平均過零率,enGate為短時能量閾值寄存器,zcrGate為短時平均過零率閾值寄存器,BeginLen為起始點幀長閾值,EndLen為結束點幀長閾值,flag1為起始點檢測完成標志位,flag2為結束點檢測完成標志位。具體檢測步驟如下:
    (1)初始化各寄存器。
    (2)en有效時,對前10幀數據的短時能量和短時平均過零率求和,counter1用于計數。
    (3)當counter1=10時,把前10幀數據的短時能量和短時平均過零率均值分別存于寄存器enGate和zcrGate中,完成閾值計算。
    (4)對輸入信號進行判斷:當輸入幀energy或zcr大于閾值時,用寄存器framebegin記錄幀號,并執行步驟(5);否則,重復步驟(4)。
    (5)counter2對輸入幀計數。當輸入幀energy或zcr小于閾值時,counter2和framebegin清零,返回步驟(4);當counter2>BeginLen時,起始幀檢測結束,flag1置1,并執行步驟(6)。
    (6)當輸入幀energy和zcr都小于閾值時,用寄存器frameend記錄幀號,并執行步驟(7);否則,重復步驟(6)。
    (7)counter3對輸入幀計數。當輸入幀energy或zcr大于閾值時,counter3和frameend清零,并返回步驟(6);當counter3>EndLen時,結束幀檢測完成,flag2置1,并執行步驟(8)。
    (8)當flag1和flag2同時有效時,輸出起始幀號和結束幀號;否則,error置1。
2.3 特征提取模塊
    特征提取中的FFT運算單元采用按時間抽取基2算法[5]。一幀數據(128點)的FFT可分為7級運算,每級包括64個蝶形運算單元。總體硬件結構圖如圖6所示,主要包括倒序模塊、存儲單元、蝶形運算單元、地址發生器和控制單元5個部分。

2.4 VQ識別模塊
    識別就是尋找最小失真碼書的過程,其硬件結構如圖7所示。將未知矢量序列與碼書中的各個碼字進行歐氏距離檢測,累加得到的誤差值就是該碼書的失真值。最小失真的碼書即為判決對象。其中,計數模塊用于統計未知矢量序列,地址發生器控制碼本輸出。當所有碼書對輸入矢量量化結束后,判決模塊檢測最小失真碼書并輸出結果。

    本文采用平方誤差歐氏距離測度。對一個待測碼本進行矢量量化的具體步驟如下:
    (1)初始化各個寄存器。
    (2)對輸入幀數據進行歐氏距離檢測,c1=c1+1。
    (3)對檢測結果進行累加求和,如c1<128,則執行步驟(2);否則,執行步驟(4)。
    (4)輸出累加結果,量化完畢。
    本系統碼本的訓練在PC上完成。碼本的存儲采用單精度浮點數形式,一個碼本的大小為128 bit&times;12 bit&times;32 bit,共6 KB。

    實驗結果表明,在系統時鐘為50 MHz的條件下,FPGA的處理速度是PC機的18倍,具有更好的實時性能。
參考文獻
[1] Xie Qiuyun,Xiao Tiejun.Implementation of MFCC extraction  in speech recognition based on FPGA[J].Computer Engineering and Design,2008,29(21):5474-5475.
[2] 王玥.說話人識別中語音特征參數提取方法的研究[D].長春:吉林大學,2009.
[3] Wei Han.An efficient MFCC extraction method in speech  recognition[C].Kos,Greece:ISCAS,2006:145-148.
[4] 潘灝.語音識別門禁系統關鍵技術研究[J].科技情報開發與經濟,2009,19(11):87-89.
[5] 楊靜.基于FPGA的FFT處理器設計與實現[J].化工自動化及儀表,2010,37(3):107-109.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 麻豆国产成人AV在线| www.操操操| 欧美三级在线播放| 亚洲福利在线视频| 男男暴菊gay无套网站| 午夜色a大片在线观看免费| 青青草娱乐视频| 国产日韩精品欧美一区| 2021国产精品视频网站| 在线日韩理论午夜中文电影| xxxx中文字幕| 引诱亲女乱小说| 中文字幕一区二区视频| 日韩一区二区视频在线观看| 亚洲一区二区三区国产精品无码| 欧美精品免费在线| 亚洲网站视频在线观看| 秦91在线播放第3集全球直播 | 亚洲成av人片在线观看www| 清超市欲目录大团结| 免费一区二区三区四区| 精品丝袜国产自在线拍亚洲| 午夜福利视频合集1000| 美女视频黄频a免费| 国产CHINESE男男GAYGAY网站| 草莓app下载2019年| 国产亚洲sss在线播放| 香蕉99国内自产自拍视频| 国产成人精品午夜二三区| 国产性夜夜夜春夜夜爽| 国产欧美日韩中文字幕| 亚洲精品国产精品国自产网站| 国产精品免费久久久久电影网| 2020因为爱你带字幕免费观看全集| 国产黄三级高清在线观看播放 | 一级特黄aaa大片| 成人欧美视频在线观看| 中国一级黄色片子| 性生交大片免看| 一区二区日韩欧美| 婷婷久久香蕉五月综合加勒比|