吳修振 馮慧鳳 孫 燁 祁亞輝 閆 實(shí)
(1.海軍航空大學(xué) 煙臺 264000)(2.91428部隊(duì) 寧波 315456)
在當(dāng)今人們的生活中,定位技術(shù)無處不在。在室外,人們通過GPS、北斗等室外定位技術(shù)來獲得準(zhǔn)確位置信息,實(shí)現(xiàn)汽車、人員導(dǎo)航。而近幾年,隨著物聯(lián)網(wǎng)產(chǎn)業(yè)的發(fā)展,室內(nèi)定位也逐漸成為剛需,尤其對于室內(nèi)機(jī)器人應(yīng)用來講,首要解決的問題就是機(jī)器人的定位問題。
目前常見的室內(nèi)移動機(jī)器人定位技術(shù)有光跟蹤定位技術(shù)、藍(lán)牙定位技術(shù)、RFID 定位技術(shù)、WiFi定位技術(shù)等[1~7]。其中光跟蹤技術(shù)要求探測器和跟蹤目標(biāo)之間可視,故而光跟蹤技術(shù)的應(yīng)用受限;藍(lán)牙技術(shù)所需的設(shè)備體積小,易于集成在PDA、PC 以及手機(jī)中,但它在復(fù)雜的環(huán)境中穩(wěn)定性差,覆蓋范圍?。籖FID 定位技術(shù)即射頻識別技術(shù),是一種無需直接接觸地識別技術(shù),具有非視距傳輸、識別速度快等特點(diǎn),但是其通信能力較弱,定位誤差大,系統(tǒng)部署復(fù)雜,容易受到環(huán)境影響等;WiFi 定位可以實(shí)現(xiàn)復(fù)雜的大范圍定位,方便組網(wǎng),很容易架設(shè)在現(xiàn)有的無線WiFi 網(wǎng)絡(luò),但WiFi 定位存在同頻干擾問題,系統(tǒng)會相互影響。
針對室內(nèi)機(jī)器人的定位問題,本文提出了一種基于聲波信號的室內(nèi)定位方法,核心設(shè)備為麥克風(fēng)、聲源以及單片機(jī)數(shù)據(jù)處理系統(tǒng),特點(diǎn)是成本低,具有一定的應(yīng)用前景?;诼暡ㄐ盘柕氖覂?nèi)定位方法基本原理是:當(dāng)同一個聲源發(fā)出特定聲音信號時,聲音信號會在空氣中按照聲速沿著各個方向進(jìn)行傳播,安裝在不同位置的麥克風(fēng)傳感器接收到這個聲音信號,不同麥克風(fēng)接收的聲音信號必然存在著相關(guān)性。因此,通過計算不同的麥克風(fēng)在接收到同一個聲源的聲音信號之間的相關(guān)系數(shù),就可以得出聲音信號到達(dá)麥克風(fēng)的時間差,有了時間差就有了距離信息[8~12]。
本文首先推導(dǎo)基于快速傅里葉變換FFT(Fast Fourier Transform)求解兩個信號相關(guān)系數(shù)的原理,然后闡述利用互相關(guān)系數(shù)確定聲源方位和位置的具體實(shí)現(xiàn)方法,最后對FFT求解互相關(guān)系數(shù)的過程進(jìn)行了仿真,并搭建單片機(jī)系統(tǒng)對提出的基于聲波信號的室內(nèi)定位方法進(jìn)行實(shí)現(xiàn)。
假設(shè)聲源發(fā)出的Chrip 信號為s(t),兩個麥克風(fēng)接收到的信號分別為x1(t)和x2(t)。則信號x1(t)和x2(t)滿足:
其中,S1和S2是發(fā)射信號的幅度參量,n1(t) 和n2(t)是噪聲信號,τ1和τ2是信號傳輸?shù)臅r延,并且τ1≤τ2,以x1(t)為標(biāo)準(zhǔn)進(jìn)行歸一化,式(1)可以轉(zhuǎn)換為
對式(2)進(jìn)行離散變換為
其中,λ=S1S2,D=τ2-τ1,前者表示兩個信號的幅值之比,后者表示所求得時延值。x1(t)和x2(t)的互相關(guān)函數(shù)為
假設(shè)n1(t)和n2(t)是獨(dú)立于信源發(fā)射信號s(t)的高斯白噪聲,且互不相關(guān),則信號s(t)與兩個噪聲n1(t)和n2(t)的互相關(guān)函數(shù)是:
兩個噪聲之間的互相關(guān)函數(shù)是:
由自相關(guān)函數(shù)|Rss(τ) |≤Rss(0) 的主要特征和基本性質(zhì)我們可以得知,當(dāng)τ=D時,Rss(τ-D)最大,即R12(τ) 也達(dá)到最大。因此,求得R12(τ)峰值對應(yīng)的τ,就是兩個接收信號之間的諧波頻率和信號時延。
根據(jù)維納—辛欽定理可知,互相關(guān)函數(shù)與其互功率譜密度互為傅里葉變換對,則x2(t)和x1(t)的互相關(guān)函數(shù)又可以表示為
其中,G12(ω)是x1(t)和x2(t)的互功率譜函數(shù)。當(dāng)x1(t)和x2(t)經(jīng)過濾波后,輸出信號的互功率譜函數(shù)可以寫為
其中,H1和H2表示濾波函數(shù),H2*(ω)表示H2(ω)取共軛。所以,信號x1(t)和x2(t)的廣義互相關(guān)函數(shù)可表示為
其中,Ψ12(ω)代表了廣義頻域的加權(quán)分量。
廣義互相關(guān)時延估計算法流程,如圖1 所示,圖中()*表示取共軛運(yùn)算。
圖1 廣義互相關(guān)時延估計算法流程
在基于廣義互相關(guān)時延估計的算法工作流程中,先對兩個頻段之間的接受信號分別做一個快速傅里葉變換FFT(Fast Fourier Transform),然后計算它們的互相關(guān)功率譜,在頻域上對接受信號的互相關(guān)功率譜G12(ω)函數(shù)進(jìn)行加權(quán)運(yùn)算,然后進(jìn)行逆快速傅里葉變換IFFT,最后進(jìn)行峰值檢測,求得兩個麥克風(fēng)檢測到的聲音信號的時間差,也就得到了兩個麥克風(fēng)到聲源的距離差。
如圖2 所示,建立平面直角坐標(biāo)系OXY,4 個麥克風(fēng)編號①②③④,以固定間距成正方形分布,以坐標(biāo)軸OX、OY 以及四個麥克風(fēng)對角連線,可將平面劃分成八個象限,順時針依次為+1、+2、+3、+4、-4、-3、-2、-1。
圖2 定位示意圖
用max12 表示①號麥克風(fēng)接收到的聲波信號和②號麥克風(fēng)接收到的聲波信號通過互相關(guān)計算得到的采樣周期差。max12 的正負(fù)可以確定聲源位于OX 軸的上方還是下方,如果為正,聲源位于OX軸的上方,如果為負(fù),聲源位于OX軸的下方,這樣,通過兩個麥克風(fēng)信號的互相關(guān)系數(shù)可以把聲源的方位劃分為兩個象限,同理,再通過max23、max13、max24可以把聲源劃分為八個象限。
確定了聲源的方位以后,下一步就是確定聲源的位置。通過max12 和信號采樣頻率就可得到聲源距離①號和②號麥克風(fēng)的距離,距離兩個定點(diǎn)一定距離的軌跡是雙曲線,聲源一定在雙曲線上,因此通過max12可以確定聲源的一個雙曲線軌跡(圖2綠色軌跡),再通過max23的值又可以確定一個聲源的雙曲線軌跡(圖2 紅色軌跡),兩個雙曲線相交可得到四個交點(diǎn),通過前面得到的聲源的象限可以確定這四個交點(diǎn)哪一個代表了聲源的位置,通過求取交點(diǎn)的坐標(biāo)就可以得到聲源相對麥克風(fēng)的位置坐標(biāo),根據(jù)坐標(biāo)相對性原理,有了聲源的位置坐標(biāo),就可以得到麥克風(fēng)相對聲源的位置坐標(biāo)。
坐標(biāo)定位精度與麥克風(fēng)采樣頻率有關(guān),假設(shè)采樣頻率是10kHz,聲速為340m/s,則一個周期代表的距離是3.4cm,即麥克風(fēng)測量的分辨率為3.4cm,那么定位精度也為3.4cm。
用Matlab 以采樣頻率10kHz、幅值為1 生成兩個Chrip 信號,如圖3 所示,兩個Chrip 信號相差的周期數(shù)為800。
圖3 chrip信號
利用快速傅利葉變換FFT 求解兩個Chrip 信號的互相關(guān)系數(shù),如圖4所示。
通過圖4 可知,當(dāng)周期數(shù)為800 時,兩個Chrip信號的互相關(guān)系數(shù)達(dá)到最大值,即兩個信號相差800 個采樣周期,這與生成信號時的設(shè)定是吻合的,通過仿真結(jié)果可知,利用FFT 求解兩個信號的互相關(guān)系數(shù)是可行的。
4.2.1 試驗(yàn)設(shè)備
搭建單片機(jī)系統(tǒng)基于C 語言實(shí)現(xiàn)提出的基于聲波信號的定位方法,搭建的單片機(jī)主板PCB如圖5所示。
四個麥克風(fēng)的布局如圖6所示。
圖6 麥克風(fēng)布局
4.2.2 試驗(yàn)過程
Step1:對實(shí)驗(yàn)系統(tǒng)進(jìn)行搭建,選用四個麥克風(fēng),進(jìn)行編號①②③④,與PCB板相連,然后通過支架將它們固定成一個正方形,每組兩個麥克風(fēng)之間的距離是25cm,見圖6,選用的聲源是聲波發(fā)生器,可以持續(xù)不斷的發(fā)出Chrip聲音信號。
Step2:啟動聲波發(fā)生器,運(yùn)行單片機(jī)程序在線進(jìn)行調(diào)試,采集四個麥克風(fēng)的聲波信號數(shù)據(jù),進(jìn)行AD 轉(zhuǎn)換,然后通過快速傅利葉變換FFT 求解四組互相關(guān)系數(shù)max12、max23、max13、max24,依據(jù)互相關(guān)系數(shù)確定聲源的象限,對比麥克風(fēng)與聲源實(shí)際的位置關(guān)系,判斷單片機(jī)輸出的象限結(jié)果是否正確,并且輸出聲源的位置坐標(biāo)。
Step3:通過平移和旋轉(zhuǎn)改變麥克風(fēng)陣列的位置,多次記錄單片機(jī)的輸出結(jié)果。
Step4:統(tǒng)計數(shù)據(jù),得到最終的實(shí)驗(yàn)結(jié)果。
4.2.3 實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)過程中數(shù)據(jù)顯示的界面如圖7所示。
圖7 數(shù)據(jù)顯示界面
將麥克風(fēng)陣列沿順時針繞聲源進(jìn)行旋轉(zhuǎn),多次繞圈100 次,理論上是每個象限出現(xiàn)的次數(shù)是一樣的,在實(shí)驗(yàn)次數(shù)足夠多的情況下,各個象限出現(xiàn)的次數(shù)應(yīng)該都是12.5%左右。將每一次象限變化的數(shù)值以及定位信息都記錄下來,結(jié)果如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)
通過表1 可知,每個象限出現(xiàn)的概率基本為八分之一,象限的確定是準(zhǔn)確的,因此利用聲波信號進(jìn)行定位時聲源的方位信息可以準(zhǔn)確得到。定位精度也達(dá)到了設(shè)計要求,定位精度在3.4cm 左右,與理論分析一致。
通過仿真和實(shí)驗(yàn)驗(yàn)證,本文設(shè)計的基于聲波信號的室內(nèi)定位方法有效可行,達(dá)到了厘米級的定位精度,有效解決了室內(nèi)移動機(jī)器人的定位問題,該方法已成功應(yīng)用在全國大學(xué)生智能車競賽中,取得了良好的效果。從實(shí)驗(yàn)和具體應(yīng)用過程來看,由于環(huán)境中噪聲的干擾,基于聲波信號的定位方法的穩(wěn)定性和魯棒性還需要進(jìn)一步提高和優(yōu)化。