語音識(shí)別系統(tǒng)設(shè)計(jì)_第1頁
語音識(shí)別系統(tǒng)設(shè)計(jì)_第2頁
語音識(shí)別系統(tǒng)設(shè)計(jì)_第3頁
語音識(shí)別系統(tǒng)設(shè)計(jì)_第4頁
語音識(shí)別系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第1章緒論1.1引言智能電子技術(shù)在現(xiàn)實(shí)生活中的智能家居電子產(chǎn)品中得到廣泛應(yīng)用。特別是計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)、信息控制技術(shù)的迅猛發(fā)展與提高,促使家庭實(shí)現(xiàn)了生活現(xiàn)代化,居住環(huán)境舒適化、安全化。這些高科技已經(jīng)影響到人們生活的方方面面,改變了人們生活習(xí)慣,提高了人們的生活質(zhì)量,智能化家居也正是在這種形勢(shì)下應(yīng)運(yùn)而生的。智能家居的日漸興起給人們的家居生活帶來了全新的感受,家居智能化正在成為一種趨勢(shì)。[14]智能家電通過處理電子技術(shù),來集成或控制家中的電子電器產(chǎn)品,讓家居生活更加舒適、安全、有效。與普通家電相比,智能家電不僅具有傳統(tǒng)的家電功能,還能根據(jù)人們的語音指揮,由原來的被動(dòng)靜止結(jié)構(gòu)轉(zhuǎn)變?yōu)榫哂兄鲃?dòng)識(shí)別語音執(zhí)行的智慧工具,優(yōu)化人們的生活方式,幫助人們有效安排時(shí)間,增強(qiáng)家居生活的安全性、舒適性。本文通過對(duì)傳統(tǒng)的家庭照明系統(tǒng)、電扇和電視機(jī)進(jìn)行改造,使其成為具語音識(shí)別功能的智能家電,由于條件限制此次設(shè)計(jì)的智能控制系統(tǒng)由驅(qū)動(dòng)LED顯示來進(jìn)行仿真實(shí)現(xiàn)。1.2國內(nèi)外智能語音識(shí)別系統(tǒng)發(fā)展現(xiàn)狀語音識(shí)別研究從二十世紀(jì)50年代開始到現(xiàn)在已經(jīng)歷了半個(gè)多世紀(jì)的蓬勃發(fā)展,在這期間獲得了巨大的進(jìn)展。國外的語音識(shí)別研究工作可以追溯到20世紀(jì)50年代AT&T貝爾實(shí)驗(yàn)室開發(fā)的第一個(gè)能實(shí)現(xiàn)十個(gè)英文數(shù)字的語音識(shí)別系統(tǒng)。是在60年代末70年代初。在70年代,提出了語音信號(hào)線性預(yù)測(cè)編碼(LPC)技術(shù),動(dòng)態(tài)時(shí)間規(guī)整(DTW)技術(shù),矢量量化(VQ)和隱馬爾可夫模型(HMM)理論。進(jìn)入80年代以后,研究的重點(diǎn)逐漸轉(zhuǎn)向大詞匯量、非特定人連續(xù)語音識(shí)別。這一時(shí)期,語音識(shí)別的研究更進(jìn)一步,興起了人工神經(jīng)網(wǎng)絡(luò)在語音識(shí)別中的應(yīng)用。進(jìn)入20世紀(jì)90年代后,語音識(shí)別系統(tǒng)開始從實(shí)驗(yàn)室走向?qū)嵱?。許多著名的大公司如IBM、蘋果、AT&T和NTT都對(duì)語音識(shí)別系統(tǒng)的實(shí)用化研究投以巨資。比較有代表性的系統(tǒng)有:IBM公司推出的ViaVoice和DragonSystem公司的NaturallySpeaking,Nuance公司的NuanceVoicePlatform語音平臺(tái),Microsoft的Whisper,Sun的VoiceTone,以及當(dāng)今流行的Apple的siri功能。[1]. 我國的語音識(shí)別研究起始于1958年,由中國科學(xué)院聲學(xué)所利用電子管電路識(shí)別!十個(gè)元音。直至1973年才由中國科學(xué)院聲學(xué)所開始計(jì)算機(jī)語音識(shí)別。1986年3月我I國高科技發(fā)展計(jì)劃(863計(jì)劃)啟動(dòng),國家863智能計(jì)算機(jī)專家組為語音識(shí)別技術(shù)研究專門立項(xiàng),每兩年舉行一次專題會(huì)議?,F(xiàn)在我國語音識(shí)別技術(shù)的研究水平已經(jīng)基本上I與國外同步,在漢語語音識(shí)別技術(shù)上還有自己的特點(diǎn)與優(yōu)勢(shì)。國內(nèi)有不少語音識(shí)別系! 統(tǒng)已研制成功。在孤立字大詞匯量語音識(shí)別方面,最具代表性的要數(shù)92年清華大學(xué)電子工程系與中國電子器件公司合作研制成功的THED-919特定人語音識(shí)別與理解實(shí)- 一 ..: 時(shí)系統(tǒng)。在連續(xù)語音識(shí)別方面,91年12月四川大學(xué)計(jì)算機(jī)中心在微機(jī)上實(shí)現(xiàn)了一個(gè)!主題受限的特定人連續(xù)英語---漢語語音翻譯演示系統(tǒng)。在非特定人語音識(shí)別方面,裝有清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系在87年研制的聲控電話查號(hào)系統(tǒng)并投入實(shí)際使用?!?而住宅智能化系統(tǒng)的概念也是從上世紀(jì)70年代末起源于美國,隨后,歐洲、日本等國家住宅智能化也得到了飛速發(fā)展。在我國,智能家居這一概念推廣較晚,約在90年代末住宅智能化系統(tǒng)進(jìn)入國內(nèi),但其發(fā)展速度非??欤珖呀⒘艘恍┚哂幸欢ㄖ悄芑δ艿淖≌^(qū)和家庭智能化生活住宅。訂II1.3主要工作!IIIIII鑒于目前市場(chǎng)上的各類智能家居產(chǎn)品在人機(jī)交互方面還只是停留在手動(dòng)控制沒線有實(shí)現(xiàn)真正的人機(jī)對(duì)話,本文把語音識(shí)別引入到智能家居系統(tǒng)中實(shí)現(xiàn)了語音控制家用I電器,具體的說,本文主要做以下幾個(gè)方面的工作:1.進(jìn)行設(shè)計(jì)方案對(duì)比,并簡要介紹了凌陽SPCE061A單片機(jī),以及它在語音識(shí)別方面的應(yīng)用,并對(duì)系統(tǒng)中用到的語音識(shí)別技術(shù)做了介紹。!. 2給出了系統(tǒng)的總體結(jié)構(gòu)圖,并對(duì)部分硬件原理圖進(jìn)行了詳細(xì)的分析和說明。!3.對(duì)系統(tǒng)的軟件設(shè)計(jì)進(jìn)行了介紹,并給出了部分程序的流程圖。4對(duì)論文進(jìn)行了總結(jié),并提出了未來需要進(jìn)一步研究開發(fā)的方向。第2章系統(tǒng)設(shè)計(jì)方案的研究; 2.1方案總體比較和選擇IIIII! i 方案的差異在于使用的核心控制芯片不同比較如下:! 方案一:采用凌陽單片機(jī)作為我們的控制電路核心,凌陽SPCE061A十六位單片!.一.一 ! 機(jī)不僅內(nèi)置32kFlash,而且集成了語音處理模塊?;?! 方案二:采用AT89S52單片機(jī)控制,外加專門DSP處理芯片或者語音處理模塊。裝 與方案三比較,52單片機(jī)具有編程靈活,其控制簡單的特點(diǎn),但外加芯片或模塊無!疑增加技術(shù)難度,并且提高了制作成本。! 方案三:采用AP7003芯片為控制核心,外加簡單的語音處理模塊。與方案二、! 三比較不需要編程,控制簡單,但識(shí)別率較低,效果不好。[4]! 通過比較,方案二和方案三無論從技術(shù)上經(jīng)濟(jì)上還是從效果上都沒有方案一好,訂! 基于SPCE061A夠建的語音控制系統(tǒng)具有成本低、使用方便、保密性好等優(yōu)點(diǎn)。所以! 選擇方案一。IIII! 2.2方案具體分析線I! 方案一:! 基于凌陽SPCE061A單片機(jī)的語音識(shí)別控制方案,實(shí)現(xiàn)語音對(duì)家用電器的控制。! 本方案以SPCE061A單片機(jī)作為主控核心,根據(jù)用戶需要可以編寫若干控制程序,根! 據(jù)各種家電的不同需要,在不同時(shí)刻輸出對(duì)家電開關(guān)等的控制信號(hào),然后語音控制家I! 電實(shí)現(xiàn)各種功能。[8]! 1.PC機(jī)I! 通過EZ-PROBE接口和單片機(jī)連接來調(diào)試、仿真和下載程序的。這樣,就不需要! 再用仿真器和編程器了,只要將其連接好,就可以在PC機(jī)上調(diào)試程序,并且在線仿!真,最后將程序下載到芯片中。2.單片機(jī)板塊以凌陽16位單片機(jī)SPCE061A作為主控核心,較少的輔助硬件電路相結(jié)合制成的板塊。具備單片機(jī)最小系統(tǒng)電路外,還包括有源電路、音頻電路、復(fù)位電路等,采用電池供電。主體部分采用的SPCE061A,該芯片屬于16位機(jī),芯片的設(shè)計(jì)體現(xiàn)了SOC概念,內(nèi)嵌32K的FLASH的存儲(chǔ)空間,雙16位的計(jì)數(shù)器、定時(shí)器,14個(gè)中斷源,A/D、D/A轉(zhuǎn)換單元,32位可編程的多功能IO口,LVD/LVR等部分。SPCE061A在2.6v~3.6v的工作電壓范圍內(nèi)的工作速率范圍為0.32MHz~49.152MHz,較高的工作速率使其應(yīng)用領(lǐng)域極其寬廣PROBE的接口,該接口有5針,其中兩個(gè)分別是地(VSS)和3.3V電源(VCC)。此接口與PROBE的5針接口相連,PROBE的另一端接PC機(jī)25針并口。這樣,就不需要再用仿真器和編程器了,只要將其連接好,就可以通過它在PC機(jī)上調(diào)試程序、在線仿真、最后將程序下載到芯片中,完成程序的抄寫。3.顯示驅(qū)動(dòng)電路本系統(tǒng)用LED做演示,驅(qū)動(dòng)電路僅需用三極管放大驅(qū)動(dòng)電流即可。采用凌陽16位單片機(jī)SPCE061A作為控制核心。SPCE061A具有豐富的資源、指令周期短、工作速率快、低功耗、低電壓、可編程音頻處理、在線下載易于調(diào)試等優(yōu)點(diǎn),完全適合于對(duì)家電的控制。尤其是其語音播放功能對(duì)增加家電控制系統(tǒng)語音報(bào)告功能提供了很大的方便。方案一:使用AT89S52單片機(jī),此方案就是要以單片機(jī)的硬件結(jié)構(gòu)為基礎(chǔ)。它的運(yùn)行過程是在程序控制下逐條執(zhí)行程序指令的過程。因?yàn)殡娐酚脝纹瑱C(jī)控制,所以電路非常簡潔。電路的核心部分是AT89S52單片機(jī),52單片機(jī)具有價(jià)格低廉、使用簡單等特點(diǎn),但其運(yùn)算速度較低、功能比較單一,如要對(duì)家用電器實(shí)現(xiàn)語音等功能就必須外擴(kuò)芯片,控制過程相對(duì)比較繁瑣。方案二:以AP7003為核心的控制系統(tǒng),是低成本語音識(shí)別專用集成電路,內(nèi)置有麥克風(fēng)放大器、A/D轉(zhuǎn)換器、語音處理器和I/O控制器,經(jīng)預(yù)處理后可識(shí)別12組不同的字詞,每組1.5秒時(shí)長,可連詞或單詞識(shí)別。AP7003包括AP7003-01(由CPU串行控制)和AP7003-02(由按鍵直接控制)兩種型號(hào),且最有高度的I/O可編程性,使用簡單方便,可廣泛應(yīng)用于玩具、識(shí)別轉(zhuǎn)控、自動(dòng)答錄等領(lǐng)域。AP7003采用DIP40封裝°AP7003具有兩種工作模式,即錄音模式和識(shí)別模式。在使用識(shí)別模式之前,應(yīng)先將目標(biāo)錄入芯片內(nèi)。AP7003內(nèi)有12條存儲(chǔ)體用于存儲(chǔ)12組不同的字句,每個(gè)存儲(chǔ)體可存儲(chǔ)1.5秒時(shí)長的字詞,可通過鍵盤或按程序編制的順序選擇存儲(chǔ)體錄入及存放目標(biāo)詞。語音可通過外部麥克風(fēng)或其它媒體錄入芯片內(nèi),經(jīng)內(nèi)部處理后以不同的數(shù)字持片信號(hào)保存于存儲(chǔ)體中。此系統(tǒng)指令對(duì)指令數(shù)目有限制,而且識(shí)別率較低。基于上述分析,擬選擇方案一。第3章系統(tǒng)硬件設(shè)計(jì)3.1硬件總體結(jié)構(gòu)和工作過程本系統(tǒng)硬件結(jié)構(gòu)如圖3-1所示:由圖可知系統(tǒng)可分為:MIC輸入模塊、單片機(jī)、存儲(chǔ)模塊、功放和喇叭輸出模塊四大部分和外設(shè)的電源模塊、鍵盤模塊和液晶顯示電路模塊構(gòu)成。3.1.1凌陽SPCE061A介紹SPCE061A是凌陽科技公司研制的一個(gè)16位結(jié)構(gòu)的微控制器。它的內(nèi)核采用公司最新推出的(MicrocontrollerandSignalProcessor)16位微處理器芯片,工作電壓范圍為2.6?5.5v,系統(tǒng)工作頻率為0.375?49.152MHz。它不僅具有微處理器的功能,還具有DSP運(yùn)算功能,低電壓,較高的系統(tǒng)工作頻率使該單片機(jī)可以快速的處理復(fù)雜的數(shù)字語音信號(hào)。片內(nèi)集成了具有自動(dòng)增益控制功能的麥克風(fēng)輸入方式以及DAC音頻輸出功能,使用凌陽音頻編碼SACM-S240方式(2.4Kb/s),能容納210s的語音數(shù)據(jù),提供豐富的C函數(shù)庫和語音處理函數(shù)庫,因此非常適合數(shù)字語音和語音識(shí)別產(chǎn)品的開發(fā)。另外,SPCE061A還具有喚醒功能,即當(dāng)輸入電平發(fā)生變化時(shí)會(huì)觸發(fā)CPU中斷。在電池供電、追求低功耗的應(yīng)用場(chǎng)合,可以讓CPU進(jìn)入睡眠模式(利用軟件控制)以降低功耗,需要時(shí)才喚醒CPU,使其進(jìn)入工作狀態(tài),這樣既可以節(jié)省能耗,又可以

