新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的語(yǔ)音智能操控系統(tǒng)

基于FPGA的語(yǔ)音智能操控系統(tǒng)

作者: 時(shí)間:2017-06-04 來(lái)源:網(wǎng)絡(luò) 收藏

本文引用地址:http://m.butianyuan.cn/article/201706/348697.htm

設(shè)計(jì)摘要:

1、設(shè)計(jì)意圖

科學(xué)技術(shù)水平的發(fā)展,使人們的生活受到潛移默化的影響,并逐漸改變?nèi)藗兊纳盍?xí)慣,不斷地提高人們的生活質(zhì)量。比如由于全自動(dòng)洗衣機(jī)、微波爐等智能化設(shè)備的出現(xiàn),我們不必按鍵操控每一步過(guò)程,機(jī)器可以自動(dòng)完成整個(gè)過(guò)程,用戶也可以遙控他們。

智能化所帶來(lái)的方便、快捷帶給人們更加舒適的生活,但是隨著家用電器的不斷增多,需要的遙控器也不斷增多,給人們?cè)斐稍S多的不便,因此,一種能夠解放人們雙手并且實(shí)時(shí)、快速、方便的語(yǔ)音智能操控系統(tǒng)的概念應(yīng)運(yùn)而生。語(yǔ)音智能操控系統(tǒng)可以取代多個(gè)遙控器,當(dāng)需要控制某一家電時(shí),只需說(shuō)出所需調(diào)節(jié)的內(nèi)容(如,空調(diào)開(kāi),溫度25℃),語(yǔ)音智能操控系統(tǒng)就能通過(guò)對(duì)操控者的語(yǔ)音識(shí)別,完成匹配并發(fā)出遙控信息完成相應(yīng)的操作。

基于實(shí)現(xiàn)語(yǔ)音智能操控系統(tǒng)具有:

(一)設(shè)計(jì)靈活、操作方便、快捷

(二)準(zhǔn)確度高,工作范圍大

(三)可隨時(shí)用語(yǔ)音操控帶有遙控裝置的用電器

(四)可擴(kuò)展性強(qiáng),增強(qiáng)了系統(tǒng)的外接功能

(五)便于更新和系統(tǒng)升級(jí),可隨時(shí)嵌入更新系統(tǒng)程序

(六)設(shè)計(jì)周期短、開(kāi)發(fā)費(fèi)用低、功耗低等獨(dú)特優(yōu)點(diǎn)。

2、適用范圍

語(yǔ)音智能操控系統(tǒng)主要控制的家用電器有兩類,第一類是開(kāi)關(guān)型家電,包括家居照明、飲水機(jī)、電飯煲、抽風(fēng)機(jī)、充電器、電風(fēng)扇等;第二類是紅外遙控型家電,包括空調(diào)、電視機(jī)、DVD、電動(dòng)窗簾、電動(dòng)閘門等。還有很多有待開(kāi)發(fā)的應(yīng)用領(lǐng)域,范圍很廣。

3、主板

該系統(tǒng)利用板塊,可自主嵌入應(yīng)用程序,用戶可根據(jù)自己需求植入語(yǔ)音信息,以待匹配。如果用戶不需要某項(xiàng)語(yǔ)音匹配信息,可刪除,靈活性非常高。同時(shí),由主板設(shè)計(jì)ASIC電路,具有設(shè)計(jì)周期短、開(kāi)發(fā)費(fèi)用低、功耗低的優(yōu)點(diǎn)。系統(tǒng)控制核心都在FPGA內(nèi)部實(shí)現(xiàn),可以極為方便的更新和升級(jí)系統(tǒng),大大的提高了系統(tǒng)的通用性和可提高性。

功能描述:

由FPGA實(shí)現(xiàn)語(yǔ)音智能操控系統(tǒng)的系統(tǒng)構(gòu)架圖如圖2-1所示,它是以FPGA為主板,嵌入語(yǔ)音識(shí)別系統(tǒng)并結(jié)合紅外遙控系統(tǒng)完成的智能操控系統(tǒng)。

