《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 業(yè)界動態(tài) > 基于語音識別的智能家居系統(tǒng)研究

基于語音識別的智能家居系統(tǒng)研究

2009-08-26
作者:劉其洪, 李仲陽, 徐孟龍

??? 摘 要:針對智能家居系統(tǒng)中信息不能隨時隨地進(jìn)行控制及其交流方式不流暢的問題,,融合電話公用網(wǎng)和家庭網(wǎng)絡(luò)設(shè)計(jì)了一個基于ARM9和語音識別技術(shù)的智能家居系統(tǒng),。該系統(tǒng)采用RASTA濾波方法去除語音信號中夾雜的卷積信道噪聲,采用改進(jìn)的動態(tài)時間規(guī)正(DTW)算法對語音命令進(jìn)行識別。
??? 關(guān)鍵詞:智能家居,;語音識別,;帶通濾波器,;動態(tài)時間規(guī)正

?

??? 隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展,,“智能家居”越來越被人們所重視。綜觀國內(nèi)外的智能家居系統(tǒng),,大部分側(cè)重于利用Internet進(jìn)行遠(yuǎn)程控制,。由于受到上網(wǎng)設(shè)備的限制,這種方式給智能家居系統(tǒng)的使用帶來了不便,。例如,,在用戶回家途中希望能夠打開空調(diào),很可能就因?yàn)椴环奖闵暇W(wǎng)而無法實(shí)現(xiàn),。隨著電話的普及,,利用電話對家電進(jìn)行遠(yuǎn)程控制可以做到隨時隨地。目前國內(nèi)外使用的控制方式主要有:利用短消息控制和用語音播放受控設(shè)備的名稱或代號,,再根據(jù)用戶的選擇來控制相應(yīng)的設(shè)備,。這兩種方式的弊端是:交流的方式不流暢自然,而且當(dāng)受控設(shè)備的個數(shù)達(dá)到10個以上時需要考慮新出現(xiàn)的問題,。
??? 本文所介紹的系統(tǒng)采用三星公司生產(chǎn)的S3C2410芯片作為微處理器,,基于公用電話交換網(wǎng)設(shè)計(jì)而成。系統(tǒng)先對用戶從電話輸入的語音命令進(jìn)行語音識別,,然后根據(jù)識別結(jié)果向串口發(fā)送相應(yīng)的命令,,實(shí)現(xiàn)對家電的控制。
1 語音識別原理 ?
??? 語音識別的過程可歸結(jié)為模式識別和匹配。通過對語音信號進(jìn)行預(yù)處理和分析計(jì)算可抽取出所需的語音特征,,并以此建立語音識別所需的模板,。而當(dāng)對語音進(jìn)行識別時,,則需要將系統(tǒng)中存放的語音模板與輸入的語音信號的特征進(jìn)行比較,,并根據(jù)一定的算法和策略,找出一系列最優(yōu)的與輸入的語音匹配的模板,,最后輸出識別結(jié)果,,識別流程如圖1所示[1]

?


??? 預(yù)處理包括采樣,、去除噪音,、端點(diǎn)檢測、預(yù)加重,、分幀,、加窗等。而特征參數(shù)的提取,目前較為常用的有線性預(yù)測倒譜系數(shù)(LPCC)與Mel倒譜系數(shù)(MFCC),。本文采用的是MFCC,。系統(tǒng)采用改進(jìn)的動態(tài)時間規(guī)正DTW (Dynamic Time Warping)算法對語音進(jìn)行訓(xùn)練和識別。

2 系統(tǒng)的硬件設(shè)計(jì)
2.1 系統(tǒng)的組成

??? 系統(tǒng)由ARM9核微處理器構(gòu)成主控部分,,接收外部的控制信號,,負(fù)責(zé)信息的處理,調(diào)控系統(tǒng)各部件協(xié)同進(jìn)行工作,。接口電路提供微處理器與電話網(wǎng)絡(luò)的接口,,包括振鈴檢測電路、模擬摘掛機(jī)電路,、語音電路,、雙音多頻(DTMF)信號解碼電路。系統(tǒng)的硬件框圖如圖2所示,。其中振鈴檢測電路,、模擬摘掛機(jī)電路可由電話接口模塊替代。

