齊 恒 彭林寧 姜 禹 胡愛群
(東南大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,南京,211189)
定位技術(shù)已被廣泛應(yīng)用于生活中,其中應(yīng)用最為廣泛的是GPS定位。但是GPS信號(hào)無(wú)法在室內(nèi)接收,不適合用作室內(nèi)場(chǎng)景中定位的技術(shù)。因此,室內(nèi)定位技術(shù)成為了研究的熱點(diǎn)?,F(xiàn)階段有許多適合室內(nèi)定位的方案,例如基于WIFI、可見光和藍(lán)牙的定位技術(shù)[1-5],這些技術(shù)大部分依據(jù)接收信號(hào)的強(qiáng)度或推算接收信號(hào)的到達(dá)角度,從而進(jìn)一步實(shí)現(xiàn)室內(nèi)位置的估算,其定位的準(zhǔn)確性較低。此外,有研究使用超寬帶(Ultra-wideband,UWB)等無(wú)線信號(hào)進(jìn)行基于信號(hào)到達(dá)時(shí)間(Time of arrival,TOA)和到達(dá)角度(Angle of arrival,AOA)的室內(nèi)定位[6]。也有文獻(xiàn)提出了使用接收信號(hào)強(qiáng)度比較(Receive signal strength compare,RSSC)來(lái)定位[7]。然而,由于無(wú)線電信號(hào)的傳播速度非???,實(shí)現(xiàn)基于無(wú)線信號(hào)TOA的室內(nèi)定位方案需要較高的成本。基于無(wú)線信號(hào)AOA的定位方案受不同天線及接收通道射頻器件偏差的影響較大,其實(shí)際定位的精度并不高。
超聲波定位也是可以采用的室內(nèi)定位的方案之一。Bat系統(tǒng)是較為著名的超聲波室內(nèi)定位系統(tǒng)之一[8]。Bat系統(tǒng)使用行時(shí)間(Time of flight,TOF)方法可以對(duì)空間內(nèi)目標(biāo)進(jìn)行三維的定位。Bat系統(tǒng)通過一個(gè)超聲波發(fā)射設(shè)備發(fā)射超聲波,由安裝在天花板上的接收機(jī)接收。幾個(gè)接收機(jī)將數(shù)據(jù)傳入計(jì)算機(jī)計(jì)算出發(fā)射設(shè)備位置。Cricket系統(tǒng)也是使用了基于到達(dá)時(shí)間差(Time difference of arrival,TDOA)的定位技術(shù)[9]。這一系統(tǒng)精度很高,可以達(dá)到1~2 cm。之后的一些定位方案在定位基礎(chǔ)上對(duì)系統(tǒng)跟蹤目標(biāo)的能力做了一些優(yōu)化。有文獻(xiàn)提出了一種在二維平面上定位的方案[10]。其定位方法基于TDOA原理,通過卡爾曼濾波原理在追蹤目標(biāo)方面進(jìn)行優(yōu)化。另外,在三維空間中的定位方案[11]中,有研究采用了Taylor展開法以及卡爾曼濾波來(lái)實(shí)現(xiàn)定位。這些超聲波定位方案的成本大多偏高,而且基本都需要定制硬件,不太適合使用普通的終端,如智能手機(jī)等自帶音頻麥克風(fēng)的設(shè)備接收信號(hào)。因此,在實(shí)際應(yīng)用推廣上具有一定的難度。
基于以上超聲波定位系統(tǒng)的缺點(diǎn),設(shè)計(jì)了一種臨近聽域超聲波的室內(nèi)定位系統(tǒng)。該定位系統(tǒng)使用普通高音喇叭發(fā)射超聲波信號(hào),由手機(jī)的麥克風(fēng)接收超聲波信號(hào)并進(jìn)行離線的位置估算。使用普通的高音喇叭發(fā)射大于20 kHz的超聲波信號(hào),將極大地降低基于超聲波室內(nèi)定位系統(tǒng)的實(shí)現(xiàn)成本?;诒菊撐奶岢龅牡统杀径ㄎ粚?shí)現(xiàn)構(gòu)想,設(shè)計(jì)了具體的硬件實(shí)現(xiàn)方案。首先,在發(fā)射端,利用偽隨機(jī)碼的正交性來(lái)區(qū)分不同高音喇叭的超聲波。在接收端,設(shè)計(jì)了基于FFT的頻域搜索算法得到各路超聲波信號(hào)的到達(dá)時(shí)間并計(jì)算時(shí)間差。最后應(yīng)用一種修正的秩-1擬牛頓算法[12]得到目標(biāo)位置的估計(jì)并和經(jīng)典的CHAN算法進(jìn)行了比較。仿真和實(shí)驗(yàn)結(jié)果表明,在有3個(gè)發(fā)射機(jī)的情況下,使用修正秩-1擬牛頓法所得目標(biāo)位置估計(jì)精度與CHAN算法[13]基本相同。
圖1 基于TDOA的定位模型Fig.1 Model of positioning based on TDOA
如圖1所示,將發(fā)射信號(hào)的發(fā)射機(jī)稱作基站(Base station,BS),而接收信號(hào)的設(shè)備稱為移動(dòng)站(Mobile station,MS)。保持BS同步, 使幾個(gè)BS同時(shí)發(fā)出超聲波信號(hào)。由幾個(gè)信號(hào)到達(dá)MS的時(shí)間差可以計(jì)算出MS的位置。在實(shí)際系統(tǒng)中,可以使用碼分多址技術(shù)來(lái)區(qū)分幾個(gè)BS發(fā)射的信號(hào)。通過與BS發(fā)射信號(hào)的同步,即可得到不同信號(hào)的到達(dá)時(shí)間差,從而得到不同BS到MS的距離之差,即
Ri,1=vti,1=Ri-R1
(1)
式中ti,1是編號(hào)為i的BS發(fā)射信號(hào)到達(dá)時(shí)間與編號(hào)為1的BS所發(fā)射信號(hào)到達(dá)時(shí)間之差,且有
(2)
式中:(Xi,Yi)是編號(hào)為i的BS的坐標(biāo),(x,y)是MS的坐標(biāo)。
在本系統(tǒng)中,將一種修正秩-1擬牛頓法應(yīng)用于基于TDOA的目標(biāo)位置估計(jì)中。文獻(xiàn)[14]介紹了一種適用牛頓法的模型,這一模型同樣適用實(shí)驗(yàn)。對(duì)于TDOA估計(jì)值的關(guān)系可以表示為
d=Gr+n
(3)
式中:d=[R2,1,R3,1,…,RM,1]T,G的第1列是全為-1的(M-1)×1的列向量,G中其余部分為(M-1)×(M-1)的單位矩陣,組成的整個(gè)矩陣為(M-1)×M矩陣,r=[R1,R2,…,RM]T,n=[n2,1,n3,1,…,nM,1]T即TDOA測(cè)量誤差。由最大似然估計(jì),可以確定目標(biāo)函數(shù)為
minf(X)=(Gr-d)TQ-1(Gr-d)
(4)
可以確定目標(biāo)函數(shù)的梯度矩陣
(5)
其中X=[x,y]T。為模擬Hesse矩陣性能,修正秩-1擬牛頓法所討論的校正公式為
(6)
修正秩-1擬牛頓法解決了一般對(duì)稱秩-1擬牛頓法Hk+1可能不是正定矩陣的問題。用迭代公式
xk+1=xk+αkdk
(7)
在實(shí)際使用時(shí)需先確定幾個(gè)迭代初始條件。H1可使用單位矩陣,初始步長(zhǎng)αk=0.15,迭代終止條件即誤差容限為10-3。這1組參數(shù)可能不是性能最好的1組參數(shù),但足夠得到結(jié)果。在實(shí)驗(yàn)中嘗試了幾組參數(shù),初始步長(zhǎng)在0.15~0.75間取5組,誤差容限取10-2,10-3和10-4。從實(shí)驗(yàn)結(jié)果來(lái)看,初始步長(zhǎng)取0.6時(shí)可以取得較少的迭代次數(shù)。誤差容限越小,迭代次數(shù)越多,但誤差容限對(duì)結(jié)果的影響較小,仿真實(shí)驗(yàn)中誤差容限選擇10-3和10-4對(duì)結(jié)果精度并不造成太大影響,故選擇誤差容限為10-3。
考慮到實(shí)驗(yàn)中使用的是普通的高音喇叭,接收端使用的是普通手機(jī)麥克風(fēng),由于手機(jī)麥克風(fēng)的最高采樣率一般為48 kHz,為了能夠順利接收高音喇叭發(fā)射的超聲波信號(hào),調(diào)制信號(hào)的超聲波頻率設(shè)置為20~22 kHz。實(shí)驗(yàn)中利用偽隨機(jī)碼的正交性來(lái)區(qū)別3個(gè)BS發(fā)射的信號(hào)??紤]到之前的帶寬要求,使用511位且速率為511 bit/s的m序列,生成m序列的方法如圖2所示。比較適合超聲波信號(hào)的調(diào)制方式是二進(jìn)制通斷鍵控(On-off keying, OOK)調(diào)制或幅度調(diào)制。同文獻(xiàn)[11]情況類似,這里沒有使用BPSK調(diào)制,因?yàn)樗褂玫膭?dòng)圈式喇叭是利用振膜的振動(dòng)發(fā)出超聲波,設(shè)備可能無(wú)法實(shí)現(xiàn)相位的瞬變。OOK調(diào)制的載波頻率設(shè)置為20 951 Hz,即碼速率的整數(shù)倍。因此,超聲波信號(hào)實(shí)際帶寬為20 440~21 462 Hz。OOK調(diào)制后信號(hào)的旁瓣比較高,設(shè)計(jì)了五階Butterworth帶通濾波器進(jìn)行濾波,濾波后信號(hào)即為可用于定位的信號(hào)。
接收端接收到3個(gè)BS發(fā)射的超聲波后需要對(duì)超聲波信號(hào)進(jìn)行同步。使用廣泛應(yīng)用于GPS軟件接收機(jī)[15,16]的基于FFT的頻域搜索算法來(lái)同步信號(hào),這是一種能夠較為快速地得到信號(hào)相關(guān)峰的算法,基于FFT頻域搜索算法可以表示為
Rm=xn?C-n=F-1(F(x(n))F(Cn)*)
(8)
式中:x(n)為解調(diào)后的信號(hào),C(n)為本地二進(jìn)制偽隨機(jī)碼。計(jì)算所得R(m)中峰值(即相關(guān)峰的值)對(duì)應(yīng)的采樣點(diǎn)序號(hào)一般就是接收端從開始接收超聲波到信號(hào)到達(dá)這一段時(shí)間內(nèi)的采樣點(diǎn)個(gè)數(shù),該算法也可以用圖3表示。
圖3 基于FFT的頻域搜索算法 Fig.3 Frequency domain block diagram based on FFT search
由于BS發(fā)射系統(tǒng)和MS接收系統(tǒng)的時(shí)鐘不同步,將有可能產(chǎn)生時(shí)鐘的偏差,從而使得接收的信號(hào)產(chǎn)生頻偏。此外,在接收信號(hào)的過程中,如果MS發(fā)生了移動(dòng),也有可能由多普勒效應(yīng)產(chǎn)生額外的頻偏。因此,超聲波接收系統(tǒng)還需要進(jìn)行頻偏估計(jì)。對(duì)于接收信號(hào)殘存的頻偏可以使用頻率搜索法進(jìn)行估計(jì)。設(shè)定好搜索粒度和范圍,不斷地改變本地載波的頻率,再進(jìn)行式(8)的運(yùn)算,使得R(m)的峰值達(dá)到可接受的范圍。這里R(m)的峰值可接受的閾值可以在實(shí)踐中找一個(gè)合理的值。在同步時(shí),如果輸入信號(hào)和本地載波的相位差較大,也有可能無(wú)法得到正確的相關(guān)峰,這里使用相位搜索的方法來(lái)解決這一問題。相位搜索與頻率搜索方法相差不多,是通過改變本地載波的相位來(lái)得到較好的相關(guān)峰。
在使用3個(gè)BS的條件下,對(duì)應(yīng)用了修正秩-1擬牛頓法的定位算法進(jìn)行了仿真。對(duì)經(jīng)典的CHAN算法也做了仿真并比較了兩種算法在精度方面的性能。仿真實(shí)驗(yàn)中使用蒙特卡洛方法來(lái)判斷算法的性能。在仿真實(shí)驗(yàn)中,設(shè)想一個(gè)7 m×7 m的定位場(chǎng)景并假設(shè)測(cè)量誤差的標(biāo)準(zhǔn)差從1 cm到11 cm。在仿真算法中發(fā)現(xiàn),當(dāng)選取的BS坐標(biāo)絕對(duì)數(shù)值過大時(shí),有可能因?yàn)槌跏键c(diǎn)坐標(biāo)位置的選取影響到算法的快速收斂。在實(shí)際實(shí)驗(yàn)中,如果BS坐標(biāo)系過大,可以按倍率縮小其坐標(biāo)的絕對(duì)數(shù)值。通過仿真實(shí)驗(yàn)發(fā)現(xiàn),這樣的預(yù)處理基本不會(huì)影響到最終結(jié)果的精度。在仿真實(shí)驗(yàn)中,每次在每個(gè)測(cè)量誤差的標(biāo)準(zhǔn)差下生成1 000個(gè)隨機(jī)點(diǎn),通過定位算法估計(jì)出該點(diǎn)位置并計(jì)算其位置的RMSE。其測(cè)量誤差標(biāo)準(zhǔn)差與估計(jì)位置RMSE的關(guān)系如圖4所示。
由圖4可知,在3個(gè)BS的情況下,兩種算法在精確度上近似,可以滿足室內(nèi)定位的精度要求。
在實(shí)物實(shí)驗(yàn)中,由于受限于房間大小和線纜長(zhǎng)度,選取了(0, 0),(0, 322.45),(236.85, 0)這一組坐標(biāo),坐標(biāo)單位為cm。本實(shí)驗(yàn)主要使用的實(shí)驗(yàn)設(shè)備有YAMAHA RX-V375收音擴(kuò)音機(jī)(即功放)和3個(gè)喇叭。喇叭前接電容或分頻器。功放連接喇叭并控制喇叭發(fā)射信號(hào),連接方式如圖5。功放的最大發(fā)射功率調(diào)為-10 dB,此時(shí)功放的發(fā)射功率即為10 W。喇叭的放置如圖6所示。通過普通智能手機(jī)接收喇叭發(fā)出的超聲波并計(jì)算手機(jī)的位置。一共進(jìn)行了7次測(cè)量,其手機(jī)實(shí)際擺放位置和測(cè)量估計(jì)的位置結(jié)果如表1所示。
圖5 喇叭的連接 圖6 高音喇叭的位置Fig.5 Connection of tweeters Fig.6 Position of tweeters
數(shù)據(jù)編號(hào)實(shí)際位置/cm測(cè)量位置/cm1(92.10 , 161.30)(92.42 , 162.45)2(65.50 , 215.20)(62.68 , 216.74)3(157.85 , 160.25)(156.84 , 151.34)4(39.45, 54.00)(41.05 , 56.60)5(131.50 , 188.50)(135.26 , 190.94)6(52.65 , 134.80)(55.09 , 132.73)7(65.75, 115.10)(63.29 , 113.45)
由表1數(shù)據(jù)計(jì)算可得,估計(jì)位置的RMSE為3.99 cm,最大誤差8.97 cm。待定位設(shè)備與喇叭的距離會(huì)對(duì)定位精度產(chǎn)生一定影響。因?yàn)楸鞠到y(tǒng)是一個(gè)二維的定位系統(tǒng),而手機(jī)麥克風(fēng)的位置與3個(gè)喇叭不在同一平面。這樣手機(jī)麥克風(fēng)與喇叭的距離實(shí)際略高于理想狀態(tài)下的距離,如果靠近某一喇叭則會(huì)加大這一因素造成的誤差。
表2是本系統(tǒng)與其他一些系統(tǒng)的對(duì)比[10,11]。但文獻(xiàn)[17]得到的精度與表2不太相同。從表2所示各系統(tǒng)的實(shí)驗(yàn)結(jié)果來(lái)看,本系統(tǒng)精度較高,且實(shí)驗(yàn)中僅使用普通手機(jī)麥克風(fēng)接收定位信號(hào)。但本論文中的定位方案如果在更多的場(chǎng)景下或一些極限條件下做測(cè)試,實(shí)際精度可能稍低一些。如表2所示,Cricket系統(tǒng)的精度最高。成本方面,本文的實(shí)驗(yàn)中使用的功率放大器占了大多成本,在實(shí)際部署時(shí)也可不使用功放。文獻(xiàn)[2]提到了其每個(gè)接收發(fā)射設(shè)備的成本為10美元左右??紤]到其部署成本,Cricket系統(tǒng)的成本應(yīng)該比本文系統(tǒng)要高。
表2 各方案對(duì)比
本文介紹了一種基于TDOA低成本超聲波定位方法,使用高音喇叭和手機(jī)麥克風(fēng)實(shí)現(xiàn)了較高精度的定位。另外,本文還介紹了一種應(yīng)用擬牛頓法得到MS位置估計(jì)的方法。仿真和實(shí)驗(yàn)結(jié)果表明,在有3個(gè)BS的情況下,擬牛頓法和CHAN算法的精度相近。在以后的實(shí)驗(yàn)中,將考慮加入更多的BS并實(shí)現(xiàn)三維定位。