中,所述第一預定閾值M大于等于5,在本發明的 其他實施例中,根據測量精度的要求,所述第一預定閾值M還可以是其他的值,例如為4個、 6個、7個或者10個、20個等,在此不再贅述。
[0059] 若所述第一未知節點所接收到的數據包的信標節點的個數小于5個,則判定所述 第一未知節點為無法定位的節點。
[0060]若所述第一未知節點所接收到的數據包的信標節點的個數大于或者等于5個,則 進行下一步驟。
[0061]S4 :選取在步驟S2所形成的信標節點序列中的前M個信標節點,根據這M個信標 節點的信號強度計算出這M個信標節點中每一個信標節點的權重。
[0062]具體的,將在步驟S2中所形成的信標節點序列中的前M個信標節點定義為第一有 效信標節點集合。
[0063] 用SH,Sy,S#表示所述第一未知節點在接收到所述第一有效信標節點集合中每 一個信標節點的數據包的信號強度,其中,M為所述第一預定閾值。即,用S"表示所述第一 未知節點在接收到所述第一有效信標節點集合中第i個信標節點的數據包的信號強度,則 根據(SH,Srf. . .SJ可計算出所述第一有效信標節點集合中第i個信標節點的權重為w1:
[0064] 仁i ,
[0065] 其中,(i= 1…M),在本實施例中,所述M取值等于5。
[0066] S5 :根據步驟S4中計算出的所述第一有效信標節點集合中每一個信標節點的權 重計算出所述第一未知節點的位置坐標。
[0067] 具體的,用(x。,y。,z。)表示所述第一未知節點的位置坐標,根據上述步驟S4中計 算出的所述第一有效信標節點集合中每一個信標節點的權重以及相應信標節點的位置坐 標,計算出所述第一未知節點的位置坐標:
[0068]
[0069] 其中,i= 1,2,3,4,5。
[0070] 至此,所述第一未知節點的位置坐標被確定,所述第一未知節點成為一個新的信 標節點,記為第一新信標節點。將所述第一新信標節點加入到已知的信標節點中,從而確定 下一個未知節點,即第二未知節點。
[0071] S6:所述第二未知節點周圍的多個信標節點形成一第二信標節點集合,所述第二 信標節點集合包括所述第一新信標節點,所述第二信標節點集合中的每一個信標節點均發 射出一數據包。
[0072] 在對所述第二未知節點的定位過程中,將所述第一新信標節點作為新的信標節 點,參與到對所述第二未知節點的定位中,提高了對所述第二未知節點的定位效率。
[0073] 并且用y_j,zjj= 1,2…,D)表示所述第二信標節點集合中第j個信標節 點,(X],y,,Z])為所述第j個信標節點的位置坐標,其中D表示所述第二信標節點集合中信 標節點的個數。
[0074] S7:所述第二未知節點接收到所述第二信標節點集合中的信標節點發射出的數據 包后,所述第二未知節點對接收到的每一個信標節點的數據包的信號強度進行標記,并對 接收到每一個信標節點的信號強度從大到小進行排序。
[0075]同所述第一未知節點的定位過程一樣,所述第二未知節點可能會接收到所述第二 信標節點集合中所有信標節點發出的數據包,也可能只接收所述第二信標節點集合中一部 分信標節點所發出的數據包。
[0076] 對在接收到所述第二信標節點集合中的信標節點發出的數據包的信號強度進行 標記,并按照信號強度的大小對這些信標節點進行排序,具體的,按照信號強度從大到小的 順序進彳丁排序。
[0077] S8 :判斷所述第二未知節點接收到數據包的信標節點的個數。
[0078] 對所述第二未知節點所接收到數據包的信標節點的個數也有一定的限制,即為第 二預定閾值N,所述第二預定閾值=所述第一預定閾值+2。由于在對所述第二未知節點進 行定位的過程中,引入了所述第一新信標節點,因此會有誤差積累,為了減小這種誤差積 累,提高定位精度,需要將所述第二預定閾值設定為所述第一預定閾值+2。
[0079] 如果所述第二預定閾值=所述第一預定閾值+1,信標節點集合的更新速度會很 慢,如果所述第二預定閾值>所述第一預定閾值+2,則需要的信標節點個數將增加,可能會 導致所能提供的能接收到數據包的信標節點的個數小于所述第二預定閾值,即有效的信標 節點的個數小于所述第二預定閾值。因此,將需要將所述第二預定閾值設定為所述第一預 定閾值+2,即可以滿足信標節點集合的更新速度,也可以滿足有效信標節點的個數。
[0080] 在本實施例中N= 7。
[0081] 若所述第二未知節點所接收到的數據包的信標節點的個數小于7個,則判定所述 第二未知節點為無法定位的節點。
[0082] 若所述第二未知節點所接收到的數據包的信標節點的個數大于或者等于7個,則 進行下一步驟。
[0083] S9 :選取在步驟S7所形成的信標節點序列中的前N個信標節點,根據這N個信標 節點的信號強度計算出這N個信標節點中每一個信標節點的權重。
[0084] 具體的,將在步驟S7中所形成的信標節點序列中的前N個信標節點定義為第二有 效信標節點集合。
[0085]用SH,…,表示所述第二未知節點在接收到所述第二有效信標節點集合中每 一個信標節點的數據包的信號強度,其中,N為所述第二預定閾值。即,用&表示所述第二 未知節點在接收到所述第二有效信標節點集合中第j個信標節點的數據包的信號強度,則 根據(SH,可計算出所述第二有效信標節點集合中第j個信標節點的權重為W]:
[0086]
[0087]其中,j= 1,2…,N,N= 7。
[0088] S10 :根據步驟S9中計算出的所述第二有效信標節點集合中每一個信標節點的權 重計算出所述第二未知節點的位置坐標。
[0089] 用(x。,,y。,,z。,)表示所述第二未知節點的位置坐標,用(x.j,乃,zj表示所述第 二有效信標節點集合中第j個信標節點的位置坐標;
[0090] 計算出所述第二未知節點的位置坐標(x。,,y。,,z。,):
[0091]
,(j= 1…N),其中N為所述第二預定閾 值,N= 7〇
[0092] 至此,所述第二未知節點的位置坐標被確定,所述第二未知節點成為一個新的信 標節點,記為第二新信標節點,并將所述第二新信標節點應用到下一個未知節點的確定過 程中。
[0093] S11 :重復上述步驟S6至S10,直到未知節點的個數不再減少為止,即剩余的未知 節點均被標記為無法定位的節點為止。
[0094] 綜上,在本發明實施例提供的基于非測距的水下無線傳感器網絡節點定位方法及 系統中,在利用信標節點直接定位第一未知節點和第二未知節點后,將已定位的第一未知 節點和第二未知節點作為新的信標節點,即將第一新信標節點和第二新信標節點參與剩余 未知節點的定位。從而可以有效減少無法定