延長機(jī)器的使用壽命。正因?yàn)橛幸陨咸攸c(diǎn),SPCE061A微處理器是適用于數(shù)字語音識(shí)別應(yīng)用領(lǐng)域產(chǎn)品的一種最理想、經(jīng)濟(jì)的選擇。SPCE061A的結(jié)構(gòu)如圖3-2所示:SPCE061A的PLCC84引腳的排列如圖3-3所示:SPCE061A的管腳說明見表3-4所示:ICEICLICEAUD2IOA15-0I0B1S■DICEICLICEAUD2IOA15-0I0B1S■D.auoi圖3-2SPCE061A的結(jié)構(gòu)119876543214388-T2—-^3—-^4—"T5—-T6—-^7—119876543214388-T2—-^3—-^4—"T5—-T6—-^7—"^8—F—2o—21——22——23—-24——25—26—27 -^8—-29—-30—-^1—■32OSC320OSC321XTESTVDDXICEXICECLKXICEJDAVSSPVINDAC1DAC2VREF2VSSAGCOPIMICOUTMICNPFUSENCNCNCMCNNCNCNCNCNCPVPPIOBL1IOBL2IOB13IOBL4IOBL5XSLEEPVSSXROMTIOA15IOA14IOA13IOA12IOA11IOA10IOA974卞72-Tf■70T69而q5"分衍"58"57■56IIIIIIII90424444444圖3-3SPCE061A的引腳排列SPCE061A有PLCC84和QFP80兩種封裝。封裝形式為PLCC84的共有84個(gè)引腳。

