本發(fā)明涉及的是一種水聲信號(hào)處理方法,具體地說(shuō)是一種水聲傳感器網(wǎng)絡(luò)數(shù)據(jù)鏈路層的介質(zhì)訪問(wèn)控制(mediaaccesscontrol,mac)協(xié)議。
背景技術(shù):
水聲傳感器網(wǎng)絡(luò)一般由位于水面上的浮標(biāo)節(jié)點(diǎn)、位于海洋底部的固定傳感器節(jié)點(diǎn)以及位于海水中可移動(dòng)的傳感器節(jié)點(diǎn)構(gòu)成,是對(duì)海洋區(qū)域進(jìn)行數(shù)據(jù)信息收集、處理和發(fā)送的綜合傳感器網(wǎng)絡(luò)。網(wǎng)絡(luò)中的位于海洋底部的節(jié)點(diǎn)通過(guò)海水中可移動(dòng)的傳感器節(jié)點(diǎn)作為中繼節(jié)點(diǎn),傳輸?shù)剿嫔系母?biāo)節(jié)點(diǎn)。mac協(xié)議的作用是將網(wǎng)絡(luò)中十分有限的信道資源合理分配給每個(gè)節(jié)點(diǎn)使用,確保所有節(jié)點(diǎn)都能夠進(jìn)行安全可靠高效的數(shù)據(jù)傳輸。因?yàn)樗晜鞲衅骶W(wǎng)絡(luò)的傳輸載波和傳輸環(huán)境與其他無(wú)線網(wǎng)絡(luò)有很大不同,所以許多現(xiàn)有的經(jīng)典mac協(xié)議無(wú)法直接在水聲傳感器網(wǎng)絡(luò)中使用,需要結(jié)合水下環(huán)境進(jìn)行適當(dāng)?shù)脑O(shè)計(jì)與改進(jìn)。
tdma(timedivisionmultipleaddress)協(xié)議按照周期進(jìn)行通信,每一個(gè)通信周期為節(jié)點(diǎn)各自分配一個(gè)時(shí)隙,節(jié)點(diǎn)在各自的時(shí)隙內(nèi)進(jìn)行傳輸。tdma協(xié)議具有節(jié)能、無(wú)數(shù)據(jù)傳輸沖突、公平性好的優(yōu)點(diǎn)。但是水聲傳感器網(wǎng)絡(luò)傳播時(shí)延較大,每個(gè)通信周期都是陸上無(wú)線傳感器網(wǎng)絡(luò)的數(shù)十倍,對(duì)于大規(guī)模多節(jié)點(diǎn)的網(wǎng)絡(luò)使用tdma協(xié)議會(huì)造成端到端時(shí)延急劇增高,同時(shí)tdma要求較為嚴(yán)格的時(shí)隙同步,大規(guī)模網(wǎng)絡(luò)進(jìn)行時(shí)間同步十分困難,還會(huì)消耗大量的能量,降低了網(wǎng)絡(luò)的使用壽命。
maca(multipleaccesswithcollisionavoidance)協(xié)議是基于競(jìng)爭(zhēng)的協(xié)議,數(shù)據(jù)發(fā)送過(guò)程中,發(fā)送節(jié)點(diǎn)發(fā)送數(shù)據(jù)前先向接收節(jié)點(diǎn)發(fā)送rts控制報(bào)文,接收者收到rts后,回送cts報(bào)文,發(fā)送節(jié)點(diǎn)收到cts后,發(fā)送節(jié)點(diǎn)開(kāi)始發(fā)送數(shù)據(jù)。收到rts的其它節(jié)點(diǎn)在一段時(shí)間內(nèi)不能發(fā)送任何消息,以保證發(fā)送節(jié)點(diǎn)能夠接收并響應(yīng)cts分組。聽(tīng)到cts的節(jié)點(diǎn),知道在它的通信范圍內(nèi)有節(jié)點(diǎn)要接收某種長(zhǎng)度的分組,通過(guò)實(shí)施二進(jìn)制指數(shù)退避算法延遲發(fā)送來(lái)避免沖突。發(fā)送節(jié)點(diǎn)只有在收到對(duì)方回送的cts后才能發(fā)送數(shù)據(jù),如果沒(méi)有收到cts,則認(rèn)為rts因?yàn)闆_突被破壞,然后執(zhí)行二進(jìn)制指數(shù)退避算法,延遲重發(fā)rts。采用maca協(xié)議能夠有效避免數(shù)據(jù)沖突,同時(shí)避免時(shí)間同步的麻煩,但是對(duì)于大規(guī)模多節(jié)點(diǎn)的水聲傳感器網(wǎng)絡(luò),競(jìng)爭(zhēng)的開(kāi)銷(xiāo)過(guò)大,且競(jìng)爭(zhēng)效率下降的十分明顯。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種能有效解決大規(guī)模水聲通信網(wǎng)絡(luò)網(wǎng)絡(luò)資源浪費(fèi)造成的吞吐量性能差以及數(shù)據(jù)報(bào)文端到端時(shí)延過(guò)長(zhǎng)的問(wèn)題的基于分簇的水聲傳感器網(wǎng)絡(luò)混合介質(zhì)訪問(wèn)控制通信方法。
本發(fā)明的目的是這樣實(shí)現(xiàn)的:
步驟1:水聲傳感器網(wǎng)絡(luò)初始化
整個(gè)水聲傳感器網(wǎng)絡(luò)由一個(gè)水面中心節(jié)點(diǎn)和k個(gè)水下信息采集傳感器節(jié)點(diǎn)構(gòu)成,rmax為水面中心節(jié)點(diǎn)通信范圍半徑,k個(gè)水下信息采集傳感器節(jié)點(diǎn)按照自身節(jié)點(diǎn)id進(jìn)行標(biāo)識(shí);
步驟2:水面中心節(jié)點(diǎn)廣播通知分簇信息
水面中心節(jié)點(diǎn)根據(jù)k個(gè)水下信息采集傳感器節(jié)點(diǎn)的地理位置信息以及實(shí)時(shí)信息采集的需求,將k個(gè)水下信息采集傳感器節(jié)點(diǎn)進(jìn)行分簇,為每個(gè)簇分配簇id并確定簇內(nèi)節(jié)點(diǎn)及其通信頻率,選取每個(gè)簇內(nèi)節(jié)點(diǎn)id最小的傳感器節(jié)點(diǎn)作為簇頭,依據(jù)每個(gè)簇內(nèi)節(jié)點(diǎn)間的最遠(yuǎn)傳輸距離lmax確定簇內(nèi)時(shí)隙長(zhǎng)度為t=lmax/v,其中v為聲波在水中的傳輸速率,水面中心節(jié)點(diǎn)將分簇信息以廣播的形式通知每個(gè)水下信息采集傳感器節(jié)點(diǎn),所述分簇信息包含每個(gè)簇的簇id、簇頭id、簇成員id、通信頻率以及簇內(nèi)時(shí)隙長(zhǎng)度;
步驟3:確定簇內(nèi)時(shí)隙表
每個(gè)水下信息采集傳感器節(jié)點(diǎn)接收水面中心節(jié)點(diǎn)發(fā)送的分簇信息后,獲得所在簇的分簇信息,首先判斷自身是否被分配為簇頭節(jié)點(diǎn),如果不是簇頭節(jié)點(diǎn),則根據(jù)每個(gè)簇內(nèi)時(shí)隙表按照簇成員id的升序排列分配原則,確定簇內(nèi)時(shí)隙表以及自身在簇內(nèi)的發(fā)送時(shí)隙,進(jìn)入統(tǒng)計(jì)周期;
步驟4:統(tǒng)計(jì)周期開(kāi)始,簇成員節(jié)點(diǎn)根據(jù)簇內(nèi)時(shí)隙表,在自身時(shí)隙將數(shù)據(jù)報(bào)文發(fā)送給簇頭節(jié)點(diǎn);
步驟5:簇頭節(jié)點(diǎn)接收完一個(gè)時(shí)隙周期內(nèi)簇成員發(fā)送的數(shù)據(jù)報(bào)文后,統(tǒng)計(jì)周期結(jié)束;
步驟6:簇頭節(jié)點(diǎn)通過(guò)偵聽(tīng)是否有來(lái)自其他簇頭節(jié)點(diǎn)或者水面中心節(jié)點(diǎn)的消息,從而判斷信道是否處于空閑狀態(tài),簇頭節(jié)點(diǎn)的信道偵聽(tīng)時(shí)間為tl=2rmax/v,若簇頭節(jié)點(diǎn)在信道偵聽(tīng)時(shí)間tl內(nèi)沒(méi)有接收到來(lái)自其他簇頭節(jié)點(diǎn)或者水面中心節(jié)點(diǎn)的數(shù)據(jù)報(bào)文,則判斷信道處于空閑狀態(tài),否則判斷信道處于忙碌狀態(tài);
步驟7:簇頭節(jié)點(diǎn)根據(jù)步驟6中偵聽(tīng)到的信道狀態(tài),確定是否向水面中心節(jié)點(diǎn)發(fā)送rts信道預(yù)約報(bào)文,
當(dāng)判斷信道處于忙碌狀態(tài)時(shí),簇頭節(jié)點(diǎn)重置偵聽(tīng)等待時(shí)間tl,繼續(xù)偵聽(tīng),直到判斷信道處于空閑狀態(tài);當(dāng)判斷信道處于空閑狀態(tài),簇頭節(jié)點(diǎn)向水面中心節(jié)點(diǎn)發(fā)送一個(gè)rts信道預(yù)約報(bào)文進(jìn)行信道預(yù)約;
步驟8:水面中心節(jié)點(diǎn)在成功接收到簇頭節(jié)點(diǎn)發(fā)送的rts信道預(yù)約報(bào)文后向該簇頭發(fā)送cts應(yīng)答報(bào)文,并將信道預(yù)約標(biāo)識(shí)設(shè)置為1,拒絕接收其他簇頭節(jié)點(diǎn)發(fā)送的rts信道預(yù)約報(bào)文;
步驟9:簇頭節(jié)點(diǎn)在發(fā)送rts信道預(yù)約報(bào)文后的偵聽(tīng)等待時(shí)間tl內(nèi)沒(méi)有收到水面中心節(jié)點(diǎn)發(fā)送的cts應(yīng)答報(bào)文,重新發(fā)送rts信道預(yù)約報(bào)文并重置偵聽(tīng)等待時(shí)間tl,等待水面中心節(jié)點(diǎn)發(fā)送的cts應(yīng)答報(bào)文;如果簇頭節(jié)點(diǎn)在發(fā)送rts信道預(yù)約報(bào)文后的偵聽(tīng)等待時(shí)間tl內(nèi)接收到水面中心節(jié)點(diǎn)發(fā)送的cts應(yīng)答報(bào)文,判斷自身地址是否為cts應(yīng)答報(bào)文的預(yù)約節(jié)點(diǎn)地址,若自身地址不是cts應(yīng)答報(bào)文的預(yù)約節(jié)點(diǎn)地址,則判斷信道已被其他簇頭節(jié)點(diǎn)預(yù)約,信道處于忙碌狀態(tài),重新執(zhí)行步驟7繼續(xù)偵聽(tīng),直到判斷信道為空閑狀態(tài)時(shí)再次向水面中心節(jié)點(diǎn)發(fā)送rts信道預(yù)約報(bào)文;若自身地址是cts應(yīng)答報(bào)文的預(yù)約節(jié)點(diǎn)地址,則判斷信道預(yù)約成功,簇頭節(jié)點(diǎn)準(zhǔn)備發(fā)送數(shù)據(jù)報(bào)文;
步驟10:簇頭節(jié)點(diǎn)向水面中心節(jié)點(diǎn)發(fā)送數(shù)據(jù)報(bào)文
簇頭節(jié)點(diǎn)將每個(gè)簇成員發(fā)送的數(shù)據(jù)前面加上起始標(biāo)識(shí)符和數(shù)據(jù)幀id作為一個(gè)數(shù)據(jù)幀,并將所有數(shù)據(jù)幀按照簇成員id的升序排列組成數(shù)據(jù)報(bào)文,數(shù)據(jù)報(bào)文的最后有終止標(biāo)識(shí)符,簇頭節(jié)點(diǎn)將數(shù)據(jù)報(bào)文發(fā)送給水面中心節(jié)點(diǎn);
步驟11:水面中心節(jié)點(diǎn)未完全正確接收簇頭節(jié)點(diǎn)發(fā)送的數(shù)據(jù)報(bào)文后,發(fā)送nack報(bào)文給簇頭節(jié)點(diǎn);如果水面中心節(jié)點(diǎn)完全正確接收簇頭節(jié)點(diǎn)發(fā)送的數(shù)據(jù)報(bào)文后,生成ack報(bào)文,重新分配分簇信息,將重新分配的分簇信息加到ack報(bào)文中并將ack報(bào)文發(fā)送給簇頭節(jié)點(diǎn);
步驟12:簇頭節(jié)點(diǎn)發(fā)送完數(shù)據(jù)報(bào)文后,如果在偵聽(tīng)等待時(shí)間tl內(nèi)接收到水面中心節(jié)點(diǎn)發(fā)送的nack報(bào)文,根據(jù)nack報(bào)文中的錯(cuò)誤幀id重新向水面中心節(jié)點(diǎn)發(fā)送對(duì)應(yīng)數(shù)據(jù)幀id的數(shù)據(jù),直到接收到水面中心節(jié)點(diǎn)發(fā)送的ack報(bào)文為止,如果偵聽(tīng)等待時(shí)間tl內(nèi)接收到水面中心節(jié)點(diǎn)發(fā)送的ack報(bào)文,則依據(jù)ack報(bào)文中包含的分簇信息廣播發(fā)送給簇成員節(jié)點(diǎn),執(zhí)行步驟3,進(jìn)入下一個(gè)統(tǒng)計(jì)周期。
本發(fā)明針對(duì)大規(guī)模集中式傳感器網(wǎng)絡(luò)在使用時(shí)隙分配協(xié)議時(shí)同步困難,以及使用競(jìng)爭(zhēng)協(xié)議時(shí)資源浪費(fèi)的缺點(diǎn),提出了一種基于分簇的tdma協(xié)議和maca協(xié)議混合的水聲傳感器網(wǎng)絡(luò)mac協(xié)議(cm-maca協(xié)議)實(shí)現(xiàn)方法,有效的解決大規(guī)模水聲通信網(wǎng)絡(luò)網(wǎng)絡(luò)資源浪費(fèi)造成的吞吐量性能差以及數(shù)據(jù)報(bào)文端到端時(shí)延過(guò)長(zhǎng)的問(wèn)題。
本發(fā)明的基于分簇的水聲傳感器網(wǎng)絡(luò)混合mac協(xié)議的實(shí)現(xiàn)方法,將大規(guī)模集中式網(wǎng)絡(luò)進(jìn)行分簇,簇內(nèi)和簇間通信采取不同數(shù)據(jù)傳輸協(xié)議,簇內(nèi)通信采取基于時(shí)隙的tdma協(xié)議,簇間通信采取基于競(jìng)爭(zhēng)的maca協(xié)議,同時(shí)根據(jù)水聲信號(hào)的傳輸特點(diǎn),對(duì)簇間通信中使用的maca協(xié)議進(jìn)行針對(duì)性改進(jìn),加入了偵聽(tīng)機(jī)制有效防止隱藏終端,另外在數(shù)據(jù)傳輸過(guò)程中將數(shù)據(jù)報(bào)文分解為多個(gè)幀并加入起始標(biāo)識(shí)符和簇成員id,由此來(lái)降低數(shù)據(jù)丟失后重發(fā)的延遲時(shí)間。
本發(fā)明的優(yōu)點(diǎn)在于:
1)合理利用每個(gè)節(jié)點(diǎn)的能量,提高整體網(wǎng)絡(luò)的能量利用率,不會(huì)出現(xiàn)單一節(jié)點(diǎn)能量剩余較少而其他節(jié)點(diǎn)能量剩余較多的情況;
2)簇內(nèi)收集數(shù)據(jù)可以多個(gè)簇同時(shí)進(jìn)行,互不影響,提高網(wǎng)絡(luò)吞吐量;簇頭與中心節(jié)點(diǎn)間采用的帶偵聽(tīng)機(jī)制的競(jìng)爭(zhēng)協(xié)議,可以有效防止消息碰撞,同時(shí)解決了大規(guī)模網(wǎng)絡(luò)節(jié)點(diǎn)間時(shí)間同步困難的問(wèn)題。
附圖說(shuō)明
圖1:拓?fù)浣Y(jié)構(gòu)示意圖。
圖2:本發(fā)明流程框圖。
圖3:rts/cts報(bào)文格式示意圖。
圖4:數(shù)據(jù)報(bào)文格式示意圖。
圖5:nack報(bào)文格式示意圖。
圖6:ack報(bào)文格式示意圖。
圖7:本發(fā)明提出的cm-maca協(xié)議與tdma以及maca協(xié)議吞吐量性能比較。
圖8:本發(fā)明提出的cm-maca協(xié)議與tdma以及maca協(xié)議端到端時(shí)延性能比較。
圖9:本發(fā)明提出的cm-maca協(xié)議與tdma以及maca協(xié)議能源消耗性能比較。
具體實(shí)施方式
下面結(jié)合附圖舉例對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步詳細(xì)說(shuō)明。
實(shí)施例1:
如圖1所示為本發(fā)明具體實(shí)施例的拓?fù)浣Y(jié)構(gòu)示意圖。
步驟1,進(jìn)行水聲傳感器網(wǎng)絡(luò)初始化。整個(gè)水聲傳感器網(wǎng)絡(luò)由一個(gè)水面中心節(jié)點(diǎn)和六個(gè)水下信息采集傳感器節(jié)點(diǎn)構(gòu)成,rmax為水面中心節(jié)點(diǎn)通信范圍半徑,六個(gè)水下信息采集傳感器節(jié)點(diǎn)按照自身節(jié)點(diǎn)id進(jìn)行標(biāo)識(shí)。節(jié)點(diǎn)a的id為1,節(jié)點(diǎn)b的id為2,節(jié)點(diǎn)c的id為3,節(jié)點(diǎn)d的id為4,節(jié)點(diǎn)e的id為5,節(jié)點(diǎn)f的id為6。
步驟2,水面中心節(jié)點(diǎn)廣播通知各節(jié)點(diǎn)分簇信息。水面中心節(jié)點(diǎn)根據(jù)六個(gè)水下信息采集傳感器節(jié)點(diǎn)的地理位置信息以及實(shí)時(shí)信息采集的需求,將六個(gè)水下信息采集傳感器節(jié)點(diǎn)進(jìn)行分簇,為每個(gè)簇分配簇id并確定簇內(nèi)節(jié)點(diǎn)及其通信頻率,節(jié)點(diǎn)a、節(jié)點(diǎn)b、節(jié)點(diǎn)c的簇id為1,節(jié)點(diǎn)d、節(jié)點(diǎn)e、節(jié)點(diǎn)f的簇id為2,選取每個(gè)簇內(nèi)節(jié)點(diǎn)id最小的傳感器節(jié)點(diǎn)作為簇頭,依據(jù)每個(gè)簇內(nèi)成員節(jié)點(diǎn)間的最遠(yuǎn)傳輸距離lmax確定簇內(nèi)時(shí)隙長(zhǎng)度為t=lmax/v,其中v為聲波在水中的傳輸速率。第1簇的簇頭為節(jié)點(diǎn)a,簇內(nèi)時(shí)隙長(zhǎng)度為t=lbc/v,第2簇的簇頭為節(jié)點(diǎn)d,簇內(nèi)時(shí)隙長(zhǎng)度為t=ldf/v。水面中心節(jié)點(diǎn)將以上得到的分簇信息以廣播的形式通知每個(gè)水下信息采集傳感器節(jié)點(diǎn),使得每個(gè)水下信息采集傳感器節(jié)點(diǎn)獲得自身的簇id、簇頭id、簇成員id、通信頻率以及簇內(nèi)時(shí)隙長(zhǎng)度。其中節(jié)點(diǎn)a、節(jié)點(diǎn)b、節(jié)點(diǎn)c的簇id為1、簇頭id為1、簇成員id為2、3,節(jié)點(diǎn)c、節(jié)點(diǎn)d、節(jié)點(diǎn)e的簇id為2、簇頭id為4、簇成員id為5、6。
步驟3,確定簇內(nèi)時(shí)隙表。每個(gè)水下信息采集傳感器節(jié)點(diǎn)收到水面中心節(jié)點(diǎn)發(fā)送的分簇信息后,首先判斷自身是否被分配為簇頭節(jié)點(diǎn)。如果不是簇頭節(jié)點(diǎn),則根據(jù)每個(gè)簇內(nèi)時(shí)隙表按照簇成員id的升序排列分配原則,確定簇內(nèi)時(shí)隙表以及自身在簇內(nèi)的發(fā)送時(shí)隙,進(jìn)入統(tǒng)計(jì)周期。
步驟4,統(tǒng)計(jì)周期開(kāi)始,節(jié)點(diǎn)b、節(jié)點(diǎn)c根據(jù)步驟3中得到的簇內(nèi)時(shí)隙表,在自身時(shí)隙將數(shù)據(jù)報(bào)文發(fā)送給簇頭節(jié)點(diǎn)a。
步驟5,簇頭節(jié)點(diǎn)a接收完一個(gè)時(shí)隙周期內(nèi)簇成員節(jié)點(diǎn)發(fā)送的數(shù)據(jù)報(bào)文后,統(tǒng)計(jì)周期結(jié)束。
步驟6,簇頭節(jié)點(diǎn)a通過(guò)偵聽(tīng)是否有來(lái)自簇頭節(jié)點(diǎn)d或者水面中心節(jié)點(diǎn)的消息,從而判斷信道是否處于空閑狀態(tài)。簇頭節(jié)點(diǎn)a的信道偵聽(tīng)時(shí)間為tl=2rmax/v,其中rmax為水面中心節(jié)點(diǎn)通信范圍半徑,v為聲波在水中的傳輸速率。若簇頭節(jié)點(diǎn)a在信道偵聽(tīng)時(shí)間tl內(nèi)沒(méi)有接收到來(lái)自其他簇頭節(jié)點(diǎn)d或者水面中心節(jié)點(diǎn)的數(shù)據(jù)報(bào)文,則判斷信道處于空閑狀態(tài),否則判斷信道處于忙碌狀態(tài)。
步驟7,簇頭節(jié)點(diǎn)a根據(jù)步驟6中偵聽(tīng)到的信道狀態(tài),確定是否向水面中心節(jié)點(diǎn)發(fā)送rts信道預(yù)約報(bào)文。當(dāng)判斷信道處于忙碌狀態(tài)時(shí),簇頭節(jié)點(diǎn)a重置偵聽(tīng)等待時(shí)間tl,繼續(xù)偵聽(tīng),直到判斷信道處于空閑狀態(tài);當(dāng)判斷信道處于空閑狀態(tài),簇頭節(jié)點(diǎn)a向水面中心節(jié)點(diǎn)發(fā)送一個(gè)rts信道預(yù)約報(bào)文進(jìn)行信道預(yù)約。
步驟8,水面中心節(jié)點(diǎn)在成功接收到簇頭節(jié)點(diǎn)a發(fā)送的rts信道預(yù)約報(bào)文后向該簇頭發(fā)送cts應(yīng)答報(bào)文(報(bào)文格式如圖3所示),并將信道預(yù)約標(biāo)識(shí)設(shè)置為1,拒絕接收其他簇頭節(jié)點(diǎn)發(fā)送的rts信道預(yù)約報(bào)文。
步驟9,簇頭節(jié)點(diǎn)a在發(fā)送rts信道預(yù)約報(bào)文后的偵聽(tīng)等待時(shí)間tl內(nèi)沒(méi)有收到水面中心節(jié)點(diǎn)發(fā)送的cts應(yīng)答報(bào)文,重新發(fā)送rts信道預(yù)約報(bào)文并重置偵聽(tīng)等待時(shí)間tl,等待水面中心節(jié)點(diǎn)發(fā)送的cts應(yīng)答報(bào)文;如果簇頭節(jié)點(diǎn)a在發(fā)送rts信道預(yù)約報(bào)文后的偵聽(tīng)等待時(shí)間tl內(nèi)接收到水面中心節(jié)點(diǎn)發(fā)送的cts應(yīng)答報(bào)文,判斷自身地址是否為cts應(yīng)答報(bào)文的預(yù)約節(jié)點(diǎn)地址。若自身地址不是cts應(yīng)答報(bào)文的預(yù)約節(jié)點(diǎn)地址,則判斷信道已被其他簇頭節(jié)點(diǎn)預(yù)約,信道處于忙碌狀態(tài),重新執(zhí)行步驟7繼續(xù)偵聽(tīng),直到判斷信道為空閑狀態(tài)時(shí)再次向水面中心節(jié)點(diǎn)發(fā)送rts信道預(yù)約報(bào)文;若自身地址是cts應(yīng)答報(bào)文的預(yù)約節(jié)點(diǎn)地址,則判斷信道預(yù)約成功,簇頭節(jié)點(diǎn)a準(zhǔn)備發(fā)送數(shù)據(jù)報(bào)文。
步驟10,簇頭節(jié)點(diǎn)將每個(gè)簇成員發(fā)送的數(shù)據(jù)前面加上起始標(biāo)識(shí)符和數(shù)據(jù)幀id作為一個(gè)數(shù)據(jù)幀,并將所有數(shù)據(jù)幀按照簇成員id的升序排列組成數(shù)據(jù)報(bào)文,數(shù)據(jù)報(bào)文的最后有終止標(biāo)識(shí)符。簇頭節(jié)點(diǎn)將數(shù)據(jù)報(bào)文發(fā)送給水面中心節(jié)點(diǎn)。
步驟11,水面中心節(jié)點(diǎn)未完全正確接收簇頭節(jié)點(diǎn)a發(fā)送的數(shù)據(jù)報(bào)文后,發(fā)送nack報(bào)文給簇頭節(jié)點(diǎn)a,nack報(bào)文的格式如圖5所示,如果水面中心節(jié)點(diǎn)完全正確接收簇頭節(jié)點(diǎn)a發(fā)送的數(shù)據(jù)報(bào)文后,發(fā)送ack報(bào)文給簇頭節(jié)點(diǎn)a,根據(jù)接收到的每個(gè)數(shù)據(jù)幀內(nèi)信息重新分配分簇信息,將重新分配的分簇信息加到ack報(bào)文中并將ack報(bào)文發(fā)送給簇頭節(jié)點(diǎn),ack報(bào)文的格式如圖6所示。
步驟12,簇頭節(jié)點(diǎn)a發(fā)送完數(shù)據(jù)報(bào)文后,如果在偵聽(tīng)等待時(shí)間tl內(nèi)接收到水面中心節(jié)點(diǎn)發(fā)送的nack報(bào)文,根據(jù)nack報(bào)文中的錯(cuò)誤幀id重新向水面中心節(jié)點(diǎn)發(fā)送對(duì)應(yīng)數(shù)據(jù)幀id的數(shù)據(jù),直到接收到水面中心節(jié)點(diǎn)發(fā)送的ack報(bào)文為止,如果偵聽(tīng)等待時(shí)間tl內(nèi)接收到水面中心節(jié)點(diǎn)發(fā)送的ack報(bào)文,則依據(jù)ack報(bào)文中包含的分簇信息廣播發(fā)送給簇成員節(jié)點(diǎn),執(zhí)行步驟3,進(jìn)入下一個(gè)統(tǒng)計(jì)周期。
圖7~圖9分別給出了本發(fā)明提出的cm-maca協(xié)議與tdma以及maca協(xié)議在網(wǎng)絡(luò)吞吐量、端到端時(shí)延、能源消耗性能的比較。由圖7~圖9可以看出,隨著網(wǎng)絡(luò)業(yè)務(wù)量的增加,本發(fā)明提出的cm-maca協(xié)議可以更好地提高水聲通信網(wǎng)絡(luò)的吞吐量,降低端到端時(shí)延以及網(wǎng)絡(luò)能源消耗。
使用協(xié)議| 關(guān)于我們| 聯(lián)系X技術(shù)
? 2008-2024 【X技術(shù)】 版權(quán)所有,并保留所有權(quán)利。津ICP備16005673號(hào)-2