專利名稱:用于實現(xiàn)多跳無線網(wǎng)絡(luò)中數(shù)據(jù)廣播的傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明涉及噴泉碼和網(wǎng)絡(luò)編碼,屬于無線數(shù)據(jù)傳輸領(lǐng)域。
背景技術(shù):
在LT codes以及Raptor codes作為噴泉碼的兩種實現(xiàn)形式被提出并且加以研究 之后,噴泉碼被證明是一種擁有優(yōu)秀的傳輸性能和低復(fù)雜度的實現(xiàn)過程的數(shù)據(jù)編碼方式, 因此噴泉碼也被看作是實現(xiàn)大規(guī)模數(shù)據(jù)廣播的理想傳輸手段,并且已被列入作為具體的 3GPP和DVB-H的相關(guān)標(biāo)準(zhǔn)。該技術(shù)的關(guān)鍵就是通過核心的LT編碼器,在數(shù)據(jù)發(fā)送端由K個 源數(shù)據(jù)包產(chǎn)生出無限多個被稱為LT codes的編碼碼字,而接收端的LT解碼器只需要從中 正確接收到任意的稍大于K的N個LT codes,就可以恢復(fù)出左右的K個源數(shù)據(jù)包。傳統(tǒng)的數(shù)據(jù)傳輸技術(shù)需要在發(fā)送端與接收端之間建立一條信道(backhaul)來處 理來自接收端的數(shù)據(jù)重傳請求(ARQ),而在組播、廣播服務(wù)中,發(fā)送端可能需要處理來自不 同接收端的針對不同數(shù)據(jù)包的ARQ,這些處理過程將會嚴(yán)重降低網(wǎng)絡(luò)的吞吐量,時延等性 能。而當(dāng)使用噴泉碼來進(jìn)行數(shù)據(jù)傳輸時,如果傳輸信道是刪除信道,那么在該信道上發(fā)送的 數(shù)據(jù)包要么被丟棄,要么被接收端正確無誤地收到,于是在刪除信道的環(huán)境下使用噴泉碼 進(jìn)行傳輸時,接收端只需要不斷接收信道上傳輸?shù)腖T codes,無論在接收過程中有多少的 LT codes被信道刪除,數(shù)據(jù)接收端最終必然可以成功接收到N個LT codes從而成功恢復(fù)出 K個源數(shù)據(jù)包。因此在使用噴泉碼后,發(fā)送端將不再需要處理來自接收端的ARQ,只需要一 直發(fā)送LT codes,直到所有的接收端都反饋完成接收后就可以停止傳輸當(dāng)前數(shù)據(jù)了。噴泉碼在無線信道上也能可靠的傳輸,傳輸系統(tǒng)使用CRC方式來確保源數(shù)據(jù)的正 確恢復(fù)。網(wǎng)絡(luò)編碼的基本原理是賦予多跳無線網(wǎng)絡(luò)中的中繼節(jié)點以編碼解碼能力。通過在 中繼節(jié)點進(jìn)行數(shù)據(jù)編碼,網(wǎng)絡(luò)的容量得到了一定程度的提高。另外網(wǎng)絡(luò)編碼帶給無線傳輸 領(lǐng)域的好處不僅僅是提高網(wǎng)網(wǎng)絡(luò)的容量,網(wǎng)絡(luò)編碼也同時在網(wǎng)絡(luò)安全,測量方面也有較大 的貢獻(xiàn)。網(wǎng)絡(luò)編碼和噴泉碼的編碼過程相當(dāng)類似,在每一個編碼時隙,兩者的編碼都是通 過在節(jié)點隨機(jī)選取幾個輸入的數(shù)據(jù)包再將這些數(shù)據(jù)包進(jìn)行異或運(yùn)算,得到的計算結(jié)果作為 編碼結(jié)果進(jìn)行輸出。因此我們可以利用噴泉碼的數(shù)據(jù)接收特性以及網(wǎng)絡(luò)編碼帶給網(wǎng)絡(luò)數(shù)據(jù) 傳輸?shù)母咝裕l(fā)展出一種融合了網(wǎng)絡(luò)編碼和噴泉碼特點的,新的數(shù)據(jù)傳輸方式,以此來實 現(xiàn)多跳無線網(wǎng)絡(luò)上可靠的數(shù)據(jù)廣播,并且對其性能做一定的改善?,F(xiàn)有數(shù)據(jù)廣播技術(shù),數(shù)據(jù)發(fā)送端在廣播數(shù)據(jù)包時,將其所存儲的各個數(shù)據(jù)包依次 向數(shù)據(jù)接收端進(jìn)行廣播,如果存在數(shù)據(jù)接收端沒有將數(shù)據(jù)完全接收,那么接收端在第一次 將所有的數(shù)據(jù)包依次發(fā)送結(jié)束后,將要將這些數(shù)據(jù)包再依次發(fā)送第二遍,或者更多遍,直到 所有的數(shù)據(jù)接收端都成功接收數(shù)據(jù)為止。因此只要有一個數(shù)據(jù)接收端沒有完成數(shù)據(jù)接收, 數(shù)據(jù)發(fā)送端就必須將所有的廣播數(shù)據(jù)包依次發(fā)送一遍,這造成了相當(dāng)大的資源浪費(fèi),同時 數(shù)據(jù)廣播的效率也十分低下。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種新的用于實現(xiàn)多跳無線網(wǎng)絡(luò)中數(shù)據(jù)廣播的傳輸方法。為實現(xiàn)上述目的,本發(fā)明提出了基于噴泉碼和網(wǎng)絡(luò)編碼技術(shù)融合的數(shù)據(jù)傳輸方 式,利用多跳無線網(wǎng)絡(luò)中中繼節(jié)點的編碼能力,在數(shù)據(jù)從發(fā)送端經(jīng)過各個中繼節(jié)點直至被 接收端接收的過程中,實現(xiàn)噴泉碼的編碼過程,使得數(shù)據(jù)在接收端被接收后可以經(jīng)過噴泉 碼解碼恢復(fù)出原始數(shù)據(jù)。具體地說,本發(fā)明實現(xiàn)上述目的所采取的技術(shù)方案如下該用于實現(xiàn)多跳無線網(wǎng)絡(luò)中數(shù)據(jù)廣播的傳輸方法是所述多跳無線網(wǎng)絡(luò)含有兩個 以上的數(shù)據(jù)發(fā)送端和一個以上的數(shù)據(jù)接收端,每跳中繼包含一個以上的中繼節(jié)點,并且所 有數(shù)據(jù)發(fā)送端與中繼節(jié)點都達(dá)到同步;所述傳輸方法包括如下步驟(1)所述多跳無線網(wǎng)絡(luò)的數(shù)據(jù)中心向各數(shù)據(jù)發(fā)送端發(fā)送一組相同的待廣播數(shù)據(jù) 包,各數(shù)據(jù)發(fā)送端將所接收的待廣播數(shù)據(jù)包進(jìn)行存儲;(2)在所有數(shù)據(jù)發(fā)送端對所接收的待廣播數(shù)據(jù)包存儲完畢后,所述數(shù)據(jù)中心停止 向各數(shù)據(jù)發(fā)送端發(fā)送待廣播數(shù)據(jù)包;(3)在所述多跳無線網(wǎng)絡(luò)的每一個數(shù)據(jù)發(fā)送時隙,各數(shù)據(jù)發(fā)送端從所存儲的待廣 播數(shù)據(jù)包中隨機(jī)選取一個向第一跳節(jié)點進(jìn)行廣播,所述第一跳節(jié)點為中繼節(jié)點;(4)第一跳節(jié)點在所述多跳無線網(wǎng)絡(luò)的每一個數(shù)據(jù)接收時隙接收到所有數(shù)據(jù)發(fā)送 端所發(fā)送的數(shù)據(jù)包后,以概率P執(zhí)行網(wǎng)絡(luò)編碼,或者以概率I-P執(zhí)行直接轉(zhuǎn)發(fā);所述執(zhí)行網(wǎng)絡(luò)編碼的步驟為該第一跳節(jié)點在所有接收到的數(shù)據(jù)包中隨機(jī)選擇兩 個數(shù)據(jù)包進(jìn)行異或計算,并將計算結(jié)果作為編碼結(jié)果在緊接的下一個數(shù)據(jù)發(fā)送時隙向下一 跳節(jié)點廣播,將其余未被選擇到的數(shù)據(jù)包丟棄,接著等待下一個數(shù)據(jù)接收時隙以接收新的 來自所有數(shù)據(jù)發(fā)送端所發(fā)送的數(shù)據(jù)包;所述執(zhí)行直接轉(zhuǎn)發(fā)的步驟為該第一跳節(jié)點在所有接收到的數(shù)據(jù)包中隨機(jī)選擇一 個,并將選中的數(shù)據(jù)包在緊接的下一個數(shù)據(jù)發(fā)送時隙向下一跳節(jié)點廣播,將其余未被選中 的數(shù)據(jù)包丟棄,接著等待下一個數(shù)據(jù)接收時隙接收新的來自所有數(shù)據(jù)發(fā)送端所發(fā)送的數(shù)據(jù) 包;若所述多跳無線網(wǎng)絡(luò)為兩跳網(wǎng)絡(luò),則所述下一跳節(jié)點為數(shù)據(jù)接收端并執(zhí)行步驟 (6);若所述多跳無線網(wǎng)絡(luò)為三跳以上的網(wǎng)絡(luò),則所述下一跳節(jié)點為中繼節(jié)點并執(zhí)行步驟 (5);(5)所述多跳無線網(wǎng)絡(luò)中的除第一跳節(jié)點以外的其他中繼節(jié)點在每一個數(shù)據(jù)接收 時隙接收到其上一跳節(jié)點所發(fā)送的數(shù)據(jù)包后,以概率P執(zhí)行網(wǎng)絡(luò)編碼,或者以概率I-P執(zhí)行 直接轉(zhuǎn)發(fā);所述執(zhí)行網(wǎng)絡(luò)編碼的步驟為該中繼節(jié)點將在所有接收到的數(shù)據(jù)包中隨機(jī)選擇兩 個數(shù)據(jù)包進(jìn)行異或計算,并將計算結(jié)果作為編碼結(jié)果在緊接的下一個數(shù)據(jù)發(fā)送時隙向下一 跳節(jié)點廣播,將其余未被選擇到的數(shù)據(jù)包丟棄,接著等待下一個數(shù)據(jù)接收時隙以接收新的 來自所有數(shù)據(jù)發(fā)送端所發(fā)送的數(shù)據(jù)包;所述執(zhí)行直接轉(zhuǎn)發(fā)的步驟為該中繼節(jié)點將在所有接收到的數(shù)據(jù)包中隨機(jī)選擇一 個,并將選中的數(shù)據(jù)包在緊接的下一個數(shù)據(jù)發(fā)送時隙向下一跳節(jié)點廣播,將其余未被選中的數(shù)據(jù)包丟棄,接著等待下一個數(shù)據(jù)接收時隙接收新的來自所有數(shù)據(jù)發(fā)送端所發(fā)送的數(shù)據(jù) 包;(6)各數(shù)據(jù)接收端在從上一跳中繼節(jié)點接收數(shù)據(jù)包后利用所接收到的數(shù)據(jù)包進(jìn)行 LT解碼直至所述數(shù)據(jù)發(fā)送端所存儲的待廣播數(shù)據(jù)包全部恢復(fù),該數(shù)據(jù)接收端完成數(shù)據(jù)接 收,并停止接收新的數(shù)據(jù)包;(7)各數(shù)據(jù)接收端在完成數(shù)據(jù)接收后,向所有的數(shù)據(jù)發(fā)送端發(fā)送反饋信息表明數(shù) 據(jù)接收成功;(8)當(dāng)一個數(shù)據(jù)發(fā)送端接收到所有數(shù)據(jù)接收端所發(fā)送的反饋信息后,所有數(shù)據(jù)發(fā) 送端停止發(fā)送當(dāng)前存儲的帶廣播數(shù)據(jù)。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點是(1)廣播數(shù)據(jù)包在網(wǎng)絡(luò)傳輸?shù)倪^程中,多跳無 線網(wǎng)絡(luò)運(yùn)用基于概率P的網(wǎng)絡(luò)編碼過程完成的噴泉碼編碼過程,在各個中繼節(jié)點對傳輸?shù)?待廣播數(shù)據(jù)包進(jìn)行異或計算或者直接轉(zhuǎn)發(fā),使得對待廣播數(shù)據(jù)包的LT編碼過程得以在數(shù) 據(jù)包在多跳無線網(wǎng)絡(luò)的傳輸過程中實現(xiàn),而數(shù)據(jù)接收端在接收到一定數(shù)量的編碼數(shù)據(jù)包后 就可以完全恢復(fù)待廣播數(shù)據(jù)包。這種數(shù)據(jù)廣播與網(wǎng)絡(luò)編碼的結(jié)合,使得數(shù)據(jù)接收端可以利 用噴泉碼的接收特性來更高效地恢復(fù)數(shù)據(jù);因此提升數(shù)據(jù)廣播的性能。(2)本發(fā)明所述的 數(shù)據(jù)廣播方式基于噴泉碼傳輸原理,數(shù)據(jù)廣播業(yè)務(wù)可以以更高的效率進(jìn)行傳輸,對比起現(xiàn) 有的廣播技術(shù),數(shù)據(jù)發(fā)送端可以在遇到有數(shù)據(jù)接收端未能完成數(shù)據(jù)接收的情況時,發(fā)送更 少量的數(shù)據(jù)包來使得數(shù)據(jù)接收端完成數(shù)據(jù)接收,這樣就可以降低網(wǎng)絡(luò)負(fù)荷以及數(shù)據(jù)發(fā)送端 和接收端的開銷。(3)本發(fā)明在中繼節(jié)點的數(shù)據(jù)處理過程中復(fù)雜度很低,適合一般的中繼節(jié) 點使用;同時可以降低傳輸延時以及能量消耗,是一種成本很低的數(shù)據(jù)廣播的實現(xiàn)方法。
圖1是本發(fā)明所涉及的多跳無線網(wǎng)絡(luò)的拓?fù)鋱D;圖2是本發(fā)明傳輸方法的流程圖;圖3是本發(fā)明一種實施方式中數(shù)據(jù)接收端的誤包率曲線圖。
具體實施例方式圖1是本發(fā)明所涉及的多跳無線網(wǎng)絡(luò)的拓?fù)鋱D,多跳無線網(wǎng)絡(luò)含有T個2)數(shù) 據(jù)發(fā)送端和一個以上的接收廣播數(shù)據(jù)的數(shù)據(jù)接收端,每跳中繼包含一個以上的中繼節(jié)點, 并且所有數(shù)據(jù)發(fā)送端與中繼節(jié)點都達(dá)到同步。每個數(shù)據(jù)發(fā)送端各自儲存著一組相同大小和 內(nèi)容的待廣播數(shù)據(jù)包等待發(fā)送,這組數(shù)據(jù)包來自多跳無線網(wǎng)絡(luò)的數(shù)據(jù)中心。數(shù)據(jù)包從數(shù)據(jù) 發(fā)送端發(fā)送,經(jīng)過J+1跳后達(dá)到數(shù)據(jù)接收端,也就是說網(wǎng)絡(luò)中一共有J跳的中繼,每一跳中 繼包含了 A個固定位置的中繼節(jié)點(i = 1,2... J),每個中繼節(jié)點都有編碼的功能,并且能 夠接收在拓?fù)鋱D中來自該節(jié)點上一跳的所有節(jié)點發(fā)送的信息,而且只能接收來自上一跳節(jié) 點的信息,即第一跳中繼節(jié)點能夠接收所有發(fā)送端發(fā)送的數(shù)據(jù)包,而第i跳中繼中的中繼 節(jié)點能夠自由接收所有屬于第i_l跳中繼的中繼節(jié)點發(fā)送的數(shù)據(jù),并且只能收到來自這些 中繼節(jié)點的數(shù)據(jù)。數(shù)據(jù)接收端是移動的,因此對于多跳無線網(wǎng)絡(luò),盡管第J跳中繼發(fā)送數(shù)據(jù) 時時廣播的,但是由于發(fā)送功率的限制,并不是每一個移動數(shù)據(jù)接收端都能收到其發(fā)送的 數(shù)據(jù),因此在此多跳無線網(wǎng)絡(luò)廣播環(huán)境中,各個數(shù)據(jù)接收端根據(jù)當(dāng)前的位置以及第J層中繼節(jié)點的發(fā)送功率,可以接收M個第J層中繼節(jié)點發(fā)送的數(shù)據(jù)包。因此網(wǎng)絡(luò)的總體拓?fù)淇梢员硎緸?T,H1, IV·· ),對于每一個數(shù)據(jù)接收端,它所對 應(yīng)的網(wǎng)絡(luò)拓?fù)淇梢员硎緸?T,H1, ν··!^,Μ)。本發(fā)明設(shè)定在本發(fā)明所述的多跳無線網(wǎng)絡(luò)中,所有的數(shù)據(jù)發(fā)送端以及網(wǎng)絡(luò)中的 中繼節(jié)點全部嚴(yán)格同步,所有的節(jié)點都在同一時刻(網(wǎng)絡(luò)定義的數(shù)據(jù)發(fā)送時隙)發(fā)送數(shù)據(jù) 包,在同一時刻(網(wǎng)絡(luò)定義的數(shù)據(jù)接收時隙)接收數(shù)據(jù)包。定義一個參數(shù)P,其中0 < P < 1,參數(shù)P表示中繼節(jié)點選擇執(zhí)行網(wǎng)絡(luò)編碼的概率。多跳無線網(wǎng)絡(luò)中的各個數(shù)據(jù)發(fā)送端從服務(wù)提供商的數(shù)據(jù)中心得到一組個數(shù)相同, 內(nèi)容相同的帶廣播數(shù)據(jù)包,在各數(shù)據(jù)發(fā)送端之間達(dá)到同步后,發(fā)送端開始向數(shù)據(jù)接收端進(jìn) 行數(shù)據(jù)廣播。如圖2所示,本發(fā)明的具體實施步驟如下1)各數(shù)據(jù)發(fā)送端發(fā)送數(shù)據(jù)包多跳無線網(wǎng)絡(luò)中的各數(shù)據(jù)發(fā)送端先從廣播服務(wù)提供商的數(shù)據(jù)中心獲取一組包含 當(dāng)前需要廣播的內(nèi)容的待廣播數(shù)據(jù)包,然后將這組待廣播數(shù)據(jù)包儲存。各數(shù)據(jù)發(fā)送端接收完所有的待廣播數(shù)據(jù)包并將其儲存完畢后,數(shù)據(jù)中心停止向各 數(shù)據(jù)發(fā)送端發(fā)送待廣播數(shù)據(jù)包,而后數(shù)據(jù)廣播過程開始,每個數(shù)據(jù)發(fā)送端在每個數(shù)據(jù)發(fā)送 時隙中隨機(jī)地從它所存儲的所有的待廣播數(shù)據(jù)包中抽取一個,向第一跳的中繼節(jié)點進(jìn)行廣 播;2)中繼節(jié)點對數(shù)據(jù)包進(jìn)行計算處理多跳無線網(wǎng)絡(luò)的各中繼節(jié)點可以接收位于其上一跳所有的節(jié)點所發(fā)送的數(shù)據(jù)包。 當(dāng)多跳無線網(wǎng)絡(luò)為兩跳時,第一跳中繼節(jié)點在每一個數(shù)據(jù)接收時隙中收到來自數(shù)據(jù)發(fā)送端 發(fā)送的T個待廣播數(shù)據(jù)包,在接收到這些數(shù)據(jù)包后,第一跳的中繼節(jié)點根據(jù)概率P選擇是否 要在當(dāng)前時隙在此節(jié)點執(zhí)行網(wǎng)絡(luò)編碼,即執(zhí)行網(wǎng)絡(luò)編碼的概率為P,不執(zhí)行的概率是1-Ρ,P 的值可任意確定。需要說明的是,P的取值不同使得各個中繼執(zhí)行網(wǎng)絡(luò)編碼的概率發(fā)生變 化,相應(yīng)地使數(shù)據(jù)接收端在恢復(fù)數(shù)據(jù)發(fā)送端的數(shù)據(jù)包時所需要的總體接收時間以及總體接 收數(shù)據(jù)包個數(shù)產(chǎn)生不同。如果選擇執(zhí)行網(wǎng)絡(luò)編碼,那么該中繼節(jié)點就在當(dāng)前接收時隙接收 到的所有的數(shù)據(jù)包中隨機(jī)選取兩個待廣播數(shù)據(jù)包進(jìn)行異或計算,將計算結(jié)果作為輸出向下 一跳的數(shù)據(jù)接收端廣播,其余未被選擇到執(zhí)行網(wǎng)絡(luò)編碼的數(shù)據(jù)包被丟棄。如果不選擇執(zhí)行 網(wǎng)絡(luò)編碼,那么該節(jié)點就在當(dāng)前接收時隙從接收到的所有數(shù)據(jù)包中隨機(jī)選擇一個數(shù)據(jù)包向 下一跳的數(shù)據(jù)接收端進(jìn)行廣播,其余未被選擇到的待廣播數(shù)據(jù)包被隨即丟棄。因此,如果所述多跳無線網(wǎng)絡(luò)只有兩跳,那么數(shù)據(jù)包在經(jīng)過第一跳中繼的中繼節(jié) 點處理后就直接被廣播到數(shù)據(jù)接收端,數(shù)據(jù)接收端將利用接收到的數(shù)據(jù)包進(jìn)行LT解碼直 至恢復(fù)出數(shù)據(jù)發(fā)送端所存儲的全部的待廣播數(shù)據(jù)包。而對于三跳以上的多跳無線網(wǎng)絡(luò),則至少包含兩跳的中繼節(jié)點。對于那些不是位 于第一跳位置的中繼節(jié)點,即對于位于第i跳(i ^ 2)的中繼節(jié)點,該節(jié)點將在每一個數(shù)據(jù) 接收時隙中收到所有由上一跳節(jié)點發(fā)送的IV1個(i > 1)經(jīng)過中繼節(jié)點處理的數(shù)據(jù)包。在 接收到這些數(shù)據(jù)包后,該中繼節(jié)點根據(jù)概率P選擇是否要在當(dāng)前時隙在此節(jié)點執(zhí)行網(wǎng)絡(luò)編 碼(執(zhí)行網(wǎng)絡(luò)編碼的概率為P,不執(zhí)行的概率是1-P)。如果該節(jié)點選擇執(zhí)行網(wǎng)絡(luò)編碼,那么 該節(jié)點就在當(dāng)前接收時隙接收到的所有的數(shù)據(jù)包中隨機(jī)選取兩個數(shù)據(jù)包進(jìn)行異或計算,將
6計算結(jié)果作為輸出向下一層的中繼節(jié)點(i < J)或者接收端廣播(i = J),其余未被選擇到 執(zhí)行網(wǎng)絡(luò)編碼的數(shù)據(jù)包被丟棄。如果該節(jié)點不選擇執(zhí)行網(wǎng)絡(luò)編碼,那么該節(jié)點就在當(dāng)前接 收時隙從接收到的所有數(shù)據(jù)包中隨機(jī)選擇一個數(shù)據(jù)包向下一跳的中繼節(jié)點或者數(shù)據(jù)接收 端進(jìn)行廣播,其余未被選擇到的數(shù)據(jù)包被隨即丟棄。3)數(shù)據(jù)接收端恢復(fù)發(fā)送端原始廣播數(shù)據(jù)當(dāng)某個移動的數(shù)據(jù)接收端可以接收來自M個屬于第J跳中繼的中繼節(jié)點發(fā)送的數(shù) 據(jù)。各個數(shù)據(jù)發(fā)送端在經(jīng)歷若干的數(shù)據(jù)發(fā)送時隙(K個)完成了一定量的數(shù)據(jù)包發(fā)送后,該 數(shù)據(jù)接收端一共收到了 K*M個數(shù)據(jù)包,這些數(shù)據(jù)包可能已經(jīng)經(jīng)過了中繼節(jié)點的網(wǎng)絡(luò)編碼, 都是數(shù)據(jù)發(fā)送端所存儲的待廣播數(shù)據(jù)包的線性組合。因此對于數(shù)據(jù)接收端,它相當(dāng)于接收 到了一系列的由數(shù)據(jù)發(fā)送端的待廣播數(shù)據(jù)包經(jīng)過LT編碼產(chǎn)生的LT碼字。因此在接收到一 定數(shù)量的數(shù)據(jù)包(LT碼字)后,數(shù)據(jù)接收端嘗試對接收到的數(shù)據(jù)包進(jìn)行LT解碼以恢復(fù)數(shù) 據(jù)發(fā)送端的原始數(shù)據(jù)包,即所有的待廣播數(shù)據(jù)包。如果當(dāng)前該數(shù)據(jù)接收端LT解碼失敗,原 始數(shù)據(jù)無法完全恢復(fù),此接收端將會繼續(xù)在接下來的若干個數(shù)據(jù)接收時隙中接收新的數(shù)據(jù) 包,然后接著再次嘗試進(jìn)行LT解碼,直到所有的發(fā)送端存儲的數(shù)據(jù)包均被恢復(fù),數(shù)據(jù)發(fā)送 端所存儲的待廣播數(shù)據(jù)包全部被該接收端接收為止。4)數(shù)據(jù)發(fā)送端停止數(shù)據(jù)廣播當(dāng)一個數(shù)據(jù)接收端完成發(fā)送端數(shù)據(jù)包恢復(fù)后,該數(shù)據(jù)接收端向所有數(shù)據(jù)發(fā)送端發(fā) 送一個反饋信號,表示數(shù)據(jù)接收完畢。當(dāng)一個數(shù)據(jù)發(fā)送端接收到了來自所有數(shù)據(jù)接收端的 反饋信號后,數(shù)據(jù)發(fā)送端確認(rèn)所有的接收端都已完成數(shù)據(jù)接收,該數(shù)據(jù)廣播成功完成,各個 數(shù)據(jù)發(fā)送端停止發(fā)送數(shù)據(jù)。從上述過程我們可以發(fā)現(xiàn),通過在無限多跳無線網(wǎng)絡(luò)中的中繼節(jié)點以概率P執(zhí) 行網(wǎng)絡(luò)編碼,傳輸系統(tǒng)可以在發(fā)送端發(fā)送的廣播數(shù)據(jù)包在網(wǎng)絡(luò)傳輸?shù)倪^程中完成對這些 廣播數(shù)據(jù)包的LT編碼過程,使得數(shù)據(jù)接收端只需要接收到一定量的經(jīng)過中繼節(jié)點處理后 的數(shù)據(jù)包,就可以通過LT解碼恢復(fù)所有的廣播數(shù)據(jù)包。但是通過這種方式所完成的LT 編碼過程,它所關(guān)聯(lián)的度數(shù)分布函數(shù)并不是M. Luby提出的效率很高的Robust Soliton Distribution,而是效率比較低的一種度數(shù)分布,使得網(wǎng)絡(luò)傳輸過程中生成的LT碼從性能 方面來說并不是最優(yōu)的。但是這不妨礙數(shù)據(jù)接收端使用LT解碼來恢復(fù)發(fā)送端發(fā)送的廣播 數(shù)據(jù)包。也就是說,經(jīng)過上述的網(wǎng)絡(luò)編碼過程,接收端只要接收到一定數(shù)量的編碼數(shù)據(jù)包 后,就可以通過LT解碼過程來恢復(fù)原始數(shù)據(jù)包,該網(wǎng)絡(luò)編碼過程實現(xiàn)了多跳無線網(wǎng)絡(luò)中對 發(fā)送端發(fā)送的數(shù)據(jù)的進(jìn)行LT編碼的過程,而數(shù)據(jù)接收端利用LT噴泉碼的接收特性,以更高 的效率完成數(shù)據(jù)廣播的傳輸。圖3包含的曲線表示的是本發(fā)明的數(shù)據(jù)接收端在一種拓?fù)鋱鼍爸械慕邮諗?shù)據(jù)時 恢復(fù)發(fā)送端數(shù)據(jù)包的誤包率曲線,所謂的誤包率指的是接收端所恢復(fù)的數(shù)據(jù)包和發(fā)送端所 存儲的待廣播數(shù)據(jù)包相比,錯誤的數(shù)據(jù)包所占的百分比。圖3曲線代表的是一個接收端的 數(shù)據(jù)恢復(fù)情況,可以廣泛代表數(shù)據(jù)廣播時所有接收端的平均接收性能。圖3誤包率曲線是 在下面的拓?fù)洵h(huán)境中實現(xiàn)的該拓?fù)浒?2跳的中繼,對于曲線所考察的數(shù)據(jù)接收端,我 們將它所對應(yīng)的拓?fù)浔硎?T,H1, M),其中T表示傳輸系統(tǒng)的發(fā)送端個數(shù),這些發(fā)送端存儲 著相同的源數(shù)據(jù)包,在每個時隙中隨機(jī)選取一個數(shù)據(jù)包進(jìn)行發(fā)送。Ii1表示的是第一跳中繼 中的中繼節(jié)點的個數(shù),這些節(jié)點各自接收T個數(shù)據(jù)發(fā)送端發(fā)送的數(shù)據(jù)包并且基于概率P選
7擇是否要執(zhí)行網(wǎng)絡(luò)編碼,然后輸出處理后的數(shù)據(jù)包。M表示的是第二跳中繼中可供當(dāng)前接 收端接收數(shù)據(jù)的中繼個數(shù),對于不同的接收端,M的值可以是不同的。圖3中,設(shè)定數(shù)據(jù)發(fā) 送端的待廣播數(shù)據(jù)包個數(shù)為1000,一共經(jīng)歷800個數(shù)據(jù)發(fā)送時隙,也就是說每一個發(fā)送端 各自隨機(jī)發(fā)送800個待廣播數(shù)據(jù)包,P表示各個中繼節(jié)點執(zhí)行網(wǎng)絡(luò)編碼的概率。經(jīng)過網(wǎng)絡(luò) 編碼后,圖3表示的是接收端從M個第二層中繼節(jié)點共收集了 800*M個數(shù)據(jù)包以后,使用LT 解碼恢復(fù)源數(shù)據(jù)包時的誤包率。可以發(fā)現(xiàn),當(dāng)各層的站點增多時,原始數(shù)據(jù)的恢復(fù)性能越 好,PER的值越低。同時,在執(zhí)行網(wǎng)絡(luò)編碼的概率P進(jìn)行改變時,數(shù)據(jù)恢復(fù)的性能也在跟著 變化,但是無論P(yáng)取什么值,只要各數(shù)據(jù)發(fā)送端持續(xù)不斷地發(fā)送待廣播數(shù)據(jù)包,經(jīng)過足夠長 的傳輸時間(數(shù)據(jù)傳輸時隙)后,數(shù)據(jù)接收端都能夠利用LT碼的接收特性完全恢復(fù)出所有 的廣播數(shù)據(jù)包,也就是說,從數(shù)據(jù)發(fā)送端開始發(fā)送第一個待廣播數(shù)據(jù)包開始,直到數(shù)據(jù)接收 端通過LT解碼完成數(shù)據(jù)恢復(fù)的這段總的數(shù)據(jù)傳輸時間,是和P的值有關(guān)的,以更短的時間 完成廣播數(shù)據(jù)接收代表了更高的數(shù)據(jù)廣播效率。因此,本發(fā)明的數(shù)據(jù)接收端必定能夠恢復(fù) 出所有的廣播數(shù)據(jù)包,本發(fā)明所述的用于實現(xiàn)多跳無線網(wǎng)絡(luò)中數(shù)據(jù)廣播的傳輸方法是有效 的,而選擇合適的P值會使得數(shù)據(jù)廣播以更高的效率進(jìn)行傳輸。
權(quán)利要求
一種用于實現(xiàn)多跳無線網(wǎng)絡(luò)中數(shù)據(jù)廣播的傳輸方法,其特征是所述多跳無線網(wǎng)絡(luò)含有兩個以上的數(shù)據(jù)發(fā)送端和一個以上的數(shù)據(jù)接收端,每跳中繼包含一個以上的中繼節(jié)點,并且所有數(shù)據(jù)發(fā)送端與中繼節(jié)點都達(dá)到同步;所述傳輸方法包括如下步驟(1)所述多跳無線網(wǎng)絡(luò)的數(shù)據(jù)中心向各數(shù)據(jù)發(fā)送端發(fā)送一組相同的待廣播數(shù)據(jù)包,各數(shù)據(jù)發(fā)送端將所接收的待廣播數(shù)據(jù)包進(jìn)行存儲;(2)在所有數(shù)據(jù)發(fā)送端對所接收的待廣播數(shù)據(jù)包存儲完畢后,所述數(shù)據(jù)中心停止向各數(shù)據(jù)發(fā)送端發(fā)送待廣播數(shù)據(jù)包;(3)在所述多跳無線網(wǎng)絡(luò)的每一個數(shù)據(jù)發(fā)送時隙,各數(shù)據(jù)發(fā)送端從所存儲的待廣播數(shù)據(jù)包中隨機(jī)選取一個向第一跳節(jié)點進(jìn)行廣播,所述第一跳節(jié)點為中繼節(jié)點;(4)第一跳節(jié)點在所述多跳無線網(wǎng)絡(luò)的每一個數(shù)據(jù)接收時隙接收到所有數(shù)據(jù)發(fā)送端所發(fā)送的數(shù)據(jù)包后,以概率P執(zhí)行網(wǎng)絡(luò)編碼,或者以概率1 P執(zhí)行直接轉(zhuǎn)發(fā);所述執(zhí)行網(wǎng)絡(luò)編碼的步驟為該第一跳節(jié)點在所有接收到的數(shù)據(jù)包中隨機(jī)選擇兩個數(shù)據(jù)包進(jìn)行異或計算,并將計算結(jié)果作為編碼結(jié)果在緊接的下一個數(shù)據(jù)發(fā)送時隙向下一跳節(jié)點廣播,將其余未被選擇到的數(shù)據(jù)包丟棄,接著等待下一個數(shù)據(jù)接收時隙以接收新的來自所有數(shù)據(jù)發(fā)送端所發(fā)送的數(shù)據(jù)包;所述執(zhí)行直接轉(zhuǎn)發(fā)的步驟為該第一跳節(jié)點在所有接收到的數(shù)據(jù)包中隨機(jī)選擇一個,并將選中的數(shù)據(jù)包在緊接的下一個數(shù)據(jù)發(fā)送時隙向下一跳節(jié)點廣播,將其余未被選中的數(shù)據(jù)包丟棄,接著等待下一個數(shù)據(jù)接收時隙接收新的來自所有數(shù)據(jù)發(fā)送端所發(fā)送的數(shù)據(jù)包;若所述多跳無線網(wǎng)絡(luò)為兩跳網(wǎng)絡(luò),則所述下一跳節(jié)點為數(shù)據(jù)接收端并執(zhí)行步驟(6);若所述多跳無線網(wǎng)絡(luò)為三跳以上的網(wǎng)絡(luò),則所述下一跳節(jié)點為中繼節(jié)點并執(zhí)行步驟(5);(5)所述多跳無線網(wǎng)絡(luò)中的除第一跳節(jié)點以外的其他中繼節(jié)點在每一個數(shù)據(jù)接收時隙接收到其上一跳節(jié)點所發(fā)送的數(shù)據(jù)包后,以概率P執(zhí)行網(wǎng)絡(luò)編碼,或者以概率1 P執(zhí)行直接轉(zhuǎn)發(fā);所述執(zhí)行網(wǎng)絡(luò)編碼的步驟為該中繼節(jié)點在所有接收到的數(shù)據(jù)包中隨機(jī)選擇兩個數(shù)據(jù)包進(jìn)行異或計算,并將計算結(jié)果作為編碼結(jié)果在緊接的下一個數(shù)據(jù)發(fā)送時隙向下一跳節(jié)點廣播,將其余未被選擇到的數(shù)據(jù)包丟棄,接著等待下一個數(shù)據(jù)接收時隙以接收新的來自上一跳中繼節(jié)點所發(fā)送的數(shù)據(jù)包;所述執(zhí)行直接轉(zhuǎn)發(fā)的步驟為該中繼節(jié)點在所有接收到的數(shù)據(jù)包中隨機(jī)選擇一個,并將選中的數(shù)據(jù)包在緊接的下一個數(shù)據(jù)發(fā)送時隙向下一跳節(jié)點廣播,將其余未被選中的數(shù)據(jù)包丟棄,接著等待下一個數(shù)據(jù)接收時隙接收新的來自上一跳中繼節(jié)點所發(fā)送的數(shù)據(jù)包;(6)各數(shù)據(jù)接收端在從上一跳中繼節(jié)點接收數(shù)據(jù)包后利用所接收到的數(shù)據(jù)包進(jìn)行LT解碼直至所述數(shù)據(jù)發(fā)送端所存儲的待廣播數(shù)據(jù)包全部恢復(fù),該數(shù)據(jù)接收端完成數(shù)據(jù)接收,并停止接收新的數(shù)據(jù)包;(7)各數(shù)據(jù)接收端在完成數(shù)據(jù)接收后,向所有數(shù)據(jù)發(fā)送端發(fā)送反饋信息表明數(shù)據(jù)接收成功;(8)當(dāng)一個數(shù)據(jù)發(fā)送端接收到所有數(shù)據(jù)接收端所發(fā)送的反饋信息后,所有數(shù)據(jù)發(fā)送端停止發(fā)送當(dāng)前存儲的帶廣播數(shù)據(jù)。
全文摘要
本發(fā)明公開一種用于實現(xiàn)多跳無線網(wǎng)絡(luò)中數(shù)據(jù)廣播的傳輸方法,包括各數(shù)據(jù)發(fā)送端在每個發(fā)送時隙隨機(jī)選取一個數(shù)據(jù)包進(jìn)行發(fā)送;中繼節(jié)點在接收到上一跳節(jié)點發(fā)送的數(shù)據(jù)包后,或者在接收到的數(shù)據(jù)包中選擇兩個進(jìn)行異或計算向下一跳節(jié)點發(fā)送而丟棄其余的數(shù)據(jù)包,或者在接收到的數(shù)據(jù)包中隨機(jī)選擇一個向下一跳節(jié)點廣播,其余數(shù)據(jù)包丟棄;各數(shù)據(jù)接收端在從上一跳中繼節(jié)點接收數(shù)據(jù)包后利用所接收到的數(shù)據(jù)包進(jìn)行LT解碼直至數(shù)據(jù)發(fā)送端所存儲的待廣播數(shù)據(jù)包全部恢復(fù)才停止接收數(shù)據(jù)包,并向發(fā)送端發(fā)送反饋信息說明接收成功;當(dāng)一個數(shù)據(jù)發(fā)送端接收到所有數(shù)據(jù)接收端所發(fā)送的反饋信息后,所有數(shù)據(jù)發(fā)送端停止發(fā)送當(dāng)前存儲的帶廣播數(shù)據(jù)。
文檔編號H04L1/00GK101895376SQ201010248898
公開日2010年11月24日 申請日期2010年8月6日 優(yōu)先權(quán)日2010年8月6日
發(fā)明者呂思達(dá), 崔云, 張宏綱, 王峰, 王曉, 趙志峰 申請人:浙江大學(xué)