董 哲,吳 瑤,孫德輝
(北方工業(yè)大學(xué) 機(jī)電工程學(xué)院 現(xiàn)場(chǎng)總線及自動(dòng)化重點(diǎn)實(shí)驗(yàn)室,北京100144)
隨著物聯(lián)網(wǎng)的廣泛應(yīng)用,移動(dòng)定位技術(shù)成為了國(guó)內(nèi)外熱點(diǎn)研究課題之一。其中,由于GPS信號(hào)無(wú)法傳播到室內(nèi)、地下和隧道中,且易受到大樹(shù)、山脈、城市內(nèi)部高大建筑物的遮擋發(fā)生多路徑效應(yīng),從而難以應(yīng)用到室內(nèi)[1]。在室內(nèi)目標(biāo)定位和跟蹤等應(yīng)用中,無(wú)線傳感器網(wǎng)絡(luò)正好可以彌補(bǔ)GPS定位性能的局限性,并且有效應(yīng)用在智能家居、倉(cāng)儲(chǔ)管理以及安全防護(hù)等領(lǐng)域。因此對(duì)其技術(shù)的應(yīng)用要求也越來(lái)越嚴(yán)格,主要體現(xiàn)于定位精度。
在信號(hào)傳輸過(guò)程中,移動(dòng)節(jié)點(diǎn)接收到的信號(hào)強(qiáng)度會(huì)隨著距離的變化而變化,利用理論和經(jīng)驗(yàn)?zāi)P蛯鬏敁p耗轉(zhuǎn)化為節(jié)點(diǎn)間的距離。采用Log-normal Shadowing Model模型[2],公式如下
式中:d——固定節(jié)點(diǎn)到移動(dòng)節(jié)點(diǎn)的距離,Pr(d)——固定節(jié)點(diǎn)接收到的信號(hào)強(qiáng)度,d0——參考距離,Pr(d0)——移動(dòng)節(jié)點(diǎn)在距離d0時(shí)所接收到的信號(hào)強(qiáng)度。XdB——一個(gè)均值為0,方差為σdB的隨機(jī)數(shù),其中σdB為遮蔽方差,見(jiàn)表1。α為路徑損耗指數(shù),在不同的環(huán)境也會(huì)有很大的變化[3],見(jiàn)表1。
表1 不同環(huán)境下的路徑損耗及遮蔽方差
由式 (1)可以看出,當(dāng)α,σdB以及參考距離d0一定時(shí),傳播損耗10αlog(d/d0)和傳播距離d呈線性關(guān)系,由于對(duì)數(shù)函數(shù)log(d/d0)在d的逐漸增大的變化過(guò)程中漸趨于平緩,傳播損耗也隨之趨于平緩。但是在實(shí)際情況下,隨著距離d的增大,由于天線增益、反射、阻擋、多徑傳播等多種因素的影響,傳播損耗和傳播距離d之間的線性關(guān)系可能發(fā)生局部的劇烈變化,上述模型在這種情況下就會(huì)發(fā)生較大誤差,定位精度會(huì)有所降低。即便如此,由于傳感器節(jié)點(diǎn)本身具有無(wú)線通信的功能,相應(yīng)硬件設(shè)備價(jià)格較低,且功率小,近年來(lái)仍被廣泛應(yīng)用于無(wú)線傳感器網(wǎng)絡(luò)基于距離的定位技術(shù)中。
TOF測(cè)距技術(shù)也被稱(chēng)為飛行時(shí)差測(cè)距 (time of flight measurement)[4],主要靠?jī)蓚€(gè)射頻設(shè)備之間傳輸數(shù)據(jù)包,根據(jù)數(shù)據(jù)包往返的時(shí)間差,來(lái)計(jì)算移動(dòng)節(jié)點(diǎn)的距離。固定節(jié)點(diǎn)向移動(dòng)節(jié)點(diǎn)發(fā)送一個(gè)數(shù)據(jù)包,當(dāng)移動(dòng)節(jié)點(diǎn)收到時(shí)立即向固定節(jié)點(diǎn)發(fā)送一個(gè)回復(fù)響應(yīng)。
該模型公式如下
由dT=TTOF*C,其中C代表電磁波的速度,值為3*108m/s??傻?/p>
式中:dT——移動(dòng)節(jié)點(diǎn)相對(duì)于固定節(jié)點(diǎn)的距離,TTOT——固定節(jié)點(diǎn)從發(fā)出數(shù)據(jù)包到接收確認(rèn)的時(shí)間,TTAT——移動(dòng)節(jié)點(diǎn)從收到數(shù)據(jù)包到回復(fù)確認(rèn)的時(shí)間段,TRTT為數(shù)據(jù)包往返于兩個(gè)節(jié)點(diǎn)間的飛行時(shí)間。φ(t)代表數(shù)據(jù)包在確認(rèn)和應(yīng)答過(guò)程中產(chǎn)生的干擾及延遲。
為準(zhǔn)確了解兩種測(cè)距算法的特性,本實(shí)驗(yàn)采集兩組實(shí)測(cè)數(shù)據(jù)。通過(guò)使用無(wú)線射頻模塊CC2530在0~100米內(nèi)采用RSSI和TOF算法分別進(jìn)行測(cè)距分析。
由圖1可知,采用RSSI算法測(cè)得的距離隨著距離的增大,所受到的噪音等干擾也逐漸增大,與真實(shí)距離偏離也隨之增大。在TOF算法測(cè)距中當(dāng)距離近時(shí),延遲時(shí)間有可能會(huì)大于飛行時(shí)間,即φ(t)>TRTT,在這種情況下測(cè)得的距離已經(jīng)不可進(jìn)行采用,作為死區(qū)。死區(qū)之外可看出隨著距離增長(zhǎng),測(cè)得的距離呈現(xiàn)逐漸接近真實(shí)值的趨勢(shì)。
圖1 RSSI與TOF的測(cè)距對(duì)比
經(jīng)過(guò)實(shí)驗(yàn)得知,在可視距傳輸LOS(line-of-sight)環(huán)境下,TOF測(cè)距方法能夠彌補(bǔ)RSSI在距離估算上面的誤差,但在近距離區(qū)域,TOF存在死區(qū)等干擾測(cè)量精確度會(huì)大大降低,而RSSI恰好能夠彌補(bǔ)該區(qū)域的漏洞。
由上述式 (1)和式 (3)可看出,兩種不同的測(cè)距方法均可得到移動(dòng)節(jié)點(diǎn)到固定節(jié)點(diǎn)的距離,然而在采集數(shù)據(jù)的過(guò)程中,均會(huì)產(chǎn)生不同差值的噪音量,而多次測(cè)量的結(jié)果之間并沒(méi)有必然聯(lián)系。所以本文先采用R-EWMA算法,此算法由移動(dòng)平均算法MA演變過(guò)來(lái),它克服了移動(dòng)平均算法高存儲(chǔ)需求的缺陷,并通過(guò)對(duì)歷史數(shù)據(jù)和加權(quán)指數(shù)進(jìn)行線性結(jié)合,對(duì)距離測(cè)量值進(jìn)行優(yōu)化,是一種簡(jiǎn)單高效的評(píng)估算法[5]。k是一個(gè)字節(jié)窗口的最大值的可調(diào)節(jié)參數(shù),即移動(dòng)窗口。算法如下
前一時(shí)刻可表示為
其中,β=k/k+1,且0≤β<1。指數(shù)加權(quán)系數(shù)β就是對(duì)最近數(shù)據(jù)重視程度的權(quán)值,β越大,表示最近數(shù)據(jù)對(duì)于最終結(jié)果的影響越小,反之則越大。通過(guò)上式的計(jì)算可得到相應(yīng)的
另外,異樣噪聲并不是唯一的不確定性測(cè)量問(wèn)題。根據(jù)人的運(yùn)動(dòng)常規(guī),事實(shí)上,在室內(nèi)環(huán)境中,人的速度不會(huì)超過(guò)vmax=2m/s[6]。因此,可將超過(guò)此范圍的變化量過(guò)濾掉
在無(wú)線通信中,設(shè)定兩個(gè)無(wú)線節(jié)點(diǎn)在可視距環(huán)境下,根據(jù)運(yùn)動(dòng)學(xué)原理建立系統(tǒng)狀態(tài)模型[7]
式中:s(t)——移動(dòng)節(jié)點(diǎn)在t時(shí)刻的直線距離,v(t)——移動(dòng)點(diǎn)在固定節(jié)點(diǎn)方向上的速度分量,也可稱(chēng)為徑向速度,作為系統(tǒng)的輸入,可通過(guò)v= [d(t)-d(t-1)]/Δt得到。d(t)作為系統(tǒng)的輸出,輸出移動(dòng)節(jié)點(diǎn)到固定節(jié)點(diǎn)之間的距離。
將上述模型離散化,可表示為
這里s(n)和v(n)分別表示移動(dòng)節(jié)點(diǎn)接收到第n個(gè)數(shù)據(jù)包時(shí)的距離和徑向速度,T為采樣周期。ζ(n)和η(n)分別是系統(tǒng)的過(guò)程噪聲和觀測(cè)噪聲,且滿(mǎn)足ζ(n)∈(0,Qn),η(n)∈ (0,Rn),Qn,Rn是系統(tǒng)噪聲ζ(n)和觀測(cè)噪聲η(n)的方差,取值取決于多種不確定條件的疊加,例如,天線的方位和存在的障礙物或墻壁。對(duì)于帶有未知噪聲分布的線性系統(tǒng)來(lái)說(shuō),卡爾曼濾波 (KF)是最優(yōu)選的狀態(tài)估計(jì)的方法。一般來(lái)說(shuō),對(duì)于典型的卡爾曼濾波算法,主要由預(yù)測(cè)階段和更新階段兩部分組成。用上標(biāo)*被來(lái)表示預(yù)測(cè),根據(jù)文獻(xiàn)[8]可由方程 (9)得到KF預(yù)測(cè)方程
RSSI和TOF均可獲取數(shù)據(jù)通過(guò)公式計(jì)算實(shí)現(xiàn)目標(biāo)定位,不過(guò)在測(cè)距的過(guò)程中都夾雜著不小的噪音量,存在很大誤差。其中一部分可通過(guò)卡爾曼濾波的方法濾掉,但還有一部分的噪音是無(wú)法測(cè)得也不容易去除掉的。由此,本文提出不同的融合算法來(lái)結(jié)合這兩種測(cè)距算法以提高定位精度,并通過(guò)MATLAB仿真來(lái)觀察融合效果。
經(jīng)過(guò)同一運(yùn)動(dòng)軌跡的RSSI和TOF兩種測(cè)距算法經(jīng)過(guò)卡爾曼濾波后可得到和兩條距離估計(jì)曲線。綜合其兩種測(cè)距方法,取其濾波曲線的平均值得到估計(jì)值。即
由圖2可觀察到,采用平均法融合后的曲線在大部分區(qū)域比單一算法更趨近于真實(shí)理想值,不過(guò)在死區(qū)及突變等區(qū)域受到的干擾較大,一概平均求值不夠穩(wěn)定且精度達(dá)不到理想值。
圖2 平均法
此方法將兩種不同測(cè)距技術(shù)性質(zhì)特點(diǎn)作為融合因素引入實(shí)驗(yàn),依照距離的變化分別對(duì)RSSI和TOF兩種算法進(jìn)行加權(quán),使其均能發(fā)揮優(yōu)勢(shì),避其短處,從而達(dá)到降低誤差的效果。簡(jiǎn)單來(lái)說(shuō),可由下述方程來(lái)表示
其中可通過(guò)遍歷算法獲取ɑ的取值。
由圖3可觀察到,加權(quán)法很好的降低了:在距離近時(shí)TOF測(cè)距算法存在的死區(qū)等干擾對(duì)距離偏移的影響;以及距離遠(yuǎn)時(shí)RSSI測(cè)距算法存在的耗損和噪音產(chǎn)生誤差的影響。但是對(duì)于臨界值的選定,以及權(quán)值ɑ的取值都存在一定的不準(zhǔn)確性,無(wú)法達(dá)到最優(yōu)。由此本文提出神經(jīng)網(wǎng)絡(luò)法來(lái)解決此問(wèn)題。
From the anisotropy coefficient of circular device γc =x1c/x2c and the oxidation depth of diamond device xd = (x1c +x2c)/2, we got:
圖3 加權(quán)法
神經(jīng)網(wǎng)絡(luò)是由多個(gè)簡(jiǎn)單的處理單元 (也稱(chēng)為神經(jīng)元)廣泛地互相連接而形成的一個(gè)復(fù)雜網(wǎng)絡(luò)系統(tǒng),可以進(jìn)行大規(guī)模的并行、分布式存儲(chǔ)和處理、自組織、自適應(yīng)和自學(xué)習(xí)。
3.3.1 建立神經(jīng)網(wǎng)絡(luò)
鑒于網(wǎng)絡(luò)連接的拓?fù)浣Y(jié)構(gòu)和神經(jīng)元的特性,本文構(gòu)建前饋型BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,BP網(wǎng)絡(luò)的算法[9,10]核心是誤差反向傳播來(lái)修正各個(gè)節(jié)點(diǎn)的權(quán)值和閾值。
圖4即為所構(gòu)建的網(wǎng)絡(luò)結(jié)構(gòu),其中輸入層有兩個(gè)神經(jīng)元xi,分別為RSSI和TOF經(jīng)過(guò)卡爾曼濾波的距離值,隱含層選取3個(gè)節(jié)點(diǎn)yj,輸出層有一個(gè)節(jié)點(diǎn)zk,輸出真實(shí)狀態(tài)T。輸入層與隱含層之間的權(quán)值為wji,隱含層與輸出層之間的閾值為wkj,閾值函數(shù)為θ。輸入信號(hào)通過(guò)隱含層運(yùn)算傳給輸出層,與輸出層的預(yù)期結(jié)果進(jìn)行比較,計(jì)算出誤差,并將誤差反向傳播,從而不斷更新權(quán)重縮小誤差。
圖4 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
3.3.2 訓(xùn)練神經(jīng)網(wǎng)絡(luò)
用newff()函數(shù)創(chuàng)建一個(gè)前向型BP神經(jīng)網(wǎng)絡(luò),然后直接調(diào)用train函數(shù)進(jìn)行訓(xùn)練,傳遞函數(shù)為tansig(),設(shè)定訓(xùn)練目標(biāo)誤差為3e-3,最大訓(xùn)練次數(shù)為1000,采用標(biāo)準(zhǔn)的梯度下降算法進(jìn)行訓(xùn)練。
圖5 神經(jīng)網(wǎng)絡(luò)訓(xùn)練
3.3.3 神經(jīng)網(wǎng)絡(luò)仿真
由于newff()函數(shù)是具有隨機(jī)性的,所以每一次的訓(xùn)練結(jié)果會(huì)有所不同,當(dāng)訓(xùn)練達(dá)到期望值后可使用sim函數(shù)進(jìn)行仿真。
由圖6可以看出較于加權(quán)法,神經(jīng)網(wǎng)絡(luò)法與真實(shí)值的擬合程度更高,收斂的更快,且穩(wěn)定性強(qiáng)。
圖6 神經(jīng)網(wǎng)絡(luò)法
為了更好的觀察所提出各算法的優(yōu)劣,本文將其進(jìn)行對(duì)比分析。如圖7所示。
由圖7可以看到,RSSI在遠(yuǎn)距離時(shí)與真實(shí)值偏離較大,TOF在近距離時(shí)存在死區(qū)等問(wèn)題影響定位精度。平均法在誤差跳動(dòng)大的區(qū)域也存在較大偏離。而加權(quán)法雖然明顯地使噪音的波動(dòng)幅度得到了收斂,但是精度較低,不夠理想。通過(guò)神經(jīng)網(wǎng)絡(luò)訓(xùn)練后的距離估計(jì)值,與真實(shí)值的擬合程度最高,精度較大幅度提升。其中,為了可以更直觀地對(duì)比誤差大小,實(shí)驗(yàn)分別比較了測(cè)距算法所得到的估計(jì)值與真實(shí)值之間的歐式距離[11]。
圖7 融合算法對(duì)比
在表2中,通過(guò)對(duì)所列幾種算法進(jìn)行誤差比較可以看出,神經(jīng)網(wǎng)絡(luò)算法的誤差值最小。
表2 誤差值對(duì)比
本文主要研究了一種融合RSSI和TOF的數(shù)據(jù)混合算法。首先分別對(duì)RSSI和TOF兩種方法進(jìn)行了詳細(xì)的分析,并通過(guò)R-EWMA算法減少輸入寬帶噪聲,消除了隨機(jī)出現(xiàn)的突變量噪聲,然后將RSSI和TOF的算法利用卡爾曼濾波進(jìn)行算法融合,得到多個(gè)能夠降低誤差的方法,將其進(jìn)行模擬仿真,經(jīng)過(guò)對(duì)比分析,結(jié)果表明通過(guò)神經(jīng)網(wǎng)絡(luò)算法融合后的距離測(cè)量最為精準(zhǔn)。
[1]WANG Xiaohui,WANG Yunjia,ZHANG Wei.Review of indoor positioning technology based on RFID [J].Transducer and Microsystem Technologies,2009,28 (2):1-3 (in Chinese).[王小輝,汪云甲,張偉.基于RFID的室內(nèi)定位技術(shù)評(píng)述 [J].傳感器與微系統(tǒng),2009,28 (2):1-3.]
[2]ZHU Jian,ZHAO Hai,XU Jiuqiang,et al.Localization model in wireless sensor networks [J].Journal of Software,2011,22 (7):1612-1625 (in Chinese).[朱劍,趙海,徐久強(qiáng),等.無(wú)線傳感器網(wǎng)絡(luò)中的定位模型 [J].軟件學(xué)報(bào),2011,22 (7):1612-1625.]
[3]Xu J,Liu W,Lang F,et al.Distance measurement model based on RSSI in WSN [J].Wireless Sensor Network,2010,2 (8):606-611.
[4]CHANG Huawei,WANG Fubao,YAN Guoqiang,et al.TOF ranging method for w ireless sensor networks [J].Modern Electronics Technique,2011,34 (1):35-38 (in Chinese).[常華偉,王福豹,嚴(yán)國(guó)強(qiáng),等.無(wú)線傳感器網(wǎng)絡(luò)的TOF測(cè)距方法研究 [J].現(xiàn)代電子技術(shù),2011,34 (1):35-38.]
[5]BI Weiwei.Research and implementation of anti-interference location algorithm based on RSSI [D].Shenyang:Northeastern University,2009 (in Chinese). [畢偉偉.基于 RSSI的WSN抗干擾定位算法研究與實(shí)現(xiàn) [D].沈陽(yáng):東北大學(xué),2009.]
[6]Karamouzas I,Overmars M.A velocity-based approach for simulating human collision avoidance [C]//Intelligent Virtual Agents.Springer Berlin Heidelberg,2010:180-186.
[7]Macii D,Trenti F,Pivato P.A robust wireless proximity detection technique based on RSS and ToF measurements [C]//IEEE International Workshop on Measurements and Networking Proceedings,2011:31-36.
[8]Grewal M S,Andrews A P.Kalman filtering:Theory and practice using MATLAB [M].Wiley,2011.
[9]Wu W,Wang J,Cheng M,et al.Convergence analysis of online gradient method for BP neural networks [J].Neural Networks,2011,24 (1):91-98.
[10]SHI Xiaowei,ZHANG Huiqing,DENG Guihua.Research on indoor location algorithm based on distance-loss model using back propagation neural network [J].Computer Measurement and Control,2012,20 (7):1944-1947 (in Chinese).[石曉偉,張會(huì)清,鄧貴華.基于BP神經(jīng)網(wǎng)絡(luò)的距離損耗模型室內(nèi)定位算法研究 [J].計(jì)算機(jī)測(cè)量與控制,2012,20(7):1944-1947.]
[11]JIA Zixi.A research on the localization and tracking method in wireless sensor network [D].Shenyang:Northeastern University,2009(in Chinese).[賈子熙.無(wú)線傳感器網(wǎng)絡(luò)定位與跟蹤方法研究 [D].沈陽(yáng):東北大學(xué),2009.]