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