圖2?1 由FPGA實(shí)現(xiàn)語(yǔ)音智能操控系統(tǒng)的系統(tǒng)構(gòu)架圖

FPGA中嵌入的語(yǔ)音識(shí)別系統(tǒng)分為兩種工作模式:訓(xùn)練模式和識(shí)別模式首先,用戶在訓(xùn)練模式下,完成相應(yīng)的語(yǔ)音信息的輸入和特征存儲(chǔ)工作,建立完整的語(yǔ)音信息特征數(shù)據(jù)庫(kù)。然后,在識(shí)別模式下,由語(yǔ)音輸入設(shè)備輸入語(yǔ)音信息進(jìn)行比對(duì),匹配后即發(fā)出相應(yīng)操作的信號(hào),遙控設(shè)備。系統(tǒng)框圖如圖2-2所示

圖2-2 語(yǔ)音識(shí)別系統(tǒng)的框圖

該系統(tǒng)分為五個(gè)模塊:語(yǔ)音信息特征提取模塊、語(yǔ)音信息特征數(shù)據(jù)庫(kù)建立模塊、語(yǔ)音信息輸入采集與預(yù)處理模塊、語(yǔ)音信息比對(duì)模塊、操控指令連接發(fā)送模塊。

1、語(yǔ)音信息特征提取模塊,即對(duì)接收到的語(yǔ)音信息通過(guò)語(yǔ)音識(shí)別算法提取相關(guān)特征匹配數(shù)據(jù),其中用到語(yǔ)音信息輸入采集模塊。

2、語(yǔ)音信息特征數(shù)據(jù)庫(kù)建立模塊,即對(duì)特征提取模塊所得匹配數(shù)據(jù)存儲(chǔ)到存儲(chǔ)器中,以備對(duì)比匹配使用。

3、語(yǔ)音信息輸入采集模塊,即通過(guò)麥克風(fēng)輸入語(yǔ)音信息,當(dāng)滿足要求時(shí),通過(guò)信息特征提取模塊對(duì)輸入的語(yǔ)音信息的特征數(shù)據(jù)進(jìn)行提取,保存到緩沖區(qū),等待對(duì)比。

4、語(yǔ)音信息比對(duì)模塊,即用保存到緩沖區(qū)的特征數(shù)據(jù)和數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行比對(duì),是否與某一數(shù)據(jù)匹配。

5、操控指令連接發(fā)送模塊,即當(dāng)輸入的語(yǔ)音信息與某一庫(kù)存信息匹配時(shí),就完成主板與紅外發(fā)射裝置的連接并發(fā)出相應(yīng)的操作指令信息,完成操作。

整個(gè)過(guò)程由嵌入到FPGA芯片內(nèi)的程序完成。另外,基于NiosII的SOPC系統(tǒng)幫助我們完成了上述功能。同時(shí),我們通過(guò)開(kāi)發(fā)工具SOPC Builder,在FPGA上創(chuàng)建軟硬件開(kāi)發(fā)的基礎(chǔ)平臺(tái),可以很快的將硬件系統(tǒng)(包括處理器、存儲(chǔ)器、外設(shè)接口和用戶邏輯電路)與常規(guī)軟件集成在單一可編程芯片中。而且,SOPC Builder 還提供了標(biāo)準(zhǔn)的接口方式以便我們將自己的外圍電路做成Nios Ⅱ軟核可以添加的外設(shè)模塊。這種設(shè)計(jì)方式更加方便了我們對(duì)系統(tǒng)的調(diào)試。

性能參數(shù):

  1. 系統(tǒng)的性能參數(shù):

麥克風(fēng)參數(shù):

靈敏度:-34~2dB(0dB=1V/Pa at 1kHz)

頻率響應(yīng):20Hz~20KHz