表3-1芯片引腳說明11111111名稱PLCC84腳位說明!111111■IOA0-IOA741-48IOA[7:0]可設(shè)置為鍵喚醒,IOA[6:0]可設(shè)置為ADC輸入1111IOA8-IOA1553-60普通I/O11111OB05可設(shè)置為SIO-SCK1111IOB14可設(shè)置為SIO-SDA1111IOB23可設(shè)置為外部中斷觸發(fā)引腳EXT11111IOB32可設(shè)置為外部中斷觸發(fā)引腳EXT21111IOB41可與IBO2組成反饋信號(hào)1111IOB581可與IBO3組成反饋信號(hào)1111IOB680普通I/O裝1IOB779可設(shè)置為UART-RXIOB878可設(shè)置為TimerA的PWM輸出口1111IOB977可設(shè)置為TimerB的PWM輸出口1111IOB1076可設(shè)置為UART-TX1111IOB11-IOB1568-64普通I/O1111RESET6復(fù)位,低電平有效訂1X32012晶振輸出X32113晶振輸入1111DAC121音頻DAC1輸出1111DAC222音頻DAC2輸入1111AGC25AGC控制腳1111MICN28MIC差分信號(hào)輸入(負(fù)極)線1MICP33MIC差分信號(hào)輸入(正極)V2VREF232V基準(zhǔn)電壓輸出1111MICOUT27MIC前級(jí)放大輸出1111OPI26MIC次級(jí)放大輸入1111VADREF34AD參考電壓輸出1111VMIC37MIC電源1111VEXTREF35ADC參考電壓輸入1111VDDIO51,52,75I/O電源1111VSSIO49,50,62I/O地1111AVDD36模擬電源1111AVSS24模擬地1111VDD7,15數(shù)字電源1111VSS9,19,38數(shù)字地1111VCION8連接電容(PLL電路相關(guān))111SLEEP63睡眠模式ICE16ICE使能ICECLK17ICE時(shí)鐘ICESDA18ICE數(shù)據(jù)TEST14TEST接高電平進(jìn)入測(cè)試模式PFUSE29保密設(shè)定PVIN20保密設(shè)定N/C10,11,30,31,32,39,40,61,69,70,71,72,73,74,82,83,84未用3.1.2凌陽單片機(jī)最小系統(tǒng)16位u'nSP16微處理器;工作電壓(CPU)VDD為2.4?3.6V(I/O)VDDH為2.4?5.5VCPU時(shí)鐘:0.32MHz?49.152MHz;內(nèi)置2K字SRAM;內(nèi)置32KFLASH;可編程音頻處理;晶體振蕩器;系統(tǒng)處于備用狀態(tài)下(時(shí)鐘處于停止?fàn)顟B(tài)),耗電僅為2PA@3.6V;2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器(可自動(dòng)預(yù)置初始計(jì)數(shù)值);2個(gè)10位DAC(數(shù)-模轉(zhuǎn)換)輸出通道;32位通用可編程輸入/輸出端口;14個(gè)中斷源可來自定時(shí)器A/B,時(shí)基,2個(gè)外部時(shí)鐘源輸入,鍵喚醒;具備觸鍵喚醒的功能;使用凌陽音頻編碼SACM_S240方式(2.4K位/秒),能容納210秒的語音數(shù)據(jù);鎖相環(huán)PLL振蕩器提供系統(tǒng)時(shí)鐘信號(hào);32768Hz實(shí)時(shí)時(shí)鐘;7通道10位電壓模-數(shù)轉(zhuǎn)換器(ADC)和單通道聲音模-數(shù)轉(zhuǎn)換器;聲音模-數(shù)轉(zhuǎn)換器輸入通道內(nèi)置麥克風(fēng)放大器和自動(dòng)增益控制(AGC)功能;具備串行設(shè)備接口;具有低電壓復(fù)位(LVR)功能和低電壓監(jiān)測(cè)(LVD)功能;內(nèi)置在線仿真電路ICE(In-CircuitEmulator)接口;具有保密能力;具有WatchDog功能。3.1.3凌陽單片機(jī)最小系統(tǒng)SPCE061A最小系統(tǒng)當(dāng)中,包括SPCE061A芯片外圍的基本模塊,晶振輸入模塊(OSC)、鎖相環(huán)外圍電路(PLL)、復(fù)位電路(RESET)、指示燈(LED)等。系統(tǒng)時(shí)鐘時(shí)鐘電路采用晶體振蕩器電路,外接晶振采用32768Hz。32768Hz實(shí)時(shí)時(shí)鐘通常用于鐘表、實(shí)時(shí)時(shí)鐘延時(shí)以及其它與時(shí)間相關(guān)類產(chǎn)品。SPCE061A通過對(duì)32768Hz實(shí)時(shí)時(shí)鐘源分頻而提供了多種實(shí)時(shí)時(shí)鐘中斷源。例如,用作喚醒源的中斷源IRQ5_2Hz,表示系統(tǒng)每隔0.5秒被喚醒一次,由此可作為精確的計(jì)時(shí)基準(zhǔn)。32768Hz的實(shí)時(shí)時(shí)鐘經(jīng)過PLL倍頻電路產(chǎn)生系統(tǒng)時(shí)鐘頻率(Fosc),F(xiàn)osc再經(jīng)過分頻得到CPU時(shí)鐘頻率(CPUCLK)可通過對(duì)P_SystemClock(寫)($7013H)單元編程來控制。默認(rèn)的Fosc、CPUCLK分別為24.576MHz和Fosc/8。用戶可以通過對(duì)P_SystemClock單元編程完成對(duì)系統(tǒng)時(shí)鐘和CPU時(shí)鐘頻率的定義。此外,32768HzRTC振蕩器有兩種工作方式:強(qiáng)振模式和自動(dòng)弱振模式。處于強(qiáng)振模式時(shí),RTC振蕩器始終運(yùn)行在高耗能的狀態(tài)下。處于自動(dòng)弱振模式時(shí),系統(tǒng)在上電復(fù)位后的前7.5s內(nèi)處于強(qiáng)振模式,然后自動(dòng)切換到弱振模式以降低功耗。CPU被喚醒后默認(rèn)的時(shí)鐘頻率為Fosc/8,用戶可以根據(jù)需要調(diào)整該值。CPU被喚醒后經(jīng)過32個(gè)時(shí)鐘周期的緩沖時(shí)間后再進(jìn)行其它的操作,這樣可以避免在系統(tǒng)被喚醒后造成ROM讀取錯(cuò)誤。電路圖如圖3-4所示,晶振32768兩端分別與兩個(gè)電容相連,振蕩器起振要在一定電壓值下才能起振。這兩個(gè)電容叫負(fù)載電容,保持一個(gè)恒定的偏置電壓供給。電容只是保持這個(gè)固定的電壓值,不起其他的作用。不同晶振需要不同的電壓,和容值是有關(guān)系的。Y1CS(D. |] fSC32768二二C14 二二C152Cp 2Qp1 VSS圖3-4晶振電路鎖相環(huán)PLL振蕩器系統(tǒng)要正常工作需要外部的輸入信號(hào)與內(nèi)部的振蕩信號(hào)同步,利用鎖相環(huán)電路就可以實(shí)現(xiàn)這個(gè)目的。鎖相環(huán)的特點(diǎn)是:利用外部輸入的參考信號(hào)控制環(huán)路內(nèi)部振蕩信號(hào)的頻率和相位。因鎖相環(huán)可以實(shí)現(xiàn)輸出信號(hào)頻率對(duì)輸入信號(hào)頻率的自動(dòng)跟蹤,所以鎖相環(huán)通常用于閉環(huán)跟蹤電路。鎖相環(huán)在工作的過程中,當(dāng)輸出信號(hào)的頻率與輸入信號(hào)的頻率相等時(shí),輸出電壓與輸入電壓保持固定的相位差值,即輸出電壓與輸入電壓的相位被鎖住,這同時(shí)也是鎖相環(huán)名稱的由來。PLL通過比較外部信號(hào)的相位和由壓控晶振的相位來實(shí)現(xiàn)同步的,在比較過程中,鎖相環(huán)電路會(huì)不斷根據(jù)外部信號(hào)的相位來調(diào)整本地晶振的時(shí)鐘相位,直到兩個(gè)信號(hào)的相位同步。在數(shù)據(jù)采集系統(tǒng)中,鎖相環(huán)是一種非常有用的同步技術(shù),因?yàn)橥ㄟ^鎖相環(huán),可以使得不同的數(shù)據(jù)采集卡共享同一個(gè)采樣時(shí)鐘。PLL電路的作用是將系統(tǒng)提供的實(shí)時(shí)時(shí)鐘的基頻(32768Hz)進(jìn)行倍頻,調(diào)整至49.152MHz、40.96MHz、32.768MHz、24.576MHz或20.480MHz。系統(tǒng)默認(rèn)的PLL自激振蕩頻率為24.576MHz。PLL的電路框圖如圖3-5所示。PLL電路分別與芯片的8和9管腳相連,完成輸入信號(hào)和內(nèi)部振蕩信號(hào)的同步。圖3-5鎖相環(huán)電路復(fù)位電路復(fù)位電路的主要作用就是恢復(fù)系統(tǒng)默認(rèn)值,它采用按鍵與電容并聯(lián),當(dāng)按鍵按下的時(shí)候RES_B與VSS短接,使得電容放電RES_B與VSS相同,RES_B與SPCE061A的6腳(XRESB)相連,達(dá)到電路復(fù)位的作用。當(dāng)按下控鍵按鍵后系統(tǒng)從新開始工作,或是說單片機(jī)里的程序從第一條運(yùn)行。復(fù)位是對(duì)61板內(nèi)部的硬件初始化。61板本身具有上電復(fù)位功能,即只要一通電就自動(dòng)復(fù)位。另外,還具有外部復(fù)位電路,即在引腳6上外加一個(gè)低電平就可令其復(fù)位。復(fù)位電路圖如圖3-6所示。圖3-6復(fù)位電路圖3.2語音模塊語音輸出電路如圖4所示,其中VDDH為參考電壓,VSS是系統(tǒng)的模擬地。音頻信號(hào)由SPCE061A的DAC引腳輸出送到電路的J4端,通過音量電位器R9的調(diào)節(jié)端送到集成音頻功率放大器SPY0030,經(jīng)音頻放大后,音頻信號(hào)從SPY0030輸出經(jīng)J2端口外接揚(yáng)聲器播放聲音。SPCE061A內(nèi)置2路10位精度的DAC,只需要外接功放電路即可完成語音的播放。圖中的SPY0030是凌陽的一款音頻放大芯片,可以工作在2.4?6V范圍內(nèi),最大輸出功率可達(dá)700mW。J5都是語音輸出接口,;是兩針的插針外接喇叭,由DAC輸出引腳經(jīng)語音集成放大器SPY0030放大,然后輸出。SPY0030是音頻功率放大器。因?yàn)槁曇羰遣煌穹筒煌l率的波,即交流信號(hào)電流,三極管的集電極電流永遠(yuǎn)是基極電流的B倍,B是三極管的交流放大倍數(shù),應(yīng)用這一點(diǎn),若將小信號(hào)注入基極,則集電極流過的電流會(huì)等于基極電流的B倍,然后將這個(gè)信號(hào)用隔直電容隔離出來,就得到了電流(或電壓)是原先的B倍的大信號(hào),這現(xiàn)象稱為三極管的放大作用。經(jīng)過電流與電壓的共同放大,就完成了功率放大°R14為可調(diào)電阻,當(dāng)調(diào)節(jié)阻值大小事,即調(diào)節(jié)了基極的輸入信號(hào),最終影響的就是輸出信號(hào)即語音輸出音量的大小。SPY0030的放大倍數(shù)固定為20倍。圖3-7音頻輸出電路語音輸入電路如圖3-8所示,其中VMC提供傳聲器的電源,AVSS1是系統(tǒng)的模擬地,VCM為參考電壓,1腳和2腳分別是傳聲器X1的正極、負(fù)極的輸入引腳,連接SPCE061A的MICP、NICN管腳上。當(dāng)對(duì)著傳聲器講話時(shí),1腳和2腳將隨著傳聲器輸入的聲音產(chǎn)生變化的波形,并在SPCE061A的兩個(gè)端口處形成兩路反相的波形,送到SPCE061A控制器內(nèi)部的運(yùn)算放大器進(jìn)行音頻放大,經(jīng)過放大的音頻信號(hào),通過ADC轉(zhuǎn)化器轉(zhuǎn)化為數(shù)字量,保存到相應(yīng)的寄存器中。SPCE061A的A/D轉(zhuǎn)換器有8個(gè)通道,其中有1個(gè)通道是MIC-NI輸入,它專門用于對(duì)語音信號(hào)進(jìn)行采樣。語音信號(hào)經(jīng)過MCI轉(zhuǎn)換成電信號(hào),然后輸入至SPCE061A內(nèi)部前置放大器。由于人們說話時(shí),麥克風(fēng)距離嘴邊的距離不同,語音信號(hào)的能量將會(huì)有很大的差異,此時(shí),如果芯片的的輸入信號(hào)太大或是太小都將影響識(shí)別的精度。而SPCE06lA內(nèi)部就帶有自動(dòng)增益控制電路AGC能隨時(shí)跟蹤、監(jiān)視前置放大器輸出的音頻信號(hào)電平,當(dāng)輸入信號(hào)增大時(shí)AGC電路自動(dòng)減小放大器的增益;當(dāng)輸入信號(hào)減小時(shí),AGC電路自動(dòng)增大放大器的增益,從而以補(bǔ)償太小或是太大的信號(hào),以便使進(jìn)入戶A/D的信號(hào)保持在最佳電平,又可使削波減至最小。SPCE061A芯片中已經(jīng)集成了音頻輸入專用ADC以及AGC放大電路,因?yàn)榇诵酒獠康碾娐繁容^簡單。MICP和MICN將隨著MIC產(chǎn)生的波形變化,并在兩個(gè)端口處形成兩路反相波形,在經(jīng)過兩級(jí)運(yùn)放放大,把放大的語音信號(hào)交給ADC轉(zhuǎn)換為數(shù)字量,這時(shí)就可以通過單片機(jī)編程對(duì)這些數(shù)據(jù)進(jìn)行處理,進(jìn)行語音處理識(shí)別等功能。正如我們?cè)谇懊娼榻B的61板具有強(qiáng)大的語音處理功能,如圖3-8所示,X1是語音的MIC輸入端,帶自動(dòng)增益(AGC)控制。3.3SPR4096外擴(kuò)Flash模塊在本系統(tǒng)中,當(dāng)我們對(duì)系統(tǒng)進(jìn)行訓(xùn)練、識(shí)別、操作時(shí),有一些語音提示,由于SPCE061A內(nèi)部只有32k字的flash空間,除了一部分空間作為程序的存儲(chǔ)之后,剩下的用來存儲(chǔ)語音數(shù)據(jù)時(shí)遠(yuǎn)遠(yuǎn)不夠的,于是系統(tǒng)外擴(kuò)了flash。SPR4096與SPCE061A的連接方式為:SCK與SPCE061A的IOB0接,SDA與SPCE061A的IOB1口接。SPR4096按串行接口模式工作,要把CF2?CF0均接高電平。CF7為低電平時(shí)選中FLASH,高電平時(shí)選中SRAM。SPR4096是一個(gè)高性能的4M-bit(512X8-bit)FLASH,分為256個(gè)扇區(qū)。每個(gè)扇區(qū)2Kbyte。SPR4096還內(nèi)置了以個(gè)4KX8bit的SRAM。在進(jìn)行FLASH的編程/擦除時(shí),可以并發(fā)執(zhí)行SRAM的讀/寫。SPR4096內(nèi)置了一個(gè)總線存儲(chǔ)器接口和一個(gè)串行接口,它允許單片機(jī)通過8-bit并行模式或者1-bit的串行模式訪問FLASH/SRAM存儲(chǔ)區(qū)。SPR4096串行接口的工作頻率可達(dá)到5MHz。SPR4096有兩個(gè)電源輸入端VDDI和VDDQ。VDDI是給內(nèi)部FLASH和控制邏輯供電的;VDDQ是專門為I/O供電的。供電電壓VDDQ:2.25V?3.6V。SPR4096最大讀電流為2mA,最大編程/擦除電流為6mA。SPR4096模塊包括總線存儲(chǔ)接口,串行接口,SRAM,編程與擦除控制器和一個(gè)4M的FLASH。選擇串行接口時(shí),SCLK作為時(shí)鐘信號(hào)線,SDA作為1-bit的數(shù)據(jù)線。如果接收到FLASH的讀指令或者SRAM的讀/寫指令,串口會(huì)把這些指令傳給編程和擦除控制器,讓編程和擦除控制器去完成相應(yīng)操作。串行接口模式的選中是通過CF2-CF0來實(shí)現(xiàn)的。當(dāng)CF2-CF0均接高電平時(shí),選中的就是串行接口模式,在串行接口模式下,CF7為低電平時(shí)選中FLASH,高電平時(shí)選中SRAM。該芯片有SIF(SerialInterface)和BMI(BusmenoryInterface)兩種工作方式,但DIP24只支持SIF方式。3.4系統(tǒng)電源電路設(shè)計(jì)SPCE061A采用低電壓供電方式,這可以大大降低芯片的功率損耗。其中,SPCE061A的電源分兩種,即內(nèi)核電源(VDD)和I/O口電源(VDDH)。I/O口電源采用5V電壓,而內(nèi)核電源則為3.3V或者更低。降低芯片內(nèi)核電壓的目的主要還是降低芯片的功耗,同時(shí)也可以降低芯片的工作溫度,延長芯片使用壽命。盡管這種語音芯片的工作電壓范圍很大,但是為了使芯片內(nèi)核運(yùn)行更加穩(wěn)定,同時(shí)又保證I/O口及外部擴(kuò)展部件的工作電壓要求,電源電路采用芯片7805和SPY0029分別提供5V和3.3V電壓完成對(duì)整個(gè)系統(tǒng)供電。7805芯片電路中正常工作是,輸入、輸出電壓差為2?3V。電路中靠近引腳處接入電容C40、C41用來實(shí)現(xiàn)頻率補(bǔ)償,防止穩(wěn)壓器產(chǎn)生高頻自激震蕩和抑制電路引入的高頻干擾,C39是電解電容,以減小穩(wěn)壓電源輸出端由輸入電源引入的低頻干擾。D6是保護(hù)二級(jí)管,當(dāng)輸入端短路時(shí),給輸出電容器C39一個(gè)放電通路,防止C39兩端電壓作用于調(diào)整管的be結(jié),造成調(diào)整管be結(jié)擊穿而損壞。如圖3-12所示SPY0029芯片電路采用3節(jié)5號(hào)干電池供電,其中前后兩組電容用來去耦濾波,使其供給芯片的電源更加干凈滑。為了獲得標(biāo)準(zhǔn)的3.3V電壓,在電路上加入SPY0029三端穩(wěn)壓器和兩個(gè)二級(jí)管,是為了防止誤將電源接反造成不必要損失而設(shè)置的。在實(shí)際應(yīng)用中最好不要把電源接反,因?yàn)榉聪螂妷撼^一定值,二極管會(huì)被損壞,達(dá)不到保護(hù)母的。后面的零電阻及電源分成不同的幾路是為了減少電磁干擾設(shè)置的。圖3-10是電源部分電路,4.5V直流電壓經(jīng)過SPY0029后產(chǎn)生3,3V給整個(gè)系統(tǒng)供電。SPY0029是凌陽公司設(shè)計(jì)的電壓調(diào)整IC,采用CMOS工藝。SPY0029具有靜態(tài)電流低、驅(qū)動(dòng)能力強(qiáng)、線性調(diào)整出色等特點(diǎn)。圖中VDDH為SPCE061A的I/O電平參考,接SPCE061A的51腳,這種接法使得I/O輸出高電平為3.3V;VDDP為PLL鎖相環(huán)電源,接SPCE061A的7腳;VDD和VDDA分別為數(shù)字電源與模擬電源分別接SPCE061A的15腳和36腳;AVSS1是模擬地,接SPCE061A的24腳;VSS是數(shù)字地,接SPCE061A的38腳;AVSS2接音頻輸出電路的AVSS2。VSS圖3-10電源電路模塊3.5控制與結(jié)果顯示電路系統(tǒng)的控制顯示電路主要是通過鍵盤電路以及LED液晶電路來實(shí)現(xiàn)其中鍵盤主要用來控制當(dāng)前系統(tǒng)所應(yīng)該執(zhí)行的一些功能,比如模板的訓(xùn)練、模式的匹配等。本設(shè)計(jì)在實(shí)驗(yàn)階段考慮成本不加入LCD顯示模塊,在實(shí)驗(yàn)后可加入LCD模塊如圖3-9所示。1.鍵盤模組鍵盤模組可直接用排線與61單片機(jī)I/O口相連。1*8KEY的8列分別定義為COL1?COL8,1行定義為ROW1。如圖3-11所示。按鍵分別和SPCE061A的IOA0-IOA7相連,他們的作用分別為1個(gè)系統(tǒng)開關(guān)鍵,1個(gè)系統(tǒng)復(fù)位鍵,1個(gè)單個(gè)命令訓(xùn)練按鍵,1個(gè)所有語句循環(huán)訓(xùn)練按鍵,剩余4個(gè)初步設(shè)定為LCD功能控制按鍵。每個(gè)按鍵的按下與抬起都會(huì)送給IOA口一個(gè)電壓值,當(dāng)按鍵按下使相應(yīng)的IOA口得到一個(gè)高電壓。相反,則為低電壓。單片機(jī)則根據(jù)IO口的電壓值進(jìn)行相應(yīng)的操作。圖3-111*8KEY接口圖及使用示意圖2.LED模組本論文中間接利用LED顯示來測(cè)試是否達(dá)到控制電器目標(biāo)。利用數(shù)碼管顯示數(shù)字的不同來模擬驗(yàn)證是否能達(dá)到對(duì)家用電器的控制。LED和LCD電路作為系統(tǒng)的顯示部分,以顯示當(dāng)前的系統(tǒng)狀況及識(shí)別結(jié)果以便檢驗(yàn)實(shí)驗(yàn)結(jié)果和提示用戶進(jìn)行下一步操作。LCD部分在實(shí)驗(yàn)階段可不接入。計(jì)劃采用內(nèi)置SPLC0501點(diǎn)陣式圖形液晶顯示模塊由液晶驅(qū)動(dòng)控制器SPLC501、LCD顯示器和外部設(shè)備的接口等幾部分組成,液晶驅(qū)動(dòng)控制器SPLC501集行、列驅(qū)動(dòng)器、顯示數(shù)據(jù)存儲(chǔ)器(DDRAM,DisplayDataRAM)和控制器與一體,廣泛用于小規(guī)模液晶顯示模塊。內(nèi)置SPLC501點(diǎn)陣式圖形液晶顯示模塊的管腳排列和SPEC061A接線方法如圖3-12所示A B C D E F G H*展 *展 *寸*展D D D D D A B C D E F G H*展 *展 *寸*展D D D D D D D D^VI?I9G& GG辱GGabcdefgh圖3-12LED模塊圖3-13SPLC501LCD顯示模塊第4章系統(tǒng)軟件設(shè)計(jì)4.1語音識(shí)別技術(shù)介紹近年來,人們對(duì)自動(dòng)化產(chǎn)品的需求推動(dòng)了語音識(shí)別產(chǎn)品的開發(fā)與研究。語音識(shí)別技術(shù)是實(shí)現(xiàn)人機(jī)通信的一種重要的技術(shù)手段,它使人們能夠擺脫鍵盤,通過語音命令實(shí)現(xiàn)控制功能,語音識(shí)別產(chǎn)品在人機(jī)交互應(yīng)用中已經(jīng)占到越來越大的比例。然而目前語音識(shí)別主要是借助大型計(jì)算機(jī)系統(tǒng)來實(shí)現(xiàn),不易推廣和應(yīng)用,這里研究的是基于凌陽SPCE061A單片機(jī)嵌入式語音識(shí)別系統(tǒng)。⑵4.1.1基本原理語音識(shí)別技術(shù)就是一種讓機(jī)器通過識(shí)別和理解過程把語音信號(hào)轉(zhuǎn)變成相應(yīng)的文本或命令的技術(shù)。機(jī)器語音識(shí)別、處理的過程與人對(duì)語音識(shí)別、處理的過程基本上是一致的,目前主流的語音識(shí)別技術(shù)是基于統(tǒng)計(jì)模式識(shí)別的基本理論。一個(gè)完整的語音識(shí)別系統(tǒng)可大致分為語音特征提取、聲學(xué)模型與模式匹配(識(shí)別算法)和語義理解三部分。其基本原理如圖4-1所示:輸出輸出圖4-1語音識(shí)別系統(tǒng)原理框圖從圖中我們可以看出語音識(shí)別一般分為兩個(gè)步驟:第一步是系統(tǒng)“學(xué)習(xí)”或“訓(xùn)練”階段,這一個(gè)階段的任務(wù)是建立識(shí)別基本單元的聲學(xué)模型以及進(jìn)行文法分析的語言模型,即構(gòu)建參考模式庫;第二步是“識(shí)別”或“測(cè)試”階段根據(jù)識(shí)別系統(tǒng)的類型選擇能夠滿足要求的識(shí)別方法,采用語音分析方法分析出這種識(shí)別方法所要求的語音特征參數(shù),按照一定的準(zhǔn)則和測(cè)度與參考模式庫中的模型進(jìn)行比較,通過判決得出結(jié)果。語音識(shí)別分為特定人識(shí)別和非特定人識(shí)別兩種方式。特定人識(shí)別是指語音樣板由單個(gè)人訓(xùn)練,對(duì)訓(xùn)練人的語音命令識(shí)別準(zhǔn)確率較高,而對(duì)其他人的語音命令識(shí)別準(zhǔn)確率較低或不識(shí)別;非特定人識(shí)別是指語音樣品由不同年齡、不同性別、不同口音的人進(jìn)行訓(xùn)練,可以識(shí)別一群人的命令。根據(jù)說話人說話方式的不同又可以將語音識(shí)別分為孤立詞識(shí)別和連續(xù)語音識(shí)別。孤立詞識(shí)別系統(tǒng)要求說話人每次只說一個(gè)字詞、一個(gè)詞組或一條命令讓識(shí)別系統(tǒng)進(jìn)行識(shí)別,其中的詞組或命令在詞匯表中算是一個(gè)獨(dú)立的詞條;連續(xù)語音識(shí)別是指由多個(gè)數(shù)字連接成的多位數(shù)字串的識(shí)別或由少數(shù)指令構(gòu)成的連接詞條識(shí)別。在本系統(tǒng)中,我們采用語音信號(hào)的短時(shí)能量和短時(shí)過零率進(jìn)行端點(diǎn)檢測(cè),用線性預(yù)測(cè)倒譜系數(shù)(LPCC)作為特征參數(shù),語音特征提取是分幀提取的?;诒鞠到y(tǒng)采用孤立詞識(shí)別的特點(diǎn),我們采用動(dòng)態(tài)時(shí)間規(guī)整(DTW)算法進(jìn)行模式匹配。[5]4.1.2端點(diǎn)檢測(cè)語音信號(hào)的端點(diǎn)檢測(cè)是指用數(shù)字處理技術(shù)來找出語音信號(hào)中的各種段落(如因素、音節(jié)、詞素、詞節(jié)等)的始點(diǎn)和終點(diǎn)的位置。在漢語中,其主要母的是找出字的兩個(gè)端點(diǎn),進(jìn)而找出其中的聲母段和韻母段的各自位置。這種處理對(duì)于漢語語音識(shí)別是非常必要的。噪聲語音信號(hào)的端點(diǎn)檢測(cè)室語音識(shí)別系統(tǒng)中及其關(guān)鍵的一步。只有準(zhǔn)確地判斷語音信號(hào)的端點(diǎn)才能正確地進(jìn)行語音識(shí)別。在本系統(tǒng)中我們采用的是基于短時(shí)能量和短時(shí)平均過零率的檢測(cè)方法,又稱為是雙門限比較法。我們定義以n為標(biāo)志的某幀語音信號(hào)的短時(shí)平均能量EnE=£[x(m)w(n-m)]2-X[x(m)w(n-m)]2 (4.1)n上式可以解釋為:首先計(jì)算原始語音信號(hào)各-〃個(gè)采樣值的平方,然后通過一個(gè)沖擊響應(yīng)為h(n)的濾波器,最后輸出能量序列,這里h(n)=w(n)2。信號(hào)的幅度值從正值到負(fù)值要經(jīng)過零值,從負(fù)值到正值也要經(jīng)過零值,稱其為過零,統(tǒng)計(jì)信號(hào)在單位時(shí)間內(nèi)的過零次數(shù)就稱為過零率。如果信號(hào)按段分割就稱為短時(shí),把各段信號(hào)的過零率作統(tǒng)計(jì)平均就是短時(shí)平均過零率,其定義式為:z- sgn[x(m)]-sgn[x(m-1)]w(n-m) (4.2)n在語音開始前,m一旦有某一幀的能零值超過閾值,就認(rèn)為有效語音已經(jīng)開始。這樣做的目的在于能使某些能零值較小的輔音易于進(jìn)入有效語音段。當(dāng)然一個(gè)短時(shí)的噪音也有可能被當(dāng)作有效語音,這種情況將由語首尾細(xì)判及字詞分割部分去除。在有效語音開始后,只有當(dāng)有連續(xù)的幾幀語音的能零值低于閾值時(shí),才認(rèn)為有效語音結(jié)束。這樣保證了當(dāng)一個(gè)字剛剛結(jié)束而另一個(gè)字尚未開始時(shí),不會(huì)將后面的語音截?cái)?。多余的無效語音樣值也由語音首尾細(xì)判和字詞分割部分去除。閾值的大小由噪. 音統(tǒng)計(jì)部分給出。III!I 4.1.3語音信號(hào)的特征參數(shù)IIII 語音信號(hào)是十分復(fù)雜的非平穩(wěn)信號(hào),它不僅包含語義信息,還有個(gè)人特征信息,I ? 一 : 對(duì)其特征參數(shù)的研究是語音識(shí)別的基礎(chǔ)。本系統(tǒng)米用線性預(yù)測(cè)倒譜參數(shù)(LPCC)作!I 為語音信號(hào)的特征參數(shù)。1 線性預(yù)測(cè)倒譜參數(shù)是線性預(yù)測(cè)系數(shù)在倒譜域中的表示。該特征是基于語音信號(hào)為!I 自回歸信號(hào)的假設(shè),利用線性預(yù)測(cè)分析獲得倒譜系數(shù)。它的優(yōu)點(diǎn)是計(jì)算量小、易于實(shí)1現(xiàn)、對(duì)元音有較好的描述能力。!裝 由于通過自關(guān)法求得的LPC系數(shù)保證了系統(tǒng)的穩(wěn)定性,由LPC得到:I Clpcc(n=Cpc(n)+Z―LPCC(n-k(k) (4.3)I nii■■iI 根據(jù)同態(tài)處理的概念和語音信號(hào)產(chǎn)生的模型,語音信號(hào)的到譜c(n)等于激勵(lì)信號(hào)訂I的倒譜e(n)和聲道傳輸函數(shù)的倒譜h(n)之和。通過分析機(jī)理信號(hào)的語音特點(diǎn)以I 及聲道傳輸函數(shù)的零極點(diǎn)分布情況可知e(n)的分布范圍很寬,c(n)從低時(shí)域延I伸到高時(shí)域,而h(n)主要分布于低時(shí)域中,我們知道,語音信號(hào)所攜帶的語義信II 息主要體現(xiàn)在聲道傳輸函數(shù)上,因而在語音識(shí)別中通常取語音信號(hào)的倒譜的低時(shí)域構(gòu)線I成LPC倒譜特征c即:II c=c(1),c(2),...,c(q) 10WqW16 (4.4)I式中,q為LPC倒譜特征的階數(shù)。III4.1.4動(dòng)態(tài)時(shí)間規(guī)整IIIII 動(dòng)態(tài)時(shí)間規(guī)整(DTW)是把時(shí)間規(guī)整和距離測(cè)度計(jì)算結(jié)合起來的一種非線性規(guī)!I整技術(shù)。假設(shè):①參考模板特征矢量序列為?,?.2;②輸入語音特征矢量序列為TOC\o"1-5"\h\z: 12mI b,b,…b,其中M尹N,那么動(dòng)態(tài)時(shí)間規(guī)整是要尋找時(shí)間規(guī)整函數(shù)m=w(n),它把輸I 1 2NI 入模板的時(shí)間軸n非線性地映射到參考模板的時(shí)間軸m,并且該w滿足:\o"CurrentDocument"D=min工d[n,w(n)] (4.5)n=1式中,d[n,w(n)]是第n幀輸入矢量和第m幀參考矢量的距離,D是相應(yīng)于最優(yōu)時(shí)間規(guī)整下二模板的距離測(cè)度。DTW是一個(gè)典型的最優(yōu)化問題,它用滿足一定條件的時(shí)間規(guī)劃函數(shù)w(n)描述輸入模板和參考模板的時(shí)間對(duì)應(yīng)關(guān)系,并求解二模板匹配時(shí)累計(jì)距離最小所對(duì)應(yīng)的規(guī)整函數(shù)。實(shí)現(xiàn)動(dòng)態(tài)時(shí)間規(guī)整的常用方法就是動(dòng)態(tài)規(guī)劃(DP),本系統(tǒng)采用加權(quán)累計(jì)距離的對(duì)稱動(dòng)態(tài)規(guī)劃技術(shù)。假設(shè)規(guī)整函數(shù)寫成:

