一種基于測距和神經(jīng)網(wǎng)絡(luò)算法的水下定位方法
【專利摘要】本發(fā)明公開了一種基于測距和神經(jīng)網(wǎng)絡(luò)算法的水下定位方法,包括如下步驟:在定位水域內(nèi)布置K個錨節(jié)點和N個待定位節(jié)點,測量每個待定位節(jié)點與K個錨節(jié)點之間的距離;分離線訓(xùn)練和在線定位兩個階段進(jìn)行定位;所述離線訓(xùn)練階段包括以下步驟:測量第n個待定位節(jié)點與所有錨節(jié)點距離,形成距離向量,將距離向量輸入三層神經(jīng)網(wǎng)絡(luò):神經(jīng)網(wǎng)絡(luò)輸入層、神經(jīng)網(wǎng)絡(luò)隱藏層和神經(jīng)網(wǎng)絡(luò)輸出層;通過算法迭代更新預(yù)測模型參數(shù),輸出神經(jīng)網(wǎng)絡(luò)模型參數(shù);所述在線定位階段包括以下步驟:測量第n個待定位節(jié)點與所有錨節(jié)點當(dāng)前距離,形成距離向量;將距離向量輸入離線訓(xùn)練階段得到的神經(jīng)網(wǎng)絡(luò)模型參數(shù);輸出待定位節(jié)點的位置坐標(biāo),減小測距誤差。
【專利說明】
一種基于測距和神經(jīng)網(wǎng)絡(luò)算法的水下定位方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及水下無線傳感器網(wǎng)絡(luò)領(lǐng)域,特別是涉及一種基于測距和神經(jīng)網(wǎng)絡(luò)算法 的水下定位方法。
【背景技術(shù)】
[0002] 近些年來,世界各國對海洋問題的重視程度日益加深。隨著海洋環(huán)境保護(hù),資源開 發(fā),海洋工程等項目的進(jìn)行以及陸地?zé)o線傳感器網(wǎng)絡(luò)研究的迅速發(fā)展,水下無線傳感器網(wǎng) 絡(luò)(Underwater Wireless Sensor Network,UWSN)已經(jīng)成為了新的研究熱點。而其中的水 下無線傳感器網(wǎng)絡(luò)定位問題更是一個研究重點。
[0003] 現(xiàn)有UWSN定位算法根據(jù)定位過程中是否需要測量節(jié)點的距離通??煞譃榛跍y 距的算法和無需測距的算法?;跍y距的算法中,在節(jié)點定位之前需要獲取未知節(jié)點想對 于相鄰已知節(jié)點之間的距離,或者在已知坐標(biāo)系中測量未知節(jié)點相對于已知節(jié)點的方位 角。典型的測距方法主要有以下四種:(1)基于信號到達(dá)時間(Time of Arrival,Τ0Α)測距, 要求節(jié)點之間保持精確的時間同步;(2)基于信號到達(dá)時間差(Time Difference of Arrival,TD0A)測距,一般受聲波傳播距離的限制;(3)基于信號到達(dá)角度(Angle of Arrival,Α0Α)測距,需要節(jié)點裝配特殊硬件,且容易被外界因素干擾;(4)信號接收強(qiáng)度 (Received Signal Strength Indicator,RSSI)測距,功耗低、成本低,但測距誤差較大。在 獲取未知節(jié)點與錨節(jié)點之間的距離以后,計算未知節(jié)點位置坐標(biāo)的一般方法有三邊定位法 (Trilateration)和最小二乘法(Generalized Least Squares,GLS)。三邊定位法通常要求 的錨節(jié)點數(shù)量只有三個,通過三圓相交于一點來計算未知節(jié)點的位置坐標(biāo)。但是實際情況 下,由于測距誤差的存在,三個圓通常不能交于一點,導(dǎo)致三邊定位法在定位穩(wěn)定性和定位 精度方面表現(xiàn)的都比較差,這種情況下就需要采用最小二乘法定位。最小二乘法其基本原 理是尋找一個使實測距離與理論估計距離之差最小的點作為未知節(jié)點的坐標(biāo)。不過,采用 最小二乘法定位的時候,錨節(jié)點個數(shù)往往大于三個。
[0004] 盡管最小二乘法在定位精度上比三邊定位法效果提升了很多,但由于水下信道包 含了非常嚴(yán)重的多徑效應(yīng),衰減,噪聲等干擾問題,這些干擾往往會導(dǎo)致測量距離與真實距 離之間存在著一定誤差,而最小二乘法對距離誤差的容錯性存在著一定的限制,導(dǎo)致其在 定位精度及均方差方面表現(xiàn)較差。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明目的就是為解決為了提高定位算法對這些干擾尤其是噪聲的包容性及位 置計算問題。
[0006] 本發(fā)明的技術(shù)問題通過以下的技術(shù)方案予以解決:
[0007] -種基于測距和神經(jīng)網(wǎng)絡(luò)算法的水下定位方法,其特征在于,包括如下步驟:
[0008] A1、在定位水域內(nèi)布置K個錨節(jié)點和N個待定位節(jié)點,測量每個待定位節(jié)點與K個錨 節(jié)點之間的距離;
[0009] A2、分離線訓(xùn)練和在線定位兩個階段進(jìn)行定位;
[0010] A3、所述離線訓(xùn)練階段包括以下步驟:
[00?1 ] A31、測量第η個待定位節(jié)點與所有錨節(jié)點距離,形成距離向量dn;
[0012] A32、將距離向量4輸入三層神經(jīng)網(wǎng)絡(luò):神經(jīng)網(wǎng)絡(luò)輸入層、神經(jīng)網(wǎng)絡(luò)隱藏層和神經(jīng) 網(wǎng)絡(luò)輸出層;
[0013] A33、通過算法迭代更新預(yù)測模型參數(shù),輸出神經(jīng)網(wǎng)絡(luò)模型參數(shù)。
[0014] A4、所述在線定位階段包括以下步驟:
[00? 5] A41、測量第η個待定位節(jié)點與所有錨節(jié)點當(dāng)前距離,形成距離向量sn;
[0016] A42、將距離向量sn輸入離線訓(xùn)練階段得到的神經(jīng)網(wǎng)絡(luò)模型參數(shù);
[0017] A43、輸出待定位節(jié)點的位置坐標(biāo)。
[0018]根據(jù)本發(fā)明的另一個具體方面,步驟A31中所述距離向量由下列公式表示:
[0019] dn= [dn,l , ··· ,dn,k, ··· ,dn,K]T
[0020] 其中:dn,k表示第n個待定位節(jié)點與第k個錨節(jié)點之間的距離,
[0021 ] ne[l,N],ke[l,K],T 表示轉(zhuǎn)置操作。
[0022] 根據(jù)本發(fā)明的另一個具體方面,步驟A32中,
[0023] 所述神經(jīng)網(wǎng)絡(luò)輸入層:共有K+1個節(jié)點,前K個為激活節(jié)點,對應(yīng)為輸入節(jié)點,第k個 節(jié)點的輸入與輸出均為dn,k,kG [1,K],輸入層第K+1個節(jié)點為偏置節(jié)點,其輸出為if ;
[0024] 所述神經(jīng)網(wǎng)絡(luò)隱藏層:共有U+1個節(jié)點,前U個為激活節(jié)點,其中第u個激活節(jié)點輸 入為+ 滿出為/ (w匕1乂 + C ),u e [ 1,U],^ 入層到隱藏層第u個激活節(jié)點的轉(zhuǎn)移參數(shù)向量,f(x)表示激活函數(shù),全部U個激活節(jié)點輸出 向量為〇[;#,··_0·_,C;f,隱藏層第U+1個節(jié)點為偏置節(jié)點,其輸出為
[0025] 所述神經(jīng)網(wǎng)絡(luò)輸出層:只有1個節(jié)點,其輸入為W廠af +K1,輸出為 巧= /(wf)ra!,2i +€)=(~>,》),其中, 點的轉(zhuǎn)移參數(shù)向量,U,yn)為第η個待定位節(jié)點的位置坐標(biāo)。
[0026]根據(jù)本發(fā)明的另一個具體方面,所述激活函數(shù)f (X)是s i gmo id函數(shù),即f(x) = l/ (l +exp(_x))〇
[0027] 根據(jù)本發(fā)明的另一個具體方面,步驟A33中,使用批量梯度下降法,通過多次迭代 更新,得到其收斂到最優(yōu)值的預(yù)測模型參數(shù):iw^wf片11#1e[l,[]}。
[0028] 根據(jù)本發(fā)明的另一個具體方面,所述多次迭代更新中使用反向傳播算法計算偏導(dǎo) 數(shù)。
[0029]根據(jù)本發(fā)明的另一個具體方面,步驟A41中所述距離向量由下列公式表示:
[0030] sn=[sn,i,···,sn,k,···,sn,K] T
[0031] 其中:sn,k表示第η個待定位節(jié)點與第k個錨節(jié)點之間的當(dāng)前距離,
[0032] ne[l,N],ke[l,K]。
[0033] 根據(jù)本發(fā)明的另一個具體方面,步驟A42中將所述距離向量sn輸入離線訓(xùn)練階段 得到的神經(jīng)網(wǎng)絡(luò)模型參數(shù)丨雙$,丨 2),妒灰2)|闕[1,1/從£[1,幻丨,包括以下步驟:
[0034] A421、神經(jīng)網(wǎng)絡(luò)輸入層:第k個節(jié)點的輸入與輸出均為sn,k,k e [ 1,K],偏置節(jié)點輸 出為奶
[0035] A422、神經(jīng)網(wǎng)絡(luò)隱藏層:第u個激活節(jié)點輸入為〇;,+/0俞出為O/K?:1) ue [1,U],全部U個激活節(jié)點輸出向量為<1=[€,.。.,€,...,#1,偏置節(jié)點輸出為紀(jì)2\
[0036] A423、神經(jīng)網(wǎng)絡(luò)輸出層:輸入為w;,2)X:)十Λ,(,-'輸出為巧廣)=(Λ·",υ (xn,yn)為第η個待定位節(jié)點的位置坐標(biāo)。
[0037]根據(jù)本發(fā)明的另一個具體方面,使用TD0A方法測量每個所述待定位節(jié)點與所有錨 節(jié)點距離。
[0038] 本發(fā)明與現(xiàn)有技術(shù)對比的有益效果是:
[0039] 本發(fā)明中所提出的定位方法將神經(jīng)網(wǎng)絡(luò)算法和基于測距的定位算法進(jìn)行了有機(jī) 結(jié)合,本發(fā)明采用TD0A測距方法,克服了傳統(tǒng)的位置計算方法如最小二乘法對距離誤差的 容錯性存在著一定的限制、定位精度及穩(wěn)定性方面表現(xiàn)較差的缺點,利用神經(jīng)網(wǎng)絡(luò)算法通 常具有優(yōu)異的誤差容錯性這一特點,本發(fā)明基于測距并使用神經(jīng)網(wǎng)絡(luò)算法來代替?zhèn)鹘y(tǒng)的位 置計算算法進(jìn)行定位,減小測距誤差。
【附圖說明】
[0040] 圖1是本發(fā)明離線訓(xùn)練階段流程圖;
[0041] 圖2是本發(fā)明神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖;
[0042] 圖3是本發(fā)明在線定位階段流程圖;
[0043] 圖4是本發(fā)明網(wǎng)絡(luò)模型結(jié)構(gòu)圖;
[0044] 圖5是本發(fā)明錨節(jié)點數(shù)目改變時三種算法性能比較圖;
[0045] 圖6是本發(fā)明訓(xùn)練集大小改變時三種算法性能比較圖;
[0046] 圖7是本發(fā)明距離誤差改變時三種算法性能比較圖。
【具體實施方式】
[0047] 本發(fā)明中所提出的定位方法將神經(jīng)網(wǎng)絡(luò)算法和基于測距的定位算法進(jìn)行了有機(jī) 結(jié)合。水下信道通常存在嚴(yán)重的多徑效應(yīng)、干擾、噪聲等因素而導(dǎo)致測距誤差,而傳統(tǒng)的位 置計算方法如最小二乘法對距離誤差的容錯性存在著一定的限制,使其在定位精度及穩(wěn)定 性(均方差)方面表現(xiàn)較差。神經(jīng)網(wǎng)絡(luò)算法通常具有優(yōu)異的誤差容錯性。因此,本發(fā)明的核心 是基于測距并使用神經(jīng)網(wǎng)絡(luò)算法來代替?zhèn)鹘y(tǒng)的位置計算算法進(jìn)行定位。
[0048] 考慮某水下無線傳感器網(wǎng)絡(luò)有Ν個待定位節(jié)點和Κ個錨節(jié)點。本發(fā)明使用神經(jīng)網(wǎng)絡(luò) 算法進(jìn)行定位的算法分為兩個階段:離線訓(xùn)練階段和在線定位階段。本發(fā)明給出了詳細(xì)的 定位算法步驟:
[0049] 1.離線訓(xùn)練階段:依次對每個待定位節(jié)點按下述步驟構(gòu)建位置估計預(yù)測模型,如 圖1所示:
[0050] a)使用TD0A方法測量第η個待定位節(jié)點與所有錨節(jié)點距離形成距離向量dn = [dn,i,…,dn,k,…,dn,K]T,其中d n,k表示第η個待定位節(jié)點與第k個錨節(jié)點之間的距離,ne [1, N],ke[l,K],T表示轉(zhuǎn)置操作;
[0051 ] b)將距離向量dn輸入三層神經(jīng)網(wǎng)絡(luò);
[0052] 1)神經(jīng)網(wǎng)絡(luò)輸入層(圖2左側(cè)數(shù)第一列)共有Κ+l個節(jié)點,前K個為激活節(jié)點,對應(yīng)為 輸入節(jié)點,第k個節(jié)點的輸入與輸出均為d n,k,k e [ 1,Κ],輸入層第Κ+1個節(jié)點為偏置節(jié)點,其 輸出為;
[0053] 2)神經(jīng)網(wǎng)絡(luò)隱藏層(圖2左數(shù)第二列)共有U+1個節(jié)點,前U個為激活節(jié)點,其中第u個激 活節(jié)點輸入為<上^+#,輸出為";>八<1 +6:"),此[1,們,<>[<,,~,<>,.,"二『 為輸入層到隱藏層第U個激活節(jié)點的轉(zhuǎn)移參數(shù)向量,f(x)表示激活函數(shù),這里使用sigmoid 函數(shù),即f (X) = 1 / (1+exp (-X)),全部U個激活節(jié)點輸出向量為a〖2) = [dV · ·,0 · ·,心T :,隱藏 層第U+1個節(jié)點為偏置節(jié)點,其輸出為
[0054] 3)神經(jīng)網(wǎng)絡(luò)輸出層(圖2左數(shù)第三列)只有1個節(jié)點,其輸入為w,af+f,輸出為 6 ιΓ =/(^?21 +€卜(\,凡),其中,= 點的轉(zhuǎn)移參數(shù)向量,U,yn)為第η個待定位節(jié)點的位置坐標(biāo)。
[0055] c )本發(fā)明使用批量梯度下降法,通過多次迭代更新預(yù)測模型參數(shù) 直到其收斂到最優(yōu)值,其中的關(guān)鍵步驟是計算偏導(dǎo) 數(shù),本發(fā)明使用反向傳播(BP)算法來進(jìn)行快速準(zhǔn)確地計算偏導(dǎo)數(shù)。
[0056] 2 .在線定位階段:根據(jù)離線訓(xùn)練階段得到的神經(jīng)網(wǎng)絡(luò)模型參數(shù) e [l,t/U € [1,幻},依次計算每個待定位節(jié)點的坐標(biāo),如圖3所示:
[0057] a)使用TD0A方法測量第η個待定位節(jié)點與所有錨節(jié)點當(dāng)前距離形成距離向量sn = [sn,i,…,sn,k,…,sn,K]T,其中s n,k表示第η個待定位節(jié)點與第k個錨節(jié)點之間的當(dāng)前距離,η e[l,N],ke[l,K];
[0058] b)將距離向量sn輸入三層神經(jīng)網(wǎng)絡(luò);網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,網(wǎng)絡(luò)參數(shù)為 丨e[U;],/l e[丨,Μ·具體步驟為:
[0059] 1)神經(jīng)網(wǎng)絡(luò)輸入層:第k個節(jié)點的輸入與輸出均為~^上^^小^偏置節(jié)點輸出為
[0060] 2)神經(jīng)網(wǎng)絡(luò)隱藏層:第u個激活節(jié)點輸入為褕出為< =/卜(」乂 , ue [1,U],全部U個激活節(jié)點輸出向量為#?/,··.,#:,…,€ f,偏置節(jié)點輸出為f1;
[0061] 3)神經(jīng)網(wǎng)絡(luò)輸出層:輸入為輸出為+6f)=(x"0.g, (χ η,yn)為第η個待定位節(jié)點的位置坐標(biāo)。
【具體實施方式】
[0062]
[0063]考慮在定位區(qū)域內(nèi)已部署Κ個錨節(jié)點、Ν個待定位節(jié)點。為了獲取一定數(shù)量(大于等 于1〇〇)的數(shù)據(jù)進(jìn)行神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練,本發(fā)明中考慮使用一臺探測器使其在水下沿一條 固定的軌跡運動,運動速率恒定為ν m/s,并且在水下使用聲波信號進(jìn)行信息傳輸,探測器 運動速率v遠(yuǎn)小于聲波在水下的傳輸速率。探測器在運動過程中使用一定的測距方式,如 T0A、TD0A、A0A等,每隔一段固定距離測量并記錄一次當(dāng)前點與K個錨節(jié)點之間的距離,以及 當(dāng)前點的坐標(biāo),直至走完整條軌跡。
[0064] 本發(fā)明將定位區(qū)域選取在一片200m*200m的水域中進(jìn)行,并且在定位區(qū)域中設(shè)置 了 K= 12個錨節(jié)點。本發(fā)明考慮使用一臺探測器使其在水下沿一條固定的軌跡運動,運動速 率v = lm/s,并且在水下使用聲波信號進(jìn)行信息傳輸,探測器在運動過程中使用TD0A方法 (基于信號到達(dá)時間差測距)進(jìn)行測距,并且每隔lm進(jìn)行一次數(shù)據(jù)的采集,總共采集了 729條 數(shù)據(jù),具體的網(wǎng)絡(luò)模型如圖4所示。
[0065] 1.離線訓(xùn)練階段
[0066]依次對每個待定位節(jié)點按下述步驟構(gòu)建位置估計預(yù)測模型,如圖1所示:
[0067] a)使用TD0A方法測量第η個待定位節(jié)點與所有錨節(jié)點距離形成距離向量dn = [dn,i,…,dn,k,…,dn,K]T,其中d n,k表示第η個待定位節(jié)點與第k個錨節(jié)點之間的距離,ne [1, N],ke[l,K],T表示轉(zhuǎn)置操作;
[0068] b)將距離向量dn輸入三層神經(jīng)網(wǎng)絡(luò);
[0069] 1)神經(jīng)網(wǎng)絡(luò)輸入層(圖2左側(cè)數(shù)第一列)共有K+1個節(jié)點,前K個為激活節(jié)點,對應(yīng)為 輸入節(jié)點,第k個節(jié)點的輸入與輸出均為d n,k,k e [ 1,K],輸入層第K+1個節(jié)點為偏置節(jié)點,其 輸出為4(廣;
[0070] 2)神經(jīng)網(wǎng)絡(luò)隱藏層(圖2左數(shù)第二列)共有U+1個節(jié)點,前U個為激活節(jié)點,其中 第u個激活節(jié)點輸入為+祝1',輸出為= /(〇" +?11),u e [ 1,U ], <丨=[<!4,'<眾、<^1為輸入層到隱藏層第11個激活節(jié)點的轉(zhuǎn)移參數(shù)向量4^表 示激活函數(shù),這里使用sigmoid函數(shù),即f (x) = l/(l+exp(-x)),全部U個激活節(jié)點輸出向量 為1 = ……T,隱藏層第U+1個節(jié)點為偏置節(jié)點,其輸出為# ;
[0071] 3)神經(jīng)網(wǎng)絡(luò)輸出層(圖2左數(shù)第三列)只有1個節(jié)點,其輸入為輸出為 丨31 = ,其中, 點的轉(zhuǎn)移參數(shù)向量,U,yn)為第η個待定位節(jié)點的位置坐標(biāo)。
[0072] c )本發(fā)明使用批量梯度下降法通過多次迭代更新預(yù)測模型參數(shù) 直到其收斂到最優(yōu)值,其中的關(guān)鍵步驟是計算偏導(dǎo) 數(shù),本發(fā)明使用反向傳播(BP)算法來進(jìn)行快速準(zhǔn)確地計算偏導(dǎo)數(shù)。
[0073] 2.在線定位階段
[0074]在線定位階段:根據(jù)離線訓(xùn)練階段得到的神經(jīng)網(wǎng)絡(luò)模型參數(shù) ,依次計算每個待定位節(jié)點的坐標(biāo),如圖3所示:
[0075] a)使用TD0A方法測量第η個待定位節(jié)點與所有錨節(jié)點當(dāng)前距離形成距離向量sn = [sn,i,…,sn,k,…,sn,K]T,其中s n,k表示第η個待定位節(jié)點與第k個錨節(jié)點之間的當(dāng)前距離,η e[l,N],ke[l,K];
[0076] b)將距離向量sn輸入三層神經(jīng)網(wǎng)絡(luò);網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,網(wǎng)絡(luò)參數(shù)為 {<>.:,2)乂3: 2) 1"印川』<1,人?},具體步驟為:
[0077] 1)神經(jīng)網(wǎng)絡(luò)輸入層:第k個節(jié)點的輸入與輸出均為&1{,1^£[1,1(],偏置節(jié)點輸出為
[0078] 2)神經(jīng)網(wǎng)絡(luò)隱藏層:第u個激活節(jié)點輸入為〇, ,輸出為〇/卜(上乂+C) f 1^[1,11],全部11個激活節(jié)點輸出向量為甿>=[0",0",^『騙置節(jié)點輸出為#;
[0079] 3)神經(jīng)網(wǎng)絡(luò)輸出層:輸入為<2%丨廣+#,輸出為P" =櫨"(wraf+ #>)=(~Λ), (χη,yn)為第η個待定位節(jié)點的位置坐標(biāo)。
[0080] 本發(fā)明性能分析如下:
[0081 ] 1.1環(huán)境和參數(shù)
[0082] 本發(fā)明將定位區(qū)域選取在一片200m*200m的水域中進(jìn)行,并且在定位區(qū)域中設(shè)置 了 K= 12個錨節(jié)點。使用一臺探測器使其在水下沿一條固定的軌跡運動,運動速率v= lm/s, 并且在水下使用聲波信號進(jìn)行信息傳輸,探測器在運動過程中使用TD0A方法(基于信號到 達(dá)時間差測距)進(jìn)行測距,并且每隔lm進(jìn)行一次數(shù)據(jù)的采集,總共采集了 729條數(shù)據(jù),具體的 網(wǎng)絡(luò)模型如圖4所示。
[0083] 1.2性能指標(biāo)
[0084] 本發(fā)明中為了比較三種方法的定位性能,引入了均方誤差(Mean Squared Error, MSE)的概念,在定位中MSE的高低不僅表示了不同定位方法在定位精度上的優(yōu)劣,還表示了 不同定位方法在定位穩(wěn)定性上的差異。其定義如下:
[0086] 其中,(H,,)為待定位節(jié)點的估計坐標(biāo),(xn,yn)為待定位節(jié)點的真實坐標(biāo)。
[0087] 1.3性能分析
[0088]在下面的分析中,訓(xùn)練集數(shù)量為500,測試集數(shù)量為100,最小二乘法使用全部600 個點進(jìn)行位置計算,距離誤差服從N(0,〇2)的正態(tài)分布,〇2=14。通過改變錨節(jié)點的數(shù)量來比 較這三種定位算法的性能,結(jié)果如圖5所示。當(dāng)錨節(jié)點的數(shù)量改變時,神經(jīng)網(wǎng)絡(luò)算法的性能 是三種算法中最好的,比如,當(dāng)只用7個錨節(jié)點時神經(jīng)網(wǎng)絡(luò)算法的MSE比最小二乘法的低了 約5dB,而比支持向量機(jī)的則低了 10dB左右;而當(dāng)使用全部12個錨節(jié)點時,最小二乘法和支 持向量機(jī)的性能不相上下,神經(jīng)網(wǎng)絡(luò)算法的MSE比它們低了8dB左右。當(dāng)錨節(jié)點變化時,支持 向量機(jī)和最小二乘法的性能各有優(yōu)劣,比如當(dāng)錨節(jié)點數(shù)目小于10的時候最小二乘法的性能 優(yōu)于支持向量機(jī),而當(dāng)錨節(jié)點數(shù)目大于10的時候,最小二乘法的性能反而劣于支持向量機(jī)。
[0089] 隨后,本發(fā)明固定了錨節(jié)點的數(shù)目,統(tǒng)一選定12個錨節(jié)點,距離誤差依舊服從N(0, σ2)的正態(tài)分布,〇2=14,通過改變訓(xùn)練集的大小,來比較三種算法的性能,如圖6所示。由圖 6,神經(jīng)網(wǎng)絡(luò)算法的性能是三種算法中最優(yōu)的,而支持向量機(jī)的表現(xiàn)則不盡如人意,比如當(dāng) 訓(xùn)練集只有100個點時,支持向量機(jī)的誤差高達(dá)25.7dB,而最小二乘法的誤差居中,為 13.3dB,神經(jīng)網(wǎng)絡(luò)算法的誤差是其中最好的只有8.5dB。而當(dāng)訓(xùn)練集比較大時,機(jī)器學(xué)習(xí)算 法的優(yōu)勢便展現(xiàn)出來了。比如當(dāng)訓(xùn)練集大小為600時,傳統(tǒng)的最小二乘法定位效果最差,為 12.6dB左右,支持向量機(jī)性能居中,為10.5dB左右,同樣的神經(jīng)網(wǎng)絡(luò)算法的性能最高,只有 5.3dB〇
[0090] 最后,本發(fā)明固定了錨節(jié)點、訓(xùn)練集以及測試集的大小,其中錨節(jié)點為12個,訓(xùn)練 集數(shù)量為500,測試集數(shù)量為100,最小二乘法使用全部600個點進(jìn)行位置計算,通過改變距 尚誤差方差來比較二種算法的性能,如圖7所由圖7可知,神經(jīng)網(wǎng)絡(luò)算法依舊是二種算法 中性能最好的,支持向量機(jī)與最小二乘法的性能則不相上下。例如,當(dāng)距離誤差的方差為9 時,神經(jīng)網(wǎng)絡(luò)算法的MSE僅為3.6dB,而最小二乘法和支持向量機(jī)的MSE則高達(dá)10.6dB和 12.2dB,當(dāng)距離誤差的方差上升到39時,神經(jīng)網(wǎng)絡(luò)算法的MSE也僅為10dB,此時最小二乘法 和支持向量機(jī)的MSE則高達(dá)16.9dB和15.4dB。除此之外,在最小二乘法與支持向量機(jī)的性能 比較上,距離誤差的方差較小時,最小二乘法的性能較好,而當(dāng)距離誤差的方差增加到一定 程度時,最小二乘法的性能則會變差,反而支持向量機(jī)的性能較好。這說明,在水下定位中, 當(dāng)測量的未知節(jié)點與錨節(jié)點之間的距離非常精確的時候,選用最小二乘法可以收到不錯的 效果,但當(dāng)獲取的距離值誤差比較大的時候,傳統(tǒng)的最小二乘法定位效果便會比較差,而本 發(fā)明中所提出的使用機(jī)器學(xué)習(xí)算法進(jìn)行定位的方法則對距離誤差的容忍性比較強(qiáng)。
[0091]以上內(nèi)容是結(jié)合具體的/優(yōu)選的實施方式對本發(fā)明所作的進(jìn)一步詳細(xì)說明,不能 認(rèn)定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來 說,在不脫離本發(fā)明構(gòu)思的前提下,其還可以對這些已描述的實施例做出若干替代或變型, 而這些替代或變型方式都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。
【主權(quán)項】
1. 一種基于測距和神經(jīng)網(wǎng)絡(luò)算法的水下定位方法,其特征在于,包括如下步驟: A1、在定位水域內(nèi)布置K個錯節(jié)點和N個待定位節(jié)點,測量每個待定位節(jié)點與K個錯節(jié)點 之間的距離; A2、分離線訓(xùn)練和在線定位兩個階段進(jìn)行定位; A3、所述離線訓(xùn)練階段包括W下步驟: A31、測量第η個待定位節(jié)點與所有錯節(jié)點距離,形成距離向量; Α32、將距離向量dn輸入Ξ層神經(jīng)網(wǎng)絡(luò):神經(jīng)網(wǎng)絡(luò)輸入層、神經(jīng)網(wǎng)絡(luò)隱藏層和神經(jīng)網(wǎng)絡(luò)輸 出層; A33、通過算法迭代更新預(yù)測模型參數(shù),輸出神經(jīng)網(wǎng)絡(luò)模型參數(shù); A4、所述在線定位階段包括W下步驟: A41、測量第η個待定位節(jié)點與所有錯節(jié)點當(dāng)前距離,形成距離向量sn; A42、將距離向量Sn輸入離線訓(xùn)練階段得到的神經(jīng)網(wǎng)絡(luò)模型參數(shù); A43、輸出待定位節(jié)點的位置坐標(biāo)。2. 根據(jù)權(quán)利要求1所述水下定位方法,其特征在于, 步驟A31中所述距離向量由下列公式表示: dn_ [dn,l, ·· )dn,k, ·· )dn,K] 其中:dn,k表示第η個待定位節(jié)點與第k個錯節(jié)點之間的距離, ne[l,N],ke[l,K],T表示轉(zhuǎn)置操作。3. 根據(jù)權(quán)利要求1所述水下定位方法,其特征在于, 步驟A32中, 所述神經(jīng)網(wǎng)絡(luò)輸入層:共有K+1個節(jié)點,前K個為激活節(jié)點,對應(yīng)為輸入節(jié)點,第k個節(jié)點 的輸入與輸出均為dn,k,ke [1,Κ],輸入層第K+1個節(jié)點為偏置節(jié)點,其輸出為殘U ; 所述神經(jīng)網(wǎng)絡(luò)隱藏層:共有化1個節(jié)點,前U個為激活節(jié)點,其中第U個激活節(jié)點輸入為 皆,輸出為%輸 入層到隱藏層第U個激活節(jié)點的轉(zhuǎn)移參數(shù)向量,f(x)表示激活函數(shù),全部U個激活節(jié)點輸出 向量為護(hù)={巧,…,媒,…,端了隱藏層第U+1個節(jié)點為偏置節(jié)點,其輸出為皆I; 所述神經(jīng)網(wǎng)絡(luò)輸出層:只有1個節(jié)點,其輸入天其中,W產(chǎn)=[喘',··.,、識,..一說了為隱藏層到輸出節(jié)點的轉(zhuǎn)移參數(shù)向量,(xn,yn)為第η個待定 位節(jié)點的位置坐標(biāo)。4. 根據(jù)權(quán)利要求3所述水下定位方法,其特征在于, 所述激活函數(shù) f (X)是 sigmoid 函數(shù),即f (x) = l/(l+exp(-x))。5. 根據(jù)權(quán)利要求1所述水下定位方法,其特征在于, 步驟A33中,使用批量梯度下降法,通過多次迭代更新,得到其收斂到最優(yōu)值的預(yù)測模 型參數(shù)6. 根據(jù)權(quán)利要求5所述水下定位方法,其特征在于, 所述多次迭代更新中使用反向傳播算法計算偏導(dǎo)數(shù)。7. 根據(jù)權(quán)利要求1所述水下定位方法,其特征在于, 步驟A41中所述距離向量由下列公式表示:其中:Sn,k表示第η個待定位節(jié)點與第k個錯節(jié)點之間的當(dāng)前距離, ne[l,N],ke[l,K]。8. 根據(jù)權(quán)利要求1所述水下定位方法,其特征在于,步驟A42中將所述距離向量sn輸入離 線訓(xùn)練階段得到的神經(jīng)網(wǎng)絡(luò)模型參數(shù)尸片個括W下步驟: A421、神經(jīng)網(wǎng)絡(luò)輸入層:第k個節(jié)點的輸入與輸出均為Sn,k,k e [ 1,K],偏置節(jié)點輸出為 皆'; A422、神經(jīng)網(wǎng)絡(luò)隱藏層:第U個激活節(jié)點輸入為<1,;/、+終,,輸出巧e [1,U],全部U個激活節(jié)點輸出向量為af=[媒,…,記,…:姆了,偏置節(jié)點輸出為皆1; A423、神經(jīng)網(wǎng)絡(luò)輸出層:輸入為巧嚴(yán)3;:,2'+皆巧俞出戈(Xn,yn)為第η個待定位節(jié)點的位置坐標(biāo)。9. 根據(jù)權(quán)利要求1所述水下定位方法,其特征在于,使用TDOA方法測量每個所述待定位 節(jié)點與所有錯節(jié)點距離。
【文檔編號】H04W64/00GK106093849SQ201610389518
【公開日】2016年11月9日
【申請日】2016年6月3日 公開號201610389518.8, CN 106093849 A, CN 106093849A, CN 201610389518, CN-A-106093849, CN106093849 A, CN106093849A, CN201610389518, CN201610389518.8
【發(fā)明人】董宇涵, 李征, 王睿, 張 林, 張凱
【申請人】清華大學(xué)深圳研究生院