張建業(yè),曾凡偉,李正剛,段勇強(qiáng),鐘建偉,廖紅華
(1.國網(wǎng)湖北省電力有限公司恩施供電公司,湖北 恩施 445000;2.湖北民族大學(xué) 信息工程學(xué)院,湖北 恩施 445000)
無線傳感器網(wǎng)絡(luò)由大量具有信息采集、數(shù)據(jù)處理和無線通信功能的傳感器節(jié)點(diǎn)組成,具有強(qiáng)大的自組網(wǎng)能力,已廣泛應(yīng)用于軍民領(lǐng)域,具有巨大的發(fā)展?jié)摿蛻?yīng)用前景。
目前,許多國內(nèi)外的科研專家和學(xué)者對無線傳感器網(wǎng)絡(luò)中的定位算法進(jìn)行了大量深入的研究。其中,郭金銘等對基于RSSI的定位算法進(jìn)行了改進(jìn),一方面對RSSI值進(jìn)行均值濾波,得到優(yōu)化值,并利用極大似然估計(jì)法來計(jì)算未知節(jié)點(diǎn)的位置;蔡曉宇等則采用卡爾曼濾波處理RSSI值,一定程度上克服了部分環(huán)境的干擾,提高了定位精度;張溪等為提高無線傳感器網(wǎng)絡(luò)中DV-Hop算法的定位精度,提出基于距離優(yōu)化和改進(jìn)粒子群的DV-Hop定位算法,利用單跳平均誤差修正平均跳距,接收多錨節(jié)點(diǎn)的平均跳距估算節(jié)點(diǎn)間距離,使估算距離得以優(yōu)化;譚志等對RSSI值進(jìn)行了中位數(shù)加權(quán)處理,降低了定位誤差,提高了定位精度;胡洋等在無源信號的定位過程中,提出了一種針對無源信號RSSI定位的最大似然估計(jì)優(yōu)化算法,大大提高了精確度和測量的時(shí)效性;于耕等從集中式定位算法和分布式定位算法兩個(gè)方面討論了典型的節(jié)點(diǎn)定位算法,并對無線傳感器網(wǎng)絡(luò)中的定位技術(shù)提出了改進(jìn)意見。
本文提出了一種基于RSSI的智能開關(guān)節(jié)點(diǎn)測距定位算法,選擇TI公司出品的CC2530組建無線傳感器網(wǎng)絡(luò),實(shí)現(xiàn)智能開關(guān)控制,著重討論環(huán)境因子對智能開關(guān)節(jié)點(diǎn)測距結(jié)果的影響,并對其進(jìn)行優(yōu)化,分析影響RSSI值的因素,并通過對實(shí)驗(yàn)測試所得數(shù)據(jù)的處理來驗(yàn)證優(yōu)化后的RSSI智能開關(guān)節(jié)點(diǎn)測距定位算法的高精度特性。
基于RSSI的三點(diǎn)測距定位技術(shù)是在已知3個(gè)錨節(jié)點(diǎn)的具體位置和未知節(jié)點(diǎn)與這3個(gè)點(diǎn)的RSSI值的基礎(chǔ)上,借助衰減模型計(jì)算距離。通常情況下,無線信號在媒介中傳輸時(shí),其信號強(qiáng)度會(huì)跟隨傳輸距離的延伸而逐漸變小,超過通信范圍便會(huì)失效,因此只能在實(shí)際通信半徑中傳輸。利用這一原理,可先根據(jù)經(jīng)驗(yàn)建立衰減模型,將信號強(qiáng)度的衰減值轉(zhuǎn)化為信號的傳播距離,在得出節(jié)點(diǎn)間的RSSI值后,計(jì)算此處與發(fā)射節(jié)點(diǎn)的距離。文中建立衰減模型時(shí),采用更實(shí)用、更精確的陰影模型。該模型的原理如下:
式中:RSSI代表信號強(qiáng)度值;為收發(fā)節(jié)點(diǎn)的間距;為衰減因子,與環(huán)境有關(guān);為節(jié)點(diǎn)間距1 m時(shí)接收到的RSSI值。和直接決定了RSSI和節(jié)點(diǎn)間距的關(guān)系。由式(1)可以得出與RSSI值的正向關(guān)系:
利用式(2)將RSSI值轉(zhuǎn)換為距離。式中:為距離,單位為cm;RSSI為信號強(qiáng)度值,為負(fù)數(shù);為距離錨節(jié)點(diǎn)1 m時(shí)RSSI值的絕對值,為常值;為環(huán)境衰減因子,其最佳范圍為3.2~4.5。
3個(gè)圓兩兩相交,必然交于一個(gè)點(diǎn),該點(diǎn)坐標(biāo)即為所需定位的未知點(diǎn),如圖1所示。
圖1 三圓兩兩相交圖
基于CC2530的智能開關(guān)節(jié)點(diǎn)測距模塊包含CC2530核心板和底板兩部分。CC2530核心板主要包括CPU和存儲(chǔ)器、時(shí)鐘和電源、外圍設(shè)備、無線模塊等。底板包括傳感器接口、鍵控復(fù)位、USB轉(zhuǎn)串口、智能開關(guān)控制模塊等。各模塊分工合作,實(shí)現(xiàn)無線傳感節(jié)點(diǎn)的組網(wǎng)、定位以及智能開關(guān)控制?;贑C2530的智能開關(guān)節(jié)點(diǎn)原理結(jié)構(gòu)如圖2所示。
圖2 基于CC2530的智能開關(guān)節(jié)點(diǎn)原理結(jié)構(gòu)
利用MATLAB軟件對RSSI算法進(jìn)行仿真。仿真分析時(shí),節(jié)點(diǎn)總數(shù)選為300個(gè),其中60個(gè)為錨節(jié)點(diǎn),240個(gè)為未知節(jié)點(diǎn),經(jīng)仿真得到節(jié)點(diǎn)分布圖如圖3所示。
圖3 節(jié)點(diǎn)分布圖
圖3中,錨節(jié)點(diǎn)和未知節(jié)點(diǎn)分別用“*”“o”表示。所有節(jié)點(diǎn)隨機(jī)分布在邊長1 000的正方形測試區(qū)域內(nèi),由于高密分布性,少數(shù)節(jié)點(diǎn)可能有重疊。
仿真得到的鄰居關(guān)系圖如圖4所示。鄰居關(guān)系圖反映了節(jié)點(diǎn)關(guān)系的復(fù)雜度與節(jié)點(diǎn)的數(shù)量呈正向關(guān)系,節(jié)點(diǎn)數(shù)量越多,其鄰居關(guān)系圖越龐大、越復(fù)雜。
圖4 鄰居關(guān)系圖
仿真得到的定位誤差圖如圖5所示。
圖5 定位誤差圖
仿真分析時(shí),錨節(jié)點(diǎn)通信半徑設(shè)為200 m,仿真運(yùn)行后可得到該網(wǎng)絡(luò)的平均連通度為31.95,任意未知節(jié)點(diǎn)的周圍錨節(jié)點(diǎn)個(gè)數(shù)平均有6個(gè)。在所有的240個(gè)未知節(jié)點(diǎn)中,不能定位的節(jié)點(diǎn)數(shù)目有13個(gè),占未知節(jié)點(diǎn)總數(shù)的5%,系統(tǒng)所顯示的定位誤差為1.82×10。當(dāng)錨節(jié)點(diǎn)由60個(gè)變到30個(gè),且總節(jié)點(diǎn)數(shù)保持不變時(shí),發(fā)現(xiàn)未知節(jié)點(diǎn)的個(gè)數(shù)明顯增多,很多節(jié)點(diǎn)之間有嚴(yán)重的信號干擾,這對于無線傳感器網(wǎng)絡(luò)的信號傳輸極其不利,可能會(huì)產(chǎn)生較大的定位誤差。因此,需在一定成本范圍內(nèi)酌情分配錨節(jié)點(diǎn)的個(gè)數(shù),使整體定位效果更佳。
測試前,在節(jié)點(diǎn)相距1 m時(shí)讀取RSSI值。RSSI=-35時(shí),可得=-35。假設(shè)環(huán)境因素=3.5,并測試RSSI值從-37至-70范圍內(nèi)變化的實(shí)測距離值。經(jīng)測試,得到=3.5時(shí)的實(shí)測距離與理論距離,見表1所列。
表1 n=3.5時(shí)的實(shí)測距離與理論距離
由于測試環(huán)境的復(fù)雜性,采用最小二乘法對環(huán)境因子進(jìn)行均值優(yōu)化,在值不變的前提下,優(yōu)化后的環(huán)境衰減因子為4,并測試RSSI值從-57到-90范圍內(nèi)變化的實(shí)測距離值,經(jīng)測試,得到=4時(shí)的實(shí)測距離與理論距離,見表2所列。
表2 n=4時(shí)的實(shí)測距離與理論距離
通過比較表1與表2的誤差率,可以看出優(yōu)化后的測量精度明顯提高,證明了該方法的切實(shí)可行性。同時(shí),還可以看出:當(dāng)理論距離越大時(shí),誤差率呈現(xiàn)逐漸增加的趨勢,環(huán)境因子優(yōu)化后的誤差率明顯下降。
本文基于MATLAB軟件和CC2530節(jié)點(diǎn)自組網(wǎng)技術(shù)對基于RSSI算法的智能開關(guān)節(jié)點(diǎn)測距定位算法進(jìn)行了仿真和實(shí)驗(yàn)測試,著重討論了環(huán)境因子對智能開關(guān)節(jié)點(diǎn)測距結(jié)果的影響,并通過實(shí)驗(yàn)測試驗(yàn)證了環(huán)境因子優(yōu)化后的誤差率明顯下降,能滿足智能開關(guān)節(jié)點(diǎn)測距定位算法的高精度特性。但硬件測試易受天氣影響,如何克服這一不利因素,將是今后繼續(xù)深入研究的方向。