郭 悅,王紅軍
(國(guó)防科技大學(xué) 電子對(duì)抗學(xué)院,合肥 230037)
隨著物聯(lián)網(wǎng)的不斷發(fā)展,人們?nèi)粘I钪谐霈F(xiàn)了越來(lái)越多基于物聯(lián)網(wǎng)技術(shù)構(gòu)建的應(yīng)用。其中,精確的節(jié)點(diǎn)定位在物聯(lián)網(wǎng)范圍內(nèi)具有廣闊的應(yīng)用前景,對(duì)人們生活質(zhì)量的提高和基于位置服務(wù)具有重要的保障和支撐作用。概括地講,物聯(lián)網(wǎng)中的節(jié)點(diǎn)定位[1],即通過(guò)參考節(jié)點(diǎn)的信息來(lái)定位未知節(jié)點(diǎn),是解決特定環(huán)境中實(shí)體定位問(wèn)題(如環(huán)境監(jiān)測(cè)和入侵定位)的關(guān)鍵技術(shù)。參考節(jié)點(diǎn)即測(cè)量節(jié)點(diǎn),可以通過(guò)配備的全球定位系統(tǒng)(global positioning system,GPS)系統(tǒng)獲得測(cè)量節(jié)點(diǎn)準(zhǔn)確的位置信息;未知節(jié)點(diǎn)即需要確定位置的目標(biāo)節(jié)點(diǎn)。
物聯(lián)網(wǎng)中的定位算法根據(jù)是否需要對(duì)節(jié)點(diǎn)間的距離進(jìn)行測(cè)量,可分為基于測(cè)距和非測(cè)距的算法。測(cè)距算法通常需要硬件設(shè)備測(cè)得節(jié)點(diǎn)間的距離信息,利用該距離對(duì)未知節(jié)點(diǎn)進(jìn)行定位。常用的測(cè)距方法包括基于信號(hào)到達(dá)時(shí)間差(time difference of arrival, TDOA)、基于接收信號(hào)強(qiáng)度指示(received signal strength indication, RSSI)、基于信號(hào)到達(dá)時(shí)間(time of arrival, TOA)以及基于信號(hào)到達(dá)角(angle of arrival, AOA)等。其中,基于RSSI的測(cè)距方法[2-3]由于較低的操作復(fù)雜度以及較低的成本而得到廣泛使用。非測(cè)距定位算法主要依據(jù)網(wǎng)絡(luò)中節(jié)點(diǎn)之間的連通性實(shí)現(xiàn)定位,包括近似三角形內(nèi)點(diǎn)測(cè)試(aroximate point-in-triangulation test,APIT)算法[4]、質(zhì)心算法[5]以及凸規(guī)劃算法[6]等。
上述算法對(duì)于物聯(lián)網(wǎng)中靜態(tài)節(jié)點(diǎn)的定位已取得良好的效果,但是在物聯(lián)網(wǎng)的實(shí)際應(yīng)用中常常用到移動(dòng)節(jié)點(diǎn)的位置信息,例如智慧物流、共享單車(chē)等方面,而現(xiàn)有的靜態(tài)節(jié)點(diǎn)定位技術(shù)由于不能滿(mǎn)足定位的實(shí)時(shí)性要求而不再適用。因此,關(guān)于移動(dòng)節(jié)點(diǎn)定位方面的研究[7-8]逐漸發(fā)展為物聯(lián)網(wǎng)領(lǐng)域的熱點(diǎn)。近年來(lái),大數(shù)據(jù)應(yīng)用的需求,有力推動(dòng)了最小二乘支持向量回歸模型[9-10]的不斷發(fā)展。最小二乘支持向量回歸(least squares support vector regression, LSSVR)是一種基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化的有效機(jī)器學(xué)習(xí)技術(shù),建立在統(tǒng)計(jì)學(xué)基礎(chǔ)上,即使在樣本較少的情況下也表現(xiàn)出良好的擬合性能,在性能預(yù)測(cè)、數(shù)據(jù)監(jiān)測(cè)、辨識(shí)問(wèn)題等方面都得到了廣泛應(yīng)用,尤其在物聯(lián)網(wǎng)中,移動(dòng)節(jié)點(diǎn)的定位方面更是取得了長(zhǎng)足的發(fā)展。文獻(xiàn)[11]中提出一種基于LSSVR回歸建模實(shí)現(xiàn)未知節(jié)點(diǎn)定位的方法,綜合考慮了移動(dòng)節(jié)點(diǎn)定位的準(zhǔn)確度與實(shí)時(shí)性,展現(xiàn)出良好的定位性能。文獻(xiàn)[12]中提出一種基于接收信號(hào)強(qiáng)度指示(received signal strength indication,RSSI)高斯濾波的LSSVR物聯(lián)網(wǎng)節(jié)點(diǎn)定位方法,通過(guò)高斯函數(shù)濾除掉具有較大誤差的測(cè)距值,將相對(duì)精確的測(cè)距向量輸入到回歸模型中,估計(jì)出節(jié)點(diǎn)位置信息。該算法有效降低了節(jié)點(diǎn)的定位誤差,但是由于RSSI測(cè)量值的高斯濾波過(guò)程,使得算法定位的實(shí)時(shí)性有所降低。
研究發(fā)現(xiàn),在利用LSSVR模型對(duì)移動(dòng)節(jié)點(diǎn)定位的過(guò)程中,回歸模型的正規(guī)化參數(shù)以及核函數(shù)參數(shù)的選取會(huì)對(duì)定位性能帶來(lái)很大的影響?;谝陨纤?,文獻(xiàn)[13]中利用具有自組織、自適應(yīng)以及自學(xué)習(xí)性特征的遺傳算法(genetic algorithm, GA)對(duì)LSSVR模型的核函數(shù)參數(shù)和正規(guī)化參數(shù)進(jìn)行優(yōu)化,然而遺傳算法編碼工作相對(duì)復(fù)雜且搜索速度較慢;文獻(xiàn)[14]在傳統(tǒng)的LSSVR定位模型的基礎(chǔ)上,根據(jù)部分采樣點(diǎn)預(yù)測(cè)位置與實(shí)際位置的均方誤差,構(gòu)造適應(yīng)度函數(shù),利用粒子群算法(particle swarm optimization, PSO)[15-16]優(yōu)化LSSVR的模型參數(shù)。雖然該方法展現(xiàn)出了較好的優(yōu)化效果,但是由于粒子群算法的基本參數(shù)是固定的,因此,存在易陷入局部尋優(yōu)的缺陷,導(dǎo)致難以獲得全局最優(yōu)解位置,進(jìn)而對(duì)回歸模型的定位性能產(chǎn)生影響。針對(duì)LSSVR定位模型參數(shù)優(yōu)化方面的問(wèn)題,在文獻(xiàn)[14]中PSO-LSSVR定位算法的基礎(chǔ)上,提出一種改進(jìn)粒子群算法優(yōu)化LSSVR(IPSO-LSSVR)模型的移動(dòng)節(jié)點(diǎn)定位方法,通過(guò)自適應(yīng)改變慣性權(quán)重和學(xué)習(xí)因子,來(lái)提高算法的收斂速度并避免陷入局部尋優(yōu),獲得具有最優(yōu)參數(shù)的定位模型,提高算法的定位性能。
最小二乘支持向量回歸是基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理發(fā)展而來(lái)的一種有效的機(jī)器學(xué)習(xí)技術(shù),通過(guò)擬合特征向量與輸出值的非線(xiàn)性關(guān)系,得到表征輸入向量與輸出值關(guān)系的回歸模型。在物聯(lián)網(wǎng)移動(dòng)節(jié)點(diǎn)的定位過(guò)程中,利用已知信息構(gòu)建訓(xùn)練樣本集,擬合距離向量與節(jié)點(diǎn)橫縱坐標(biāo)的非線(xiàn)性映射關(guān)系,構(gòu)建LSSVR回歸模型。然后,將移動(dòng)過(guò)程中未知節(jié)點(diǎn)到各個(gè)測(cè)量節(jié)點(diǎn)的距離向量輸入到回歸模型,借助LSSVR模型實(shí)現(xiàn)移動(dòng)節(jié)點(diǎn)的定位。因此,基于LSSVR模型的節(jié)點(diǎn)定位過(guò)程主要由4個(gè)主要階段組成,包括訓(xùn)練樣本集的獲取、回歸建模、未知節(jié)點(diǎn)的RSSI測(cè)距以及節(jié)點(diǎn)定位。其流程如圖1,其中,(x,y)為未知節(jié)點(diǎn)的估計(jì)坐標(biāo)。
1)訓(xùn)練樣本集的獲取。已知定位區(qū)域?yàn)槎S正方形區(qū)域,使用邊長(zhǎng)為t的方格將定位區(qū)域網(wǎng)格化,從而獲得N個(gè)網(wǎng)格交點(diǎn)的坐標(biāo)Ai(xi,yi)(i=1,2,…,N),在定位區(qū)域內(nèi)部設(shè)置M個(gè)測(cè)量節(jié)點(diǎn)Bj(j=1,2,…,M)。根據(jù)Ai到Bj的距離dij,可以得到任意一個(gè)網(wǎng)格交點(diǎn)到各個(gè)測(cè)量節(jié)點(diǎn)的距離向量Ri=[di1,di2,…,diM]。通過(guò)距離向量和網(wǎng)格交點(diǎn)坐標(biāo)(xi,yi)構(gòu)造模型的訓(xùn)練樣本集,表示為
(1)
2)回歸建模。以求解X-LSSVR定位模型為例,利用LSSVR對(duì)樣本集λx進(jìn)行訓(xùn)練,基于最小化結(jié)構(gòu)風(fēng)險(xiǎn)準(zhǔn)則,構(gòu)造并求解最優(yōu)化問(wèn)題,得到
(2)
(2)式中:φ(·)為非線(xiàn)性映射函數(shù);μ為權(quán)重系數(shù)向量;εi(i=1,2,…,N)為回歸模型的擬合誤差;ε=[ε1,ε2,…,εN]為εi組成的誤差向量;b為偏置值;γ(γ>0)為正規(guī)化參數(shù)。
圖1 LSSVR定位算法流程圖Fig.1 Flow chart of LSSVR localization algorithm
為了對(duì)上述優(yōu)化問(wèn)題進(jìn)行求解,一般將其轉(zhuǎn)化為對(duì)偶問(wèn)題,構(gòu)造Lagrange函數(shù)為
(3)
(3)式中,ai為拉格朗日算子,由KKT[17]條件對(duì)函數(shù)進(jìn)行運(yùn)算,最終得到矩陣方程的簡(jiǎn)化形式為
(4)
(4)式中:x=[x1,x2,…,xN]T;a=[a1,a2,…,aN]T,1=[1,1,…,1]T;I為單位矩陣;Ω代表N×N階對(duì)稱(chēng)矩陣,其第i行j列的元素為
K(Ri,Rj)=φ(Ri)T·φ(Rj),i,j=1,2,…,N
(5)
(5)式中,K(Ri,Rj)為核函數(shù),由于徑向基核函數(shù)[18]具有參數(shù)較少且預(yù)測(cè)性能好等優(yōu)勢(shì),文中將其作為回歸模型的核函數(shù),表示為
K(Ri,Rj)=e-‖Ri-Rj‖2/2σ2
(6)
設(shè)Q=Ω+γ-1I且H=Q-1,通過(guò)對(duì)(4)式進(jìn)行求解,可以得到
(7)
a=H(x-1×b)
(8)
因此,得到回歸模型的擬合函數(shù),即X-LSSVR的定位模型為
(9)
同理,Y-LSSVR的定位模型也可以通過(guò)對(duì)樣本集λy進(jìn)行訓(xùn)練來(lái)獲得。
3)未知節(jié)點(diǎn)的RSSI測(cè)距。當(dāng)未知節(jié)點(diǎn)在定位區(qū)域內(nèi)移動(dòng)時(shí),測(cè)量節(jié)點(diǎn)首先測(cè)得來(lái)自未知節(jié)點(diǎn)的信號(hào)強(qiáng)度;然后,根據(jù)RSSI測(cè)距技術(shù),得到移動(dòng)過(guò)程中未知節(jié)點(diǎn)到各個(gè)測(cè)量節(jié)點(diǎn)的距離,并將組成的距離向量R作為L(zhǎng)SSVR模型的輸入。
4)節(jié)點(diǎn)定位。當(dāng)定位區(qū)域內(nèi)至少存在3個(gè)測(cè)量節(jié)點(diǎn)不在同一直線(xiàn)上時(shí),便可以運(yùn)用LSSVR模型進(jìn)行定位計(jì)算。將上述步驟中獲得的距離向量輸入到回歸模型的擬合函數(shù)X-LSSVR,Y-LSSVR中,估計(jì)出未知節(jié)點(diǎn)的坐標(biāo)(x,y),實(shí)現(xiàn)定位功能。
粒子群算法是一種全局搜索算法,通過(guò)模擬鳥(niǎo)群覓食行為發(fā)展而來(lái),在搜索空間中尋找最優(yōu)解實(shí)現(xiàn)優(yōu)化。與其他優(yōu)化算法相比,具有實(shí)現(xiàn)簡(jiǎn)單、搜索效率高且參數(shù)較少等優(yōu)勢(shì)。該算法被廣泛地應(yīng)用于參數(shù)的優(yōu)化,并展現(xiàn)出很好的性能。
粒子群算法采用位置與速度的數(shù)學(xué)模型,假設(shè)在d維搜索空間中,第i個(gè)粒子的位置為Xi=(xi1,xi2,…,xid),i=1,2,…,n,n為粒子總數(shù),對(duì)應(yīng)粒子速度向量為Vi=(vi1,vi2,…,vid)。每個(gè)粒子都代表著在搜索空間中優(yōu)化問(wèn)題的一個(gè)潛在解,且具有一個(gè)由優(yōu)化的函數(shù)決定的適應(yīng)值(ffitness)。在迭代過(guò)程中,粒子通過(guò)對(duì)自己的適應(yīng)度值進(jìn)行計(jì)算,不斷更新其位置與速度向量,獲得2個(gè)“極值”:①個(gè)體極值Pibest=(pi1,pi2,…,pid),即粒子自身找到的最優(yōu)解位置;②全局極值Gbest=(g1,g2,…,gd),即整個(gè)粒子種群獲得的最優(yōu)解位置。
根據(jù)這2個(gè)最優(yōu)解,粒子通過(guò)(10)式和(11)式進(jìn)行速度和位置的更新。
Vik+1=ω×Vik+c1r1(Pibestk-Xik)+
c2r2(Gbestk-Xik)
(10)
Xik+1=Xik+Vik+1
(11)
(10)—(11)式中:k是當(dāng)前的迭代次數(shù);Xik,Xik+1分別為當(dāng)前迭代和下一迭代次數(shù)下粒子的位置向量;Vik,Vik+1分別為當(dāng)前迭代和下一迭代次數(shù)下粒子的速度向量;c1,c2為學(xué)習(xí)因子,一般取c1=c2=1;r1,r2為[0,1]的隨機(jī)數(shù);ω為慣性權(quán)重。
從標(biāo)準(zhǔn)粒子群算法可以發(fā)現(xiàn),粒子易于聚集在個(gè)體極值位置和全局極值位置附近,使得種群的多樣性逐漸喪失,產(chǎn)生趨同效應(yīng),出現(xiàn)早熟收斂現(xiàn)象;在迭代進(jìn)行的后期階段,粒子種群的搜索將變得停滯,并且很容易陷入局部?jī)?yōu)化,這使得粒子的搜索精度降低。由于粒子個(gè)體的搜索速度主要由學(xué)習(xí)因子c1,c2以及慣性權(quán)重ω決定,所以,論文從以下2個(gè)方面對(duì)粒子群算法進(jìn)行改進(jìn),避免其出現(xiàn)早熟收斂以及局部尋優(yōu)的現(xiàn)象。
1)慣性權(quán)重的改進(jìn)。在粒子群算法中,慣性權(quán)重控制著粒子的運(yùn)動(dòng)慣性,因此,可以通過(guò)對(duì)ω進(jìn)行調(diào)整來(lái)改變粒子的搜索能力。通常,較大的ω值意味著粒子的全局搜索能力較強(qiáng),而較小的ω值則意味著粒子的局部搜索能力較強(qiáng)。傳統(tǒng)的PSO算法中,一般將ω設(shè)置為定值1。為了使算法的全局與局部搜索能力更加平衡,獲得更好的搜索性能,論文采用一種慣性權(quán)重的自適應(yīng)調(diào)整方法,隨著粒子適應(yīng)度函數(shù)值的改變,慣性權(quán)重自動(dòng)調(diào)整其大小,具體表述為
(12)
(12)式中:ωmin是最小的慣性權(quán)重值;ωmax則為最大的慣性權(quán)重值;f是粒子當(dāng)前的適應(yīng)度取值;favg和fmin分別是整個(gè)粒子種群當(dāng)前適應(yīng)度的平均值與最小值。
2)學(xué)習(xí)因子的改進(jìn)。c1為自我學(xué)習(xí)因子,用于調(diào)節(jié)自身經(jīng)驗(yàn)的權(quán)值;c2為社會(huì)學(xué)習(xí)因子,用于調(diào)節(jié)種群經(jīng)驗(yàn)的權(quán)值。在傳統(tǒng)PSO算法中,c1,c2為定值,導(dǎo)致種群過(guò)早地陷入局部收斂。為了使算法的收斂性能得以提高,方便獲得全局最優(yōu)解,在迭代初期,設(shè)置較大的c1值以及較小的c2值,使粒子的自我學(xué)習(xí)能力較大、社會(huì)學(xué)習(xí)能力較小,利于其飛行于整個(gè)搜索空間中;迭代后期,設(shè)置較大的c2值以及較小的c1值,這樣,使粒子的社會(huì)學(xué)習(xí)能力較大、自我學(xué)習(xí)能力較小,有利于粒子向全局最優(yōu)解位置飛行。由于c1,c2的值通常為(0.5, 2.5),因此,論文將c1,c2設(shè)置為單調(diào)遞減和遞增函數(shù),表示為
(13)
(13)式中,k和kmax分別為當(dāng)前迭代次數(shù)與最大迭代次數(shù)。
根據(jù)LSSVR模型對(duì)移動(dòng)節(jié)點(diǎn)進(jìn)行定位的原理可知,回歸模型中的核函數(shù)參數(shù)σ以及正規(guī)化參數(shù)γ的選取,將會(huì)對(duì)定位性能產(chǎn)生很大的影響。其中,正規(guī)化參數(shù)γ用來(lái)平衡模型的擬合光滑性和擬合誤差最小化,核函數(shù)參數(shù)σ則對(duì)訓(xùn)練樣本分布的復(fù)雜情況進(jìn)行反映。因此,參數(shù)γ和σ的合理取值,有利于更好地?cái)M合距離向量與坐標(biāo)之間的映射關(guān)系,使得定位模型更加可靠。通常情況下,利用經(jīng)驗(yàn)判斷或網(wǎng)格搜索等方法對(duì)參數(shù)進(jìn)行選擇,但是存在費(fèi)時(shí)費(fèi)力以及很難獲得最優(yōu)模型的缺陷。為了避免參數(shù)取值的盲目性,論文采用一種改進(jìn)的粒子群算法對(duì)模型參數(shù)進(jìn)行迭代尋優(yōu),以獲得具有優(yōu)良性能的定位模型。
在運(yùn)用改進(jìn)粒子群算法對(duì)模型參數(shù)的優(yōu)化過(guò)程中,適應(yīng)度函數(shù)的合理構(gòu)造尤為重要。為了降低參數(shù)優(yōu)化的復(fù)雜性,文中將少數(shù)網(wǎng)格交點(diǎn)作為測(cè)試點(diǎn),根據(jù)測(cè)試點(diǎn)定位誤差的均方值進(jìn)行適應(yīng)度函數(shù)的構(gòu)造,通過(guò)迭代優(yōu)化,確定最佳參數(shù)值。具體的適應(yīng)度函數(shù)表示為
(14)
(14)式中:(xi,yi) (i=1,2,…,L)為測(cè)試點(diǎn)的實(shí)際位置;Ri為測(cè)試點(diǎn)處的距離向量;fx,fy為優(yōu)化建模參數(shù)建立的回歸模型。
利用改進(jìn)的粒子群算法對(duì)模型參數(shù)優(yōu)化的具體步驟如下。
步驟1初始化粒子群算法中的粒子群規(guī)模(sizePop)、最大迭代次數(shù)(kmax),ωmin以及ωmax等相關(guān)參數(shù)。同時(shí)利用回歸模型中的正規(guī)化參數(shù)γ以及核函數(shù)參數(shù)σ隨機(jī)產(chǎn)生粒子向量(γ,σ),并初始化粒子的速度。
步驟2基于粒子向量建立的LSSVR定位模型,對(duì)每個(gè)粒子的最優(yōu)位置進(jìn)行搜索。迭代初始,將粒子個(gè)體的初始位置作為其個(gè)體極值位置,并記錄該位置(Pibest);利用(14)式對(duì)各個(gè)位置的適應(yīng)度函數(shù)值ffitness進(jìn)行計(jì)算,并且將函數(shù)值最優(yōu)的位置記錄為全局最優(yōu)位置(Gbest)。
步驟3利用(12)式,(13)式計(jì)算每次迭代時(shí)粒子的慣性權(quán)重ω以及學(xué)習(xí)因子c1,c2,并通過(guò)(10)式和(11)式更新粒子個(gè)體的速度與位置。
步驟4粒子的評(píng)估。計(jì)算粒子在每次迭代時(shí)的適應(yīng)度值,如果優(yōu)于其經(jīng)歷過(guò)的最優(yōu)位置的適應(yīng)度值,則更新個(gè)體極值位置,否則不進(jìn)行更新;同理,如果種群中適應(yīng)度值最優(yōu)的位置好于當(dāng)前的全局極值位置,則將該位置設(shè)置為新的全局最優(yōu)位置,否則保留之前的最優(yōu)值位置。
步驟5檢查是否滿(mǎn)足終止條件。如果滿(mǎn)足終止條件,輸出當(dāng)前最優(yōu)解的位置,否則回到步驟3繼續(xù)執(zhí)行循環(huán),直到滿(mǎn)足誤差要求或達(dá)到最大迭代次數(shù),并最終輸出所得到的全局最優(yōu)值位置。
步驟6獲得最優(yōu)參數(shù)后,將其代入LSSVR模型中進(jìn)行定位計(jì)算。
使用改進(jìn)的PSO算法優(yōu)化LSSVR定位模型參數(shù)的流程如圖2。
圖2 LSSVR定位模型參數(shù)優(yōu)化流程圖Fig.2 Flow chart of parameters optimization about LSSVR localization model
定位算法的仿真實(shí)驗(yàn)在Matlab R2016a平臺(tái)下進(jìn)行。實(shí)驗(yàn)設(shè)置一個(gè)100 m×100 m的矩形定位區(qū)域,未知節(jié)點(diǎn)的運(yùn)動(dòng)采用隨機(jī)waypoint移動(dòng)模型[19],且以一定速度在定位區(qū)域內(nèi)移動(dòng)。設(shè)置該移動(dòng)節(jié)點(diǎn)的初始坐標(biāo)為(20,80),先后分別沿Y軸負(fù)方向以及X軸正方向做直線(xiàn)運(yùn)動(dòng),節(jié)點(diǎn)的運(yùn)動(dòng)速度在[0,Vmax]變化,最大速度Vmax=2 m/s,測(cè)距誤差因子為10%,測(cè)量節(jié)點(diǎn)數(shù)量設(shè)為4個(gè),分布于矩形區(qū)域頂點(diǎn)位置,網(wǎng)格邊長(zhǎng)t=25 m。因此,獲得除矩形區(qū)域頂點(diǎn)位置的網(wǎng)格交點(diǎn)坐標(biāo)。粒子群算法參數(shù)分別設(shè)置為ωmin=0.4,ωmax=0.9,kmax=100,sizePop=20。
為了更加有效地評(píng)估本文算法的定位性能,引入傳統(tǒng)的LSSVR算法以及PSO-LSSVR算法進(jìn)行了相應(yīng)的對(duì)比。定位誤差的計(jì)算式[20]為
(15)
(15)式中,(xreal,yreal),(x,y)分別表示未知節(jié)點(diǎn)的實(shí)際坐標(biāo)與估計(jì)坐標(biāo)。為了降低偶然誤差等因素帶來(lái)的影響,取運(yùn)行1 000次實(shí)驗(yàn)的平均定位誤差作為仿真結(jié)果。下面分別從算法的定位效果對(duì)比,測(cè)距誤差以及運(yùn)動(dòng)速度對(duì)定位誤差的影響,定位算法穩(wěn)定性與實(shí)時(shí)性分析這幾個(gè)方面闡述IPSO-LSSVR算法的優(yōu)越性。
為了比較3種算法在定位區(qū)域中對(duì)移動(dòng)節(jié)點(diǎn)的定位效果,通過(guò)仿真實(shí)驗(yàn),獲得了LSSVR算法、PSO-LSSVR算法以及本文提出的IPSO-LSSVR算法的定位跟蹤效果圖,分別如圖3—圖5。通過(guò)對(duì)比發(fā)現(xiàn),相比于LSSVR與PSO-LSSVR算法,本文提出的改進(jìn)算法對(duì)未知節(jié)點(diǎn)移動(dòng)過(guò)程中的估計(jì)位置更加接近于其運(yùn)動(dòng)軌跡中的真實(shí)位置,因此,定位精度有了明顯提高,對(duì)移動(dòng)節(jié)點(diǎn)具有更好的定位跟蹤效果。
圖3 LSSVR算法定位效果Fig.3 Localization effect of LSSVR algorithm
在實(shí)際的應(yīng)用環(huán)境中,由于測(cè)距過(guò)程存在噪聲等干擾因素的影響,導(dǎo)致測(cè)距結(jié)果存在誤差。因此,為了使得實(shí)驗(yàn)更符合實(shí)際情況,在實(shí)際距離測(cè)量中增加高斯誤差,表示為
di=dij(1+randn×μ)
(16)
(16)式中:dij為節(jié)點(diǎn)間的真實(shí)距離值;μ為測(cè)距誤差因子,與測(cè)距精度有關(guān);randn為服從標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)變量。因此,論文將(16)式的計(jì)算值作為節(jié)點(diǎn)間的測(cè)距結(jié)果,實(shí)驗(yàn)中通過(guò)調(diào)整誤差因子μ達(dá)到改變測(cè)距誤差的目的。圖6顯示了隨著測(cè)距誤差不斷增長(zhǎng),3種算法平均定位誤差的變化曲線(xiàn)。從圖6中可以看出,在測(cè)距誤差不斷增加的情況下,3種算法的平均定位誤差均逐漸增加,但總體趨勢(shì)比較平緩。從平均定位誤差大小來(lái)分析,傳統(tǒng)LSSVR算法的平均定位誤差為7~9 m,PSO-LSSVR 算法的平均定位誤差略小,為5.5~7.2 m,然而本文所提改進(jìn)算法的平均定位誤差最小,為4.5~6 m。因此,本文改進(jìn)算法在定位精度方面具備一定的優(yōu)勢(shì),其平均定位誤差相對(duì)于LSSVR算法降低了約25.9%,相對(duì)于PSO-LSSVR算法降低了19.7%左右。
圖4 PSO-LSSVR算法定位效果Fig.4 Localization effect of PSO-LSSVR algorithm
圖5 IPSO-LSSVR算法定位效果Fig.5 Localization effect of IPSO-LSSVR algorithm
由于本文是對(duì)物聯(lián)網(wǎng)中移動(dòng)節(jié)點(diǎn)定位方面展開(kāi)研究,節(jié)點(diǎn)的運(yùn)動(dòng)速度必然會(huì)對(duì)定位誤差產(chǎn)生一定的影響,因此,仿真時(shí)考慮了節(jié)點(diǎn)速度這一重要因素。定位誤差隨速度增長(zhǎng)的變化曲線(xiàn)如圖7,圖7中顯示了在節(jié)點(diǎn)的運(yùn)動(dòng)速度不斷增加的情況下,3種算法平均定位誤差的變化曲線(xiàn)。根據(jù)所得仿真圖中的總體趨勢(shì),可以明顯發(fā)現(xiàn),隨著節(jié)點(diǎn)運(yùn)動(dòng)速度的增大,3種算法的定位誤差大體上均不斷增加,即定位精度逐漸降低。與此同時(shí),與傳統(tǒng)的LSSVR算法以及PSO-LSSVR算法相比,本文提出的IPSO-LSSVR算法的平均定位誤差總是最小,即定位精度更高。因此,當(dāng)節(jié)點(diǎn)的運(yùn)動(dòng)速度在整個(gè)速度區(qū)間內(nèi)不斷增加時(shí),與LSSVR以及PSO-LSSVR定位算法相比,本文提出的IPSO-LSSVR算法存在一定的優(yōu)勢(shì)。
圖6 定位誤差隨測(cè)距誤差增長(zhǎng)的變化曲線(xiàn)Fig.6 Changing curve of localization error with range error increasing
圖7 定位誤差隨速度增長(zhǎng)的變化曲線(xiàn)Fig.7 Changing curve of localization error with speed increasing
在移動(dòng)節(jié)點(diǎn)定位過(guò)程中,定位算法的穩(wěn)定性同樣是對(duì)其進(jìn)行評(píng)價(jià)的重要指標(biāo)。因此,仿真時(shí)設(shè)置未知節(jié)點(diǎn)的初始坐標(biāo)為(20, 20),并且以1 m/s的速度沿X軸正方向做勻速直線(xiàn)運(yùn)動(dòng)。隨著時(shí)間的推移,比較3種算法平均定位誤差的變化情況,所得的仿真結(jié)果如圖8。根據(jù)各個(gè)時(shí)刻3種算法平均定位誤差的波動(dòng)情況,發(fā)現(xiàn)LSSVR與PSO-LSSVR算法平均定位誤差的浮動(dòng)較大,表明這2種算法定位的穩(wěn)定性有待加強(qiáng),而本文提出的IPSO-LSSVR算法的定位誤差曲線(xiàn)波動(dòng)較小,穩(wěn)定性較好。論文采用改進(jìn)粒子群算法優(yōu)化回歸模型的正規(guī)化參數(shù)以及核函數(shù)參數(shù),通過(guò)對(duì)PSO算法中的慣性權(quán)重和學(xué)習(xí)因子進(jìn)行自適應(yīng)調(diào)整,以及適應(yīng)度函數(shù)的合理構(gòu)造,降低了粒子種群陷入局部尋優(yōu)的可能性,從而獲得最優(yōu)的模型參數(shù),使得定位模型的擬合性能更好、抗噪能力更強(qiáng),提高了算法的定位精度,增強(qiáng)了其穩(wěn)定性。
圖8 定位誤差隨時(shí)間增長(zhǎng)的變化曲線(xiàn)Fig.8 Changing curve of localization error with time increasing
定位時(shí)間指一次定位的完成所消耗的時(shí)間,是評(píng)價(jià)移動(dòng)節(jié)點(diǎn)定位算法的又一個(gè)重要標(biāo)準(zhǔn),定位的時(shí)間越短,定位的實(shí)時(shí)性越好。為了衡量定位算法的實(shí)時(shí)性,表1中顯示了3種算法的平均定位時(shí)間的估計(jì)值。從表1中不難發(fā)現(xiàn),3種算法的平均定位時(shí)間均在0.15 s左右,其定位時(shí)間相差不大,在可接受的范圍內(nèi),同時(shí)在定位算法的運(yùn)行時(shí)間內(nèi),節(jié)點(diǎn)運(yùn)動(dòng)的距離相對(duì)較小,產(chǎn)生的誤差基本可以忽略。由于回歸模型的參數(shù)優(yōu)化是在離線(xiàn)過(guò)程中進(jìn)行的,因此,并沒(méi)有增加實(shí)際過(guò)程中的定位時(shí)間,可以滿(mǎn)足移動(dòng)節(jié)點(diǎn)定位的實(shí)時(shí)性需求。
表1 定位算法的運(yùn)行時(shí)間
移動(dòng)節(jié)點(diǎn)定位作為物聯(lián)網(wǎng)領(lǐng)域的熱點(diǎn)問(wèn)題之一,具有極強(qiáng)的研究?jī)r(jià)值。本文采用圍欄定位方法,針對(duì)測(cè)量節(jié)點(diǎn)固定而未知節(jié)點(diǎn)以一定速度在定位區(qū)域內(nèi)移動(dòng)的情況,提出了一種改進(jìn)粒子群算法優(yōu)化LSSVR模型的移動(dòng)節(jié)點(diǎn)定位方法。該算法首先通過(guò)對(duì)樣本集進(jìn)行訓(xùn)練獲得LSSVR定位模型,然后自適應(yīng)調(diào)整粒子群算法的慣性權(quán)重以及學(xué)習(xí)因子,降低陷入局部尋優(yōu)的可能性,并將其應(yīng)用于定位模型的參數(shù)優(yōu)化。最后,將根據(jù)RSSI測(cè)距技術(shù)獲得的節(jié)點(diǎn)移動(dòng)過(guò)程中的距離向量輸入到回歸模型,得到未知節(jié)點(diǎn)的估計(jì)位置。仿真結(jié)果表明,與其他定位算法相比,本文提出的算法在滿(mǎn)足移動(dòng)節(jié)點(diǎn)定位實(shí)時(shí)性的同時(shí),定位精度和穩(wěn)定性都得到提高,表現(xiàn)出良好的定位性能。