王桂君 ,蔣 蓁
(1.上海大學(xué)機電工程與自動化學(xué)院,上海 200444;2.上海飛機制造有限公司,上海 200443)
隨著社會的發(fā)展,家居安全越來越受到人們的重視。在種類繁多的家居智能安全產(chǎn)品中,一款可靠、穩(wěn)定、功能強大的家居安全設(shè)備正快速地成為當今人們的必需品。文獻[1]~文獻[2]采用ZigBee模塊組或全球移動通信系統(tǒng)(global system for mobile communications,GSM)移動網(wǎng)絡(luò),通過中文短消息的形式,及時把報警情況發(fā)送至用戶的手機屏幕,并發(fā)出聲音報警。但系統(tǒng)的可擴展性以及互聯(lián)網(wǎng)的優(yōu)勢沒有發(fā)揮出來。文獻[3]~ 文獻[5]利用兩個麥克風(fēng)進行多聲源分離和二維平面定位,提出了一種基于雙麥克風(fēng)的室內(nèi)語音分離與聲源定位系統(tǒng),可是沒有將報警信號實時傳送到遠程端。所以基于聲源定位的室內(nèi)安防監(jiān)測系統(tǒng)的應(yīng)用前景十分廣闊,涉及的應(yīng)用場所也越來越多。其在家庭安防中必將發(fā)揮聲源定位的優(yōu)勢。
本文設(shè)計方案是以STM32為主處理器和51單片機為輔助處理器[6-7]的組合方式;系統(tǒng)整體分為防盜門監(jiān)控模塊和搭載攝像頭的聲源定位模塊兩部分。其系統(tǒng)總體框圖如圖1所示。從圖1可以看出,STM32核心控制模塊主要包括麥克風(fēng)陣列聲音采集模塊、攝像頭模塊、TF卡模塊和舵機模塊等部分。51單片機模塊主要包括聲光報警模塊和WiFi傳輸模塊等。51單片機和STM32模塊通過總線方式進行數(shù)據(jù)或命令的傳輸。

圖1 系統(tǒng)總體框圖
系統(tǒng)實現(xiàn)思路如下:防盜門監(jiān)測裝置端采用51單片機對WiFi模塊、聲光報警模塊和光電對管傳感器進行控制,實現(xiàn)對防盜門安全信息的實時采集;有異常狀況時即刻進行聲光報警,并通過WiFi模塊將預(yù)先編輯好的危險信息發(fā)送到手機。
搭載攝像頭的聲源定位模塊則通過防盜門監(jiān)測模塊的繼電器進行實時控制。如果防盜門監(jiān)測裝置端感測到危險信號,則立即通過繼電器接通搭載攝像頭的聲源定位裝置端的電源,啟動STM32。STM32借助直接存儲器訪問(direct menory access,DMA)的方式來一次控制多路模擬/數(shù)字(analog/digital,A/D)的數(shù)據(jù)采集。通過STM32內(nèi)部的A/D轉(zhuǎn)換模塊實時采集麥克風(fēng)傳聲器的變化值,將采集到的數(shù)據(jù)先進行語音信號預(yù)處理,得到可以使用的信號段;然后通過時延估計算法進行危險聲源定位。根據(jù)定位的方位角及時調(diào)整攝像頭所對準的方向并進行拍照,然后將拍攝的照片以截取屏幕的方式保存在TF卡中,便于后期查看。
系統(tǒng)硬件主要包括聲源定位攝像頭端的電路設(shè)計和門禁檢測裝置端的電路設(shè)計。聲源定位攝像頭端的設(shè)計包括聲源定位裝置的硬件設(shè)計、攝像頭部分的硬件設(shè)計、圖像存儲部分的硬件設(shè)計。門禁檢測裝置端的硬件設(shè)計包括無線通信模塊的設(shè)計、防盜門狀態(tài)檢測裝置的選擇、聲光報警模塊的設(shè)計以及繼電器控制模塊的設(shè)計。其中,聲源定位攝像頭端的麥克風(fēng)陣列設(shè)計又包括麥克風(fēng)陣列傳聲器的選擇、麥克風(fēng)傳聲器語音信號的采集、采集語音信號調(diào)理電路設(shè)計和麥克風(fēng)傳聲器模擬信號/數(shù)字信號轉(zhuǎn)換電路的設(shè)計。本文著重介紹聲源定位傳感器模塊硬件設(shè)計。
①麥克風(fēng)陣列硬件設(shè)計。
麥克風(fēng)陣列的硬件設(shè)計好壞直接影響了整個系統(tǒng)的性能。為了實現(xiàn)對語音信號的采集和調(diào)理,本文所設(shè)計的聲音傳感器模塊采用音頻處理芯片LM386和LM393[8]。其中:LM386針對模擬的語音信號進行語音處理;LM386是音頻集成功放器件,它的功耗很低,而且增益可以大范圍調(diào)節(jié)。
駐極體電容傳聲器模擬信號處理電路如圖2所示。另外,LM393針對數(shù)字量的閾值設(shè)定的語音信號進行語音處理,不會受到VCC端的電壓值限制。當負載電阻沒有被運用時,它的輸出能夠作為簡單的對地開路,而且LM393輸出的電壓將會快速提高。駐極體電容傳聲器數(shù)字信號處理電路如圖3所示。

