基于FPGA的語(yǔ)音智能操控系統
設計摘要:
1、設計意圖
科學(xué)技術(shù)水平的發(fā)展,使人們的生活受到潛移默化的影響,并逐漸改變人們的生活習慣,不斷地提高人們的生活質(zhì)量。比如由于全自動(dòng)洗衣機、微波爐等智能化設備的出現,我們不必按鍵操控每一步過(guò)程,機器可以自動(dòng)完成整個(gè)過(guò)程,用戶(hù)也可以遙控他們。
智能化所帶來(lái)的方便、快捷帶給人們更加舒適的生活,但是隨著(zhù)家用電器的不斷增多,需要的遙控器也不斷增多,給人們造成許多的不便,因此,一種能夠解放人們雙手并且實(shí)時(shí)、快速、方便的語(yǔ)音智能操控系統的概念應運而生。語(yǔ)音智能操控系統可以取代多個(gè)遙控器,當需要控制某一家電時(shí),只需說(shuō)出所需調節的內容(如,空調開(kāi),溫度25℃),語(yǔ)音智能操控系統就能通過(guò)對操控者的語(yǔ)音識別,完成匹配并發(fā)出遙控信息完成相應的操作。
基于FPGA實(shí)現語(yǔ)音智能操控系統具有:
(一)設計靈活、操作方便、快捷
(二)準確度高,工作范圍大
(三)可隨時(shí)用語(yǔ)音操控帶有遙控裝置的用電器
(四)可擴展性強,增強了系統的外接功能
(五)便于更新和系統升級,可隨時(shí)嵌入更新系統程序
(六)設計周期短、開(kāi)發(fā)費用低、功耗低等獨特優(yōu)點(diǎn)。
2、適用范圍
語(yǔ)音智能操控系統主要控制的家用電器有兩類(lèi),第一類(lèi)是開(kāi)關(guān)型家電,包括家居照明、飲水機、電飯煲、抽風(fēng)機、充電器、電風(fēng)扇等;第二類(lèi)是紅外遙控型家電,包括空調、電視機、DVD、電動(dòng)窗簾、電動(dòng)閘門(mén)等。還有很多有待開(kāi)發(fā)的應用領(lǐng)域,范圍很廣。
3、主板
該系統利用FPGA板塊,可自主嵌入應用程序,用戶(hù)可根據自己需求植入語(yǔ)音信息,以待匹配。如果用戶(hù)不需要某項語(yǔ)音匹配信息,可刪除,靈活性非常高。同時(shí),由FPGA主板設計ASIC電路,具有設計周期短、開(kāi)發(fā)費用低、功耗低的優(yōu)點(diǎn)。系統控制核心都在FPGA內部實(shí)現,可以極為方便的更新和升級系統,大大的提高了系統的通用性和可提高性。
功能描述:
由FPGA實(shí)現語(yǔ)音智能操控系統的系統構架圖如圖2-1所示,它是以FPGA為主板,嵌入語(yǔ)音識別系統并結合紅外遙控系統完成的智能操控系統。
圖2?1 由FPGA實(shí)現語(yǔ)音智能操控系統的系統構架圖
FPGA中嵌入的語(yǔ)音識別系統分為兩種工作模式:訓練模式和識別模式首先,用戶(hù)在訓練模式下,完成相應的語(yǔ)音信息的輸入和特征存儲工作,建立完整的語(yǔ)音信息特征數據庫。然后,在識別模式下,由語(yǔ)音輸入設備輸入語(yǔ)音信息進(jìn)行比對,匹配后即發(fā)出相應操作的信號,遙控設備。系統框圖如圖2-2所示
圖2-2 語(yǔ)音識別系統的框圖
該系統分為五個(gè)模塊:語(yǔ)音信息特征提取模塊、語(yǔ)音信息特征數據庫建立模塊、語(yǔ)音信息輸入采集與預處理模塊、語(yǔ)音信息比對模塊、操控指令連接發(fā)送模塊。
1、語(yǔ)音信息特征提取模塊,即對接收到的語(yǔ)音信息通過(guò)語(yǔ)音識別算法提取相關(guān)特征匹配數據,其中用到語(yǔ)音信息輸入采集模塊。
2、語(yǔ)音信息特征數據庫建立模塊,即對特征提取模塊所得匹配數據存儲到存儲器中,以備對比匹配使用。
3、語(yǔ)音信息輸入采集模塊,即通過(guò)麥克風(fēng)輸入語(yǔ)音信息,當滿(mǎn)足要求時(shí),通過(guò)信息特征提取模塊對輸入的語(yǔ)音信息的特征數據進(jìn)行提取,保存到緩沖區,等待對比。
4、語(yǔ)音信息比對模塊,即用保存到緩沖區的特征數據和數據庫中的數據進(jìn)行比對,是否與某一數據匹配。
5、操控指令連接發(fā)送模塊,即當輸入的語(yǔ)音信息與某一庫存信息匹配時(shí),就完成主板與紅外發(fā)射裝置的連接并發(fā)出相應的操作指令信息,完成操作。
整個(gè)過(guò)程由嵌入到FPGA芯片內的程序完成。另外,基于NiosII的SOPC系統幫助我們完成了上述功能。同時(shí),我們通過(guò)開(kāi)發(fā)工具SOPC Builder,在FPGA上創(chuàng )建軟硬件開(kāi)發(fā)的基礎平臺,可以很快的將硬件系統(包括處理器、存儲器、外設接口和用戶(hù)邏輯電路)與常規軟件集成在單一可編程芯片中。而且,SOPC Builder 還提供了標準的接口方式以便我們將自己的外圍電路做成Nios Ⅱ軟核可以添加的外設模塊。這種設計方式更加方便了我們對系統的調試。
性能參數:
- 系統的性能參數:
麥克風(fēng)參數:
靈敏度:-34~2dB(0dB=1V/Pa at 1kHz)
頻率響應:20Hz~20KHz
阻抗:50Ω±30% (at 1kHz) 負載阻抗:≥1000Ω
等效噪聲級:13/14/15dB
信噪比:81/80/79 dB
最大聲壓級:135dB (at 1kHz≤1% T.H.D)
耗電電流:3mA
2、 工作環(huán)境:
工作溫度:
相對濕度:
3、 通信協(xié)議參數:
波特率:9600bit/s;起始位;1bit;
數據位:8bit; 停止位:1bit.
4、 算法參數:
5、 耗時(shí):
6、 系統資源利用情況:
設計結構:
本設計以FPGA 系列Spartan-6開(kāi)發(fā)板為設計平臺,開(kāi)發(fā)板、麥克風(fēng)、紅外模塊組成完整的硬件平臺,整個(gè)系統簡(jiǎn)潔美觀(guān),無(wú)雜亂的連線(xiàn),系統中語(yǔ)音采集和控制輸出由外圍設備實(shí)現外,其他部分處理全部有FPGA系列Spartan-6實(shí)現。圖4-1為基于FPGA實(shí)現語(yǔ)音智能操控系統硬件設計圖。
圖4-1 基于FPGA實(shí)現語(yǔ)音智能操控系統的硬件設計圖
系統上電后,軟件即開(kāi)始運行一系列初始化程序完成系統的初始化工作,然后要求用戶(hù)選擇工作模式,工作模式分為訓練模式和識別模式,模式的選擇由用戶(hù)通過(guò)主板的按鍵進(jìn)行,若不選擇,則默認為進(jìn)入識別模式。下面是這兩種工作模式軟件流程的簡(jiǎn)要說(shuō)明。圖4-2是語(yǔ)音智能操控系統總體設計流程圖。
圖4-2語(yǔ)音智能操控系統總體設計流程圖
訓練模式:在該模式下,對語(yǔ)音信息進(jìn)行訓練(就是把所用到的目標語(yǔ)音信息特征數據進(jìn)行存儲,建立數據庫)。進(jìn)入訓練模式后,用戶(hù)根據指示燈的提示,輸入相應的語(yǔ)音信息,計算機內部程序對輸入的語(yǔ)音信息進(jìn)行特征提取并將特征數據存入緩沖區,每一遍提取后都會(huì )進(jìn)行檢測,判斷是否充分,若不充分,返回上一單元繼續提取,直到充分為止。然后進(jìn)行數據存儲,將存入緩沖區的數據存入存儲器中。系統發(fā)出提示是否繼續訓練,用戶(hù)根據主板的指示燈,通過(guò)按鍵選擇,若結束訓練,系統返回模式選擇單元,結束訓練。
識別模式:在識別模式下,用戶(hù)輸入語(yǔ)音指令信息,系統檢測是否滿(mǎn)足識別條件(比如是否是正常的語(yǔ)音信號),然后進(jìn)行特征數據提取,整個(gè)過(guò)程和訓練模式中的一樣,提取后再進(jìn)行匹配,在數據庫中尋找與提取的特征數據相匹配的數據。若沒(méi)有找到,則返回輸入單元,繼續輸入;若找到匹配后,進(jìn)入下一單元。根據存儲的特征數據在系統中找到相應的操作指令,連接紅外發(fā)射裝置,發(fā)出操控指令信號,操控其他設備。完成之后,返回模式選擇單元。
設計方法:
本系統設計開(kāi)發(fā)中主要使用的硬件工具和軟件設備:
Spartan—6、音頻編解碼芯片、麥克風(fēng)、ISE仿真軟件。
以下分模塊介紹所用算法:
5.1語(yǔ)音信息輸入采集與預處理模塊
本模塊要實(shí)現的功能是采集語(yǔ)音信號,并對其進(jìn)行FIR濾波、語(yǔ)音數據歸一化、語(yǔ)音的端點(diǎn)檢測處理。語(yǔ)音采集部分采用外加的音頻編解碼器進(jìn)行設計,通過(guò)VERILOG HDL編寫(xiě)對芯片的工作模式進(jìn)行設置,是芯片在上電后對工作模式設置在系統要求的狀態(tài)下。
語(yǔ)音預處理包含三部分,語(yǔ)音歸一化處理單元、FIR濾波器運算單元、語(yǔ)音端點(diǎn)檢測單元。圖5-1.1是預處理的結構功能圖:
圖5-1.1預處理的結構功能圖
在分析處理之前必須進(jìn)行端點(diǎn)檢測過(guò)程,以確定語(yǔ)音信號的開(kāi)始點(diǎn)和結束點(diǎn)。其中包括對語(yǔ)音信號短時(shí)能量和短時(shí)過(guò)零率的分析。
短時(shí)能量
其中,為原樣本序列在窗函數所切取出的第n段短時(shí)語(yǔ)音,N為幀長(cháng)。
短時(shí)過(guò)零率
![]() |
其中,為符號函數。
圖5-1.2語(yǔ)音的端點(diǎn)檢測狀態(tài)圖
5..2語(yǔ)音信息特征數據的提取模塊
這里利用到MFCC音頻特征提取算法,語(yǔ)音信號輸入系統后,先進(jìn)行加窗、濾波等預處理,再進(jìn)行采樣等過(guò)程,最終完成特征數據的提取。在識別模式下,語(yǔ)音信息的采集也是用到了這個(gè)算法,過(guò)程相同。
MFCC算法是有效的基于內容的音頻特征提取算法,其處理過(guò)程如下:
(1) 對音頻信號進(jìn)行預處理,即預加重、分幀、加窗處理;
(2)將每幀音頻信號進(jìn)行傅里葉變換得到其頻譜:
(3)用Mel濾波器組在頻域進(jìn)行帶通濾波,并對每個(gè)頻帶的能量疊加得到頻譜能量x(k);
(4)將濾波器組的能量取對數,然后做離散余弦變換,即得到MFCC特征。
圖5-2為MFCC特征提取算法的流程圖。
圖5-2 MFCC特征提取算法的流程圖
計算公式為:
此時(shí)所提取的特征為音頻信號的靜態(tài)特征,該信號再經(jīng)一階差分后即得到音頻的動(dòng)態(tài)特征。
5.3 特征數據匹配模塊
完成特征數據提取后,系統需要完成匹配的過(guò)程,這里用到了DTW算法,即在數據庫里重復尋找與輸入的音頻特征差別最小的數據信息,完成匹配。
DTW算法是典型的DP人算法,它利用動(dòng)態(tài)時(shí)間規整方法將模板特征序列和語(yǔ)音特征序列進(jìn)行匹配,比較二者之間的失真,得出識別判決的依據。DTW算法的具體過(guò)程如下:
假設存儲的一個(gè)詞條模板包括M幀倒譜特征R={r(m);m=1,2,...,M};識別特征序列包括N幀倒譜特征T={t(n);n=1,2,...,N}。在r(i)和t(i)之間定義幀局部失真D(I,j),D(I,j)=|r(i)-t(i)|*2,通過(guò)動(dòng)態(tài)搜索路徑中找到的累積失真最小的路徑,即最優(yōu)的匹配結果。采用對稱(chēng)形式DTW:
其中S(i,j)是累積失真,D(i,j)是局部失真。
當動(dòng)態(tài)規劃過(guò)程計算到固定節點(diǎn)(N,M)時(shí),可以計算出該模板動(dòng)態(tài)匹配的歸一化距離,識別結果即該歸一化距離,最小的模板詞條
計算過(guò)程中,為了減少計算量,我們采取以下方法:
全局路徑約束,即只計算四條直線(xiàn):y=0.5x,y=2x,y=0.5x+(M-0.5N)
,y=2x+(M-2N)所謂的平行四邊形內部的點(diǎn);
端點(diǎn)約束為固定起點(diǎn)、終點(diǎn),即從左下角開(kāi)始計算,到右上角點(diǎn)截止;
對進(jìn)行模式匹配的兩條語(yǔ)音命令的長(cháng)度N和M進(jìn)行了約束,如果兩者之間相差太大則直接放棄該參數模板,不進(jìn)行DTW運算。
圖5-3 DTW算法流程圖
設計特點(diǎn):
該設計的主要特點(diǎn):
該設計采用MFCC音頻特征提取算法和DTW特征匹配算法,對音頻進(jìn)行了加窗、濾波預處理,特征數據的提取和比對都比較精確,系統的穩定性和準確性都得到了提高。
系統采用Spartan-6主板,將程序編寫(xiě)后嵌入到芯片內部,外部只是采用簡(jiǎn)單的線(xiàn),用于連接輸入、輸出設備,主板采用集成電路,減少了連線(xiàn)錯誤的可能性。同時(shí),內嵌的程序可作修改,更具實(shí)用性,也節省了制作材料。
當系統出現錯誤時(shí),可調出內部程序,在仿真軟件上進(jìn)行模擬查詢(xún)錯誤;若問(wèn)題出在外部電路,由于電路連線(xiàn)簡(jiǎn)單,用戶(hù)便于查找和更改。相比于單純的電路結構,該系統結構明了,無(wú)需大范圍的改動(dòng),更加實(shí)用和節省材料。
系統采用紅外模塊操控家電設備,結構簡(jiǎn)單,控制方便。
紅外操控本身就具有可遙控的特點(diǎn),即芯片可固定于某一位置,連接多個(gè)紅外發(fā)射端口,就可完成對多個(gè)設備的操控。
評論