彭育強(qiáng),張薇琳
(廣東交通職業(yè)技術(shù)學(xué)院軌道交通學(xué)院,廣東 廣州 510650)
近年來,由于駕駛員的粗心而引起兒童誤留在私家車、校車內(nèi),導(dǎo)致車內(nèi)兒童高溫?zé)齻踔潦撬劳龅仁鹿蕦映霾桓F。根據(jù)美國(guó)的一項(xiàng)研究調(diào)查結(jié)論,如果室外的溫度超過35 ℃,置于室外的汽車室內(nèi)溫度可高達(dá)65 ℃。比成年人被誤鎖于車內(nèi)更為嚴(yán)重的是,在同樣的生存環(huán)境條件下,兒童的求救能力要比成年人弱得多,且兒童的體溫升高速度要比成人快3~5倍[1]。而目前的汽車工業(yè)還未對(duì)防止人員誤鎖于車內(nèi)的相關(guān)監(jiān)測(cè)設(shè)備進(jìn)行研究。本文針對(duì)誤留車內(nèi)人員所發(fā)出求救聲音信號(hào)進(jìn)行研究,通過單片機(jī)技術(shù)結(jié)合語(yǔ)音模塊實(shí)現(xiàn)對(duì)車內(nèi)人員語(yǔ)音信號(hào)的監(jiān)測(cè)及報(bào)警,從而避免人員因誤鎖而產(chǎn)生的傷亡事故。
本系統(tǒng)以Stc10L08xe為控制器,結(jié)合LD3320語(yǔ)音識(shí)別芯片,設(shè)計(jì)了一種車內(nèi)安全監(jiān)控器。該控制器能夠在人員(特別是嬰幼兒)被誤鎖在車內(nèi)時(shí),及時(shí)報(bào)警通知駕駛員。系統(tǒng)應(yīng)用預(yù)存的語(yǔ)音特征庫(kù)與被監(jiān)測(cè)人員發(fā)出的求救聲(包括嬰兒的哭鬧聲音),來判定車內(nèi)是否存在人員發(fā)出的求救聲音。如監(jiān)測(cè)到與特征庫(kù)相匹配的聲音則判斷車內(nèi)有人被誤鎖,監(jiān)測(cè)器將向用戶發(fā)送報(bào)警信息。報(bào)警方式設(shè)置為三個(gè)等級(jí),在不同的營(yíng)救時(shí)間點(diǎn)采用不同的報(bào)警方式,從而確保被誤鎖人員不會(huì)錯(cuò)過最佳的營(yíng)救時(shí)間點(diǎn)。
系統(tǒng)主要由5個(gè)模塊組成:電源模塊、單片機(jī)控制模塊、語(yǔ)音模塊、GSM模塊以及報(bào)警模塊。單片機(jī)模塊使用深圳宏晶公司生產(chǎn)的Stc10L08xe型號(hào)單片機(jī)。Stc10L08xe是新一代單片機(jī),它具備代碼指令完全兼容8051且運(yùn)行速度快的特點(diǎn),特別適用于對(duì)語(yǔ)音識(shí)別實(shí)時(shí)性要求較高的場(chǎng)合。語(yǔ)音信號(hào)處理模塊選用了ICRoute公司研發(fā)的LD3320語(yǔ)音處理芯片,LD3320語(yǔ)音處理芯片集成有處理器以及A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器、麥克風(fēng)接口、語(yǔ)音輸出接口等,無(wú)需外接其他輔助芯片,即可實(shí)現(xiàn)語(yǔ)音識(shí)別、控制、人機(jī)對(duì)話等功能[1]。GSM模塊選取了技術(shù)成熟的西門子TC35。TC35市場(chǎng)使用度較廣,且具有功耗低、結(jié)構(gòu)小巧等優(yōu)點(diǎn),與Stc10L08xe單片機(jī)通過串口相連。報(bào)警模塊一方面使用GSM進(jìn)行短信、手機(jī)電話報(bào)警;另一方面在監(jiān)控器上安裝有擴(kuò)音器進(jìn)行現(xiàn)場(chǎng)車身報(bào)警,用于在車主手機(jī)短信、電話未接通情況下,通過車輛內(nèi)部發(fā)出警報(bào)聲,吸引車輛周圍群眾及時(shí)發(fā)現(xiàn)被誤鎖于車內(nèi)的人員。系統(tǒng)結(jié)構(gòu)模塊如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)模塊圖Fig.1 Modules of the system structure
本監(jiān)控器選用Stc10L08xe作為系統(tǒng)的核心控制器。該控制器是一款運(yùn)算速度快、功耗低、抗干擾能力強(qiáng)的新一代單片機(jī)。其指令代碼兼容傳統(tǒng)的8051單片機(jī),適用于通信速度要求高、人工智能化控制、強(qiáng)干擾等較為復(fù)雜的應(yīng)用環(huán)境。本系統(tǒng)中使用P0口與語(yǔ)音芯片并行相連方式,語(yǔ)音芯片的復(fù)位信號(hào)由P3.3輸出控制,而Stc10L08xe的中斷則由語(yǔ)音芯片發(fā)出,并由P1.2控制GSM芯片的IGT點(diǎn)火管腳以及串口相連。
本系統(tǒng)中選取LD3320作為語(yǔ)音信號(hào)采集芯片。LD3320芯片是一種基于非特定人語(yǔ)音識(shí)別技術(shù)的語(yǔ)音識(shí)別芯片。它的額定工作電壓為3.3 V,除了集成有語(yǔ)音識(shí)別處理器之外,還自帶基本的外部電路,包括語(yǔ)音輸入接口、語(yǔ)音輸出接口、ADC(模數(shù)轉(zhuǎn)換)、DAC(數(shù)模轉(zhuǎn)換)等,免去了Flash、RAM等其他輔助芯片[2]。對(duì)LD3320的操作必須通過對(duì)寄存器的操作來完成。本項(xiàng)目利用Stc10L08xe,實(shí)現(xiàn)對(duì)LD3320芯片寄存器的操作??刂破髋cLD3320控制連接方式為:中斷、控制線、復(fù)位信號(hào)分別與P3.2、P1.2、P4.7管腳連接,車身報(bào)警喇叭采用0.5 W小喇叭進(jìn)行仿真試驗(yàn)[2]。
考慮到系統(tǒng)的安全性、穩(wěn)定性,在此選用快速、安全、可靠的TC35模塊作為GSM網(wǎng)絡(luò)模塊。其具有語(yǔ)音、數(shù)據(jù)、傳真和短信功能。TC35模塊主要由GSM基帶處理模塊、射頻模塊、電源和Flash組成,共有40個(gè)引腳,通過TC35 ZIF連接器引出。其管腳可以分為:電源引腳、數(shù)據(jù)輸入和輸出引腳、SIM卡引腳、音頻接口與控制接口5種類型。其中:SIM卡引腳是24~29引腳,分別為CCIN、CCRST、CCIO、CCCLK、CCVCC和CCGND;第15號(hào)引腳IGT為點(diǎn)火引腳,GSM模塊上電后,必須啟動(dòng)芯片IGT引腳的一段長(zhǎng)于100 ms的低電平信號(hào),經(jīng)過該低電平信號(hào)的驅(qū)動(dòng)后,該模塊才能正常運(yùn)行。在本系統(tǒng)中,IGT引腳連接了核心控制器的P1.2接口[3]。TC35與單片機(jī)連接電路如圖2所示。
圖2 TC35與單片機(jī)連接電路圖Fig.2 Connections circuit between TC35 and singlechip
STC單片機(jī)對(duì)LD3320語(yǔ)音芯片采集的語(yǔ)音信號(hào)進(jìn)行分析、判斷處理和存儲(chǔ)。事先可通過麥克風(fēng)向語(yǔ)音模塊控制器建立識(shí)別特征庫(kù),用于識(shí)別判斷人員(特別是嬰幼兒)被誤鎖于車內(nèi)時(shí)的語(yǔ)句。待判斷出車內(nèi)有人員呼喊與語(yǔ)音特征庫(kù)相匹配的聲音時(shí),監(jiān)控系統(tǒng)采用三級(jí)報(bào)警方式向用戶端進(jìn)行報(bào)警。根據(jù)營(yíng)救時(shí)間等級(jí),警報(bào)方式分別為:發(fā)送手機(jī)短信(可擴(kuò)展至微信信息)、撥打用戶電話以及車身報(bào)警。語(yǔ)音識(shí)別流程如圖3所示。
圖3 語(yǔ)音識(shí)別流程圖Fig.3 Flowchart of speech recognition
用戶泊車后,監(jiān)控系統(tǒng)啟動(dòng),對(duì)車內(nèi)聲音進(jìn)行監(jiān)聽。當(dāng)監(jiān)聽到聲音信號(hào)后,LD3320語(yǔ)音識(shí)別芯片將監(jiān)測(cè)到的聲音信號(hào)轉(zhuǎn)化為拼音串的形式,通過串口傳送至核心控制器Stc10L08xe單片機(jī)中。此時(shí),控制器將接收到的拼音串與識(shí)別特征庫(kù)的關(guān)鍵字進(jìn)行匹配,并根據(jù)對(duì)比程度判斷是否為車內(nèi)人員發(fā)出的求救聲音。
Stc10L08xe核心控制器程序流程設(shè)計(jì)如下。
①建立語(yǔ)音識(shí)別特征庫(kù)。識(shí)別特征庫(kù)主要由關(guān)鍵詞組成,在此通過麥克風(fēng)錄入“救命”、嬰幼兒的哭聲(“啊啊”、“嗚嗚”)等關(guān)鍵詞。在設(shè)定好要識(shí)別的關(guān)鍵詞后,為減小外來噪聲對(duì)系統(tǒng)監(jiān)聽的干擾,可以在識(shí)別特征庫(kù)內(nèi)添加一些其他常見的干擾詞匯,以減少誤識(shí)別。
②通用初始化。用戶關(guān)上車門后,系統(tǒng)立即啟動(dòng)。首先,對(duì)Stc10L08xe單片機(jī)內(nèi)各寄存器進(jìn)行初始化設(shè)置,并對(duì)LD3320、GSM模塊進(jìn)行復(fù)位處理等。
③系統(tǒng)監(jiān)聽。語(yǔ)音輸入寄存器ADC增益寫入,初始化芯片狀態(tài),中斷開啟,準(zhǔn)備識(shí)別車內(nèi)語(yǔ)音狀況。
④車內(nèi)存在報(bào)警聲音。當(dāng)麥克風(fēng)接收到增益范圍內(nèi)的語(yǔ)音信號(hào)時(shí),語(yǔ)音芯片將通知Stc10L08xe單片機(jī)產(chǎn)生中斷并進(jìn)行語(yǔ)音識(shí)別。通過與識(shí)別特征庫(kù)的關(guān)鍵詞進(jìn)行比對(duì),若監(jiān)聽到的關(guān)鍵詞與特征庫(kù)里的關(guān)鍵詞相匹配,則系統(tǒng)程序跳出至輸出報(bào)警部分執(zhí)行報(bào)警動(dòng)作;如與特征庫(kù)關(guān)鍵詞不匹配,則繼續(xù)監(jiān)聽。
⑤報(bào)警及復(fù)位輸出。如車內(nèi)監(jiān)測(cè)到的語(yǔ)音信號(hào)與特征庫(kù)匹配成功,則Stc10L08xe單片機(jī)進(jìn)行報(bào)警。根據(jù)營(yíng)救時(shí)間,將報(bào)警分為三個(gè)級(jí)別:短信、電話、車載喇叭報(bào)警。監(jiān)聽到車內(nèi)存在人員發(fā)出求救聲音時(shí),控制器首先向用戶手機(jī)發(fā)送報(bào)警短信,用戶向系統(tǒng)回復(fù)一條“收到”信息,用于系統(tǒng)判斷用戶是否接收到報(bào)警信息。如系統(tǒng)接收到用戶回復(fù)的“收到”信息,則認(rèn)為用戶已得知報(bào)警情況,不再進(jìn)行第二級(jí)報(bào)警;如系統(tǒng)發(fā)送報(bào)警信息5 min后仍沒收到用戶反饋信息,則進(jìn)行第二級(jí)報(bào)警。第二級(jí)報(bào)警為向用戶撥打電話,用戶接通該電話則表示用戶得知報(bào)警信息,5 min內(nèi)未接通電話則判斷為用戶未接到報(bào)警電話,進(jìn)行第三級(jí)報(bào)警。第三級(jí)報(bào)警為在車輛內(nèi)部發(fā)出警報(bào)聲,用于吸引車輛周圍人群的注意,使車內(nèi)誤鎖人員能被及時(shí)發(fā)現(xiàn)。車載報(bào)警時(shí),可通過系統(tǒng)復(fù)位按鍵進(jìn)行復(fù)位處理。
語(yǔ)音命令結(jié)構(gòu)如圖4所示。
圖4 語(yǔ)音命令結(jié)構(gòu)圖Fig.4 Voice command structure
系統(tǒng)初始化判斷是否建立有語(yǔ)音特征庫(kù)。如未建立特征庫(kù),則系統(tǒng)先進(jìn)行語(yǔ)音訓(xùn)練,建立所需的語(yǔ)音識(shí)別特征庫(kù)。根據(jù)車內(nèi)監(jiān)控環(huán)境要求,訓(xùn)練過程分為求救信號(hào)和噪聲信號(hào)兩種。每條命令訓(xùn)練兩次,訓(xùn)練順序如下。第一組的觸發(fā)名稱為準(zhǔn)備,命令設(shè)為求救、噪聲、復(fù)位;第二組的觸發(fā)名稱為求救,命令設(shè)為“救命”、“啊啊”、“嗚嗚”或其他聲音;第三組的觸發(fā)名稱為噪聲,命令設(shè)為汽車?yán)萨Q笛、車內(nèi)發(fā)動(dòng)機(jī)響聲等其他噪聲。訓(xùn)練完成后,特征庫(kù)語(yǔ)音文件將存儲(chǔ)到片內(nèi)Flash中,如需更新識(shí)別庫(kù),則需對(duì)系統(tǒng)進(jìn)行復(fù)位操作,并重新進(jìn)行識(shí)別庫(kù)訓(xùn)練[4]。
在監(jiān)控過程中,如果監(jiān)聽結(jié)果是觸發(fā)名稱,則系統(tǒng)將發(fā)送響應(yīng)報(bào)警控制,然后等待用戶進(jìn)行回復(fù)。語(yǔ)音識(shí)別程序流程如圖5所示。
圖5 語(yǔ)音識(shí)別程序流程圖Fig.5 Flowchart of speech recognition program
程序初始化部分進(jìn)行語(yǔ)言識(shí)別訓(xùn)練、識(shí)別、I/O口設(shè)置,相關(guān)程序段如下:
unsigned intDYC;
//是否為首次下載
unsigned intshibie;
//進(jìn)行識(shí)別、辨別、判斷
unsigned intuiBS_Team;
//標(biāo)志當(dāng)前程序內(nèi)部存在的命令
DYC = IsFirstDownLoad();
//判斷是否為首次下載
if(DYC == 1)
{
TrainCommand();
//訓(xùn)練第一組命令
SaveCommand(0xf700);
//儲(chǔ)存訓(xùn)練好的命令
PlaySnd(OK);
//一組命令存儲(chǔ)結(jié)束
TrainCommand();
//訓(xùn)練第二組命令
PlaySnd(OK);
TrainCommand();
//訓(xùn)練第三組命令
SaveCommand(0xfb00);
PlaySnd(OK);
DYC = 0xaaaa;
//標(biāo)志已訓(xùn)練過
F_FlashWrite1Word(0xfd00,0xaaaa);
//置標(biāo)志位寄存器
}
PlaySnd(RSP_STAR);
//開始識(shí)別命令
BianShi_InitRecognizer(BianShi_MIC);
//辨識(shí)器初始化
BianShi_EnableCPUIndicator();
//開始語(yǔ)音監(jiān)控
系統(tǒng)報(bào)警采用GSM短信報(bào)警、電話報(bào)警及系統(tǒng)自身發(fā)出報(bào)警聲音三種方式。系統(tǒng)聲音采集模塊檢測(cè)出車內(nèi)發(fā)出求救聲音后,Stc10L08xe將報(bào)警信息經(jīng)GTC35模塊,由GSM網(wǎng)絡(luò)發(fā)送至用戶手機(jī)。Stc10L08xe與GSM采用串行異步接口相連,通信速度定為19 200 bit/s[5]。系統(tǒng)啟動(dòng)后,GTC35模塊首先對(duì)AT指令函數(shù)進(jìn)行初始化、檢測(cè)連接指令A(yù)T。此時(shí),若串口無(wú)需返回指令,則使用關(guān)閉回顯指令A(yù)TE0。使用AT+CREG指令,對(duì)手機(jī)注冊(cè)狀態(tài)進(jìn)行查詢;使用AT+CSQ指令,檢測(cè)模塊與基站信號(hào)之間的網(wǎng)絡(luò)信號(hào)強(qiáng)度;使用AT+CMGF指令,進(jìn)行短信格式設(shè)置(1為文本、0為PDU格式);使用AT+TSIMINS指令,查詢SIM卡狀態(tài)指令[6-7]。
通過將監(jiān)測(cè)模塊安裝在車內(nèi)進(jìn)行語(yǔ)音識(shí)別準(zhǔn)確度測(cè)試,證明了該報(bào)警系統(tǒng)能很好地完成預(yù)定的設(shè)計(jì)要求。在測(cè)試過程中,事先錄入“救命”、“啊啊”、“嗚嗚”等聲音,此次測(cè)試中未將車內(nèi)的拍打聲錄入庫(kù)。對(duì)短信報(bào)警、電話報(bào)警以及車身報(bào)警這三種報(bào)警類型的多次測(cè)試結(jié)果如表1所示。表1中:√表示進(jìn)行相應(yīng)的操作;╳表示未進(jìn)行相應(yīng)的操作,或系統(tǒng)未進(jìn)行動(dòng)作。
表1 語(yǔ)音識(shí)別測(cè)試結(jié)果Tab.1 Test results of speech recognition test
數(shù)據(jù)表明,該系統(tǒng)可以較準(zhǔn)確地識(shí)別語(yǔ)音監(jiān)控,報(bào)警模塊性能也較為穩(wěn)定。但該系統(tǒng)在多次測(cè)試中也出現(xiàn)了異?,F(xiàn)象,經(jīng)過分析可能是測(cè)試環(huán)境有噪聲(其
他車輛鳴笛聲較大),影響了語(yǔ)音監(jiān)控系統(tǒng)的識(shí)別。因此需要優(yōu)化語(yǔ)音識(shí)別算法,以提高監(jiān)控模塊適應(yīng)周圍環(huán)境的能力,提升系統(tǒng)監(jiān)控的準(zhǔn)確性[8-10]。
本文采用Stc10L08xe,設(shè)計(jì)了基于語(yǔ)音監(jiān)測(cè)的車內(nèi)報(bào)警系統(tǒng)。系統(tǒng)測(cè)試結(jié)果表明,該系統(tǒng)能夠較準(zhǔn)確地監(jiān)測(cè)出車內(nèi)人員發(fā)出的求救聲,并執(zhí)行相應(yīng)的報(bào)警動(dòng)作,各個(gè)模塊工作穩(wěn)定,達(dá)到了設(shè)計(jì)要求。在測(cè)試過程中發(fā)現(xiàn),本系統(tǒng)易受環(huán)境狀況的影響。因此,嘗試消除環(huán)境因素對(duì)系統(tǒng)產(chǎn)生的影響將是未來工作的重點(diǎn)。本設(shè)計(jì)是結(jié)合當(dāng)前社會(huì)兒童因誤鎖而產(chǎn)生的人身傷害問題,將語(yǔ)音識(shí)別技術(shù)應(yīng)用到車載智能化系統(tǒng)的一次有益嘗試,希望將來能夠成熟地應(yīng)用于各車載系統(tǒng)內(nèi)部,以防止因誤鎖兒童于車內(nèi)而產(chǎn)生的人身傷害。
參考文獻(xiàn):
[1] 靳祖光,陳超,唐堅(jiān).一種室內(nèi)導(dǎo)盲機(jī)器人的RFID-語(yǔ)音交互系統(tǒng)設(shè)計(jì)[J].自動(dòng)化儀表,2014,35(3):73-76.
[2] 陳喜春.基于LD3320語(yǔ)音識(shí)別專用芯片實(shí)現(xiàn)的語(yǔ)音控制[J].電子技術(shù),2011,38(11):20-21.
[3] 李超.聲音識(shí)別傳感器設(shè)計(jì)與應(yīng)用[J].傳感器與微系統(tǒng),2014,33(12):51-53.
[4] 王山海,景新幸,楊海燕.基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的孤立詞語(yǔ)音識(shí)別的研究[J].計(jì)算機(jī)應(yīng)用研究,2015,32(8):2289-2298.
[5] 曹會(huì)平,葉明,吳哲.基于GPS和GSM智能車鎖控制單元的研究[J].儀器儀表用戶,2012(1):1-4.
[6] 葉丹霞,王家禮.GSM模塊TC35及在遠(yuǎn)程監(jiān)控系統(tǒng)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2005(5):62-67.
[7] 張文林,牛銅,屈丹,等.基于聲學(xué)特征空間非線性結(jié)構(gòu)的語(yǔ)言識(shí)別聲學(xué)模型[J].自動(dòng)化學(xué)報(bào),2015,41(5):1024-1033.
[8] 王山海,景新幸,楊海燕.基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的孤立詞語(yǔ)音識(shí)別研究[J].計(jì)算應(yīng)用研究,2015,32(8):2289-2291.
[9] 郭紅霞.基于GSM模塊TC35i的收發(fā)短信的無(wú)線終端的設(shè)計(jì)[D].成都:西南石油學(xué)院,2004.
[10]劉曉宇.基于神經(jīng)網(wǎng)絡(luò)的聲音識(shí)別算法研究[D].北京:北京郵電大學(xué),2014.
[11]劉榮輝.基于智能家居控制的嵌入式語(yǔ)音識(shí)別系統(tǒng)研究[D].廣州:廣東工業(yè)大學(xué),2013