一種水下傳感器網(wǎng)絡(luò)的機(jī)會(huì)數(shù)據(jù)回傳方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及水下傳感器網(wǎng)絡(luò)的機(jī)會(huì)路由和可靠傳輸?shù)燃夹g(shù)領(lǐng)域,特別涉及一中水下傳感器網(wǎng)絡(luò)的機(jī)會(huì)數(shù)據(jù)回傳方法。
【背景技術(shù)】
[0002]水下傳感器網(wǎng)絡(luò)有很多潛在的應(yīng)用,如海洋勘探、海洋數(shù)據(jù)收集、生態(tài)學(xué)應(yīng)用(如污染、水質(zhì)量和生物監(jiān)測(cè))、公共安全(如地震和海嘯災(zāi)難預(yù)防、監(jiān)控),軍事水下監(jiān)測(cè)、工業(yè)(海上勘探)等。但是,在水下傳感器網(wǎng)絡(luò)成為商用或廣泛使用之前,水下傳感器節(jié)點(diǎn)的網(wǎng)絡(luò)必須被建立。
[0003]水下傳感器網(wǎng)絡(luò)的通信典型的基于聲無線鏈路。無線電信號(hào)由于在水中受到很大的衰減因此不適合用于水下通信。光波在水中經(jīng)歷的散射現(xiàn)象很嚴(yán)重,因此也不適合在水中傳播。獨(dú)特的聲通信信道的特點(diǎn)呈現(xiàn)出諸多挑戰(zhàn):(I)高誤比特率和由于陰影區(qū)引起的連接性的暫時(shí)丟失;(2)有限的帶寬容量;(3)高功率損耗,特別是用于傳輸?shù)膿p耗;(4)大區(qū)域中通信信號(hào)的擴(kuò)展,例如,與wifi中信號(hào)一般只傳播幾百米的情況不同,聲通信的傳播距離可能達(dá)到幾千米。
[0004]所有的這些問題都可以通過使用機(jī)會(huì)路由得到緩解。不采用傳統(tǒng)的路由模式,該模式中數(shù)據(jù)包是轉(zhuǎn)發(fā)給一個(gè)預(yù)先選擇的節(jié)點(diǎn),提出了適合水聲無線鏈路的不同的路由模式。機(jī)會(huì)路由最近被提出作為一種利用無線媒介偵聽的方式通過為每個(gè)目的地選擇多個(gè)下一跳。在機(jī)會(huì)路由中,每個(gè)數(shù)據(jù)包廣播給一個(gè)前向轉(zhuǎn)發(fā)集合,該集合由幾個(gè)鄰居組成,并且當(dāng)該集合中沒有任何鄰居接收到該數(shù)據(jù)包的時(shí)候,該數(shù)據(jù)包必須被重傳。在這種情況下,當(dāng)?shù)侥硞€(gè)給定鄰居的鏈路損壞或表現(xiàn)欠佳時(shí),另一個(gè)相近的鄰居可能接受到該數(shù)據(jù)包并將其向前轉(zhuǎn)發(fā)出去。在傳統(tǒng)的路由模式中,只有一個(gè)鄰居作為每個(gè)目的地的下一跳路由,在這種情況下,如果到這個(gè)鄰居的鏈路表現(xiàn)不好,那么即使其他鄰居偵聽到了這個(gè)包,這個(gè)包也會(huì)丟失。
[0005]機(jī)會(huì)路由允許數(shù)據(jù)包在沒有被某個(gè)鄰居收到的情況下被轉(zhuǎn)發(fā),這與傳統(tǒng)的路由不同,傳統(tǒng)的路由中如果某個(gè)預(yù)選擇的鄰居沒有接收到這個(gè)包,那么這個(gè)包必須被重傳。因此,機(jī)會(huì)路由減少了可能重傳的數(shù)目,同樣也減少了在這些重傳中消耗的能量。此外,通過減少需要重傳的數(shù)目,它同樣幫助減少了無線媒介中可能碰撞的次數(shù),因此,帶寬的利用率得到了提升。水聲信道比無線信呈現(xiàn)的更高的誤比特率將導(dǎo)致數(shù)據(jù)包更多的錯(cuò)誤,當(dāng)有一個(gè)或多個(gè)鄰居轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí),這種情況可以得到改善,因?yàn)槎鄠€(gè)鄰居節(jié)點(diǎn)中只需要有一個(gè)能正確接收到該數(shù)據(jù)包即可。由于陰影區(qū)域的影響,連接性的短暫性丟失是可能發(fā)生的,正如我們前面所說的,使用多于一個(gè)節(jié)點(diǎn)作為轉(zhuǎn)發(fā)節(jié)點(diǎn)會(huì)減少數(shù)據(jù)包出現(xiàn)錯(cuò)誤的概率,水下聲信號(hào)通常要傳播幾千米,這說明很多的節(jié)點(diǎn)可能偵聽到整個(gè)傳輸過程,這樣的事實(shí)表明水下傳感器網(wǎng)絡(luò)很適合使用機(jī)會(huì)路由。
[0006]如上所述,由于惡劣的水聲信道條件,在水聲信道中進(jìn)行可靠的數(shù)據(jù)傳輸不可避免地會(huì)以很高的概率發(fā)生傳輸?shù)牟铄e(cuò),因此可以考慮通過差錯(cuò)控制方案來提升水聲信道的通信質(zhì)量。前向糾錯(cuò)(FEC,F(xiàn)orward error correct1n)和自動(dòng)重傳請(qǐng)求(ARQ,Automaticrepeated request)是兩種基本的方法用于糾正傳輸數(shù)據(jù)中的錯(cuò)誤比特。ARQ方案需要來自接收機(jī)的反饋信息,這減少了有損聲信道的吞吐量的效率。特別地,由于水中聲波的傳播速度很低,因此傳播時(shí)延很長(zhǎng),這使得基于反饋的差錯(cuò)控制方案是不可行的。FEC方案是通過對(duì)原始數(shù)據(jù)進(jìn)行編碼增加冗余信息來檢查和糾正傳輸引起的錯(cuò)誤比特,不需要任何反饋。在快速時(shí)變的水聲信道中,考慮到受限的帶寬和長(zhǎng)的傳播延遲,F(xiàn)EC方案更適合用于水聲信道進(jìn)行差錯(cuò)控制。物理層基于比特位的FEC在惡劣的水聲通信中的表現(xiàn)依然差強(qiáng)任意,還不能滿足可靠通信的要求,因此需要能夠?qū)崿F(xiàn)更高可靠性的通信方案。基于數(shù)據(jù)包的FEC是一種可能的解決方案,而無速率編碼正是實(shí)現(xiàn)基于數(shù)據(jù)包的FEC方案。此外,無速率編碼的無碼率特性非常適合用于快速時(shí)變且條件惡劣的水下通信系統(tǒng),無速率編碼理論上可以編碼出無窮多個(gè)編碼包,發(fā)送端可以一直發(fā)送編碼包直到接收端接收到足夠多的信息成功解碼后發(fā)回確認(rèn)信息給發(fā)送端,不需要對(duì)信道特征進(jìn)行估計(jì),能夠適應(yīng)快速變化的水聲信道。而且性能好的無速率編碼(如Raptor碼)具有線性的編解碼的復(fù)雜度,這些特征也是非常適合用于水聲通信的,所有的這些都使得無速率編碼在水聲信道的應(yīng)用越來越受到人們的關(guān)注。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提出一種水下傳感器網(wǎng)絡(luò)的機(jī)會(huì)數(shù)據(jù)回傳方法,在信源到信宿的通信過程中,借鑒機(jī)會(huì)路由的思想我們通過機(jī)會(huì)轉(zhuǎn)發(fā)方案來減少丟包率,減少重傳次數(shù),從而減少能量的消耗,提高帶寬利用率等,同時(shí)在信源端采用無速率編碼作為前向糾錯(cuò)編碼,來提高水聲信道前向傳輸?shù)目煽啃?,并減少反饋,進(jìn)一步提高帶寬利用率。目前,機(jī)會(huì)轉(zhuǎn)發(fā)方案與無速率編碼在水聲通信中的結(jié)合在之前的水聲通信工作中是沒有被提到過的,兩者的結(jié)合使用不僅能夠?qū)崿F(xiàn)各自的優(yōu)點(diǎn),而且能夠互相促進(jìn)來進(jìn)一步提高水聲通信系統(tǒng)的性能。
[0008]本發(fā)明的目的通過以下技術(shù)方案實(shí)現(xiàn)。
[0009]一種水下傳感器網(wǎng)絡(luò)的數(shù)據(jù)回傳系統(tǒng)與方法,包括以下步驟:
[0010](I)在感興趣的海域中部署多個(gè)水下傳感器節(jié)點(diǎn)用于監(jiān)測(cè)和收集數(shù)據(jù),同時(shí)在相應(yīng)的海域表面部署多個(gè)水面浮標(biāo)作為中間節(jié)點(diǎn),在海洋表面或者海岸部署基站或船只作為信宿來收集信源的信息。
[0011](2)水下傳感器節(jié)點(diǎn)(信源)將其收集到的原始數(shù)據(jù)分塊,然后對(duì)數(shù)據(jù)塊使用無速率編碼生成多個(gè)編碼包,通過水聲鏈路廣播給表面浮標(biāo)節(jié)點(diǎn)。
[0012](3)所有成功接收到信源編碼包的水面浮標(biāo)節(jié)點(diǎn)將信宿未成功接收的編碼包通過無線鏈路發(fā)送給信宿。
[0013](4)信宿成功接收到某個(gè)浮標(biāo)節(jié)點(diǎn)的編碼包后,廣播確認(rèn)信息給水面浮標(biāo)節(jié)點(diǎn)。
[0014](5)當(dāng)接收到的編碼包的數(shù)目大于等于原始數(shù)據(jù)塊數(shù)據(jù)包的數(shù)目時(shí),信宿開始解碼。若解碼成功,則向信源和浮標(biāo)節(jié)點(diǎn)反饋成功接收的信息,進(jìn)行下一個(gè)數(shù)據(jù)塊的傳輸;若解碼不成功,則繼續(xù)收集水面浮標(biāo)節(jié)點(diǎn)轉(zhuǎn)發(fā)的編碼包。
[0015](6)信源和浮標(biāo)節(jié)點(diǎn)接收到信宿解碼成功的確認(rèn)信息后停止發(fā)送編碼包;信源繼續(xù)下一個(gè)數(shù)據(jù)塊的發(fā)送。
[0016]優(yōu)選的,所述步驟(I)中的水面浮標(biāo)節(jié)點(diǎn)應(yīng)具有兩個(gè)功能模塊:水聲通信功能模塊和無線通信功能模塊。水聲通信功能模塊提供水面浮標(biāo)節(jié)點(diǎn)與水下傳感器節(jié)點(diǎn)之間進(jìn)行水聲通信的功能,無線通信功能模塊提供水面浮標(biāo)節(jié)點(diǎn)與信宿之間進(jìn)行無線通信的功能。
[0017]優(yōu)選的,所述步驟(2)中的無速率編碼可用隨機(jī)線性碼,LT碼,Raptor碼來實(shí)現(xiàn)。
[0018]更進(jìn)一步的,所述步驟(2)中,每個(gè)編碼包的頭部中應(yīng)包含原始數(shù)據(jù)塊序號(hào)和大小,編碼包的序號(hào),以及用于生成改編碼包的原始數(shù)據(jù)包的序號(hào)。
[0019]優(yōu)選的,所述步驟(4)中,信宿反饋給浮標(biāo)節(jié)點(diǎn)的確認(rèn)信息中包含成功接收的編碼數(shù)據(jù)包序號(hào)及其所在的數(shù)據(jù)塊序號(hào)。
[0020]更進(jìn)一步的,所述步驟(4)中,所有浮標(biāo)節(jié)點(diǎn)收到信宿廣播的確認(rèn)信號(hào)后先檢查自己緩存中是否有信宿已經(jīng)成功接收的編碼包,如果有,就將其從緩存中刪除,并繼續(xù)回傳緩存中信宿沒有成功接收的其他編碼包。
[0021]優(yōu)選的,所述步驟(5)中,信宿成功解碼數(shù)據(jù)塊的確認(rèn)信息通過浮標(biāo)節(jié)點(diǎn)或者信宿的水聲信道反饋給信源。若后續(xù)繼續(xù)收到該數(shù)據(jù)塊的編碼包,則繼續(xù)反饋解碼成功信息。
[0022]優(yōu)選的,所述步驟(2)至(6)所描述的水下傳感器節(jié)點(diǎn)(信源)將其收集到的數(shù)據(jù)發(fā)送給海洋表面或海岸的基站(信宿)的整個(gè)通信過程采用機(jī)會(huì)轉(zhuǎn)發(fā)方案來提高通信質(zhì)量,通過布置多個(gè)水面浮標(biāo)節(jié)點(diǎn),并且所有浮標(biāo)節(jié)點(diǎn)都存在于信源的前向轉(zhuǎn)發(fā)集合中,可以接收和轉(zhuǎn)發(fā)信源發(fā)送的任何數(shù)據(jù)包,信源發(fā)送的每個(gè)數(shù)據(jù)包,只要被前向轉(zhuǎn)發(fā)集合中任何一個(gè)浮標(biāo)節(jié)點(diǎn)成功接收,則此數(shù)據(jù)包可以經(jīng)過該浮標(biāo)節(jié)點(diǎn)通過無線鏈路轉(zhuǎn)發(fā)給信宿從而被信宿成功接收。相比傳統(tǒng)的路由機(jī)制,機(jī)會(huì)路由機(jī)制的丟包率大大減少,重傳次數(shù)和能量消耗也大大減少。
[0023]本發(fā)明相對(duì)于現(xiàn)有技術(shù)具有如下的優(yōu)點(diǎn)及效果:
[0024](I)信宿節(jié)點(diǎn)的機(jī)會(huì)接收。本發(fā)明采用無速率編碼作為信源的前向糾錯(cuò)編碼技術(shù),該技術(shù)能夠利用水聲信道的有損特征實(shí)現(xiàn)機(jī)會(huì)通信。無速率編碼的無碼率屬性能夠產(chǎn)生無限數(shù)量的編碼包,利用稍微大于原始數(shù)據(jù)段包含的數(shù)據(jù)包數(shù)目的機(jī)會(huì)包的接收就能夠解碼整個(gè)數(shù)據(jù)段。在有損信道中包丟失的概率在另一方面可以等同于機(jī)會(huì)性的成功接收。從這個(gè)角度看,只要傳輸足夠多數(shù)目的編碼包,我們使用無速率編碼來進(jìn)行機(jī)會(huì)性地接收其中足夠多數(shù)量的任意的編碼包組合,即使有丟包的可能,將最終導(dǎo)致接收端成功解碼,而無需重傳指定的某些數(shù)據(jù)包?;跓o速率編碼的前向糾錯(cuò)方案和基于重傳的ARQ方案與固定碼率的傳統(tǒng)前向糾錯(cuò)方案相比,接收端收成功解碼數(shù)據(jù)包需要更少傳輸?shù)臅r(shí)間,更少的反饋信令,因而可以提高系統(tǒng)的性能。此外性能好的無速率編碼(如Raptora碼)具有線性的編解碼的復(fù)雜度,這使得無速率編碼很適合用于很難給傳感器節(jié)點(diǎn)進(jìn)行更換和充電、能量極其受限的水下環(huán)境。
[0025](2)水面浮標(biāo)節(jié)點(diǎn)的機(jī)會(huì)轉(zhuǎn)發(fā)。本發(fā)明信源將收集到的數(shù)據(jù)發(fā)送到信宿的過程借鑒了機(jī)會(huì)路由的思路,通過機(jī)會(huì)接收來提高通信的質(zhì)量。機(jī)會(huì)路由是通過為信源發(fā)出的每個(gè)數(shù)據(jù)包提供多于一個(gè)中間節(jié)點(diǎn)進(jìn)行接收,相比傳統(tǒng)的只選擇一個(gè)節(jié)點(diǎn)接收的路由方式相比,機(jī)會(huì)路