敖 勤,龍 洋,邱志華
(江西水利職業(yè)學院,江西 南昌 330013)
語音識別技術(shù)就是讓機器通過識別和理解過程把語音信號轉(zhuǎn)變?yōu)橄鄳奈谋净蛎畹母呒夹g(shù)。語音識別技術(shù)可以分為兩類,(1)對特定發(fā)音者的模式識別,使用者使用前需要進行簡單的訓練;(2)對非特定發(fā)音者的模式識別,使用者無需訓練即可使用,并可以進行識別,任何人皆可隨時使用此技術(shù)。
在工業(yè)生產(chǎn)與生活中,電動汽車作為最常用的行走機構(gòu)得到了廣泛的應用。將語音識別技術(shù)應用于電動汽車,賦予其聽覺功能,能夠接收和識別人類的語音信號,轉(zhuǎn)換并執(zhí)行相應的動作指令[1]。語音識別技術(shù)讓電動汽車更加智能。
語音識別本質(zhì)上是一種模式識別行為,基本原理是先分析聲波中各種頻率的組成及其頻率的時變模式,再結(jié)合語音數(shù)據(jù)庫中的數(shù)據(jù)進行匹配運算,得出“語音”所包括的語言信息。語音識別的重要步驟包括聲音信號的預處理和特征提取、訓練建立參考模式庫及模式匹配等,其基本結(jié)構(gòu)如圖1所示。
圖1 語音識別系統(tǒng)框圖
語音信號首先經(jīng)過預處理(含AD轉(zhuǎn)換)變成滿足要求的離散數(shù)字信號;然后對其進行頻譜分析,提取出語音信號的參數(shù)化表示(或稱待識別未知模式),通常是由特征矢量構(gòu)成的特征矩陣;在識別過程中,再把此模式和數(shù)據(jù)庫中的參考模式進行比較;最后由識別決策來決定是否識別,并給出結(jié)果[2]。
預處理是指語音信號號在采集后首先要進行濾波、A/D變換、預加重及端點檢測等措施,然后才能進入識別、合成及增強等實際應用。
特征提取部分的作用是將聲音信號從時域轉(zhuǎn)換到頻域,為聲學模型提供合適的特征向量。
訓練是對預先收集好的海量語音、語言數(shù)據(jù)庫進行信號處理和知識挖掘,獲取語音識別系統(tǒng)所需要的“聲學模型”和“語言模型”。
模式匹配是所有環(huán)節(jié)的關(guān)鍵點,其作用是將輸入的語音特征與聲學模型(模式)進行匹配與比較,得到最佳的識別結(jié)果。
本文采用直流電機的驅(qū)動電路,能夠驅(qū)動直流電機,在單片機的控制下,使電機獨立正轉(zhuǎn)、反轉(zhuǎn)或停止。為了使電機驅(qū)動電路和單片機控制電路電氣隔離,可以采用光電耦合器連接這兩部分。這可以使電機和控制器分別供電,單片機的IO口線連接,控制電機的正反轉(zhuǎn),單片機的一根IO口線連接電機,對電機的轉(zhuǎn)速進行控制。
當電動機出現(xiàn)故障時,其保護電路能夠及時發(fā)現(xiàn)并排除故障,保證電機能夠正常地運行而不受損壞。其保護電路分為過電流保護、欠電壓保護、剎車保護及過電壓保護。為了能夠快速響應,采取中斷方式實現(xiàn)。
當電動機出現(xiàn)過電流時,單片機能夠檢測出來并作出反應,其工作原理是通過電阻R17取出電流信號,并把電流信號轉(zhuǎn)換為電壓信號;當電流過大時,LM321輸出端就會由高電平變成低電平,通過數(shù)字信號處理,轉(zhuǎn)換為中斷信號,并傳輸給單片機,使其產(chǎn)生中斷。
當電動機出現(xiàn)過電壓時,單片機能夠檢測出來并作出反應,其工作原理是電源電壓是通過電阻R37取出電壓信號;當電壓過大或大于38 V時,Q6由截止變成導通,輸出端就會由高電平變成低電平,通過數(shù)字信號處理,轉(zhuǎn)換為中斷信號,并傳輸給單片機,使其產(chǎn)生中斷。
當電機正常工作時,由R8取出電壓信號為4.9 V;當電動機剎車時,其電壓被短路,其輸出由高電平變成低電平,通過數(shù)字信號處理,轉(zhuǎn)換為中斷信號,并傳輸給單片機,使其產(chǎn)生中斷。
當電源電壓過低時,單片機能夠檢測出來并作出反應,關(guān)斷電壓,使電源停止供電,使電源不至于發(fā)電過多而影響下次的使用,保護電源,其工作原理是電源電壓通過電阻R22、R29、R33取出電壓信號,當電壓過小或小于31 V時U8D輸出端就會由高電平變成低電平,通過數(shù)字信號處理,轉(zhuǎn)換為中斷信號,并傳輸給單片機,使其產(chǎn)生中斷。L298N電機驅(qū)動邏輯控制如表1所示。
表1 L298N電機驅(qū)動邏輯控制
根據(jù)電機驅(qū)動邏輯功能表,通過改變單片機IO口高低電平變化,可以方便實現(xiàn)電動汽車前進、后退、左轉(zhuǎn)、右轉(zhuǎn)及停止。
脈寬調(diào)制(PWM)是靠改變脈沖寬度來控制輸出電壓,通過改變周期來控制其輸出頻率。輸出頻率的變化可通過改變此脈沖的調(diào)制周期來實現(xiàn)。按一定的規(guī)則對各脈沖的寬度進行調(diào)制,即可改變逆變電路輸出電壓的大小,也可改變輸出頻率[3]。
電機的驅(qū)動采用雙向PWM脈寬調(diào)制方式控制,電機驅(qū)動電路如圖2所示。采用這種控制方式可以方便地實現(xiàn)電機的正反轉(zhuǎn)和轉(zhuǎn)速變化,其工組原理為當P1.0端口為高電平、P1.1端口為低電平時,三極管Q5導通,Q5導通又導致Q3和Q2導通,則電流從電源通過Q2、直流電機和Q3構(gòu)成回路;當P1.0端口為低電平、P1.1端口為高電平時,三極管Q6導通,Q6導通又導致Q4和Q1導通,則電流從電源通過Q1、直流電機和Q4構(gòu)成回路,且電流方向和前面相反,即電機轉(zhuǎn)向發(fā)生變化。通過控制P1.0口和P1.1口電平的高低和高電平導通的時間,可以控制電機的正、反轉(zhuǎn)和轉(zhuǎn)速[6]。
本課題使用的語音模塊如圖3所示,是一款非特定人語音識別模塊,無需編程,用戶無需深入了解語音識別的原理,簡簡單單的拼音設置即可識別,并會通過串口識別結(jié)果。但是語音識別都會存在誤識別的情況。例如,平時談話時出現(xiàn)了和命令相似的發(fā)音,模塊會誤判。以目前的語音識別的技術(shù),誤判情況還不能被消除,故本模塊嵌入了3種識別模式。
圖2 直流電機PWM驅(qū)動電路
圖3 語音模塊說明
4.1.1 循環(huán)檢測模式
這個模式下模塊是不停檢測周圍的聲音的,所以使用者任意時刻說對了指令都會被檢測并識別。這個模式的缺點是有比較大的誤識別(談話時出現(xiàn)了命令相似的語音,模塊就會誤判,可使用增加屏蔽詞的方法消除誤識別。),可應用于機器人問答或者對話玩具。
4.1.2 口令檢測模式
兩條指令控制一個動作。只有口令說完后的8 s內(nèi)說出指令模塊才會識別,如果超過了8 s就要重新說口令。這種模式很大程度上解決了因模塊誤識別而造成電器誤動作,可以設置識別到口令的提示音,提示用戶在規(guī)定的時間內(nèi)說出指令。
4.1.3 按鈕檢測模式
每按一次按鈕講出指令才能識別,8 s后要重新按按鈕才能識別。缺點是每次識別都要事先按一次按鈕、可以應用于家電控制、智能開關(guān)等。這種模式徹底消除了模塊的誤識別,可靠性高。
本課題選擇口令檢測模式進行實驗,實驗時對語音模塊接收裝置發(fā)出規(guī)定口令,如高速前進、中速前進、低速前進、高速后退、中速后退、低速后退、左轉(zhuǎn)及右轉(zhuǎn)等,觀察電動汽車的運行情況。實驗表明,電動汽車對語音指令完成相應的動作效果理想,但也存在一些誤判和不執(zhí)行的情況,主要原因是環(huán)境噪聲以及聲音大小影響語音指令。后續(xù)完善措施包括語音指令的去噪聲處理、語音指令的豐富及相應的電動汽車執(zhí)行動作的豐富。
本次設計是智能語音控制電動汽車兼有避障功能,主控制芯片采用STC89C52單片機,借助市場比較成熟的語音芯片,成功實現(xiàn)了語音控制電動汽車和電動汽車的自動避障的功能[4-5]。設計內(nèi)容包括電動汽車硬件、軟件、語音識別單元及調(diào)試等。根據(jù)系統(tǒng)要實現(xiàn)前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、速度控制(高速、中速、低速)、停車及避障等功能編寫出電動汽車端的軟件程序,最終電動汽車達到設計的基本要求。電動汽車雖然基本功能實現(xiàn),但仍存在一些問題,控制的穩(wěn)定性并不高,功能也比較簡單,仍需要不斷完善。