?

??? 系統(tǒng)的工作過程是:當(dāng)有電話接入時,,電話接口模塊中的振鈴檢測電路檢測到有振鈴信號并送微處理器,;微處理器發(fā)送摘機(jī)信號到摘掛機(jī)電路,實(shí)現(xiàn)模擬摘機(jī),;語音模塊立即播放語音提示,,要啟動家電控制則輸入密碼,正常通話則等待3s,;當(dāng)用戶有按鍵輸入時,,相應(yīng)的DTMF信號經(jīng)雙音多頻信號解碼電路解碼并送微處理器對它進(jìn)行判斷;若輸入的密碼正確,則由語音模塊播放提示音,,要求用戶輸入語音控制命令,;語音命令的模擬信號經(jīng)A/D轉(zhuǎn)換電路轉(zhuǎn)換成數(shù)字信號后送微處理器進(jìn)行語音識別;識別結(jié)果通過串口輸出,。
2.2硬件的設(shè)計(jì)
??? 系統(tǒng)以S3C2410芯片為核心,,配合電話接口模塊、語音單元,、存儲單元實(shí)現(xiàn)語音識別的訓(xùn)練及識別過程,。該芯片是SAMSUNG公司生產(chǎn)的一款基于ARM920T內(nèi)核的芯片,擁有獨(dú)立的16 KB指令Cache和16 KB數(shù)據(jù)Cache,,片內(nèi)資源豐富并支持MMU虛擬內(nèi)存管理單元,,采用它作為程序的主控芯片可減少工作量,降低開發(fā)難度,。為實(shí)現(xiàn)對語音的處理,,系統(tǒng)的語音單元采用了PHILIPS公司的UDA1341TS語音編解碼芯片。語音的模擬信號從電話線經(jīng)過偏置和濾波處理后輸入到UDA1341TS中轉(zhuǎn)換為數(shù)字信號后再送到S3C2410進(jìn)行處理,。本系統(tǒng)和電話公用網(wǎng)之間的接口是PH8809電話模塊,,PH8809是專業(yè)設(shè)計(jì)的電話接口電路,采用標(biāo)準(zhǔn)DIP32P封裝,,體積小巧,,具備振鈴檢測、摘掛機(jī)檢測和控制及語音接收/輸出,、DTMF輸入/輸出等功能,,并帶有電話線斷線檢測端口及音量自動增益調(diào)節(jié)電路,集成度高,,性能穩(wěn)定,。出于安全考慮,系統(tǒng)采用密碼驗(yàn)證的方式對用戶身份進(jìn)行識別,,而密碼的輸入借助于DTMF信號,。HT9170是DTMF信號接收解碼芯片,它可對接收到的DTMF信號進(jìn)行檢測和解碼,,并將不同的DTMF輸入信號轉(zhuǎn)換成相應(yīng)的4位BCD碼數(shù)字信號輸出,。系統(tǒng)的存儲部分選用32 M×8 bit Flash K9F5608U芯片,用于燒寫程序,,2片8 M×32 bit大容量SDRAM芯片型號為HY57V561620,。其中電話接口模塊PH8809與語音編解碼芯片UDA1341TS及DTMF解碼電路HT9170、微處理器S3C2410的連接如圖3所示,。

?

?