圖2 駐極體電容傳聲器模擬信號處理電路

圖3 駐極體電容傳聲器數(shù)字信號處理電路
2.2.1 STM32與51單片機交互通信模塊
STM32與51單片機交互通信模塊如圖4所示。從圖4可以看出,系統(tǒng)采用中斷觸發(fā)、總線傳送的方式,51單片機可以通過P1~P2的端口向STM32發(fā)送中斷請求,STM32將數(shù)據(jù)發(fā)送到PA端口上,然后51單片機可以通過讀端口的方式將數(shù)據(jù)發(fā)送到單片機中。

圖4 STM32與51單片機交互通信模塊
2.2.2 手機端與51通信模塊
防盜門監(jiān)測裝置端需要具有高優(yōu)先級,在有異常狀況時可以進行聲光報警,并將危險信息及時發(fā)送到手機上。ESP8266模塊[9]與51單片機接線圖如圖5所示。其中,51單片機通信接口采用串口的方式與ESP8266進行連接。這樣,手機就可以通過連接ESP8266預(yù)設(shè)的IP地址和端口進行SOCKET遠程通信,及時獲取家居報警信息。

圖5 ESP8266模塊與51單片機接線圖
系統(tǒng)軟件設(shè)計主要由聲源定位攝像頭端的軟件設(shè)計和防盜門監(jiān)測裝置端兩部分程序構(gòu)成。聲源定位攝像頭端的軟件設(shè)計包括了聲源定位裝置的程序設(shè)計、攝像頭部分的程序設(shè)計、液晶屏顯示模塊程序設(shè)計以及圖像存儲部分的程序設(shè)計。防盜門監(jiān)測裝置端的軟件設(shè)計主要就是無線通信模塊的程序設(shè)計。
聲源定位軟件主要包括麥克風(fēng)陣列的聲音信號采集、基于時延估計算法的定位、控制舵機旋轉(zhuǎn)、攝像頭采集、TFT屏顯示以及SD卡截取圖像等功能[10]。聲源定位攝像頭端的程序設(shè)計流程如圖6所示。從圖6可以看出,首先系統(tǒng)進行硬件的初始化,等待是否有危險信號。如果有危險信號,則啟動麥克風(fēng)進行數(shù)據(jù)采集,并通過試驗估計算法進行判斷聲音的來源和位置,并發(fā)送相應(yīng)指令給舵機;通過舵機的旋轉(zhuǎn)到達指定位置啟動攝像頭并進行拍照。

圖6 聲源定位攝像頭端的程序設(shè)計流程圖
聲源定位裝置端的準確性主要靠算法實現(xiàn)。時延估計算法的程序設(shè)計流程如圖7所示。

圖7 時延估計算法的程序設(shè)計流程圖
首先通過麥克風(fēng)傳聲器采樣得到模擬量,然后經(jīng)過STM32的A/D轉(zhuǎn)化得到數(shù)字量。最后,利用定時器來產(chǎn)生很短的定時間隔,提供給A/D轉(zhuǎn)換器進行定時采樣,將采樣轉(zhuǎn)化得到的數(shù)據(jù)不斷存放到一個數(shù)組中。因為外界聲音的大小在不斷產(chǎn)生著變化,在任何一段時間之內(nèi)肯定會存在這段聲音信號中的一個最大值。通過冒泡法判斷找出兩個數(shù)組中元素最大值所在的位置,進而可以根據(jù)兩個數(shù)組中最大值元素在數(shù)組中的位置差乘以采樣間隔就是想要得到的時延。得到時延后,就可以進一步算出聲源的方位。
對聲源定位系統(tǒng)的麥克風(fēng)陣列定位、信號處理后的數(shù)據(jù)進行測試。首先,進行模擬偷竊者發(fā)聲,麥克風(fēng)傳聲器陣列A、B獲取的聲音信號與波形進行采集。然后,為了判斷硬件設(shè)備檢測的準確性,對波形的有效性進行驗證。
聲音傳感器接收到的語音波形如圖8所示。

圖8 聲音傳感器接收到的語音波形
從圖8可以看出,兩個聲音傳感器檢測到的語音信號波形幾乎是同步的,所以可以驗證發(fā)聲時聲源定位是有效的。
本文設(shè)計了基于聲源定位的室內(nèi)安防監(jiān)測系統(tǒng)。系統(tǒng)可以對麥克風(fēng)傳聲器采集到的語音信號進行預(yù)處理,采用一維麥克風(fēng)陣列下的時延估計算法來進行聲源定位;根據(jù)聲源位置控制舵機和攝像頭,將信息傳送到遠程端。實際測試結(jié)果表明,該系統(tǒng)能夠快速識別聲源定位,在智能家居時代具有很高的實際應(yīng)用價值。