阻抗:50Ω±30% (at 1kHz) 負(fù)載阻抗:≥1000Ω

等效噪聲級(jí):13/14/15dB

信噪比:81/80/79 dB

最大聲壓級(jí):135dB (at 1kHz≤1% T.H.D)

耗電電流:3mA

2、 工作環(huán)境:

工作溫度:

相對(duì)濕度:

3、 通信協(xié)議參數(shù):

波特率:9600bit/s;起始位;1bit;

數(shù)據(jù)位:8bit; 停止位:1bit.

4、 算法參數(shù):

5、 耗時(shí):

6、 系統(tǒng)資源利用情況:

設(shè)計(jì)結(jié)構(gòu):

本設(shè)計(jì)以FPGA 系列Spartan-6開(kāi)發(fā)板為設(shè)計(jì)平臺(tái),開(kāi)發(fā)板、麥克風(fēng)、紅外模塊組成完整的硬件平臺(tái),整個(gè)系統(tǒng)簡(jiǎn)潔美觀,無(wú)雜亂的連線,系統(tǒng)中語(yǔ)音采集和控制輸出由外圍設(shè)備實(shí)現(xiàn)外,其他部分處理全部有FPGA系列Spartan-6實(shí)現(xiàn)。圖4-1為基于FPGA實(shí)現(xiàn)語(yǔ)音智能操控系統(tǒng)硬件設(shè)計(jì)圖。

圖4-1 基于FPGA實(shí)現(xiàn)語(yǔ)音智能操控系統(tǒng)的硬件設(shè)計(jì)圖

系統(tǒng)上電后,軟件即開(kāi)始運(yùn)行一系列初始化程序完成系統(tǒng)的初始化工作,然后要求用戶選擇工作模式,工作模式分為訓(xùn)練模式和識(shí)別模式,模式的選擇由用戶通過(guò)主板的按鍵進(jìn)行,若不選擇,則默認(rèn)為進(jìn)入識(shí)別模式。下面是這兩種工作模式軟件流程的簡(jiǎn)要說(shuō)明。圖4-2是語(yǔ)音智能操控系統(tǒng)總體設(shè)計(jì)流程圖。

圖4-2語(yǔ)音智能操控系統(tǒng)總體設(shè)計(jì)流程圖

訓(xùn)練模式:在該模式下,對(duì)語(yǔ)音信息進(jìn)行訓(xùn)練(就是把所用到的目標(biāo)語(yǔ)音信息特征數(shù)據(jù)進(jìn)行存儲(chǔ),建立數(shù)據(jù)庫(kù))。進(jìn)入訓(xùn)練模式后,用戶根據(jù)指示燈的提示,輸入相應(yīng)的語(yǔ)音信息,計(jì)算機(jī)內(nèi)部程序?qū)斎氲恼Z(yǔ)音信息進(jìn)行特征提取并將特征數(shù)據(jù)存入緩沖區(qū),每一遍提取后都會(huì)進(jìn)行檢測(cè),判斷是否充分,若不充分,返回上一單元繼續(xù)提取,直到充分為止。然后進(jìn)行數(shù)據(jù)存儲(chǔ),將存入緩沖區(qū)的數(shù)據(jù)存入存儲(chǔ)器中。系統(tǒng)發(fā)出提示是否繼續(xù)訓(xùn)練,用戶根據(jù)主板的指示燈,通過(guò)按鍵選擇,若結(jié)束訓(xùn)練,系統(tǒng)返回模式選擇單元,結(jié)束訓(xùn)練。