??? 圖3中,,SW是摘掛機(jī)控制開關(guān),,高電平導(dǎo)通,低電平斷開,。RING為振鈴信號輸出,,輸出高電平時無振鈴,輸出低電平則表示有振鈴,。DXC是電話線斷線檢測輸出,,輸出高電平表示電話線斷線,輸出低電平時電話線連接正常,。
3 系統(tǒng)的軟件設(shè)計(jì)
??? 系統(tǒng)首先通過移植vivi BootLoader,、Linux 操作系統(tǒng)建立系統(tǒng)的開發(fā)環(huán)境,然后再開發(fā)語音識別程序及硬件驅(qū)動程序并把它們燒寫進(jìn)目標(biāo)板,。其中重點(diǎn)難點(diǎn)在于語音識別程序的開發(fā),本文只介紹此部分,。
3.1通信信道噪聲的消除
??? 基于電話的語音識別不同于普通的桌面語音識別,,要想達(dá)到較好的識別效果,噪聲的影響不能忽略,。而RASTA濾波處理正是通過一個低端截止頻率很低的帶通濾波器對語音參數(shù)的時間軌跡進(jìn)行濾波處理,,以使頻譜中的常量或者緩慢變化的部分得到抑制。系統(tǒng)引入了RASTA濾波技術(shù)并把它應(yīng)用到Mel對數(shù)譜上,,使得變化緩慢的通道噪聲得到抑制[2],。
??? MFCC通過構(gòu)造人的聽覺模型,以語音通過該模型(濾波器組)的輸出為聲學(xué)特征,,經(jīng)過離散傅里葉變換(DFT)后,,可得MFCC為
???
??? 式(1)中,f (k)為第k個濾波器的對數(shù)輸出,,n為MFCC的階數(shù),,M為濾波器的個數(shù)。
??? 設(shè)RASTA濾波器的系統(tǒng)函數(shù)為H(z),,則
? ?
??? 又設(shè)分別代表RASTA處理前和處理后的第k個Mel頻帶對數(shù)頻譜,,則有:
???
??? 再對Mel頻率對數(shù)頻譜進(jìn)行離散余弦變換(DCT),可得:
????
式(5)中是經(jīng)過RASTA處理后的n階MFCC,。將式(4)代入式(5),,可得
???
??? 從式(6)中可以看出,RASTA處理完全可以從對數(shù)頻率譜擴(kuò)展到倒譜,,即先求出MFCC,,然后再做帶通濾波處理,從而減少計(jì)算代價,。
3.2語音識別算法
??? 在對語音信號提取MFCC特征參數(shù)及RASTA濾波去噪以后,,語音信號就轉(zhuǎn)化成為一組組特征向量,,而語音識別算法的作用就是將待識別的語音信號的特征向量同系統(tǒng)中已建立起來的特征向量模板進(jìn)行比較,找出最優(yōu)的匹配模板,。目前,,常用的語音識別算法有隱馬爾可夫模型(HMM)算法、動態(tài)時間規(guī)正(DTW)算法和人工神經(jīng)網(wǎng)絡(luò)(ANN)算法,。其中,,DTW算法具有系統(tǒng)開銷小、運(yùn)算速度快,、對孤立詞和小詞匯表的識別簡單而有效等特點(diǎn),,非常適合嵌入式系統(tǒng)的研制,而改進(jìn)的DTW算法進(jìn)一步減小了對計(jì)算量和存儲空間的需求,,因而本系統(tǒng)選用它作為系統(tǒng)的識別算法,。
??? DTW算法是利用動態(tài)規(guī)劃的思想, 將一個復(fù)雜的全局最優(yōu)化問題化為許多局部最優(yōu)化問題來處理,,并自動尋找一條路徑,,使兩個特征矢量之間的積累失真量最小,從而避免由于時長不同而可能引入的誤差,。
??? 設(shè)參考模板共有M幀矢量,,待測語音模板共有N幀矢量(一般M≠N),則動態(tài)時間歸正就是尋找一個時間歸正函數(shù)m=ω(n),,它將測試矢量的時間軸n非線性地映射到模板的時間軸m上并使得測試矢量和模板矢量各幀之間的距離測度的累積和最小,,從而使得兩矢量之間的匹配路徑最小,這樣就保證了待測模板與參考模板之間具有最大的聲學(xué)相似特性,。通常,,規(guī)正函數(shù)m=ω(n)被限制在一個平行四邊形(設(shè)為ABCD)網(wǎng)格內(nèi),它的起點(diǎn)坐標(biāo)是(1,,1),,終點(diǎn)坐標(biāo)為(N,M ),,相鄰兩邊的斜率分別為2和1/2,,如圖4所示。

