本發(fā)明涉及水下認知聲學通信中三維路由選擇方法。
背景技術:
水聲傳感器網(wǎng)絡,也稱為水下無線傳感器網(wǎng)絡(underwaterwirelesssensornetworks,uwsns)由批量部署在水下的傳感器組成,是以無線方式通信的網(wǎng)絡。水下傳感器網(wǎng)絡是陸地傳感器網(wǎng)絡概念向水下應用的延伸,但與傳統(tǒng)的陸地傳感器網(wǎng)絡相比,光在水中存在高衰減以及散射的問題,無線電波在水中的通信距離非常短,因此,目前研究的水下傳感器網(wǎng)絡主要利用聲波實現(xiàn)通信和組網(wǎng),而聲音在水下傳輸時存在傳播延遲大、傳播損耗大、多途嚴重、多普勒頻散嚴重等問題,這使得各國水下傳感器網(wǎng)絡的研究面臨著嚴峻的挑戰(zhàn)。作為水聲網(wǎng)絡的核心技術之一的水下三維路由機制是在二維平面的基礎上對各個節(jié)點進行深度控制,使一定區(qū)域中的傳感器節(jié)點分布在不同的海洋深度,以獲取更多信息,構建立體的海洋網(wǎng)絡結構。但目前其研究仍不完善,存在網(wǎng)絡生存時間受節(jié)點能量限制、節(jié)點三維位置信息難以獲得等亟待解決問題。
海洋資源對人類的生存與發(fā)展有著重大意義和價值,在開發(fā)海洋資源的同時,建設和諧美好的海洋生態(tài)環(huán)境也是我們義不容辭的責任。而以水聲通信為支撐的水下傳感器網(wǎng)絡勢必影響海洋生物的生活,對海洋生物造成不必要的干擾,甚至破壞海洋生態(tài)系統(tǒng)的平衡,因此,在水下傳感器中規(guī)避海洋生物,本發(fā)明以生物友好為前提的水下三維路由選擇方法對保護海洋生態(tài)平衡,實現(xiàn)海洋生態(tài)、社會與經(jīng)濟的全面協(xié)調(diào)可持續(xù)發(fā)展有著十分重要的意義。
技術實現(xiàn)要素:
本發(fā)明的目的是提供一種生物友好的三維水下路由方法,技術方案如下:
一種生物友好的三維水下路由方法,將以源節(jié)點s1到目的節(jié)點s0的向量
1)當前轉發(fā)節(jié)點f以泛洪的方式發(fā)送數(shù)據(jù)包,鄰居節(jié)點接收到數(shù)據(jù)包后,首先計算自身到路由矢量
2)候選節(jié)點在轉發(fā)數(shù)據(jù)包之前,首先探測其發(fā)射范圍內(nèi)是否存在海洋生物,如果不存在,直接廣播數(shù)據(jù)包;如果探測到海洋生物,需等待時間tb,根據(jù)最大邊界值確定此等待時間:
其中,db為海洋生物到候選節(jié)點的距離,r是轉發(fā)節(jié)點f的傳播半徑,vb為海洋生物的運動速度;
3)在候選節(jié)點多于一個時,引入轉發(fā)優(yōu)先級的概念,每個候選節(jié)點自適應地衡量自身轉發(fā)數(shù)據(jù)包的利益,對于當前轉發(fā)節(jié)點f,其相鄰候選節(jié)點的轉發(fā)優(yōu)先級計算公式:
設候選節(jié)點為a,m表示記錄的總感知次數(shù),m是感知到范圍內(nèi)有海洋生物次數(shù),p是候選節(jié)點到路由向量
4)候選節(jié)點a在接收數(shù)據(jù)包后延遲一段時間再發(fā)送,使最靠近路由向量的節(jié)點最先轉發(fā),這個延遲的時間間隔的計算與轉發(fā)優(yōu)先級α有關:
在上式中,tdelay是預先定義的最大時延,v是聲信號在水中的傳播速度,候選節(jié)點a在等待時間tadaptation內(nèi),如果從n個其它節(jié)點收到重復的數(shù)據(jù)包,那么首先計算候選節(jié)點相對于這些節(jié)點的轉發(fā)優(yōu)先級α1,α2……αn以及相對于轉發(fā)節(jié)點f的轉發(fā)優(yōu)先級α0,如果滿足下式:
其中αc是事先定義的初始值,0≤αc≤3,那么a轉發(fā)這個數(shù)據(jù)包,否則,丟棄該包。
式(2)中n為大于等于1的整數(shù),n越大,生物友好程度越低,在預先設定的時間周期t內(nèi),節(jié)點共進行了m次環(huán)境感知,節(jié)點周圍出現(xiàn)海洋生物的次數(shù)越多,該節(jié)點等待時間越長,轉發(fā)數(shù)據(jù)包的可能性越小,達到了生物友好的目的。當信源節(jié)點采集到數(shù)據(jù)并生成數(shù)據(jù)包發(fā)送之后,所有的轉發(fā)節(jié)點都遵循以上步驟來進行路由選擇,直到目的節(jié)點成功接收到數(shù)據(jù)包。本發(fā)明通過自適應算法確定節(jié)點優(yōu)先級,避免過多節(jié)點同時轉發(fā)數(shù)據(jù)而造浪費和實現(xiàn)生物友好的通信。周圍出現(xiàn)海洋生物的節(jié)點轉發(fā)優(yōu)先級被降低、轉發(fā)等待時間被延長,且周圍出現(xiàn)海洋生物概率越高的節(jié)點優(yōu)先級越低,從而達到生物友好的目的,對于節(jié)點移動速度較慢的網(wǎng)絡,具有能耗低、端到端延遲低的特點。
附圖說明
圖1是本發(fā)明數(shù)據(jù)包格式
圖2是本發(fā)明海洋生物運動示意圖
圖3是本發(fā)明生物友好的水下三維路由方法示意圖
圖4是本發(fā)明流程圖
具體實施方式
本發(fā)明提出一種生物友好的三維水下路由方法,以源節(jié)點到目的節(jié)點的向量為軸線的圓柱范圍稱為路由管道,路由管道內(nèi)的節(jié)點參與數(shù)據(jù)轉發(fā),通過自適應算法確定節(jié)點優(yōu)先級,避免過多節(jié)點同時轉發(fā)數(shù)據(jù)而造浪費和實現(xiàn)生物友好的通信。周圍出現(xiàn)海洋生物的節(jié)點轉發(fā)優(yōu)先級被降低、轉發(fā)等待時間被延長,且周圍出現(xiàn)海洋生物概率越高的節(jié)點優(yōu)先級越低,從而達到生物友好的目的,對于節(jié)點移動速度較慢的網(wǎng)絡,具有能耗低、端到端延遲低的特點。主要步驟如下:
1.路由管道內(nèi)的節(jié)點均以泛洪的方式發(fā)送數(shù)據(jù)包,在它傳播范圍內(nèi)的鄰居節(jié)點都可以接受到該數(shù)據(jù)包。鄰居節(jié)點接收到數(shù)據(jù)包后,首先計算自身到路由矢量
2.每個數(shù)據(jù)包都攜帶簡單的路由信息,如圖1所示,數(shù)據(jù)包由六個字段組成,前五個字段組成數(shù)據(jù)包的包頭,分別為:op:信源節(jié)點坐標;tp:目的節(jié)點坐標;fp:轉發(fā)節(jié)點坐標。這三個字段統(tǒng)稱為位置字段。range字段:為了每個數(shù)據(jù)包包含了一個range字段。當節(jié)點在移動過程中到達了數(shù)據(jù)包中tp指定的區(qū)域時,節(jié)點就在包中range字段控制的范圍內(nèi)廣播該數(shù)據(jù)包。radius字段:每個分組還具有一個radius字段,它是傳感器節(jié)點為了確定自身是否足夠接近路由矢量并轉發(fā)數(shù)據(jù)包而預先定義的閾值。data字段:數(shù)據(jù)包中攜帶的數(shù)據(jù)。
3.節(jié)點在轉發(fā)數(shù)據(jù)包之前,首先探測其發(fā)射范圍內(nèi)是否存在海洋生物。如果不存在,節(jié)點可以直接廣播數(shù)據(jù)包;如果探測到海洋生物,那么考慮它的運動,當海洋生物處于候選節(jié)點的球形發(fā)射范圍內(nèi)時,可能沿著各個方向繼續(xù)運動,因此它移動出該球形區(qū)域的時間t在某一個范圍之內(nèi)。當海洋生物沿著自身與候選節(jié)點a的連線運動時,將得到t的邊界值。如圖2所示,假設海洋生物到候選節(jié)點a的距離為db。當海洋生物沿著直線朝遠離候選節(jié)點a的方向運動時,得到最小邊界值tmin,當它沿著直線朝靠近候選節(jié)點a的方向運動時,將得到tmax。盡管海洋生物的定位以及測速,為了不引入更加復雜的算法判斷海洋生物的時刻變化的運動方向,本發(fā)明采用最大邊界值作為等待時間。由式(1)計算:
4.當網(wǎng)絡中節(jié)點密度比較大時,路由管道中候選節(jié)點的數(shù)量也隨之增多。為了避免過多的合格節(jié)點轉發(fā)同一數(shù)據(jù)包而造成不必要的能量消耗,引入轉發(fā)優(yōu)先級的概念,使節(jié)點自適應地衡量自身轉發(fā)數(shù)據(jù)包的利益。如圖3,對于當前轉發(fā)節(jié)點,其相鄰候選節(jié)點的轉發(fā)優(yōu)先級計算公式如下式:
n為大于等于1的整數(shù),n越大,生物友好程度越低。在預先設定的時間周期t內(nèi),節(jié)點共進行了m次環(huán)境感知,節(jié)點周圍出現(xiàn)海洋生物的次數(shù)越多,該節(jié)點等待時間越長,轉發(fā)數(shù)據(jù)包的可能性越小,達到了生物友好的目的。
5.合格的候選節(jié)點在接收數(shù)據(jù)包后延遲一段時間再發(fā)送,使最靠近路由向量的節(jié)點最先轉發(fā)。這個延遲的時間間隔的計算與轉發(fā)優(yōu)先級α有關,它的具體計算方法如下:
候選節(jié)點在等待時間tadaptation內(nèi),如果從n個其它節(jié)點收到重復的數(shù)據(jù)包,那么首先計算候選節(jié)點相對于這些節(jié)點的α1,α2……αn以及相對于轉發(fā)節(jié)點f的轉發(fā)優(yōu)先級α0,如果滿足下式:
則節(jié)點轉發(fā)這個數(shù)據(jù)包,否則,節(jié)點丟棄該包。這種方法有效避免了節(jié)點密度較大時,過多節(jié)點轉發(fā)同一數(shù)據(jù)包的現(xiàn)象,降低能耗。
當信源節(jié)點采集到數(shù)據(jù)并生成數(shù)據(jù)包發(fā)送之后,所有的轉發(fā)節(jié)點都遵循以上步驟來進行路由選擇,直到目的節(jié)點成功接收到數(shù)據(jù)包。