王 超,宋荷慶
(1. 福建師范大學(xué),福建 福州 350001;2. 福建省圖書館籌建辦,福建 福州 350001;3. 浙江工商大學(xué)計算機學(xué)院,浙江 杭州 310018)
無線傳感器網(wǎng)絡(luò)是將無線通信技術(shù)、微型機電系統(tǒng)等眾多技術(shù)結(jié)合的信息傳輸與處理技術(shù)。無線傳感器網(wǎng)絡(luò)利用傳感器節(jié)點所采集信息以及不同節(jié)點之間信息的交互實現(xiàn)感知對象信息的處理[1]。無線傳感器網(wǎng)絡(luò)包含眾多由無線通信模塊、傳感器模塊組成的微型傳感器節(jié)點。
依據(jù)節(jié)點位置的確定情況,可將無線傳感器網(wǎng)絡(luò)劃分為人工部署以及導(dǎo)航設(shè)備部署的節(jié)點。相比于其它的未定位節(jié)點,錨節(jié)點的部署成本明顯高于其它節(jié)點。無線傳感器網(wǎng)絡(luò)中存在利用飛機等移動設(shè)備隨機設(shè)置的不具備具體定位信息的節(jié)點,此類節(jié)點部署成本較低[2],但由于并不清楚其具體坐標(biāo),因此應(yīng)用性較差。利用精準(zhǔn)的定位精度提升無線傳感器網(wǎng)絡(luò)中全部節(jié)點的應(yīng)用性能。測距定位具有定位成本過高的缺陷,測距定位算法需與微波發(fā)射硬件設(shè)備結(jié)合,雖提升了定位精度,但成本過高[3]。DV-Hop定位算法無需將節(jié)點硬件設(shè)施加入定位過程中,利用不同節(jié)點間跳數(shù)與節(jié)點坐標(biāo)信息實現(xiàn)節(jié)點定位[4],該定位算法采用估算方法獲取最終定位結(jié)果,因此定位精度較低。
數(shù)字式圖書館中包含海量文獻數(shù)據(jù),通常將傳感器節(jié)點設(shè)置于數(shù)字圖書館中,利用傳感器節(jié)點實現(xiàn)文獻數(shù)據(jù)的有效采集。目前各學(xué)科領(lǐng)域中包含的數(shù)據(jù)量呈現(xiàn)與日俱增趨勢[5],海量文獻數(shù)據(jù)應(yīng)用于網(wǎng)絡(luò)中,為人們應(yīng)用增加了難度,人們利用無線傳感器網(wǎng)絡(luò)選取所需文獻數(shù)據(jù)具有較高難度,利用DV-Hop定位算法從海量文獻數(shù)據(jù)中定位所需文獻數(shù)據(jù),提升海量文獻數(shù)據(jù)的應(yīng)用性能。文獻數(shù)據(jù)具有較高相關(guān)性,選取DV-Hop定位算法應(yīng)用于海量文獻數(shù)據(jù)定位中,提升海量文獻數(shù)據(jù)的應(yīng)用性。
目前針對無線傳感器網(wǎng)絡(luò)定位的研究較多,孫博文以及錢開國等人分別利用校正因子以及可靠信標(biāo)實現(xiàn)無線傳感器網(wǎng)絡(luò)的節(jié)點定位[6,7],但是這兩種方法無法獲取錨節(jié)點與待定位節(jié)點之間的最小跳數(shù),導(dǎo)致定位偏差較大,且可應(yīng)用的網(wǎng)絡(luò)環(huán)境單一。為此,面對海量文獻數(shù)據(jù),設(shè)計新的無線傳感DV-Hop定位算法,提升海量文獻數(shù)據(jù)于無線傳感器網(wǎng)絡(luò)中的精準(zhǔn)定位性能。通過實驗驗證該方法具有較高的文獻數(shù)據(jù)定位有效性,可應(yīng)用于海量文獻數(shù)據(jù)的定位應(yīng)用中。
DV-Hop定位算法選取最大似然估計法利用節(jié)點間距獲取所需節(jié)點的具體位置信息。DV-Hop定位算法運算具體過程如下:
1)求解最小跳數(shù)
無線傳感器網(wǎng)絡(luò)中的節(jié)點接收信息包時,在初始跳數(shù)0基礎(chǔ)上加1,將位置信息以及跳數(shù)信息存儲于位置信息表內(nèi)[8]。通過位置信息表獲取該節(jié)點至錨節(jié)點的最短跳數(shù)。
2)獲取每跳平均距離
無線傳感器網(wǎng)絡(luò)中的錨節(jié)點傳送海量文獻數(shù)據(jù)時,接收跳數(shù)信息以及位置信息時,計算平均每跳距離公式如下
(1)
式(1)中,gj表示節(jié)點j的跳數(shù),(xi,yi)與(xj,yj)均表示無線傳感器網(wǎng)絡(luò)節(jié)點。
位置節(jié)點獲取HopSize后,將所獲取的HopSize與最小跳數(shù)值相乘,所獲取間距選取極大似然估計法獲取未知節(jié)點定位結(jié)果。
3)最大似然估計法
設(shè)無線傳感器網(wǎng)絡(luò)中存在節(jié)點數(shù)量為n,全部節(jié)點的原始坐標(biāo)為(x1,y1)…(xn,yn),用(x,y)表示其中所包含節(jié)點D的坐標(biāo),其余節(jié)點與該節(jié)點之間的間距用d1,d2,…,dn表示。
各節(jié)點間距需滿足以下公式
(2)
求解式(2),可得表達式如下
(3)
利用線性方程表示式(3),將式(3)轉(zhuǎn)化為Ax=b,其中
(4)
(5)
(6)
無線傳感器網(wǎng)絡(luò)定位海量文獻數(shù)據(jù)過程中容易形成誤差[9],將誤差項加入其中,獲取模型表達式如下
Ax+N=b
(7)
式(7)中,N為誤差向量,其維度為n-1。
將式(7)的最大似然估計選取最小二乘法進行。此時需令x符合N=b-Ax結(jié)果為最小,獲取x估計值表達式如下
(8)
式(8)中,Q(x)表示x的估計值。求導(dǎo)式(8)中的Q(x),令Q(x)輸出結(jié)果為0,獲取無線傳感器網(wǎng)絡(luò)中未知節(jié)點的最小二乘位置結(jié)果表達式如下
=(ATA)-1ATb
(9)
DV-Hop定位算法利用未知節(jié)點與錨節(jié)點的間距實現(xiàn)節(jié)點定位[10],該算法利用網(wǎng)絡(luò)拓撲結(jié)構(gòu)獲取距離信息。通過不同節(jié)點間距提升節(jié)點定位精度。
2.2.1 修正錨節(jié)點間跳數(shù)
設(shè)置無線傳感器網(wǎng)絡(luò)的通信半徑為兩個錨節(jié)點間距,當(dāng)無線傳感器網(wǎng)絡(luò)跳數(shù)與通信半徑存在較大差距時,用于定位海量文獻數(shù)據(jù)的錨節(jié)點間距存在與實際距離偏離情況,此時海量文獻數(shù)據(jù)定位節(jié)點容易存在較大的誤差。
無線傳感器網(wǎng)絡(luò)中錨節(jié)點間的理想跳數(shù)表達式如下:
(10)
式(10)中,R表示節(jié)點通信半徑,dij表示錨節(jié)點間距。
用γij表示錨節(jié)點偏離因子,其表達式如下
γij=(gij-Gij)/gij
(11)
式(11)中,Gij表示理想跳數(shù),gij表示實際跳數(shù)。
偏離因子越小,表示錨節(jié)點運行過程中與理想跳數(shù)偏離較小。
設(shè)置跳數(shù)修正系數(shù)公式如下
(12)
式(12)中,n表示正整數(shù)。
將0.6倍通信距離誤差加入計算中,修正通信半徑跳數(shù)。
選取修正系數(shù)修正錨節(jié)點跳數(shù),獲取完成修正后跳數(shù)表達式如下
g′ij=βij·gij-0.6
(13)
2.2.2 修正未知節(jié)點跳數(shù)
用g′ui表示待定位文獻數(shù)據(jù)節(jié)點u與其相近的錨節(jié)點i的修正后的跳數(shù),其表達式如下
(14)
式(14)中,βij與n分別表示修正系數(shù)以及錨節(jié)點總數(shù)量,gui表示錨節(jié)點i與未知節(jié)點u的實際跳數(shù)。
用g′uj表示海量文獻數(shù)據(jù)無線傳感未知節(jié)點u與海量文獻數(shù)據(jù)無線傳感錨節(jié)點j的跳數(shù),其表達式如下
g′uj=βij·guj-0.5
(15)
式(15)中,guj與βij分別表示實際跳數(shù)以及修正系數(shù)。通過式(15)可知,將修正因子加入待定位的未知節(jié)點與錨節(jié)點跳數(shù)修正中,考慮全部錨節(jié)點跳數(shù)信息。定位海量文獻數(shù)據(jù)時,可以更加直接地體現(xiàn)無線傳感器網(wǎng)絡(luò)的整體特性。
2.2.3 修正未知節(jié)點平均跳距
當(dāng)數(shù)量為n的錨節(jié)點以平均跳距傳送至未知節(jié)點u時,將權(quán)值wi加入平均跳距運算中,可得權(quán)值計算公式如下
(16)
式(16)中,hopi表示完成修正后錨節(jié)點i至未知節(jié)點u的跳數(shù)。
利用式(16)對各節(jié)點跳數(shù)實施歸一化加權(quán)處理,保障未知的待定位節(jié)點所獲取全部錨節(jié)點間距權(quán)值總和等于1。依據(jù)未知節(jié)點相應(yīng)各跳距離值HopSize以及錨節(jié)點各跳間距加權(quán)值,獲取待定位海量文獻數(shù)據(jù)未知節(jié)點的平均跳距公式如下:
(17)
待定位海量文獻數(shù)據(jù)的未知節(jié)點利用加權(quán)處理時充分考慮錨節(jié)點跳距情況,令平均各跳間距與無線傳感器網(wǎng)絡(luò)實際各跳距離更加接近,降低海量文獻數(shù)據(jù)在無線傳感器網(wǎng)絡(luò)中的定位誤差。
為驗證所研究算法定位無線傳感器網(wǎng)絡(luò)中海量文獻數(shù)據(jù)有效性,選取Matlab R2019b軟件建立無線傳感器網(wǎng)絡(luò)環(huán)境,無線傳感器網(wǎng)絡(luò)任務(wù)區(qū)域大小為800m×800m,設(shè)置傳感器節(jié)點共500個。采用該無線傳感器網(wǎng)絡(luò)實現(xiàn)海量文獻數(shù)據(jù)傳輸。實驗的傳感器節(jié)點分別以均勻隨機分布、非均勻分布以及包含覆蓋洞三種場景設(shè)置。實驗過程中設(shè)置不同錨節(jié)點覆蓋率以及錨節(jié)點通信半徑,統(tǒng)計不同錨節(jié)點覆蓋率以及通信半徑對文獻數(shù)據(jù)定位的影響。
利用海量文獻數(shù)據(jù)定位精度衡量無線傳感器網(wǎng)絡(luò)中海量文獻數(shù)據(jù)的定位性能,定位精度計算公式如下
(18)
式(18)中,N與R分別表示無線傳感器網(wǎng)絡(luò)中的節(jié)點數(shù)量以及節(jié)點通信半徑,(x0i,y0i)與(xi,yi)分別表示待定位文獻數(shù)據(jù)節(jié)點的實際坐標(biāo)以及本文算法定位坐標(biāo)。
統(tǒng)計海量文獻數(shù)據(jù)無線傳感節(jié)點通信半徑存在差異時的最佳修正系數(shù),統(tǒng)計結(jié)果如表1所示。
表1 修正系數(shù)統(tǒng)計結(jié)果
表1實驗結(jié)果可以看出,錨節(jié)點覆蓋率為5%-50%時,節(jié)點通信半徑為15m~45m時,最佳修正系數(shù)均處于1.96~2.09之間。不同節(jié)點通信半徑時,最佳修正系數(shù)均伴隨錨節(jié)點覆蓋率的提升而有所降低。差異節(jié)點通信半徑以及錨節(jié)點覆蓋率情況下,采用本文算法定位無線傳感器網(wǎng)絡(luò)中的海量文獻數(shù)據(jù)時,最佳修正系數(shù)處于1.95~2.10區(qū)間。
設(shè)置無線傳感器網(wǎng)絡(luò)節(jié)點為均勻隨機分布情況,統(tǒng)計修正系數(shù)β分別為1.95、2.00、2.05、2.10時的定位精度,統(tǒng)計結(jié)果如圖1所示。
圖1 修正系數(shù)確定結(jié)果
圖1實驗結(jié)果可以看出,不同修正系數(shù)時,采用本文算法定位無線傳感器網(wǎng)絡(luò)中的文獻數(shù)據(jù),定位精度均伴隨錨節(jié)點覆蓋率的增加而有所降低。修正系數(shù)為2.05時,本文算法在不同錨節(jié)點覆蓋率時的文獻數(shù)據(jù)定位精度均為最高;修正系數(shù)為2.10時,本文算法的文獻數(shù)據(jù)定位精度為0.91~0.67之間;修正系數(shù)為1.95以及2.10時,本文算法的文獻數(shù)據(jù)定位精度均低于修正系數(shù)為2.05時。綜合以上實驗結(jié)果設(shè)置采用本文算法定位無線傳感器網(wǎng)絡(luò)文獻數(shù)據(jù)的修正系數(shù)結(jié)果為2.05。
設(shè)置節(jié)點為均勻隨機分布情況,海量文獻數(shù)據(jù)定位過程中的修正系數(shù)設(shè)置為2.05。統(tǒng)計不同錨節(jié)點覆蓋率時,節(jié)點通信半徑分別為15m、25m、35m、45m時的海量文獻數(shù)據(jù)定位精度,統(tǒng)計結(jié)果如圖2所示。
圖2 不同錨節(jié)點覆蓋率時的定位精度
分析圖2實驗結(jié)果,節(jié)點通信半徑為15m時,錨節(jié)點覆蓋率為5%時,采用本文算法定位無線傳感器網(wǎng)絡(luò)中的海量文獻數(shù)據(jù),定位精度高達99%。采用本文算法定位無線傳感器網(wǎng)絡(luò)中的海量文獻數(shù)據(jù),節(jié)點通信半徑越大時,定位精度越低。不同節(jié)點通信半徑時的定位精度均伴隨錨節(jié)點覆蓋率的提升而有所降低。圖2實驗結(jié)果表明,為了保障文獻數(shù)據(jù)定位精度,文獻數(shù)據(jù)定位實際應(yīng)用過程中,應(yīng)設(shè)置無線傳感器網(wǎng)絡(luò)中定位海量文獻數(shù)據(jù)時通信半徑較小,提升所研究算法的應(yīng)用性能。
統(tǒng)計無線傳感器網(wǎng)絡(luò)節(jié)點均勻隨機分布、非均勻分布以及包含覆蓋洞三種場景時的文獻數(shù)據(jù)定位精度,統(tǒng)計結(jié)果如圖3所示。
圖3 不同場景定位精度對比
分析圖3實驗結(jié)果可以看出,相比于節(jié)點非均勻分布情況以及節(jié)點布置過程中包含覆蓋洞情況,節(jié)點均勻分布時無線傳感器網(wǎng)絡(luò)海量文獻數(shù)據(jù)定位精度更加優(yōu)越。不同節(jié)點布置場景時,本文算法定位無線傳感器網(wǎng)絡(luò)海量文獻數(shù)據(jù)的定位精度均高于0.94。不同節(jié)點布置場景下,采用本文算法定位文獻數(shù)據(jù)均伴隨錨節(jié)點覆蓋率的提升而有所下降,定位無線傳感器網(wǎng)絡(luò)中包含的海量文獻數(shù)據(jù)時,可通過選取合適的錨節(jié)點提升海量文獻數(shù)據(jù)定位精度。
針對采用DV-Hop定位算法實現(xiàn)無線傳感器網(wǎng)絡(luò)海量文獻數(shù)據(jù)定位時,所具有的距離模糊、距離估計精準(zhǔn)性較差造成定位精度低的缺陷,本研究通過算法的改進降低定位誤差。通過修正節(jié)點間的跳數(shù),令無線傳感器網(wǎng)絡(luò)傳輸文獻數(shù)據(jù)時的跳數(shù)與理想跳數(shù)更加接近。通過實驗驗證,所研究算法可有效定位文獻數(shù)據(jù),在節(jié)點為均勻分布、非均勻分布以及無線傳感器網(wǎng)絡(luò)中包含覆蓋洞時,均具有較高的文獻數(shù)據(jù)定位水平,不同節(jié)點布置場景時,采用該定位算法定位無線傳感器網(wǎng)絡(luò)海量文獻數(shù)據(jù)的定位精度均高于0.94。所研究算法具有極高的定位精度,將該算法應(yīng)用于海量文獻中,同樣具有較高的應(yīng)用性。可有效提升海量文獻數(shù)據(jù)的實際應(yīng)用性能,避免海量文獻數(shù)據(jù)存在利用率較差的缺陷。