?


??? 即只需對位于平行四邊形ABCD內(nèi)的各點(diǎn)對應(yīng)的幀匹配距離進(jìn)行計(jì)算即可,,然而傳統(tǒng)的DTW算法卻對整個矩形區(qū)域MBND都進(jìn)行了計(jì)算,,增加了系統(tǒng)的計(jì)算量。此外,,傳統(tǒng)的DTW算法還保存了所有的幀匹配距離矩陣和累積距離矩陣,,而實(shí)際上每一列各個點(diǎn)上的匹配計(jì)算只用到了前一列的3個網(wǎng)格。改進(jìn)的DTW算法對以上兩點(diǎn)進(jìn)行了改進(jìn),,把實(shí)際的動態(tài)規(guī)正拆分為(1,, Xa),, (Xa+1,Xb),,(Xb+1,,N)3段,其中,,Xa和Xb為最相近的整數(shù)且滿足下式
???
??? 當(dāng)不滿足以上條件時,,認(rèn)為兩者差別實(shí)在太大,無法進(jìn)行動態(tài)規(guī)正匹配,。
??? 而在X軸上的每一幀不再與Y軸上的每一幀進(jìn)行比較,,而只與Y軸上[ymax,ymin]間的幀進(jìn)行比較,,其中ymax,,ymin由以下二式計(jì)算得到:

???
??? 當(dāng)Xa>Xb時, DTW可拆分為(1,,Xb),,(Xb+1,Xa)和(Xa+1,,N)3段,計(jì)算過程類似,。
??? 對于X 軸上,,每前進(jìn)一幀,彎折特征都是一樣的,,累積距離的更新用下式實(shí)現(xiàn)
??? D(x,y)=d(x,y)+min[D(x-1,y),D(x-1,y-1),D(x-1,y-2)]?
??? 上式中,,矢量 D 用于保存前一列的累積距離,矢量 d 用于計(jì)算當(dāng)前列的累積距離,。根據(jù)上式,,當(dāng)在X軸上每前進(jìn)一幀時,按上式可求出當(dāng)前的累積距離,,而它又可供下一列使用,。如此不斷的更新,當(dāng)進(jìn)行到待測模板的最后一幀時,,矢量 D 的最后一個元素即為兩個模板經(jīng)過動態(tài)規(guī)正后的匹配距離,。可以看出,,該算法并沒有像傳統(tǒng)的DTW算法一樣保存整個距離矩陣,,從而節(jié)約了系統(tǒng)的存儲空間[3]
??? 系統(tǒng)通過DTMF信號密碼驗(yàn)證方式對用戶身份進(jìn)行識別,,采用語音命令方式對家電進(jìn)行控制,,具有交流方式流暢自然,、可實(shí)現(xiàn)隨時隨地控制、較高的安全性能等特點(diǎn),。實(shí)驗(yàn)結(jié)果表明,,在一般的背景環(huán)境下,對孤立詞的語音命令識別正確率達(dá)到95%以上,,具有一定的應(yīng)用價值,。
參考文獻(xiàn)
[1]?趙建光.嵌入式連續(xù)語音識別系統(tǒng)研究[D].河北工程大學(xué)碩士學(xué)位論文,2007.
[2]?HERMANSKY H, MORGAN N. RASTA processing of speech[J]. IEEE Trans on Speech and Audio Processing, 1994, 2(4): 578-589.
[3]?林波,呂明.基于DTW改進(jìn)算法的孤立詞識別系統(tǒng)的仿真與分析[J].信息技術(shù), 2006(4): 56-59.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。