識(shí)別模式:在識(shí)別模式下,用戶輸入語(yǔ)音指令信息,系統(tǒng)檢測(cè)是否滿足識(shí)別條件(比如是否是正常的語(yǔ)音信號(hào)),然后進(jìn)行特征數(shù)據(jù)提取,整個(gè)過(guò)程和訓(xùn)練模式中的一樣,提取后再進(jìn)行匹配,在數(shù)據(jù)庫(kù)中尋找與提取的特征數(shù)據(jù)相匹配的數(shù)據(jù)。若沒(méi)有找到,則返回輸入單元,繼續(xù)輸入;若找到匹配后,進(jìn)入下一單元。根據(jù)存儲(chǔ)的特征數(shù)據(jù)在系統(tǒng)中找到相應(yīng)的操作指令,連接紅外發(fā)射裝置,發(fā)出操控指令信號(hào),操控其他設(shè)備。完成之后,返回模式選擇單元。

設(shè)計(jì)方法:

本系統(tǒng)設(shè)計(jì)開(kāi)發(fā)中主要使用的硬件工具和軟件設(shè)備:

Spartan—6、音頻編解碼芯片、麥克風(fēng)、ISE仿真軟件。

以下分模塊介紹所用算法:

5.1語(yǔ)音信息輸入采集與預(yù)處理模塊

本模塊要實(shí)現(xiàn)的功能是采集語(yǔ)音信號(hào),并對(duì)其進(jìn)行FIR濾波、語(yǔ)音數(shù)據(jù)歸一化、語(yǔ)音的端點(diǎn)檢測(cè)處理。語(yǔ)音采集部分采用外加的音頻編解碼器進(jìn)行設(shè)計(jì),通過(guò)VERILOG HDL編寫(xiě)對(duì)芯片的工作模式進(jìn)行設(shè)置,是芯片在上電后對(duì)工作模式設(shè)置在系統(tǒng)要求的狀態(tài)下。

語(yǔ)音預(yù)處理包含三部分,語(yǔ)音歸一化處理單元、FIR濾波器運(yùn)算單元、語(yǔ)音端點(diǎn)檢測(cè)單元。圖5-1.1是預(yù)處理的結(jié)構(gòu)功能圖:

圖5-1.1預(yù)處理的結(jié)構(gòu)功能圖

在分析處理之前必須進(jìn)行端點(diǎn)檢測(cè)過(guò)程,以確定語(yǔ)音信號(hào)的開(kāi)始點(diǎn)和結(jié)束點(diǎn)。其中包括對(duì)語(yǔ)音信號(hào)短時(shí)能量和短時(shí)過(guò)零率的分析。

短時(shí)能量

其中,為原樣本序列在窗函數(shù)所切取出的第n段短時(shí)語(yǔ)音,N為幀長(zhǎng)。

短時(shí)過(guò)零率

其中,為符號(hào)函數(shù)。

圖5-1.2語(yǔ)音的端點(diǎn)檢測(cè)狀態(tài)圖

5..2語(yǔ)音信息特征數(shù)據(jù)的提取模塊

這里利用到MFCC音頻特征提取算法,語(yǔ)音信號(hào)輸入系統(tǒng)后,先進(jìn)行加窗、濾波等預(yù)處理,再進(jìn)行采樣等過(guò)程,最終完成特征數(shù)據(jù)的提取。在識(shí)別模式下,語(yǔ)音信息的采集也是用到了這個(gè)算法,過(guò)程相同。

MFCC算法是有效的基于內(nèi)容的音頻特征提取算法,其處理過(guò)程如下:

(1) 對(duì)音頻信號(hào)進(jìn)行預(yù)處理,即預(yù)加重、分幀、加窗處理;

(2)將每幀音頻信號(hào)進(jìn)行傅里葉變換得到其頻譜:

(3)用Mel濾波器組在頻域進(jìn)行帶通濾波,并對(duì)每個(gè)頻帶的能量疊加得到頻譜能量x(k);

(4)將濾波器組的能量取對(duì)數(shù),然后做離散余弦變換,即得到MFCC特征。

圖5-2為MFCC特征提取算法的流程圖。

圖5-2 MFCC特征提取算法的流程圖

計(jì)算公式為:

此時(shí)所提取的特征為音頻信號(hào)的靜態(tài)特征,該信號(hào)再經(jīng)一階差分后即得到音頻的動(dòng)態(tài)特征。

5.3 特征數(shù)據(jù)匹配模塊

完成特征數(shù)據(jù)提取后,系統(tǒng)需要完成匹配的過(guò)程,這里用到了,即在數(shù)據(jù)庫(kù)里重復(fù)尋找與輸入的音頻特征差別最小的數(shù)據(jù)信息,完成匹配。

是典型的DP人算法,它利用動(dòng)態(tài)時(shí)間規(guī)整方法將模板特征序列和語(yǔ)音特征序列進(jìn)行匹配,比較二者之間的失真,得出識(shí)別判決的依據(jù)。的具體過(guò)程如下:

假設(shè)存儲(chǔ)的一個(gè)詞條模板包括M幀倒譜特征R={r(m);m=1,2,...,M};識(shí)別特征序列包括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)的匹配結(jié)果。采用對(duì)稱形式DTW:

其中S(i,j)是累積失真,D(i,j)是局部失真。

當(dāng)動(dòng)態(tài)規(guī)劃過(guò)程計(jì)算到固定節(jié)點(diǎn)(N,M)時(shí),可以計(jì)算出該模板動(dòng)態(tài)匹配的歸一化距離,識(shí)別結(jié)果即該歸一化距離,最小的模板詞條

計(jì)算過(guò)程中,為了減少計(jì)算量,我們采取以下方法:

全局路徑約束,即只計(jì)算四條直線:y=0.5x,y=2x,y=0.5x+(M-0.5N)

,y=2x+(M-2N)所謂的平行四邊形內(nèi)部的點(diǎn);

端點(diǎn)約束為固定起點(diǎn)、終點(diǎn),即從左下角開(kāi)始計(jì)算,到右上角點(diǎn)截止;

對(duì)進(jìn)行模式匹配的兩條語(yǔ)音命令的長(zhǎng)度N和M進(jìn)行了約束,如果兩者之間相差太大則直接放棄該參數(shù)模板,不進(jìn)行DTW運(yùn)算。

圖5-3 DTW算法流程圖

設(shè)計(jì)特點(diǎn):

該設(shè)計(jì)的主要特點(diǎn):

該設(shè)計(jì)采用MFCC音頻特征提取算法和DTW特征匹配算法,對(duì)音頻進(jìn)行了加窗、濾波預(yù)處理,特征數(shù)據(jù)的提取和比對(duì)都比較精確,系統(tǒng)的穩(wěn)定性和準(zhǔn)確性都得到了提高。

系統(tǒng)采用Spartan-6主板,將程序編寫(xiě)后嵌入到芯片內(nèi)部,外部只是采用簡(jiǎn)單的線,用于連接輸入、輸出設(shè)備,主板采用集成電路,減少了連線錯(cuò)誤的可能性。同時(shí),內(nèi)嵌的程序可作修改,更具實(shí)用性,也節(jié)省了制作材料。

當(dāng)系統(tǒng)出現(xiàn)錯(cuò)誤時(shí),可調(diào)出內(nèi)部程序,在仿真軟件上進(jìn)行模擬查詢錯(cuò)誤;若問(wèn)題出在外部電路,由于電路連線簡(jiǎn)單,用戶便于查找和更改。相比于單純的電路結(jié)構(gòu),該系統(tǒng)結(jié)構(gòu)明了,無(wú)需大范圍的改動(dòng),更加實(shí)用和節(jié)省材料。

系統(tǒng)采用紅外模塊操控家電設(shè)備,結(jié)構(gòu)簡(jiǎn)單,控制方便。

紅外操控本身就具有可遙控的特點(diǎn),即芯片可固定于某一位置,連接多個(gè)紅外發(fā)射端口,就可完成對(duì)多個(gè)設(shè)備的操控。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