一種能量捕獲無線傳感網(wǎng)高數(shù)據(jù)包傳遞率多播方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種無線通信中的單跳多播方法,該方法適用于傳感器節(jié)點能夠捕獲 環(huán)境能量的無線傳感器網(wǎng)絡(luò)。
【背景技術(shù)】
[0002] 無線傳感器網(wǎng)絡(luò)有著非常廣泛的應(yīng)用前景。但是,在傳統(tǒng)傳感器網(wǎng)絡(luò)中,傳感器節(jié) 點由電池來供電,而電池的容量是有限制的,電池儲能的耗盡意味著傳感器節(jié)點生命的結(jié) 束。即使采用經(jīng)過優(yōu)化的通信和網(wǎng)絡(luò)協(xié)議,節(jié)點的生命也非常有限,這嚴(yán)重的限制了無線傳 感器網(wǎng)絡(luò)的實際應(yīng)用。
[0003] 由具有能從環(huán)境中捕獲能量的傳感器節(jié)點組成的無線傳感器網(wǎng)絡(luò) (Energy-HarvestingWirelessSensorNetworks,EH-WSNs),提供了一種親新的有效突破 能量供應(yīng)瓶頸的傳感器網(wǎng)絡(luò)方案,具有非常廣泛的實際應(yīng)用前景。在EH-WSNs中,在對節(jié)點 的工作參數(shù)進(jìn)行重新配置、更新節(jié)點的系統(tǒng)等場合需要用到多播或廣播通信。由于傳感器 節(jié)點捕獲能量非常有限,使用以基站為匯聚節(jié)點的單跳星形拓?fù)涫且环N相對容易實現(xiàn)的網(wǎng) 絡(luò)結(jié)構(gòu)。
[0004] 本發(fā)明考慮EH-WSNs如下單跳多播場景:源節(jié)點具有充足能量而接收節(jié)點的能 量是通過捕獲而得來。目前為止,已經(jīng)有一些文獻(xiàn)研究設(shè)計該場景下的單跳多播方案。比 如Kuan等人提出的多播方法(參見《ReliableMulticastandBroadcastMechanisms forEnergy-HarvestingDevices〉〉,刊于IEEETransactionsonVehicularTechnology, 2014)。這些已有方法雖然具有剩余能量意識和采用了數(shù)據(jù)塊提前終止接收機(jī)制,但還存在 二個方面的不足:(1)沒有考慮到傳感器節(jié)點在數(shù)據(jù)塊接收過程中還會捕獲一定的能量, 這將會發(fā)生以下情況:節(jié)點由于當(dāng)前能量不足以接收整個當(dāng)前數(shù)據(jù)塊而不啟動該數(shù)據(jù)塊接 收,但是節(jié)點電池由于該數(shù)據(jù)塊持續(xù)期間的能量捕獲而發(fā)生儲能溢出;(2)未考慮無線鏈 路丟包率動態(tài)變化特性,不管當(dāng)前數(shù)據(jù)塊接收期間的丟包率多高,只要當(dāng)前能量足夠接收 本數(shù)據(jù)塊中所有數(shù)據(jù)包,就接收該數(shù)據(jù)塊。這二個方面會很浪費(fèi)所捕獲的極其有限的能量, 造成較低的數(shù)據(jù)包傳遞率。
【發(fā)明內(nèi)容】
[0005] 為了克服現(xiàn)有能量捕獲無線傳感網(wǎng)單跳多播方法的低數(shù)據(jù)包傳遞率不足,本發(fā) 明提出一種高數(shù)據(jù)包傳遞率的單跳多播方法,該方法綜合考慮節(jié)點當(dāng)前儲能、能量捕獲速 率以及當(dāng)前信道質(zhì)量這三方面因素,分析出當(dāng)前待接收數(shù)據(jù)塊的正確接收數(shù)據(jù)包數(shù)目期望 值,只有當(dāng)該期望值大于等于一定值時或者如果不接收該數(shù)據(jù)塊則將發(fā)生儲能溢出時才接 收該數(shù)據(jù)塊,有效地降低了信道質(zhì)量差造成接收失敗和節(jié)點儲能溢出這兩種事件的發(fā)生頻 率,提高了單跳多播的數(shù)據(jù)包傳遞率。
[0006] 本發(fā)明為了解決上述技術(shù)問題提供的技術(shù)方案為:
[0007] -種能量捕獲無線傳感網(wǎng)高數(shù)據(jù)包傳遞率多播方法,其特征在于:所述多播方法 包括以下步驟:
[0008] 1)基站節(jié)點操作過程如下:
[0009] (1. 1)在需要以多播方式發(fā)送出去且尚未發(fā)送的源數(shù)據(jù)包中挑出任意k個源數(shù)據(jù) 包,將這k個源數(shù)據(jù)包利用系統(tǒng)糾刪碼進(jìn)行編碼來得到;?==f^/(I卞)1個數(shù)據(jù)包,稱這n個數(shù) 據(jù)包為一個數(shù)據(jù)塊,其中P是傳感器節(jié)點無線鏈路的平均丟包率,運(yùn)算符號「?"!:是對符號內(nèi) 部的數(shù)值向上取整數(shù),參數(shù)k的取值取決于傳感器節(jié)點的內(nèi)存大小,其取值所對應(yīng)的n個數(shù) 據(jù)包總大小要小于等于傳感器節(jié)點上的緩存大??;
[0010] (1. 2)對編碼得到的n個數(shù)據(jù)包,以M個時隙為一個周期,每周期只發(fā)送一個數(shù)據(jù) 包,其中M/氏?^,Epkt是傳感器節(jié)點接收一個數(shù)據(jù)包所消耗的能量,'是傳感器 節(jié)點的平均能量捕獲速率,Ts是一個時隙的時間長度;
[0011] 2)捕獲環(huán)境能量的傳感器節(jié)點操作過程如下:
[0012] (2. 1)在新到來的數(shù)據(jù)塊初始時刻,根據(jù)本傳感器節(jié)點在數(shù)據(jù)塊初始時刻的儲能 E⑴和本傳感器節(jié)點能量捕獲速率sh的值,計算出一旦接收該數(shù)據(jù)塊則能正確接收的數(shù)據(jù) 包個數(shù)期望值N;
[0013] (2. 2)如果N彡k或者E(1) -nMEldle+nMTssh>C,則繼續(xù)執(zhí)行步驟
[0014](2. 3),否則不接收該新到來的數(shù)據(jù)塊,其中Eldle為傳感器節(jié)點在一個空閑時隙上 所消耗的能量,C為傳感器節(jié)點的儲能容量;
[0015] (2. 3)對于當(dāng)前數(shù)據(jù)塊中每個到來的數(shù)據(jù)包,如果在該數(shù)據(jù)包到達(dá)時刻傳感器節(jié) 點的能量小于接收一個數(shù)據(jù)包所需消耗的能量Epkt,則不接收該數(shù)據(jù)包,否則接收該數(shù)據(jù) 包,每當(dāng)接收完一個數(shù)據(jù)包時進(jìn)行以下操作:如果已經(jīng)正確接收的數(shù)據(jù)包為k個,則停止接 收當(dāng)前數(shù)據(jù)塊的后續(xù)數(shù)據(jù)包并繼續(xù)執(zhí)行步驟(2.4),如果接收出錯的數(shù)據(jù)包個數(shù)為n-k+1 個,則跳過步驟(2.4)并停止接收當(dāng)前數(shù)據(jù)塊的后續(xù)包,否則繼續(xù)進(jìn)行當(dāng)前數(shù)據(jù)塊的后續(xù) 數(shù)據(jù)包的接收;
[0016] (2. 4)進(jìn)行系統(tǒng)糾刪碼解碼以恢復(fù)出k個源數(shù)據(jù)包。
[0017] 進(jìn)一步,所述步驟(2. 1)中參數(shù)N的計算包括以下步驟:
[0018] (2. 1. 1)初始化j= 1,N= 0 ;
[0019] (2. 1. 2)如果j彡n,則執(zhí)行下一步驟;否則執(zhí)行步驟(2. 1. 5);
[0020] (2. 1. 3)如果E(j)彡Epkt,E(j)表示本傳感器節(jié)點第j個數(shù)據(jù)包接收時刻的儲能, 則更新接收的數(shù)據(jù)包個數(shù)期望值N-N+1,并且計算第j+1個數(shù)據(jù)包接收時刻的儲能
[0021] E(j+1) =min{E(j)-Epkt-(M-l)Eidlf;+MTs ?sh,C};否則計算j+1 個數(shù)據(jù)包接收時刻 的儲能為E(j+1) =min{E(j)-MEidle+MTs ?sh,C};
[0022] (2. 1. 4)令j-j+1,然后再跳到步驟(2. 1. 2);
[0023] (2. 1. 5)N-N? (1-pJ,其中為本傳感器節(jié)點的丟包率。
[0024] 本發(fā)明的技術(shù)特點及效果:該方案綜合考慮節(jié)點當(dāng)前儲能、能量捕獲速率以及當(dāng) 前信道質(zhì)量這三方面因素,分析出當(dāng)前待接收數(shù)據(jù)塊的正確接收數(shù)據(jù)包數(shù)目期望值,只有 當(dāng)該期望值大于等于一定值時或者如果不接收該數(shù)據(jù)塊則將發(fā)生儲能溢出時才接收該數(shù) 據(jù)塊,有效地降低了信道質(zhì)量差造成接收失敗和節(jié)點儲能溢出這兩種事件的發(fā)生頻率,高 效利用極有限的捕獲能量。
【具體實施方式】
[0025] 下面對本發(fā)明做進(jìn)一步說明。
[0026] -種能量捕獲無線傳感網(wǎng)高數(shù)據(jù)包傳遞率多播方法,包括以下步驟:
[0027] 1)基站節(jié)點操作過程:當(dāng)基站節(jié)點要以單跳多播的方式往傳感器節(jié)點上多播數(shù) 據(jù)包時,在需要發(fā)送出去且尚未發(fā)送的源數(shù)據(jù)包中挑出任意k個源數(shù)據(jù)包,進(jìn)行以下操作 并發(fā)送出去,具體如下:
[0028] (1. 1)將這k個源數(shù)據(jù)包利用已有的任意一種系