楊曄晨, 胡越黎,3, 徐 杰, 承文龍, 郁懷波
(1.上海大學(xué)微電子研究與開發(fā)中心,上海200444;2.上海市電站自動(dòng)化技術(shù)重點(diǎn)實(shí)驗(yàn)室,上海200444;3.上海大學(xué)機(jī)電工程與自動(dòng)化學(xué)院,上海200444)
由大量無線傳感器(wireless sensor network,WSN)節(jié)點(diǎn)所組成的WSN網(wǎng)絡(luò)可應(yīng)用于國防軍事、環(huán)境檢測和預(yù)報(bào)、醫(yī)療護(hù)理、智能家居、建筑物狀態(tài)監(jiān)控等諸多領(lǐng)域[1].當(dāng)今,鑒于多媒體及數(shù)據(jù)業(yè)務(wù)的蓬勃發(fā)展,人們對于在室內(nèi)環(huán)境中,如地下礦井、倉庫、大型超市、停車場、機(jī)場、醫(yī)院等,需要對終端設(shè)備以及持有設(shè)備的人員、物品等在室內(nèi)環(huán)境中的位置進(jìn)行了解.在此背景下,由于基于WSN的定位技術(shù)具有成本相對較低,無需額外布線,并能及時(shí)準(zhǔn)確獲得大量的節(jié)點(diǎn)信息并實(shí)現(xiàn)高可靠性的無線數(shù)據(jù)傳輸?shù)奶攸c(diǎn),因此基于WSN的定位技術(shù)已然成為目前重要的研究方向.
基于WSN定位技術(shù)的定位算法一般分為2種:基于測距的定位算法與非基于測距的定位算法[2].基于非測距的定位算法主要有質(zhì)心算法、APIT(approximate point-in-triangulation test)算法、DV-hop(distance vector-hop)算法以及無定型算法等[3].這種定位算法不需要對移動(dòng)節(jié)點(diǎn)和參考節(jié)點(diǎn)之間的距離進(jìn)行測量,而是利用網(wǎng)絡(luò)的連通度來對移動(dòng)節(jié)點(diǎn)和參考節(jié)點(diǎn)之間的距離或移動(dòng)節(jié)點(diǎn)的坐標(biāo)進(jìn)行估算.基于測距的定位算法主要有基于到達(dá)時(shí)間(time of arrival,TOA)算法、基于到達(dá)時(shí)間差(time difference of arrival,TDOA)算法、基于信號(hào)到達(dá)角度(angle of arrival,AOA)算法以及基于接收信號(hào)強(qiáng)度指示(received signal strength indication,RSSI)算法等[4].這種定位算法首先對移動(dòng)節(jié)點(diǎn)和參考節(jié)點(diǎn)之間的距離或者角度信息進(jìn)行測量,然后利用三角質(zhì)心算法、加權(quán)質(zhì)心算法[5]或者三角測量算法等對移動(dòng)節(jié)點(diǎn)的坐標(biāo)進(jìn)行估算.由于WSN節(jié)點(diǎn)一般都具備RSSI值的測量功能,因此實(shí)現(xiàn)基于RSSI的定位算法的成本相對較低.但是由于RSSI值會(huì)受到來自多徑效應(yīng)、障礙物、繞射等[6]環(huán)境因素的影響,且在不同的環(huán)境下對應(yīng)不同的無線信號(hào)傳播模型及模型參數(shù)(也稱為路徑損耗模型與路徑損耗模型參數(shù),即環(huán)境參數(shù)),因此針對不同的環(huán)境,有必要對RSSI值進(jìn)行適當(dāng)?shù)臑V波處理,并重新估算出不同環(huán)境下的環(huán)境參數(shù),以建立新的路徑損耗模型.
在RSSI值處理方面,楊寧等[7]采用了一種改進(jìn)的高斯卡爾曼濾波算法,這種算法首先利用高斯濾波剔除一些異常值,再利用卡爾曼濾波使RSSI數(shù)據(jù)平滑輸出,該算法雖能夠明顯降低測距誤差,但會(huì)帶來比較大的計(jì)算開銷.陶為戈等[8]采用一種混合濾波算法,該濾波算法對均值濾波、中值濾波以及高斯濾波的結(jié)果取均值作為最終的濾波結(jié)果,這種算法雖然能夠降低濾波結(jié)果的最大偏差,但是由于當(dāng)RSSI值波動(dòng)較大時(shí),均值濾波以及中值濾波的濾波效果并不理想,因此當(dāng)RSSI值波動(dòng)較大時(shí),將3種濾波的結(jié)果取均值可能會(huì)使濾波結(jié)果的誤差變大.在環(huán)境參數(shù)的估計(jì)方面,朱明輝等[9]利用傳統(tǒng)的線性回歸方法對環(huán)境參數(shù)進(jìn)行估計(jì),這種方法雖然能取得不錯(cuò)的效果,但是需要提前去待測環(huán)境中采集數(shù)據(jù),而且如果待測環(huán)境占地面積相對較大,就會(huì)消耗大量的人力與物力.李瑤怡等[10]將待定位節(jié)點(diǎn)所在最小定位區(qū)域中的3個(gè)參考節(jié)點(diǎn)進(jìn)行相互協(xié)作,分別估算出3組環(huán)境參數(shù),然后再通過對這3組環(huán)境參數(shù)取均值,以獲得在該最小定位區(qū)域下的環(huán)境參數(shù),這種算法雖然解決了文獻(xiàn)[9]需要提前去現(xiàn)場采集大量數(shù)據(jù)的弊端,但是這種算法對于估算出的3組環(huán)境參數(shù)僅僅做了相同權(quán)重的處理,并沒有考慮各參考節(jié)點(diǎn)與移動(dòng)節(jié)點(diǎn)之間的距離對于環(huán)境參數(shù)的影響力的大小.
針對上述問題,本工作提出了一種基于改進(jìn)高斯濾波與加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)相結(jié)合的定位方法,該算法利用改進(jìn)高斯濾波算法對接收的RSSI值進(jìn)行處理,并利用加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)算法對當(dāng)前待定位的移動(dòng)節(jié)點(diǎn)所在位置的環(huán)境參數(shù)進(jìn)行估計(jì).該算法首先對移動(dòng)節(jié)點(diǎn)所在的最小定位區(qū)域進(jìn)行判斷;然后利用最小定位區(qū)域內(nèi)的4個(gè)參考節(jié)點(diǎn)來估算出每個(gè)參考節(jié)點(diǎn)相對于該最小定位區(qū)域的環(huán)境參數(shù);再利用算出的4組環(huán)境參數(shù)估算出移動(dòng)節(jié)點(diǎn)到每個(gè)參考節(jié)點(diǎn)之間的距離,并以此作為依據(jù)來計(jì)算每組環(huán)境參數(shù)的權(quán)值,利用加權(quán)處理之后的環(huán)境參數(shù)重新計(jì)算移動(dòng)節(jié)點(diǎn)到各參考節(jié)點(diǎn)之間的距離;最后根據(jù)三角質(zhì)心定位算法來估算移動(dòng)節(jié)點(diǎn)的位置.本工作將上述改進(jìn)方案在基于CC2530的ZigBee平臺(tái)上進(jìn)行了驗(yàn)證,實(shí)驗(yàn)結(jié)果表明,該方法能夠有效提高系統(tǒng)的定位精度.
基于RSSI的測距通常采用無線信號(hào)傳播路徑損耗模型[10]中的Shadowing模型[11](或稱為對數(shù)距離路徑損耗模型),其表達(dá)式為
式中:d0為參考距離,一般取1 m;p0為經(jīng)過參考距離d0時(shí)接收到的信號(hào)強(qiáng)度;d為發(fā)射節(jié)點(diǎn)與接收節(jié)點(diǎn)之間的距離;ζ是均值為0,均方差為σ的高斯隨機(jī)變量;p為接收信號(hào)強(qiáng)度;n為路徑損耗指數(shù)[12],表示路徑損失隨著距離的增加而增大的快慢,該值依賴于環(huán)境.在實(shí)際測量中,通常選用如式(2)所示的模型:
式中,A為射頻參數(shù),被定義為距離發(fā)射節(jié)點(diǎn)1 m處所接收到的平均能量(dBm),也就是距離發(fā)射節(jié)點(diǎn)1 m處的接收信號(hào)強(qiáng)度.
由式(2)可以推出,距離的估算式為
由式(3)可知,影響定位測距精度的因素有3個(gè),首先是環(huán)境參數(shù)A和n,其次就是RSSI值.
由于在實(shí)際環(huán)境下,反射、多徑傳播、背景干擾等因素會(huì)對無線信號(hào)的傳輸產(chǎn)生一定程度上的影響,從而使RSSI值不太穩(wěn)定,因此在實(shí)際應(yīng)用中需要對接收到的多個(gè)RSSI值進(jìn)行濾波優(yōu)化,從而滿足測距與定位的需求.目前比較常用的數(shù)字濾波算法有均值濾波、高斯濾波等,本工作在這些常用濾波算法的基礎(chǔ)上,提出了一種改進(jìn)高斯濾波算法.
均值濾波指的是將接收到的一組RSSI值進(jìn)行算術(shù)平均值的計(jì)算,并將該平均值作為測量結(jié)果.當(dāng)樣本數(shù)n較大時(shí),能夠較好地解決RSSI數(shù)據(jù)隨機(jī)性的問題,但是當(dāng)RSSI的波動(dòng)范圍比較大時(shí),使用該方法估算出的RSSI值的可信度下降.
鑒于大量的隨機(jī)變量都近似服從正態(tài)分布,因此在接收到的一組RSSI值中,某些數(shù)值就必然是小概率事件,而大部分的數(shù)值應(yīng)該會(huì)在合理的區(qū)間內(nèi)波動(dòng),這樣利用高斯濾波能夠篩選出這些大概率的數(shù)值.
首先定義高斯函數(shù):
式中,
根據(jù)高斯分布,在區(qū)間[μ-δ≤RSSIi≤μ+δ]中的概率為
由上述計(jì)算結(jié)果可知,區(qū)間[μ-δ,μ+δ]為高概率發(fā)生區(qū).通過高斯濾波篩選出在滿足該高概率發(fā)生區(qū)中的RSSI值,然后對篩選出的RSSI值取平均值,得到RSSI的最終估算值.高斯濾波能夠在一定程度上減少RSSI值在實(shí)際測試中由于穩(wěn)定性差且易受干擾等所帶來的影響.
當(dāng)WSN網(wǎng)絡(luò)的資源相對有限且RSSI值的樣本數(shù)不多時(shí),上述的濾波方法存在的普遍問題是當(dāng)擾動(dòng)較大時(shí),樣本中的異常值會(huì)對整個(gè)樣本的均值以及方差造成較大的影響.因此,本工作提出了一種基于權(quán)值的改進(jìn)高斯濾波模型,該濾波模型的處理過程如下:
(1)首先將接收到的一組RSSI值進(jìn)行高斯濾波,在這里記高斯濾波的結(jié)果為
(2)將經(jīng)過高斯處理后篩選出的RSSI值(假設(shè)有N個(gè))分別與求差,并將差值求平方:
(3)計(jì)算出基于式(5)的加權(quán)系數(shù):
(4)最后計(jì)算出該組RSSI值最終的濾波結(jié)果為
由式(5)~(7)定義的濾波模型具有算法過程簡單、易于編程實(shí)現(xiàn)、處理時(shí)間短的特點(diǎn),并保留了高斯濾波對于抗干擾方面的優(yōu)勢,同時(shí)該濾波模型還對經(jīng)過高斯處理之后的RSSI值分別賦予不同的加權(quán)系數(shù),進(jìn)一步提高了最終得到的數(shù)據(jù)的可信度.本工作采用該濾波模型來對RSSI值進(jìn)行校正.
為了使測距模型能真實(shí)地反映出當(dāng)前待測室內(nèi)環(huán)境中的信號(hào)傳播特性,以保證RSSI測距的精度,首先需要面對的一個(gè)問題就是射頻參數(shù)A和路徑損耗指數(shù)n的取值問題.由于A與n不同的取值會(huì)對測距的誤差產(chǎn)生很大的影響,因此需要對A與n的取值進(jìn)行優(yōu)化并得到最適合當(dāng)前環(huán)境的參數(shù)值.由于文獻(xiàn)[10]并沒有考慮到環(huán)境參數(shù)會(huì)隨著位置的改變而改變,因此本工作針對文獻(xiàn)[10]中提出的一種環(huán)境參數(shù)自適應(yīng)估計(jì)算法(即環(huán)境參數(shù)類質(zhì)心自適應(yīng)估計(jì)算法),提出了一種改進(jìn)的加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)算法.
環(huán)境參數(shù)類質(zhì)心自適應(yīng)估計(jì)算法的基本思想如圖1所示.圖中M為待定位的移動(dòng)節(jié)點(diǎn),三角形abc的3個(gè)頂點(diǎn)為距離M相對比較近的3個(gè)參考節(jié)點(diǎn),其中a,b,c 3個(gè)參考節(jié)點(diǎn)之間互相都能夠通信,其之間距離分別為dab,dac與dbc.由于a,b,c 3個(gè)參考節(jié)點(diǎn)之間同處于一個(gè)相對較小的范圍內(nèi),因此可以認(rèn)為參考節(jié)點(diǎn)之間的信號(hào)傳輸特性和參考節(jié)點(diǎn)與待定位的移動(dòng)節(jié)點(diǎn)之間的信號(hào)傳輸特性近似相同,即能夠利用已知的3個(gè)參考節(jié)點(diǎn)的位置來估算出該區(qū)域的環(huán)境參數(shù)A和n.
圖1 環(huán)境參數(shù)類質(zhì)心自適應(yīng)估計(jì)算法Fig.1 Adaptive centroid-like estimation algorithm for environmental parameters
當(dāng)參考節(jié)點(diǎn)a向b,c 2個(gè)參考節(jié)點(diǎn)發(fā)射信號(hào)時(shí),參考節(jié)點(diǎn)b,c接收到的RSSI分別為Rba,Rca,根據(jù)式(2)建立方程組:
通過以上方程組,可以分別解得Aa,na:
同理,也可以分別得到b,c相對的參數(shù)Ab和nb,Ac和nc.于是就可以得到該區(qū)域的環(huán)境參數(shù)A和n.
通過這2個(gè)參數(shù)就可以確定在該三角形abc區(qū)域中的路徑損耗模型,那么可以通過從待定位的移動(dòng)節(jié)點(diǎn)所獲取的對應(yīng)的參考節(jié)點(diǎn)所發(fā)送過來的信號(hào)的RSSI值,來估算出待定位的移動(dòng)節(jié)點(diǎn)和對應(yīng)的參考節(jié)點(diǎn)之間的距離,最后再根據(jù)三角質(zhì)心定位算法來估算該移動(dòng)節(jié)點(diǎn)的位置.
改進(jìn)的參數(shù)優(yōu)化算法的基本思想如圖2所示.首先在上述算法的基礎(chǔ)上再增加一個(gè)參考節(jié)點(diǎn)d,即四邊形abcd的4個(gè)頂點(diǎn)為距離M 相對比較近的4個(gè)參考節(jié)點(diǎn),其中a,b,c,d這4個(gè)參考節(jié)點(diǎn)之間互相都能夠通信,其之間距離分別為dab,dac,dad,dbc,dbd以及dcd.
圖2 加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)算法Fig.2 Adaptive estimation algorithm for weighted environment parameters
當(dāng)參考節(jié)點(diǎn)a向b,c,d 3個(gè)參考節(jié)點(diǎn)發(fā)射信號(hào)時(shí),b,c,d接收到的RSSI分別為Rba,Rca,Rda,根據(jù)式(8)建立如下3個(gè)方程組:
由式(11)定義的3個(gè)方程組,可以分別解得Aabc,nabc,Aabd,nabd,Aacd,nacd.
式中:Aabc,nabc代表由Rba和dba,Rca和dca這2組數(shù)據(jù)分別代入式(12)后聯(lián)立得到的方程組所求得的Aa和na;同理可得Aabd,nabd和Aacd,nacd.分別通過對Aabc,Aabd,Aacd以及nabc,nabd,nacd取均值就可以得到Aa以及na:
同理,也可以分別得到b,c,d相對四邊形abcd區(qū)域的參數(shù)Ab和nb,Ac和nc,Ad和nd.
環(huán)境參數(shù)類質(zhì)心自適應(yīng)估計(jì)算法只是將參數(shù)Aa和na,Ab和nb,Ac和nc這3組參數(shù)取均值作為該定位區(qū)域的環(huán)境參數(shù),該算法并未反映各參考節(jié)點(diǎn)與移動(dòng)節(jié)點(diǎn)之間的距離對環(huán)境參數(shù)影響力的大小,而本工作提出的加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)算法能夠?qū)ι鲜鰡栴}進(jìn)行一定程度上的修正.
本工作提出的加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)算法如下.
利用上述方法分別求出Aa和na,Ab和nb,Ac和nc,Ad和nd這4組環(huán)境參數(shù)后,分別利用這4組參數(shù)計(jì)算出移動(dòng)節(jié)點(diǎn)分別到4個(gè)參考節(jié)點(diǎn)之間的測量距離dij,dij代表的是利用第i組參數(shù)計(jì)算出的移動(dòng)節(jié)點(diǎn)到第j個(gè)(這里分別用序號(hào)1,2,3,4代表a,b,c,d)參考節(jié)點(diǎn)之間的測量距離,對應(yīng)于第k組環(huán)境參數(shù)的加權(quán)系數(shù)(通過n可以調(diào)整定位結(jié)果修正的程度,n一般取大于1的整數(shù)),因此該四邊形區(qū)域中不同位置上的加權(quán)環(huán)境參數(shù)A和n的表達(dá)式為
通過這2個(gè)參數(shù)就可以確定在該四邊形區(qū)域中不同位置上的路徑損耗模型,那么就可以通過從待定位的移動(dòng)節(jié)點(diǎn)所獲取的從對應(yīng)的參考節(jié)點(diǎn)所發(fā)送過來的信號(hào)的RSSI值,來估算待定位的移動(dòng)節(jié)點(diǎn)和對應(yīng)的參考節(jié)點(diǎn)之間的距離,最后再根據(jù)三角質(zhì)心定位算法來估算該移動(dòng)節(jié)點(diǎn)的位置.
本算法基于2.3節(jié)提出的改進(jìn)的加權(quán)高斯濾波算法,以及3.2節(jié)提出的改進(jìn)的加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)算法,具體的定位步驟如下.
(1)確定待定位移動(dòng)節(jié)點(diǎn)所在的最小定位區(qū)域:
1)初始化參考節(jié)點(diǎn);
2)移動(dòng)節(jié)點(diǎn)對請求定位的消息進(jìn)行廣播;
3)參考節(jié)點(diǎn)收到移動(dòng)節(jié)點(diǎn)的定位請求后向其發(fā)出響應(yīng)信號(hào);
4)移動(dòng)節(jié)點(diǎn)對收到的來自參考節(jié)點(diǎn)的響應(yīng)信號(hào)進(jìn)行比較,從中篩選出信號(hào)最強(qiáng)的4個(gè)參考節(jié)點(diǎn)參與定位.
(2)計(jì)算出移動(dòng)節(jié)點(diǎn)在該最小定位區(qū)域中所在位置的環(huán)境參數(shù)A和n的值.
1)每個(gè)參考節(jié)點(diǎn)依次將接收自對應(yīng)參考節(jié)點(diǎn)發(fā)送過來的數(shù)據(jù)的RSSI值轉(zhuǎn)發(fā)給網(wǎng)關(guān)節(jié)點(diǎn),網(wǎng)關(guān)節(jié)點(diǎn)再將接收到的RSSI值通過串口上傳給上位機(jī);當(dāng)上位機(jī)接收到的各RSSI值的個(gè)數(shù)達(dá)到預(yù)定的閾值n后,上位機(jī)利用改進(jìn)的高斯濾波算法對各RSSI值進(jìn)行處理,得到最終的RSSI值.
2)上位機(jī)軟件根據(jù)上述的環(huán)境參數(shù)估計(jì)方法,計(jì)算出該最小定位區(qū)域的4組環(huán)境參數(shù)Aa和na,Ab和nb,Ac和nc,Ad和nd.
(3)確定待定位移動(dòng)節(jié)點(diǎn)的位置.
1)移動(dòng)節(jié)點(diǎn)將接收自對應(yīng)參考節(jié)點(diǎn)發(fā)送過來的數(shù)據(jù)的RSSI值轉(zhuǎn)發(fā)給網(wǎng)關(guān)節(jié)點(diǎn),網(wǎng)關(guān)節(jié)點(diǎn)再將接收到的RSSI值通過串口上傳給上位機(jī);當(dāng)網(wǎng)關(guān)節(jié)點(diǎn)上傳的移動(dòng)節(jié)點(diǎn)接收到的來自對應(yīng)參考節(jié)點(diǎn)的數(shù)據(jù)的RSSI值的個(gè)數(shù)達(dá)到預(yù)定的閾值n后,上位機(jī)利用改進(jìn)高斯濾波算法對各RSSI值進(jìn)行處理得到最終的RSSI值;上位機(jī)再利用加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)算法計(jì)算出移動(dòng)節(jié)點(diǎn)當(dāng)前所在位置的環(huán)境參數(shù),并以此作為根據(jù)來估算出待定位移動(dòng)節(jié)點(diǎn)與對應(yīng)參考節(jié)點(diǎn)之間的距離.
2)利用三角質(zhì)心定位算法計(jì)算出待定位移動(dòng)節(jié)點(diǎn)所在坐標(biāo)系中的坐標(biāo)(x,y).
定位方法的流程圖如圖3所示.
圖3 定位方法流程圖Fig.3 Flow chart of location algorithm
本實(shí)驗(yàn)所用的通信模塊基于TI公司的CC2530芯片,上位機(jī)軟件采用Visual Basic編寫,上位機(jī)軟件接收來自網(wǎng)關(guān)節(jié)點(diǎn)通過串口上傳的信息.上位機(jī)軟件具備設(shè)定移動(dòng)節(jié)點(diǎn)的數(shù)量(支持多目標(biāo)的定位)、RSSI值的采樣次數(shù)、RSSI值的濾波方式、參考節(jié)點(diǎn)的坐標(biāo)、環(huán)境參數(shù)的計(jì)算方式、實(shí)時(shí)記錄移動(dòng)節(jié)點(diǎn)的坐標(biāo)、圖形化實(shí)時(shí)顯示移動(dòng)節(jié)點(diǎn)的位置等功能.
本實(shí)驗(yàn)在室內(nèi)環(huán)境中進(jìn)行,在5.72m×6.00m的教室中的相同高度布置了4個(gè)參考節(jié)點(diǎn)進(jìn)行測試,本實(shí)驗(yàn)對RSSI值分別采用不同的濾波算法,并結(jié)合文獻(xiàn)[10]的環(huán)境參數(shù)類質(zhì)心自適應(yīng)估計(jì)算法(需要補(bǔ)充說明的是,由于根據(jù)文獻(xiàn)[10]的仿真結(jié)果可知,平均定位誤差會(huì)隨著錨節(jié)點(diǎn)個(gè)數(shù)的增加而減小,因此為了能夠更方便地進(jìn)行對比實(shí)驗(yàn),在使用文獻(xiàn)[10]的算法時(shí),增加一個(gè)錨節(jié)點(diǎn),具體的步驟如3.2節(jié)中所述,唯一的區(qū)別是不需要如3.2節(jié)中所述的對計(jì)算出的4組環(huán)境參數(shù)Aa和na,Ab和nb,Ac和nc,Ad和nd進(jìn)行加權(quán)計(jì)算,表1和圖4中命名為A算法)以及本工作提出的加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)算法(表1和圖5中命名為B算法)估計(jì)移動(dòng)節(jié)點(diǎn)的位置,并在4個(gè)參考節(jié)點(diǎn)所包圍的四邊形的范圍內(nèi)隨機(jī)選擇了13個(gè)位置進(jìn)行定位實(shí)驗(yàn).但是考慮到天線的非方向性,故在每個(gè)位置上緩慢旋轉(zhuǎn)移動(dòng)節(jié)點(diǎn),并在每個(gè)位置上進(jìn)行多次實(shí)驗(yàn)取平均值作為該點(diǎn)的定位結(jié)果.根據(jù)文獻(xiàn)[5]所述,一次接收10~20個(gè)RSSI值基本能滿足大部分定位測距的要求,因此考慮到定位系統(tǒng)的實(shí)時(shí)性,將RSSI值的采樣閾值設(shè)為15.表1給出了對RSSI值使用不同濾波算法時(shí),利用文獻(xiàn)[10]的算法與本工作提出的加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)算法時(shí)的定位誤差(m)、平均定位誤差(m)、最大定位誤差(m)、平均改進(jìn)百分比以及最大改進(jìn)百分比(改進(jìn)百分比是指系統(tǒng)使用本算法時(shí)的定位誤差相較系統(tǒng)使用文獻(xiàn)[10]算法時(shí)的定位誤差的降低百分比).實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),改進(jìn)百分比的大小隨著n的增大而增大,但是當(dāng)n超過10后,改進(jìn)百分比的大小變化很小,因此為了減少系統(tǒng)的計(jì)算時(shí)間,本算法取n=10.圖4是在利用文獻(xiàn)[10]的算法時(shí),移動(dòng)節(jié)點(diǎn)距離坐標(biāo)原點(diǎn)的距離增大時(shí)所對應(yīng)的定位誤差,圖5是在利用本算法時(shí)移動(dòng)節(jié)點(diǎn)距離坐標(biāo)原點(diǎn)的距離增大時(shí)所對應(yīng)的定位誤差.
表1 定位誤差比較實(shí)驗(yàn)數(shù)據(jù)Table 1 Experimental data of location error comparison
由表1中的實(shí)驗(yàn)結(jié)果可以看出,當(dāng)系統(tǒng)對RSSI值使用本工作提出的改進(jìn)高斯濾波算法時(shí),對應(yīng)于系統(tǒng)使用不同的環(huán)境參數(shù)估計(jì)算法(A算法和B算法),系統(tǒng)的平均定位誤差分別為1.15和0.96 m,最大定位誤差分別為1.96和1.78 m,小于系統(tǒng)對RSSI值使用均值濾波和高斯濾波時(shí)對應(yīng)的平均定位誤差以及最大定位誤差;當(dāng)系統(tǒng)使用本工作提出的加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)算法時(shí),對應(yīng)于系統(tǒng)使用不同的RSSI值濾波算法,系統(tǒng)的平均定位誤差分別為1.05,1.04和0.96 m,最大定位誤差分別為1.97,1.95和1.78 m,小于系統(tǒng)使用文獻(xiàn)[10]算法時(shí)對應(yīng)的平均定位誤差以及最大定位誤差;當(dāng)系統(tǒng)同時(shí)使用本工作提出的改進(jìn)高斯濾波算法與加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)算法時(shí),系統(tǒng)的平均定位誤差為0.96 m,最大定位誤差為1.78 m,小于系統(tǒng)使用文獻(xiàn)[10]算法并對RSSI值分別使用均值濾波、高斯濾波以及本工作提出的改進(jìn)高斯濾波時(shí)的平均定位誤差以及最大定位誤差.對接收到的RSSI值分別使用均值濾波、高斯濾波以及本工作提出的改進(jìn)高斯濾波,并使用本工作的加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)算法,可以分別使系統(tǒng)的定位誤差平均減小24.76%,26.45%和21.17%.
圖4 系統(tǒng)使用文獻(xiàn)[10]算法時(shí)的定位誤差Fig.4 Location errors when the system uses the algorithm of Ref.[10]
圖5 系統(tǒng)使用加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)算法時(shí)的定位誤差Fig.5 Location errors when the system uses adaptive estimation algorithm for weighted environment parameters
本工作在常規(guī)的濾波算法的基礎(chǔ)上進(jìn)行了一定的改進(jìn),提出了一種改進(jìn)的加權(quán)高斯濾波算法,并在文獻(xiàn)[10]算法的基礎(chǔ)上提出了一種加權(quán)環(huán)境參數(shù)自適應(yīng)估計(jì)算法,實(shí)驗(yàn)驗(yàn)證了本工作提出的方法的有效性.實(shí)驗(yàn)結(jié)果表明,本方法能夠提高系統(tǒng)的定位精度,并且節(jié)省大量的人力與物力.本方法運(yùn)算量較小,與其他比較復(fù)雜的定位方法的比較有待進(jìn)一步研究.此外,本工作暫時(shí)未考慮參考節(jié)點(diǎn)佩戴在人身上所造成的移動(dòng)節(jié)點(diǎn)與參考節(jié)點(diǎn)不在一個(gè)平面上的問題,這將是下一步需要開展的工作.