已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于語音識別的智能小車摘要隨著計算機(jī)技術(shù)、模式識別和信號處理技術(shù)及聲學(xué)技術(shù)等的發(fā)展,使得能滿足各種需要的語音識別系統(tǒng)的實現(xiàn)成為可能。近二三十年來,語音識別在計算機(jī)、信息處理、通信與電子系統(tǒng)、自動控制等領(lǐng)域中有著越來越廣泛的應(yīng)用。本設(shè)計是語音識別在控制領(lǐng)域的一個很好實現(xiàn),它將原本需要手工操作的工作用語音來方便地完成。語音識別按說話人的講話方式可分為孤立詞ISOLATEDWORD識別、連接詞CONNECTEDWORD識別和連續(xù)語音CONTINUOUSSPEECH識別。從識別對象的類型來看,語音識別可以分為特定人SPEAKERDEPENDENT語音識別和非特定人SPEAKERINDEPENDENT語音識別。本設(shè)計采用的識別類型是特定人孤立詞語音識別。本系統(tǒng)分上位機(jī)和下位機(jī)兩大方面。上位機(jī)利用PC上MATLAB強(qiáng)大的數(shù)學(xué)計算能力,進(jìn)行語音輸入、端點監(jiān)測、特征參數(shù)提取、匹配、串口控制等工作,根據(jù)識別到的不同語音通過PC串口向下位機(jī)發(fā)送不同的指令。下位機(jī)是單片機(jī)控制的一個小車,單片機(jī)收到上位機(jī)傳來的指令后,根據(jù)不同的指令控制小車完成不同的動作。該設(shè)計對語音識別的現(xiàn)有算法進(jìn)行了驗證和實現(xiàn),并對端點檢測和匹配算法進(jìn)行了些許改進(jìn)。本設(shè)計達(dá)到了預(yù)期目標(biāo),實現(xiàn)了所期望的功能效果。關(guān)鍵詞MATLAB,語音識別,端點檢測,LPC,單片機(jī),電機(jī)控制SMARTCARGASEDSPEECHRECOGNITIONABSTRACTWITHTHEDEVELOPMENTOFCOMPUTERTECHNOLOGY,PATTERNRECOGNITION,SIGNALPROCESSINGTECHNOLOGYANDACOUSTICTECHNOLOGYETC,THESPEECHRECOGNITIONSYSTEMTHATCANMEETTHEVARIOUSNEEDSOFPEOPLEISMOREPOSSIBLETOACHIEVETHEPASTTHREEDECADES,THEVOICERECOGNITIONINTHEFIELDOFCOMPUTER,INFORMATIONPROCESSING,COMMUNICATIONSANDELECTRONICSYSTEMS,AUTOMATICCONTROLHASINCREASINGLYWIDERANGEOFAPPLICATIONSSPEECHRECOGNITIONBYTHESPEAKERSSPEECHCANBEDIVIDEDINTOISOLATEDWORDISOLATEDWORDIDENTIFICATION,CONJUNCTIONSCONNECTEDWORDANDCONTINUOUSSPEECHRECOGNITIONCONTINUOUSSPEECHIDENTIFICATIONIDENTIFYINGTHETYPEOFOBJECTFROMTHEPOINTOFVIEW,THEVOICERECOGNITIONCANBEDIVIDEDINTOASPECIFICPERSONSPEAKERDEPENDENTSPEECHRECOGNITIONANDNONSPECIFICSPEAKERINDEPENDENTSPEECHRECOGNITIONTHISDESIGNUSESTHEIDENTIFICATIONTYPEISASPECIFICPERSONISOLATEDWORDSPEECHRECOGNITIONTHISDESIGNISOFAGOODIMPLEMENTATIONOFSPEECHRECOGNITIONINTHECONTROLFIELD,ITDOESTHEWORKTHATWOULDOTHERWISEREQUIREMANUALOPERATIONBYTHEVOICEOFPEOPLEEASILYTHISSYSTEMINCLUDESTWOMAJORASPECTSTHEHOSTSYSTEMANDTHESLAVESYSTEMTHEHOSTSYSTEMUSETHEMATLABONTHECOMPUTERWHICHHASPOWERFULMATHEMATICALCOMPUTINGABILITYTODOTHEWORKOFVOICEINPUT,ENDPOINTMONITORING,FEATUREEXTRACTION,MATCHING,IDENTIFICATIONANDSERIALCONTROL,THENITSENDDIFFERENTCOMMANDSTHROUGHTHEPCSERIALPORTTOSLAVESYSTEMACCORDINGDIFFERENTRECOGNISEDVOICETHESLAVESYSTEMISACARCONTROLLEDBYASINGLECHIPMICROCONTROLLERITCONTROLSTHECARDODIFFERENTACTIONSACCORDINGDIFFERENTINSTRUCTIONSRECEIVEDTHEDESIGNISCHECKINGANDREALIZATIONOFTHEEXISTINGSPEECHRECOGNITIONALGORITHMANDITHEENDPOINTDETECTIONANDMATCHINGALGORITHMSWERESLIGHTIMPROVEDTHISDESIGNACHIEVEDTHEEXPECTEDGOALSANDACHIEVEDTHEDESIREDFUNCTIONALEFFECTKEYWORDSMATLAB,SPEECHRECOGNITION,EXTREMEPOINTSTEST,LPC,CHIPMICROCOMPUTER,MOTORDRIVE目錄前言1第1章系統(tǒng)總體設(shè)計方案介紹3第2章上位機(jī)設(shè)計421語音識別簡介4211語音識別發(fā)展4212語音識別的分類422聲音錄入523聲音的預(yù)處理6231欲加重處理6232分幀處理624端點檢測6241過零率6242音量7243過零率和音量積譜8244用過零率和音量積譜來檢測端點925特征參數(shù)提取10251特征參數(shù)概述10252用MATLAB實現(xiàn)LPC系數(shù)的計算1426語音識別中的模式匹配14261DTW算法原理14262程序?qū)崿F(xiàn)1627MATLAB上的GUI設(shè)計18第3章下位機(jī)設(shè)計2031小車總體設(shè)計20311小車總體框圖20312小車結(jié)構(gòu)設(shè)計2032小車硬件設(shè)計20321單片機(jī)電路設(shè)計20322驅(qū)動電路設(shè)計23323穩(wěn)壓電路設(shè)計2433小車軟件設(shè)計24331主程序流程圖24332部分主程序25333底層驅(qū)動程序27結(jié)論29參考文獻(xiàn)30致謝31附錄32前言隨著計算機(jī)技術(shù)、模式識別和信號處理技術(shù)及聲學(xué)技術(shù)等的發(fā)展,使得能滿足各種需要的語音識別系統(tǒng)的實現(xiàn)成為可能。近二三十年來,語音識別在計算機(jī)、信息處理、通信與電子系統(tǒng)、自動控制等領(lǐng)域中有著越來越廣泛的應(yīng)用。語音命令控制可廣泛用于家電語音遙控、玩具、智能儀器及移動電話等便攜設(shè)備中。使用語音作為人機(jī)交互的途徑對于使用者來說是最自然的一種方式,同時設(shè)備的小型化也要求省略鍵盤以節(jié)省體積。當(dāng)今,語音識別產(chǎn)品在人機(jī)交互應(yīng)用中已經(jīng)占到越來越大的比例。語音識別按說話人的講話方式可分為孤立詞ISOLATEDWORD識別、連接詞CONNECTEDWORD識別和連續(xù)語音CONTINUOUSSPEECH識別。孤立詞識別是指說話人每次只說一個詞或短語,每個詞或短語在詞匯表中都算作一個詞條,一般用在語音電話撥號系統(tǒng)中。連接詞語音識別支持一個小的語法網(wǎng)絡(luò),其內(nèi)部形成一個狀態(tài)機(jī),可以實現(xiàn)電話語音查詢、航空定票等系統(tǒng)。連續(xù)語音識別是指對說話人以日常自然的方式發(fā)音,通常特指用于語音錄入的聽寫機(jī)。從識別對象的類型來看,語音識別可以分為特定人SPEAKERDEPENDENT語音識別和非特定人SPEAKERINDEPENDENT語音識別。特定人是指只針對一個用戶的語音識別,非特定人則可用于不同的用戶。實際上,非特定人語音識別的初始識別率往往都比較低,一般都要求用戶花一定的時間對系統(tǒng)進(jìn)行訓(xùn)練,將系統(tǒng)的參數(shù)進(jìn)行一定的自適應(yīng)調(diào)整,才能使識別率達(dá)到滿意的程度。本設(shè)計采用的識別類型是特定人孤立詞語音識別。本設(shè)計是語音識別在控制領(lǐng)域的一個很好實現(xiàn),它將原本需要手工操作的工作用語音來方便地完成。本系統(tǒng)分上位機(jī)和下位機(jī)兩大方面。上位機(jī)利用PC上MATLAB強(qiáng)大的數(shù)學(xué)計算能力,進(jìn)行語音輸入、端點監(jiān)測、特征參數(shù)提取、匹配、串口控制等工作,根據(jù)識別到的不同語音通過PC串口向下位機(jī)發(fā)送不同的指令。下位機(jī)是單片機(jī)控制的一個小車,單片機(jī)收到上位機(jī)傳來的指令后,很據(jù)不同的指令控制小車完成不同的動作。該設(shè)計對語音識別的現(xiàn)有算法進(jìn)行了驗證和實現(xiàn),并對端點檢測和匹配算法進(jìn)行了些許改進(jìn)。為了更方便的進(jìn)行上位機(jī)的操作,本設(shè)計用MATLAB的GUI設(shè)計了一個圖形界面。上面設(shè)置了串口選擇框、錄音開始按鈕、語音識別結(jié)果框等。下位機(jī)采用STC2C5A60S2單片機(jī)作為控制中心,采用L298專用驅(qū)動芯片搭建雙橋,進(jìn)行點擊的正反轉(zhuǎn)調(diào)速等控制。本設(shè)計達(dá)到了預(yù)期目標(biāo),實現(xiàn)了所期望的功能效果。第1章系統(tǒng)總體設(shè)計方案介紹本系統(tǒng)分上位機(jī)和下位機(jī)兩大方面。上位機(jī)利用PC上MATLAB強(qiáng)大的數(shù)學(xué)計算能力,進(jìn)行語音的輸入、端點監(jiān)測、特征參數(shù)提取、匹配、識別、串口控制等工作,根據(jù)識別到的不同語音通過PC串口向下位機(jī)發(fā)送不同的指令。下位機(jī)是單片機(jī)控制的一個小車,單片機(jī)收到上位機(jī)傳來的指令后,很據(jù)不同的指令控制小車完成不同的動作。PC機(jī)和小車之間通過串口無線傳輸模塊進(jìn)行數(shù)據(jù)傳輸??傮w框圖如圖11所示圖11系統(tǒng)總體框圖第2章上位機(jī)設(shè)計上位負(fù)責(zé)語音的識別,并根據(jù)識別到的不同結(jié)果向下位機(jī)(小車)發(fā)送不同的指令。上位機(jī)的設(shè)計基于MATLAB平臺,利用MATLAB強(qiáng)大的數(shù)學(xué)計算能力,進(jìn)行語音的輸入、預(yù)處理、端點監(jiān)測、特征參數(shù)提取、匹配、識別、串口控制等工作。PC機(jī)(語音識別)語音輸入無線發(fā)射無線接收單片機(jī)控制中心驅(qū)動電路電機(jī)21語音識別簡介211語音識別發(fā)展隨著時代的發(fā)展,人們越來越注重生活的品質(zhì)。便捷時尚成為當(dāng)代人們的追求目標(biāo)。隨著計算機(jī)技術(shù)、模式識別和信號處理技術(shù)及聲學(xué)技術(shù)等的發(fā)展,使得能滿足各種需要的語音識別系統(tǒng)的實現(xiàn)成為可能。近二三十年來,語音識別在計算機(jī)、信息處理、通信與電子系統(tǒng)、自動控制等領(lǐng)域中有著越來越廣泛的應(yīng)用。語音命令控制可廣泛用于家電語音遙控、玩具、智能儀器及移動電話等便攜設(shè)備中。使用語音作為人機(jī)交互的途徑對于使用者來說是最自然的一種方式,同時設(shè)備的小型化也要求省略鍵盤以節(jié)省體積。當(dāng)今,語音識別產(chǎn)品在人機(jī)交互應(yīng)用中已經(jīng)占到越來越大的比例。212語音識別的分類語音識別按說話人的講話方式可分為孤立詞ISOLATEDWORD識別、連接詞CONNECTEDWORD識別和連續(xù)語音CONTINUOUSSPEECH識別。孤立詞識別是指說話人每次只說一個詞或短語,每個詞或短語在詞匯表中都算作一個詞條,一般用在語音電話撥號系統(tǒng)中。連接詞語音識別支持一個小的語法網(wǎng)絡(luò),其內(nèi)部形成一個狀態(tài)機(jī),可以實現(xiàn)簡單的家用電器的控制,而復(fù)雜的連接詞語音識別系統(tǒng)可以用于電話語音查詢、航空定票等系統(tǒng)。連續(xù)語音識別是指對說話人以日常自然的方式發(fā)音,通常特指用于語音錄入的聽寫機(jī)。顯然,連續(xù)非特定人語音識別的難度要大得多,因為不僅有說話人口音的問題,還有協(xié)同發(fā)音、斷字?jǐn)嗑洹⑺阉鞯葐栴},除了考慮語音的聲學(xué)模型外還要涉及到語言模型,如構(gòu)詞法、文法等。從識別對象的類型來看,語音識別可以分為特定人SPEAKERDEPENDENT語音識別和非特定人SPEAKERINDEPENDENT語音識別。特定人是指只針對一個用戶的語音識別,非特定人則可用于不同的用戶。實際上,非特定人語音識別的初始識別率往往都比較低,一般都要求用戶花一定的時間對系統(tǒng)進(jìn)行訓(xùn)練,將系統(tǒng)的參數(shù)進(jìn)行一定的自適應(yīng)調(diào)整,才能使識別率達(dá)到滿意的程度。非特定人大詞表連續(xù)語音識別是近幾年研究的重點,也是研究的難點。目前的連續(xù)語音識別大多是基于HMM隱馬爾可夫模型框架,并將聲學(xué)、語言學(xué)的知識統(tǒng)一引入來改善這個框架,其硬件平臺通常是功能強(qiáng)大的工作站或PC機(jī)。22聲音錄入本設(shè)計利用PC上的話筒口進(jìn)行聲音錄入。通過MATLAB的WAVRECORD函數(shù)進(jìn)行聲音錄入。WAVRECORD是MATLAB的專有聲音錄入函數(shù),他有一下三種調(diào)用方式(1)YWAVRECORDN,FS(2)YWAVRECORDN,FS,CH(3)YWAVRECORDN,FS,DTYPE其中N代表聲音錄入的總采樣數(shù)。FS代表聲音的采樣率。CH代表聲音錄入采用的通道數(shù),當(dāng)CH為1時為單聲道,當(dāng)CH為2時為立體聲。DTYPE代表采樣數(shù)據(jù)的存儲類型,MATLAB提供四種存儲類型如下(1)DOUBLEDEFAULTVALUE,16BITS/SAMPLE(2)SINGLE,16BITS/SAMPLE(3)INT16,16BITS/SAMPLE(4)UINT8,8BITS/SAMPLE本設(shè)計單次采樣總數(shù)為50000點,采樣率為22000HZ。即YWAVRECORD50000,2200023聲音的預(yù)處理231欲加重處理預(yù)加重的目的在于濾除低頻干擾,尤其是50HZ或60HZ的工頻干擾,將對于語音識別更為有用的高頻部分的頻譜進(jìn)一步提升。在計算短時能量之前應(yīng)用該濾波器,還可以起到消除直流漂移、抑制隨機(jī)噪聲和提升清音部分能量的效果。232分幀處理在計算各個系數(shù)之前要先將語音信號作分幀處理。語音信號是瞬時變化的,但在1020MS內(nèi)是相對穩(wěn)定的我設(shè)定的采樣頻率為11025所以我們對預(yù)處理后的語音信號S1N以1024點為一幀進(jìn)行處理,幀移為512個采樣點。24端點檢測所謂端點檢測,就是在實時輸入的聲音信號中,區(qū)分背景噪聲和環(huán)境噪聲,準(zhǔn)確地判斷出聲音信號的開始點和結(jié)束點。在語音識別系統(tǒng)中,正確、有效地進(jìn)行端點檢測不僅可以減少計算量和縮短處理時間,而且能排除無聲段的噪聲干擾、提高語音識別的正確率。研究表明,即使是在安靜的環(huán)境下,語音識別系統(tǒng)一半以上的錯誤可能主要來基于MTLAB編寫的語音端點檢測程序。除此之外,在語音合成、編碼等系統(tǒng)中,高效的端點檢測也直接影響甚至決定著系統(tǒng)的主要性能。因此,端點檢測的效率、質(zhì)量在語音處理系統(tǒng)中顯得至關(guān)重要。241過零率過零率(ZEROCROSSINGRATE)是在每個音框中,音訊通過零點的次數(shù)。一般而言,噪聲的過零率大于氣音的過零率,而氣音的過零率又大于有聲音的過零率。一半情況下,噪聲的波形和聲音波形相比幅度非常小,為了排除噪聲對過零率產(chǎn)生的影響,我將聲音的原始譜向上平移,使得噪聲的過零點影響大大減小。如下,圖21展示了沒有平移前的過零譜圖,圖22展示了平移后的過零譜圖??梢钥闯觯揭坪?,話音可以很容易從噪音中區(qū)分開來。005115225335X10421012聲聲聲聲005115225335X1040200400600聲聲聲圖21平移前的過零譜005115225335X10421012聲聲聲聲005115225335X1040204060聲聲聲圖22平移后的過零譜242音量能量或者音量代表聲音的大小,可由聲音訊號的震幅來類比,又稱為能量(ENERGY)或強(qiáng)度(INTENSITY)等。話音的能量遠(yuǎn)比噪聲的能量要大,故可用能量來區(qū)分是靜音還是由話音。這里將每幀的幅度絕對值之和作為每一幀的總能量大小。音量譜如圖23所示005115225335X10421012聲聲聲聲005115225335X10405001000聲聲聲圖23音量譜243過零率和音量積譜通常利用短時能量來檢測濁音,用過零率來檢測清音,兩者配合實現(xiàn)可靠的端點檢測。端點檢測算法常用的是由語音能量和過零率組合的有雙門限法,以及短時能量和過零率的乘積構(gòu)成的能頻值法。圖24展示了過零譜、音量譜和過零率和能量成績構(gòu)成的譜線。005115225335X104202聲聲聲聲005115225335X104050聲聲聲005115225335X10405001000聲聲聲005115225335X104024X104聲聲聲聲聲聲圖24過零音量積譜244用過零率和音量積譜來檢測端點端點檢測算法常用的是由語音能量和過零率組合的有雙門限法,以及短時能量和過零率的乘積構(gòu)成的能頻值法。這里采用的是第二種方法,通過能量和過零率的乘積構(gòu)成的能頻值來判斷語音的端點。這里我對端點進(jìn)行了兩級判斷。首先根據(jù)過零率和音量積設(shè)定一個較高的門限TH,若譜大于TH,則可確定2個端點A、B,并可認(rèn)為這2個端點之間是語音信號,這樣相當(dāng)于完成初判。再根據(jù)背景噪聲的過零率和音量積設(shè)定一個比TH稍低的門限TL,如果信號的能量大于TL,則所對應(yīng)的端點C、D之間仍是語音信號,至此完成了第二級判斷。判斷結(jié)果如圖25所示005115225335X10421012聲聲聲聲141516171819221X10421012聲聲聲聲圖25端點檢測出的語音波形25特征參數(shù)提取251特征參數(shù)概述對于特征參數(shù),有多種參數(shù)可供選取。常見的有三種(1)線形預(yù)測系數(shù)特征矢量LPC(2)LPC倒譜特征矢量LPCC(3)MEL倒譜系數(shù)MFCC1線性預(yù)測系數(shù)LPC這里我采用最簡單的一種線形預(yù)測系數(shù)特征矢量LPC。線性預(yù)測LINEARPREDICTION分析是最有效的語音分析技術(shù)之一,在語音編碼、語音合成、語音識別和說話人識別等語音信號處理領(lǐng)域中得到了廣泛的應(yīng)用?;舅枷胧且粋€語音信號的抽樣值可以用過去的若干個抽樣值的線性組合來逼近。語音信號是一種典型的時變信號,然而如果把觀察時間縮短到十毫秒至幾十毫秒,則可以得到一系列近似穩(wěn)定的信號。人的發(fā)音器官可以用若干段前后連接的聲管進(jìn)行模擬,這就是所謂的聲管模型。由于發(fā)音器官不可能毫無規(guī)律地快速變化,因此語音信號是準(zhǔn)穩(wěn)定的QUASISTEADY。全極點線性預(yù)測模型LPC可以對聲管模型進(jìn)行很好的描述,這里信號的激勵源是由肺部氣流的沖擊引起的,聲帶可以有周期振動也可以不振動,分別對應(yīng)濁音VOWEL和清音CONSONANT,而每段聲管則對應(yīng)一個LPC模型的極點。一般情況下,極點的個數(shù)在1216之間,就可以足夠清晰地描述語音信號的特征了。LPC是語音分析的重要手段,它能很好地進(jìn)行譜估計,即可作為語音特征的參數(shù)。因此僅用12個LPC系數(shù)就能很好地表示復(fù)雜語音信號的特征,這就大大降低了信號的冗余度并有效地減少了計算量和存儲量,使之成為語音識別和語音壓縮的基礎(chǔ)。211,0,PNKNIAI1,2KP上式表示P個方程構(gòu)成的方程組,未知數(shù)為P個。求解該方程組,就可以得到系統(tǒng)的線性預(yù)測系數(shù)。由基于自相關(guān)的遞推求解公式求解,也就是所謂的DURBIN算法得220NER231IIJNIIAJK24IIA2511,IIJJIJKAJI262LNINE公式中,上標(biāo)表示第次迭代,每次迭代只計算和更新直到12,IA時,結(jié)束迭代。IP在MATLAB中利用LPC函數(shù)計算LPC系數(shù),其語法為ALPCX,N這里X為一幀語音信號,N為計算LPC參數(shù)的階數(shù)。通常X為240點或256點的數(shù)據(jù),N取1012,對語音識別來說就已經(jīng)足夠。2線性預(yù)測倒譜系數(shù)LPCC在語音識別系統(tǒng)中,很少直接使用LPC系數(shù),而是由LPC系數(shù)推導(dǎo)出另一種參數(shù)線性預(yù)測倒譜系數(shù)(LPCC)。倒譜實際上是一種同態(tài)信號處理方法,標(biāo)準(zhǔn)的倒譜系數(shù)計算流程需要進(jìn)行FFT變換,對數(shù)操作和相位校正等步驟,運算比較復(fù)雜。在實際運作中大多數(shù)語音識別系統(tǒng)都會采用倒譜參數(shù)來作為有關(guān)距離的度量。LPC倒譜系數(shù)是描述說話人聲道特性的,廣泛應(yīng)用于聲紋識別。在實際計算中,當(dāng)序列XN為最小相位的情況下,可以利用序列XN及其倒譜系數(shù)CN的遞推關(guān)系來簡化計算。序列XN及其復(fù)倒譜系數(shù)CN的遞推公式如下2710,0NKNXNXKLPCC參數(shù)是一種非常重要的參數(shù),它不是由原始信號XN得到,而是由LPC系數(shù)得到的。由26式可得LPC到LPCC的直接遞推關(guān)系。MA2820LOGCG291,1MKMCAP2101,KC3MEL尺度倒譜系數(shù)MFCCLPC模型是基于發(fā)音模型建立的,LPCC系數(shù)也是一種基于合成的參數(shù)。這種參數(shù)沒有充分利用人耳的聽覺特性。實際上,人的聽覺系統(tǒng)是一個特殊的非線性系統(tǒng),它響應(yīng)不同頻率信號的靈敏度是不同的,基本上是一個對數(shù)的關(guān)系。近年來,一種能夠比較充分利用人耳這種特殊的感知特性的參數(shù)得到了廣泛的應(yīng)用,這就是MEL尺度倒譜參數(shù)MELSCALEDCEPSTRUMCOEFFICIENT,或稱MEL頻率倒譜系數(shù),簡稱為MFCC。大量的研究表明,MFCC參數(shù)能夠比LPCC參數(shù)更好地提高系統(tǒng)的識別性能。從目前使用的情況來看,在大詞匯量語音識別應(yīng)用中已逐漸取代原本常用的線性預(yù)測編碼導(dǎo)出的倒頻譜參數(shù),原因是它考慮了人類發(fā)聲與接收聲音的特性,具有更好的魯棒性。由于語音信號在時域上的變化快速而不穩(wěn)定,所以通常都將它轉(zhuǎn)換到頻域上來觀察,此時它的頻譜會隨著時間作緩慢的變化。所以通常將加窗后的幀經(jīng)過快速傅立葉變換(FFT),求出每幀的頻譜參數(shù)。再將每幀的頻譜參數(shù)通過一組N個(N一般為2030個)三角形帶通濾波器所組成的MEL頻率濾波器,將每個頻帶的輸出取對數(shù),求出每一個輸出的對數(shù)能量(LOGENERGY)EK,K1,2,N。再將此N個參數(shù)進(jìn)行余弦變換(COSINETRANSFORM)求出L階的MELSCALECEPSTRUM參數(shù)。MFCC參數(shù)的計算是以“BARK”為其頻率基準(zhǔn)的,它和線性頻率的轉(zhuǎn)換關(guān)系是21110259LOG7MELFFMFCC參數(shù)也是按幀計算的。首先要通過FFT得到該幀信號的功率譜,轉(zhuǎn)SN換為MEL頻率下的功率譜。這需要在計算之前先在語音的頻譜范圍內(nèi)設(shè)置若干個帶通濾波器212,0,1,0,12MNHNMNMFCC參數(shù)的計算通常采用如下的流程(1)首先確定每一幀語音采樣序列的點數(shù)。對每幀序列進(jìn)行預(yù)加重SN處理后再經(jīng)過離散FFT變換,取模的平方得到離散功率譜。S(2)計算通過M個后所得的功率值,即計算和在SNMHNMH各離散頻率點上乘積之和,得到M個參數(shù),。MP0,1M(3)計算的自然對數(shù),得到,。MPL0,1(4)對計算其離散余弦變換,得到,。011,LD,1(5)舍去代表直流成分的,取作為MFCC參數(shù)。0D12,K252用MATLAB實現(xiàn)LPC系數(shù)的計算本系統(tǒng)使用的特征參數(shù)是線性預(yù)測系數(shù)LPC。在MATLAB中利用LPC函數(shù)計算LPC系數(shù),其語法為ALPCX,N這里X為一幀語音信號,N為計算LPC參數(shù)的階數(shù)。通常X為240點或256點的數(shù)據(jù),N取1012,對語音識別來說就已經(jīng)足夠。26語音識別中的模式匹配261DTW算法原理目前,語音識別的匹配主要應(yīng)用HMM和DTW兩種算法。DTW算法由于沒有一個有效地用統(tǒng)計方法進(jìn)行訓(xùn)練的框架,也不容易將低層和頂層的各種知識用到語音識別算法中,因此在解決大詞匯量、連續(xù)語音、非特定人語音識別問題時較之HMM算法相形見絀。HMM是一種用參數(shù)表示的,用于描述隨機(jī)過程統(tǒng)計特性的概率模型。而對于孤立詞識別,HMM算法和DTW算法在相同條件下,識別效果相差不大,又由于DTW算法本身既簡單又有效,但HMM算法要復(fù)雜得多。它需要在訓(xùn)練階段提供大量的語音數(shù)據(jù),通過反復(fù)計算才能得到參數(shù)模型,而DTW算法的訓(xùn)練中幾乎不需要額外的計算。鑒于此,DTW更適合本系統(tǒng)的要求。在孤立詞語音識別中,最為簡單有效的方法是采用DTW(DYNAMICTIMEWARPING,動態(tài)時間歸整)算法,該算法基于動態(tài)規(guī)劃(DP)的思想,解決了發(fā)音長短不一的模板匹配問題,是語音識別中出現(xiàn)較早、較為經(jīng)典的一種算法。用于孤立詞識別,DTW算法與HMM算法在訓(xùn)練階段需要提供大量的語音數(shù)據(jù),通過反復(fù)計算才能得到模型參數(shù),而DTW算法的訓(xùn)練中幾乎不需要額外的計算。所以在孤立詞語音識別中,DTW算法仍然得到廣泛的應(yīng)用。無論在訓(xùn)練和建立模板階段還是在識別階段,都先采用端點算法確定語音的起點和終點。已存入模板庫的各個詞條稱為參考模板,一個參考模板可表示為RR(1),R(2),R(M),R(M),M為訓(xùn)練語音幀的時序標(biāo)號,M1為起點語音幀,MM為終點語音幀,因此M為該模板所包含的語音幀總數(shù),R(M)為第M幀的語音特征矢量。所要識別的一個輸入詞條語音稱為測試模板,可表示為TT(1),T(2),T(N),T(N),N為測試語音幀的時序標(biāo)號,N1為起點語音幀,NN為終點語音幀,因此N為該模板所包含的語音幀總數(shù),T(N)為第N幀的語音特征矢量。參考模板與測試模板一般采用相同類型的特征矢量(如MFCC,LPC系數(shù))、相同的幀長、相同的窗函數(shù)和相同的幀移。假設(shè)測試和參考模板分別用T和R表示,為了比較它們之間的相似度,可以計算它們之間的距離DT,R,距離越小則相似度越高。為了計算這一失真距離,應(yīng)從T和R中各個對應(yīng)幀之間的距離算起。設(shè)N和M分別是T和R中任意選擇的幀號,DT(N),R(M)表示這兩幀特征矢量之間的距離。距離函數(shù)取決于實際采用的距離度量,在DTW算法中通常采用歐氏距離。若NM則可以直接計算,否則要考慮將T(N)和R(M)對齊。對齊可以采用線性擴(kuò)張的方法,如果N1D2DI1,J1ELSED2REALMAXENDIFJ2D3DI1,J2ELSED3REALMAXENDDI,JDI,JMIND1,D2,D3ENDENDDISTDN,MELSEDISTREALMAXEND27MATLAB上的GUI設(shè)計MATLA作為功能強(qiáng)大的科學(xué)計算軟件,同樣也提供了圖形用戶界面設(shè)計的功能。在MATLAB中,基本的圖形用戶界面對象包括三類用戶界面控件對象,下拉式菜單對象和快捷菜單對象。根據(jù)這些圖形對象,可以設(shè)計出界面友好。操作方便的圖形用戶界面。本系統(tǒng)的整個上位機(jī)使用MATLAB做的,為了更方便的進(jìn)行操作,我用MATLAB的GUI設(shè)計了一個圖形界面。上面設(shè)置了串口選擇框、錄音開始按鈕、語音識別結(jié)果框等。實際界下面如圖26所示圖26MATLABGUI界面第3章下位機(jī)設(shè)計31小車總體設(shè)計311小車總體框圖系統(tǒng)總體框圖如下所示。整個系統(tǒng)以單片機(jī)作為控制中心,單片機(jī)前要接受上位機(jī)傳來的控制指令,后要根據(jù)收到的指令控制小車完成不同的功能。小車共有兩個電機(jī),有L298構(gòu)成的H橋來驅(qū)動。穩(wěn)壓電路采用線性穩(wěn)壓芯片7805來完成。系統(tǒng)框圖如圖11所示圖31系統(tǒng)總體框圖312小車結(jié)構(gòu)設(shè)計本小車底盤采用三輪結(jié)構(gòu),兩個動力輪分別由兩個直流電機(jī)單獨驅(qū)動。第三個輪是轉(zhuǎn)向輪,可以三百六十度轉(zhuǎn)向。核心板采用通用板搭建,采用專用芯片插槽,方便單片機(jī)的拆卸。驅(qū)動電路和穩(wěn)壓電路焊在同一通用板上,兩個板子用銅柱固定為上下兩層,節(jié)省空間。整個小車實物圖見附錄一。單片機(jī)控制核心串口接收L298電機(jī)驅(qū)動電路電機(jī)32小車硬件設(shè)計321單片機(jī)電路設(shè)計本系統(tǒng)單片機(jī)采用的是宏晶公司的STC12C5A60S2,它采用增強(qiáng)型8051內(nèi)核。指令代碼完全兼容傳統(tǒng)8051單片機(jī),但速度比傳統(tǒng)8051單片機(jī)快812倍。單片機(jī)控制電路主要有復(fù)位電路、晶體振蕩電路兩部分。其總體電路圖如圖32所示圖32單片機(jī)電路圖1復(fù)位電路復(fù)位電路是單片機(jī)控制電路中很重要的電路之一。STC12C5A60S2單片機(jī)為高電平復(fù)位,及即要使得復(fù)位管腳RST保持一定時間的高電平。其復(fù)位電路分兩種情況。當(dāng)單片機(jī)時鐘頻率小于12MHZ時,采用第一種復(fù)位電路。將RST管腳接1K電阻R1到地,其電路如圖33所示。圖33第一復(fù)位電路當(dāng)單片機(jī)時鐘頻率大于12MHZ時,采用第二復(fù)位電路,其電路如圖34所示。圖34第二復(fù)位電路本電路單片機(jī)時鐘采用的是12MHZ,故復(fù)位電路采用第二種。以上復(fù)位電路只能保證單片機(jī)能夠上電復(fù)位,為了更好的進(jìn)行調(diào)試,本電路對上面的電路進(jìn)行了更改,使得單片機(jī)電路能夠手動復(fù)位。改進(jìn)后的復(fù)位電路如下圖35所示。當(dāng)按鍵按下時,由于電阻R1的作用,RST管腳保持為高電平。單片機(jī)復(fù)位。圖35改進(jìn)后的實際復(fù)位電路2晶振電路STC12C5A60S2單片機(jī)內(nèi)部含有R/C時鐘振蕩電路,單片機(jī)可以選擇使用內(nèi)部自有的R/C時鐘振蕩電路,也可以使用外接的高精度晶體/時鐘。用戶在下載用戶程序時,可選擇是使用內(nèi)部R/C振蕩器還是外部晶體時鐘。常溫下內(nèi)部時鐘頻率為5V單片機(jī)1117MHZ,33V單片機(jī)812MHZ。單片機(jī)內(nèi)部時鐘電路受溫漂等影響較大,當(dāng)對精度要求不高時可以使用內(nèi)部時鐘。本電路需要串口數(shù)據(jù)收發(fā),控制對時鐘要求較高,故采用的時鐘源是外接的高精度晶體/時鐘。其電路如圖36所示。圖36晶體振蕩電路322驅(qū)動電路設(shè)計驅(qū)動電路的選擇及穩(wěn)定性對小車性能來說是至關(guān)重要的。這里我采用L298專用驅(qū)動芯片來驅(qū)動兩個直流電機(jī)。L298驅(qū)動芯片內(nèi)置兩個H橋電路,可以兩個電機(jī)實現(xiàn)正轉(zhuǎn)和翻轉(zhuǎn)。最大輸出電流可以達(dá)到兩安,這對小車上的直流電機(jī)足夠用。L298的外圍電路也是非常重要的,圖37為L298的外圍電路。途中8個單向?qū)ǘO管起著非常重要的作用,它可以防止電機(jī)磁場作用產(chǎn)生很大的反向電壓時對L298內(nèi)部電路的破壞作用。圖37L298外圍電路323穩(wěn)壓電路設(shè)計小車的整個硬件電路共需要兩個電壓,電源電壓為8伏,直接供給直流電機(jī)。而單片機(jī)控制電路需要五伏的電壓,故需要設(shè)計一個穩(wěn)壓電路來輸出穩(wěn)定的5伏電壓供給單片機(jī)控制電路。本系統(tǒng)采用線性穩(wěn)壓芯片7805把8伏的電源電壓穩(wěn)成5伏輸出。其電路圖如圖38所示圖385V穩(wěn)壓電路33小車軟件設(shè)計331主程序流程圖圖39主函數(shù)流程圖小車單片機(jī)采用STC12C5260S2,此單片機(jī)屬于8051內(nèi)核,采用KEIL開發(fā)環(huán)境來編程。下位機(jī)程序主要功能就是時刻準(zhǔn)備接受上位機(jī)傳來的串口數(shù)據(jù),然后,根據(jù)不同的數(shù)據(jù)控制小車電機(jī)是小車完成不同的動作。主函數(shù)流程圖如圖39所示332部分主程序LM7805VINVOUT5V系統(tǒng)初始化前進(jìn)停止后退串口數(shù)據(jù)1部分程序如下INCLUDEINCLUDE“HARDH“UNSIGNEDCHARRXBUF320/接收緩沖區(qū)/名稱COM_INIT功能串口初始化,晶振110592,波特率9600,使能了串口中斷輸入無輸出無/VOIDCOM_INITVOIDTMOD0X20PCON0X00SCON0X50TH10XFD/設(shè)置波特率9600TL10XFDTR11/啟動定時器1ES1/開串口中斷EA1/開總中斷/名稱COM_ISR功能串口中斷子函數(shù)輸入無輸出無/VOIDCOM_ISRVOIDINTERRUPT4STATICUNSIGNEDCHARI0/定義為靜態(tài)變量,當(dāng)重新進(jìn)入這個子函數(shù)時I的值不會發(fā)生改變EA0IFRI1/當(dāng)硬件接收到一個數(shù)據(jù)時,RI會置位IFI0RXBUF0SBUF48/這里減去48是因為從電腦中發(fā)送過來的數(shù)據(jù)是ASCII碼。RI0III2EA1/主函數(shù)/VOIDMAINCOM_INITWHILE1SWITCHRXBUF0CASE1GO_AHEADBREAKCASE2STOPBREAKCASE3GO_AFTERWARDBREAKDEFAULT333底層驅(qū)動程序底層驅(qū)動程主要分兩塊兒電機(jī)控制程序和串口控制程序。串口控制主要是進(jìn)行寄存器設(shè)置,設(shè)置串口時鐘得喝波特率。串口數(shù)據(jù)的接收程序有查詢法和中斷法。查詢法主要是通過不斷查詢串口數(shù)據(jù)接收標(biāo)志位,當(dāng)標(biāo)志位置位時,說明串口數(shù)據(jù)接收緩沖區(qū)已滿,于是就可以把數(shù)據(jù)從接收緩沖區(qū)中讀出,其流程圖如圖310。中斷的方法是,打開單片機(jī)硬件串口中斷,串口數(shù)據(jù)接收緩沖區(qū)已滿時,單片機(jī)就會觸發(fā)串口中斷,通知CPU讀取串口接收的數(shù)據(jù)。中斷的方法可以減少CPU占用率,故這里我采用了中斷的方法。圖310串口程序,查詢法RI1YNRI0讀取串口數(shù)據(jù)開始電機(jī)控制主要是通過控制L298電機(jī)驅(qū)動芯片來控制電機(jī)。L298有六個輸入腳(IN1,IN2,ENAIN3,IN4,EAB)和四個輸出腳(OUT1,OUT2OUT3,OUT4)。它的六個輸入口分別連接單片機(jī)的P00P05,四個輸出口連接兩個電機(jī)。通過控制六個輸入口電平來控制電機(jī)正反轉(zhuǎn)或者停止。其主要的控制方法見表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海警察公務(wù)員考試試題及答案
- 2025年智慧城市傳感器市場增長與挑戰(zhàn)報告
- 2025年有機(jī)肥生產(chǎn)技術(shù)五年創(chuàng)新趨勢報告
- 二手奢侈品寄賣2025年行業(yè)數(shù)據(jù)安全分析報告
- 2025年醫(yī)用口罩在手術(shù)室應(yīng)用效果分析報告
- 色彩搭配師崗前環(huán)保知識考核試卷含答案
- 半導(dǎo)體分立器件和集成電路鍵合工操作規(guī)范考核試卷含答案
- 選煤工安全生產(chǎn)知識水平考核試卷含答案
- 貴州城鄉(xiāng)規(guī)劃設(shè)計研究院招聘面試題及答案
- 改進(jìn)客戶服務(wù)保障用戶權(quán)益承諾書(6篇)
- 2025云南省人民檢察院招聘22人筆試考試備考試題及答案解析
- 駿馬奔騰啟新程盛世華章譜未來-2026年馬年學(xué)校元旦主持詞
- 22863中級財務(wù)會計(一)機(jī)考綜合復(fù)習(xí)題
- 油漆車間年終總結(jié)
- 2025年甘肅省水務(wù)投資集團(tuán)有限公司招聘企業(yè)管理人員筆試考試參考試題及答案解析
- 廣東省六校2025-2026學(xué)年高二上學(xué)期12月聯(lián)合學(xué)業(yè)質(zhì)量檢測語文試題(含答案)
- 2025年10月自考07180廣播播音主持試題及答案
- 鄉(xiāng)村康養(yǎng)項目申請書
- 私人奴隸協(xié)議書范本
- 2025秋期版國開電大本科《心理學(xué)》一平臺形成性考核練習(xí)1至6在線形考試題及答案
- 《天津市建設(shè)工程監(jiān)理服務(wù)計費規(guī)則》-排附2-8
評論
0/150
提交評論