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