F=c,c,…c,…,c,其中c=(n,m)

1 2i1 iii其約束條件如下:單調(diào)和連續(xù)條件:0<n-n1<1,0<m-m1<1;邊界條件:n-m-1,n-N,m-M;調(diào)整窗條件:I七-mJ<r定義加權(quán)累計(jì)距離:D(n,jjjD(n,jjjm)=min4(4.6)j

j=1式中,d[n,m]和式(4.5)中相同,是對(duì)點(diǎn)c.=(n,m)上兩個(gè)矢量的距離,加權(quán)系數(shù)W一般采用對(duì)稱形式: 7 77W=(n一m)+(m一m),其中n=m=0 (4.7)▽jjZWj==M+N=常數(shù)。調(diào)整窗口函數(shù)r的引入使它的使用范圍更加廣泛。累計(jì)距離還j時(shí)以用遞推公式計(jì)算:分母E▽jjZWj==M+N=常數(shù)。調(diào)整窗口函數(shù)r的引入使它的使用范圍更加廣泛。累計(jì)距離還j時(shí)以用遞推公式計(jì)算:'D(n,m-1)+d[n,m](4.8)D(n,m)=min<D(n-1,m-1)+2d[n,m]>D(n-1,m)+d[n.m](4.8)初始條件:D(1,1)=2d[1,1]。最后計(jì)算結(jié)果:D(N,M)=D(N,M)/(N+M)作為二模板的DP匹配距離。由于基本的DTW方法只適用于識(shí)別基元較小的場(chǎng)合,例如聲母、韻母、音節(jié)的識(shí)別,因此多用于孤立詞的識(shí)別?,F(xiàn)在常用的語音識(shí)別方法還有隱式馬爾科夫模型(HMM)、神經(jīng)網(wǎng)路等。4.2語音訓(xùn)練與識(shí)別前面一介紹語音識(shí)別方式有兩種,一種是特定人識(shí)別(SD),特定人識(shí)別之前需要進(jìn)行語音訓(xùn)練:另一種是非特定人識(shí)別(SI),非特定人識(shí)別不需要進(jìn)行語音訓(xùn)練。本系統(tǒng)采用的是前一種識(shí)別模式。特定人識(shí)別的原理如圖4-2所示:語音語音語音語音從實(shí)現(xiàn)過程的時(shí)序來看,可將語音識(shí)別在單片機(jī)上的實(shí)現(xiàn)過程分為4個(gè)主要階段:初始化、訓(xùn)練、辨識(shí)和辨識(shí)結(jié)果輸出。初始化訓(xùn)練的語音模型庫樣板數(shù)據(jù)存于SPCE061A單片機(jī)的內(nèi)部RAM中,由于是掉電丟失的,因此每次上電復(fù)位后都要重新進(jìn)行訓(xùn)練,可用函數(shù)BSR_Delete_SDGroup(intSDGroupNo)實(shí)現(xiàn),當(dāng)SDGroupNo=0時(shí)表示選擇RAM并開始初始化。若RAM擦除成功則返回“0”,否則返回“-1”。訓(xùn)練訓(xùn)練過程通過調(diào)用庫函數(shù)BSR_Train(intWordID,intTrainMode)來完成。其中參數(shù)WordID為命令序號(hào),范圍0x100?ox105,并且對(duì)于每組訓(xùn)練語句都是唯一的;參數(shù)TrainMode為訓(xùn)練次數(shù),為1時(shí)表示要求使用者在應(yīng)用之前訓(xùn)練一次;為0表示訓(xùn)練兩次。為了增強(qiáng)可靠性,最好訓(xùn)練兩次,只有兩次命令相同時(shí)才成功。該函數(shù)有8種可能的返回值,其中“0”表示訓(xùn)練成功。3.辨識(shí)辨識(shí)部分是整個(gè)語音識(shí)別過程的重點(diǎn),這部分執(zhí)行效果的優(yōu)劣將直接影響到語音識(shí)別的準(zhǔn)確性和及時(shí)性等指標(biāo)。按執(zhí)行順序,可將辨識(shí)分為辨識(shí)器初始化、啟動(dòng)實(shí)時(shí)監(jiān)控、獲取辨識(shí)結(jié)果、停止辨識(shí)等4個(gè)環(huán)節(jié)。辨識(shí)器初始化用來定義語音輸入來源,可通過調(diào)用函數(shù)BSR_InitRecognizer(intAudioSource)完成,其中參數(shù)AudioSource為0時(shí)表示MIC語音輸入,為1時(shí)表示LINE_IN模擬電壓輸入。當(dāng)主程序調(diào)用該函數(shù)時(shí),語音辨識(shí)器便打開8KHz采樣頻率的FIQ_TMA中斷,并開始將采樣得到的語音數(shù)據(jù)填入語音辨識(shí)器的數(shù)據(jù)隊(duì)列中。啟動(dòng)實(shí)時(shí)監(jiān)控由函數(shù)BSR_EnableCPUIndicator(void)完成該功能,無參數(shù)、無返回值。通過調(diào)用相關(guān)的硬件資源對(duì)辨識(shí)過程進(jìn)行實(shí)時(shí)監(jiān)控,保證辨識(shí)能正常地執(zhí)行,若辨識(shí)正常,會(huì)產(chǎn)生一個(gè)16ms連續(xù)穩(wěn)定的方波。獲取辨識(shí)結(jié)果由函數(shù)BSR_GetResult(void)完成語音識(shí)別,并返回語音識(shí)別結(jié)果。當(dāng)識(shí)別成功時(shí),返回命令的對(duì)應(yīng)序號(hào);無命令識(shí)別出來時(shí),返回“0”;識(shí)別器未初始化,返回“-1”。停止辨識(shí)調(diào)用函數(shù)BSR_StopRecognizer(void),則停止語音辨識(shí),此時(shí)FIQ_TMA中斷也將關(guān)閉。4.辨識(shí)結(jié)果輸出辨識(shí)結(jié)果可通過顯示、聲音等方式實(shí)現(xiàn)。顯示方式如LED、數(shù)碼管、LCD等,均有一定的提示作用;這里重點(diǎn)介紹的是用聲音方式體現(xiàn)辨識(shí)結(jié)果,即語音響應(yīng)的方式,通過播放發(fā)音者各語音命令對(duì)應(yīng)的語音響應(yīng)(提示音),告知發(fā)音者辨識(shí)是否成功??衫昧桕柼峁┑膲嚎s算法工具(CompressTool),把事先錄制好*.wav文件壓縮為一定格式,存放于工作目錄,作為語音響應(yīng)。若需要播放,則通過調(diào)用相關(guān)API函數(shù)來完成。4.3系統(tǒng)軟件設(shè)計(jì)系統(tǒng)的工作過程為:訓(xùn)練模式啟動(dòng)后,系統(tǒng)播放語音提示,提示用戶語音訓(xùn)練己啟動(dòng),接下來用戶可按照系統(tǒng)提示依次對(duì)各條命令進(jìn)行訓(xùn)練,在訓(xùn)練過程中,如訓(xùn)練成功則有語音提示進(jìn)行下一條命令進(jìn)行訓(xùn)練,如出現(xiàn)訓(xùn)練失敗,也會(huì)提示用戶繼續(xù)訓(xùn)練此條語音,直到全部命令訓(xùn)練完畢后系統(tǒng)將準(zhǔn)備進(jìn)行語音識(shí)別:當(dāng)向控制器發(fā)出語音命令時(shí),聲波通過Mic輸入,將相應(yīng)的信號(hào)傳遞到SPCE061A處理芯片,經(jīng)編解碼電路和數(shù)字信號(hào)處理后,在芯片中通過相關(guān)程序與預(yù)先植入的語音庫中的命令進(jìn)行比較識(shí)別,根據(jù)識(shí)別的結(jié)果進(jìn)行判斷,轉(zhuǎn)換為能被系統(tǒng)識(shí)別的信號(hào),從而對(duì)被監(jiān)控系統(tǒng)進(jìn)行控制。在此次設(shè)計(jì)中利用預(yù)先編號(hào)的程序直接將結(jié)果反映在LED曰二職L、顯示器上。

圖4-3系統(tǒng)主流程圖4.4軟件主程序IIIIIIIII 本系統(tǒng)的軟件主要包括一個(gè)主程序和四個(gè)子程序,主程序主要負(fù)責(zé)對(duì)整個(gè)控制器; 的工作進(jìn)行管理、協(xié)調(diào)和對(duì)子程序的調(diào)用以及對(duì)用戶的各種服務(wù)的響應(yīng)。四個(gè)子程序I1 分別是語音識(shí)別、DTMF收發(fā)、語音錄放、信號(hào)音檢測(cè)四個(gè)子程序。限于篇幅,下面! I 只對(duì)語音識(shí)別子程序的程序設(shè)計(jì)進(jìn)行介紹。I 語音識(shí)別技術(shù)方面有bsrv222SDL.lib庫函數(shù)支持,在使用時(shí)通過調(diào)用庫函數(shù)里1相關(guān)的API函數(shù)來實(shí)現(xiàn)所要求的功能。下面給出語音識(shí)別的具體代碼。其!I 中,BSR-GetResult函數(shù)為啟動(dòng)辯識(shí),當(dāng)無命令識(shí)別出來時(shí),返回0;識(shí)別器停止、未初裝 始化或識(shí)別未激活返回-1;當(dāng)識(shí)別不合格時(shí)返回-2;當(dāng)識(shí)別出來時(shí)返回命令的序號(hào)。部I 分程序源代碼如下:IIIIIII Result=BSR_GetResult(); //獲得識(shí)別結(jié)果訂I if(Result>0) //有識(shí)別結(jié)果?IIIIIIIII {線I if(Result==NAME_ID) //名稱IIIIIIIII {IIIIIII PlaySnd(S_RDY,3); //播放待命提示音IIIIII: Ready=1;//進(jìn)入待命狀態(tài)IIIIIIIII }IIif(Ready==1)//待命狀態(tài)?(switch(Result)! caseCOMMAND_GO_ID:IIIII!〃識(shí)別出第一條命令I(lǐng)IIIII■GoAhead();//執(zhí)仃動(dòng)作一IIIIIII- Ready=0;IIIIIIII壯 break;IIII■: caseCOMMANDBACKID:I 一 一IIIIII//識(shí)別出第二條命令訂IIIIBackUp();//執(zhí)行動(dòng)作二IIIIIIII1 1break;線IIIIcaseCOMMANDLEFTID:I — —IIIII//識(shí)別出第三條命令I(lǐng)IIIIIIITurnLeft();〃執(zhí)行動(dòng)作三IIIIIIIIReady=0;IIIIIIIIbreak;caseCOMMAND_RIGHT_ID:〃識(shí)別出第四條命令TurnRight();//執(zhí)行動(dòng)作四Ready=0;IIIIII- II! break;:IIIIII! 1r*1i default:IIIIIIIIi break;IIIIIIIIi }裝III結(jié)論本文基于凌陽公司的16位微處理器SPEC061A為控制核心,設(shè)計(jì)了語音識(shí)別控制系統(tǒng)。實(shí)現(xiàn)了對(duì)家用電器的智能語音控制,使控制裝置智能化方便化集中化。具體工作如下:(1) 硬件部分采用模塊化設(shè)計(jì),主要由MIC輸入模塊、單片機(jī)、存儲(chǔ)模塊、功放和喇叭輸出模塊、外設(shè)的電源模塊、鍵盤模塊和液晶顯示電路模塊構(gòu)成單元組成。(2) 軟件部分的模塊設(shè)計(jì)主要包括:單片機(jī)初始化模塊,語音訓(xùn)練模塊,語音識(shí)別模塊、輸出控制模塊等構(gòu)成。由于時(shí)間的限制,在畢業(yè)之前只能做到現(xiàn)有程度。在本次畢業(yè)設(shè)計(jì)完成以后,可以盡量對(duì)本系統(tǒng)進(jìn)行了相應(yīng)的擴(kuò)展,如添加單片機(jī)分控制系統(tǒng),增強(qiáng)系統(tǒng)的功能,擴(kuò)展單片機(jī)的接口技術(shù),節(jié)約和改進(jìn)系統(tǒng)利用率,本系統(tǒng)語音識(shí)別部分是采用DTW方法實(shí)現(xiàn)的特定人孤立詞識(shí)別,并且識(shí)別率的穩(wěn)健性不大高,這就限制了其應(yīng)用的廣度。我從文獻(xiàn)中了解到許多修正DTW的方案,例如端點(diǎn)放寬的DTW方法、非線性取樣等方法,另外我們還可以采用目前比較流行的HMM模型來完成非特定人連續(xù)語音識(shí)別。為了提高語音識(shí)別的精度和準(zhǔn)確率,我們可以在原來語音識(shí)別的基礎(chǔ)上加上圖像識(shí)別,通過觀察說話人的口型來進(jìn)一步對(duì)語音進(jìn)行識(shí)別。雖然實(shí)現(xiàn)了語音控制家用電器,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論