黃加佳,雷 菁,黃 英
(國(guó)防科技大學(xué)電子科學(xué)學(xué)院,湖南 長(zhǎng)沙 410073)
無(wú)線傳感器網(wǎng)絡(luò)(wireless sensor network,WSN)[1-3]是當(dāng)前國(guó)內(nèi)外備受關(guān)注的研究領(lǐng)域之一,其綜合了傳感器技術(shù)、嵌入式計(jì)算技術(shù)、無(wú)線通信技術(shù)等多種技術(shù),作為一種信息感知和數(shù)據(jù)采集的新型網(wǎng)絡(luò),以其低功耗、低成本、分布式、自組網(wǎng)、適應(yīng)惡劣環(huán)境等特點(diǎn)為物聯(lián)網(wǎng)(internet of things,Io T)[4-7]感知世界帶來(lái)無(wú)限生機(jī),是物聯(lián)網(wǎng)的“神經(jīng)末梢”。
無(wú)碼率碼又稱(chēng)噴泉碼[8],其傳輸碼率可以任意變化,類(lèi)似于噴泉一樣,只要接收方收到足夠多的編碼信息,便可全部恢復(fù)發(fā)送端數(shù)據(jù)[9-11]。無(wú)碼率碼非常適用于廣播、視頻等應(yīng)用場(chǎng)景,在當(dāng)前第3代合作伙伴計(jì)劃(the third generation partnership project,3GPP)的多媒體廣播和多播服務(wù)標(biāo)準(zhǔn)[12],以及數(shù)字視頻廣播(digital video broadcasting,DVB)的數(shù)據(jù)廣播內(nèi)容分發(fā)協(xié)議中[13],并已經(jīng)使用Raptor碼[14]作為傳輸碼型。
已經(jīng)有大量研究將無(wú)碼率碼應(yīng)用于WSN技術(shù)當(dāng)中。文獻(xiàn)[15]提出了基于無(wú)碼率碼的協(xié)作無(wú)碼率廣播傳輸協(xié)議方案,相比于流方案、概率廣播方案和無(wú)碼率概率廣播方案等,在WSN傳輸中擁有更高的可靠性和傳輸效率,并且不需要任何的網(wǎng)絡(luò)拓?fù)湫畔?,可推廣至移動(dòng)和有損網(wǎng)絡(luò)傳輸。文獻(xiàn)[16]分析指出,在大規(guī)模的WSN存儲(chǔ)中,利用基于無(wú)碼率碼(盧比轉(zhuǎn)換(Luby transform,LT)碼[17-18]或Raptor碼[19-20])的分布式存儲(chǔ)算法,能夠很好地解決編碼效率和復(fù)雜度的問(wèn)題。文獻(xiàn)[21]給出了描述系統(tǒng)的網(wǎng)絡(luò)圖模型,從多跳傳輸出發(fā),該模型分為信源節(jié)點(diǎn)、中繼節(jié)點(diǎn)和目的節(jié)點(diǎn),類(lèi)似于一個(gè)系統(tǒng)非規(guī)則低密度生成矩陣碼結(jié)構(gòu),在瑞利衰落信道下,利用外信息轉(zhuǎn)移(extrinsic information transfer,EXIT)圖、線性?xún)?yōu)化和對(duì)數(shù)似然比(log likelihood ratio,LLR)信息值的傳輸優(yōu)化設(shè)計(jì)中繼節(jié)點(diǎn)的度分布,來(lái)提高傳輸性能。文獻(xiàn)[22]針對(duì)WSN給出一種基于LT碼的分布式網(wǎng)絡(luò)編碼,在源節(jié)點(diǎn)、中繼節(jié)點(diǎn)和目的節(jié)點(diǎn)形成基于圖碼的傳輸結(jié)構(gòu),并分析了其誤碼率的上界。文獻(xiàn)[23]使用Raptor碼進(jìn)行分析,只考慮三跳傳輸,假定無(wú)線傳感器有多個(gè)信源節(jié)點(diǎn),多個(gè)中繼節(jié)點(diǎn)和一個(gè)匯聚節(jié)點(diǎn),通過(guò)廣播階段、預(yù)編碼階段、LT編碼階段和數(shù)據(jù)恢復(fù)階段,實(shí)現(xiàn)WSN的多跳數(shù)據(jù)傳輸,并理論分析了其誤碼率的上界與下界。
但是以上無(wú)碼率碼的應(yīng)用研究主要集中在LT碼和Raptor碼上,2008年Wu等人[24]針對(duì)加性高斯白噪聲(additive white Gaussian noise,AWGN)信道提出結(jié)構(gòu)復(fù)雜度低、性能良好的累積無(wú)碼率(accumulate rateless,AR)碼,在結(jié)構(gòu)更為簡(jiǎn)單的情況下,通過(guò)一定的度分布優(yōu)化,也能獲得較Raptor碼類(lèi)似甚至更好的性能[25]。因此,本文在傳感器網(wǎng)絡(luò)中,對(duì)AR碼進(jìn)行相關(guān)應(yīng)用研究具有很大的價(jià)值。
典型的無(wú)線傳感器網(wǎng)絡(luò)的體系結(jié)構(gòu)如圖1所示,包括分布式的傳感器結(jié)點(diǎn)、匯聚節(jié)點(diǎn),有時(shí)還包括與其他網(wǎng)絡(luò)連接的網(wǎng)關(guān)和管理中心等。部署在監(jiān)測(cè)環(huán)境中的傳感器結(jié)點(diǎn)通過(guò)自組織的方式構(gòu)成無(wú)線網(wǎng)絡(luò),以協(xié)作的方式感知、采集和簡(jiǎn)單處理覆蓋區(qū)域內(nèi)的指定信息,然后通過(guò)多跳中繼方式將數(shù)據(jù)傳到匯聚節(jié)點(diǎn),最后借助互聯(lián)網(wǎng)或移動(dòng)通信網(wǎng)等將整個(gè)區(qū)域內(nèi)的數(shù)據(jù)傳送到遠(yuǎn)程任務(wù)管理中心進(jìn)行集中處理。
圖1 WSN結(jié)構(gòu)示意圖Fig.1 WSN structure diagram
傳感器節(jié)點(diǎn)通常是一個(gè)微型的嵌入式系統(tǒng),具有感知物理數(shù)據(jù)和簡(jiǎn)單的處理能力,一般通過(guò)能量有限的電池供電,要求低功耗。從網(wǎng)絡(luò)的功能來(lái)看,其還有對(duì)其他節(jié)點(diǎn)送來(lái)的信息進(jìn)行轉(zhuǎn)發(fā)的功能。匯聚節(jié)點(diǎn)是傳感器網(wǎng)絡(luò)中的協(xié)調(diào)器設(shè)備,其處理能力、存儲(chǔ)能力和通信能力比傳感器節(jié)點(diǎn)強(qiáng),一般沒(méi)有感知能力,但有可靠穩(wěn)定的電源為其供電,功耗問(wèn)題不那么突出。本文考慮多個(gè)傳感器節(jié)點(diǎn)(即源節(jié)點(diǎn))采集到原始數(shù)據(jù)信息,通過(guò)其他暫未采集信息的傳感器節(jié)點(diǎn)(即中繼節(jié)點(diǎn))傳輸給一個(gè)匯聚節(jié)點(diǎn)(即目的節(jié)點(diǎn)),提煉出WSN的局部網(wǎng)絡(luò)傳輸模型如圖2所示。
圖2 傳輸網(wǎng)絡(luò)模型Fig.2 Transmission network model
本文假設(shè)整個(gè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)是已知的,并且有一個(gè)總的中心對(duì)各節(jié)點(diǎn)進(jìn)行統(tǒng)籌協(xié)調(diào)控制;假設(shè)有k個(gè)源節(jié)點(diǎn)(S1,S2,…,Sk),其傳輸?shù)男畔⒁詳?shù)據(jù)包為單位進(jìn)行討論。假設(shè)一共有兩組中繼節(jié)點(diǎn),中繼節(jié)點(diǎn)按照其集聚程度和信道條件分為兩組,保證每組中繼節(jié)點(diǎn)位置上相對(duì)較為集中,其中信道條件相對(duì)較好的一組為,另一組為。假設(shè)只有一個(gè)共同的目的節(jié)點(diǎn)D,由于信道條件和功率的限制,其只接收并處理中繼節(jié)點(diǎn)傳來(lái)的數(shù)據(jù)。所有數(shù)據(jù)包按照802.15.4協(xié)議[26]進(jìn)行封裝,添加有包頭信息和包尾循環(huán)冗余校驗(yàn)(cyclic redundancy check,CRC)校驗(yàn),通過(guò)包頭中的標(biāo)志信息來(lái)區(qū)分?jǐn)?shù)據(jù)來(lái)源于源節(jié)點(diǎn)或者某一中繼節(jié)點(diǎn)。
在上述模型下,本文設(shè)計(jì)了基于AR碼的分布式編碼結(jié)構(gòu),其整體圖碼的表示形式如圖3所示。
圖3 等效編碼結(jié)構(gòu)圖Fig.3 Equivalent coding structure diagram
圖3中k個(gè)信息節(jié)點(diǎn)對(duì)應(yīng)圖2中的源節(jié)點(diǎn)采集數(shù)據(jù),兩組2n對(duì)校驗(yàn)節(jié)點(diǎn)與編碼節(jié)點(diǎn)分別對(duì)應(yīng)圖2中兩組2n個(gè)中繼的數(shù)據(jù)處理。具體的傳輸機(jī)制設(shè)計(jì)分為以下3個(gè)階段。
(1)廣播階段
對(duì)應(yīng)圖2中的短虛線所示。假設(shè)源節(jié)點(diǎn)(S1,S2,…,Sk)采集到了相關(guān)數(shù)據(jù)信息,并且各源節(jié)點(diǎn)的信息可能存在一定的關(guān)聯(lián)性。每個(gè)源節(jié)點(diǎn)的信息都按相等的長(zhǎng)度組成數(shù)據(jù)段,經(jīng)過(guò)相關(guān)協(xié)議規(guī)定添加包頭標(biāo)志信息和CRC校驗(yàn)信息后,封裝成等長(zhǎng)的數(shù)據(jù)包后向一級(jí)中繼節(jié)點(diǎn)進(jìn)行廣播發(fā)送。然后進(jìn)入監(jiān)聽(tīng)模式以節(jié)省資源消耗,或者接收到譯碼成功的反饋后發(fā)送下一組數(shù)據(jù)。本文暫不考慮源節(jié)點(diǎn)相互之間的干擾。
(2)轉(zhuǎn)發(fā)階段
在收到第一個(gè)來(lái)自其他中繼傳輸?shù)臄?shù)據(jù)后,同樣進(jìn)行解封裝和CRC校驗(yàn),確認(rèn)數(shù)據(jù)來(lái)源,并且錯(cuò)誤直接丟棄,正確則緩存下來(lái),并按要求重新封裝后定向發(fā)送至目的節(jié)點(diǎn)。持續(xù)接收數(shù)據(jù),并在收到來(lái)自的第二個(gè)正確的數(shù)據(jù)包后,將該數(shù)據(jù)段與之前緩存下來(lái)的數(shù)據(jù)對(duì)應(yīng)位置進(jìn)行異或相加,所得編碼數(shù)據(jù)再進(jìn)行封裝發(fā)送。依照此方法不斷進(jìn)行數(shù)據(jù)的編碼轉(zhuǎn)發(fā),直至收到目的節(jié)點(diǎn)成功譯碼的反饋為止。的作用相當(dāng)于一個(gè)累加器,使得每次收到后的數(shù)據(jù)與上次發(fā)送的數(shù)據(jù)進(jìn)行了累加后再發(fā)送,這樣可以減小目的端譯碼的錯(cuò)誤概率,改善噴泉碼數(shù)據(jù)傳輸性能。明顯的功率設(shè)置要高于其他中繼節(jié)點(diǎn),為節(jié)省功耗,本文可以采取輪流擔(dān)任的策略。
中繼節(jié)點(diǎn)組2與中繼節(jié)點(diǎn)組1的操作一樣,只是設(shè)定的度分布函數(shù)為Ω2(x),定義的累加中繼節(jié)點(diǎn)為。中繼節(jié)點(diǎn)分成兩組進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)傳輸,能夠更加貼近于實(shí)際情況,更好擬合傳輸條件,從而提高數(shù)據(jù)傳輸效率,這樣便形成如圖3所示的等效編碼結(jié)構(gòu)。
(3)譯碼階段
對(duì)應(yīng)圖2中目的節(jié)點(diǎn)D的信息處理。目的節(jié)點(diǎn)在收到中繼節(jié)點(diǎn)和發(fā)送來(lái)的數(shù)據(jù)包后,同樣進(jìn)行解封裝,通過(guò)包頭信息確定數(shù)據(jù)的來(lái)源節(jié)點(diǎn)和連接情況,并恢復(fù)出整個(gè)碼圖結(jié)構(gòu)。此時(shí)不進(jìn)行CRC校驗(yàn),而是將收到的數(shù)據(jù)段直接進(jìn)行緩存,當(dāng)緩存數(shù)量大于某一設(shè)定值時(shí),進(jìn)行對(duì)數(shù)似然比置信傳播(log likelihood ratio-belief propagation,LLR-BP)軟信息迭代譯碼。然后,通過(guò)CRC校驗(yàn)來(lái)判斷是否譯碼成功,若源節(jié)點(diǎn)數(shù)據(jù)全部正確譯出,則發(fā)送接收成功反饋;如未能全部譯出,則繼續(xù)接收一定數(shù)量的中繼節(jié)點(diǎn)數(shù)據(jù),再進(jìn)行譯碼。
可以看到,該方案對(duì)中繼節(jié)點(diǎn)進(jìn)行了分組,使得分析更加精確和符合實(shí)際;累加中繼節(jié)點(diǎn)和的加入,使得輸出編碼數(shù)據(jù)包之間的關(guān)聯(lián)性更強(qiáng)了,用來(lái)提高譯碼效率。圖3中整個(gè)編碼結(jié)構(gòu)等效為兩個(gè)AR碼的組合,較文獻(xiàn)[22]所述的分布式LT網(wǎng)絡(luò)編碼結(jié)構(gòu),增加了中繼節(jié)點(diǎn)的分組和累加,本文將這種改進(jìn)后的方案稱(chēng)之為分布式AR編碼方案。
接下來(lái)使用EXIT圖分析AR方案的譯碼過(guò)程,從而進(jìn)行度分布的優(yōu)化。如圖4所示,將編碼節(jié)點(diǎn)和校驗(yàn)節(jié)點(diǎn)的譯碼等效為校驗(yàn)節(jié)點(diǎn)譯碼器(check node decoder,CND),將信息節(jié)點(diǎn)的譯碼等效為變量節(jié)點(diǎn)譯碼器(variable node decoder,VDN),信息在兩個(gè)節(jié)點(diǎn)譯碼器之間循環(huán)迭代最終實(shí)現(xiàn)譯碼。
圖4 AR方案EXIT圖模型Fig.4 EXIT chart model of AR scheme
圖4中,校驗(yàn)節(jié)點(diǎn)C到編碼節(jié)點(diǎn)P的輸出平均互信息為,校驗(yàn)節(jié)點(diǎn)C到信息節(jié)點(diǎn)S的輸出平均互信息為,編碼節(jié)點(diǎn)P到校驗(yàn)節(jié)點(diǎn)C的輸出平均互信息為,信息節(jié)點(diǎn)S到校驗(yàn)節(jié)點(diǎn)C的輸出平均互信息為。為了后續(xù)表示方便,本文作如下等效替換:
根據(jù)互信息的迭代規(guī)則,可以得到在第l次迭代譯碼時(shí)的互信息轉(zhuǎn)換式:
J函數(shù)是一個(gè)定義域?yàn)椋?,+∞),值域?yàn)椋?,1)的單調(diào)遞增函數(shù);其反函數(shù)J-1也是一個(gè)單調(diào)遞增函數(shù);d1s和d2s分別表示兩組中繼對(duì)應(yīng)的絕大部分信息節(jié)點(diǎn)的度值(采取優(yōu)先選擇度值較小信息節(jié)點(diǎn)方法);ρ1和ρ2分別表示兩組中繼的等效校驗(yàn)節(jié)點(diǎn)邊分布,其多項(xiàng)式表達(dá)式為
設(shè)置z p1、z p2、z s1和z s2的初始值為0,根據(jù)式(2)~式(5)更新x和y,然后又根據(jù)式(6)~式(9)反過(guò)來(lái)更新z p和z s,如此循環(huán)。AR方案是否使得譯碼的誤碼率趨于零的關(guān)鍵就在于經(jīng)過(guò)多次迭代譯碼后,y1和y2值能否趨近于1。
當(dāng)譯碼迭代到一定次數(shù),所有LLR信息趨于穩(wěn)定值時(shí),假設(shè)每個(gè)校驗(yàn)節(jié)點(diǎn)連接信息節(jié)點(diǎn)的邊數(shù)是一個(gè)相同的固定值,即:ρ1(j1)=ρ2(j2)=1,聯(lián)立式(2)、式(3)和式(6)、式(7)可得
由式(14)~式(17)可以得到x1與y1,y2的一個(gè)關(guān)系表達(dá)式,以及x2與y1,y2的一個(gè)關(guān)系表達(dá)式,其在y1oy2平面上的投影方程分別為
聯(lián)立式(12)、式(14)和式(16)可以得到兩曲線的交線在y1oy2平面上的投影方程:
同理,由式(13)、式(15)和式(17)可得
將固定的一個(gè)j值擴(kuò)展為所有可能的取值,則由投影方程推導(dǎo)出成功譯碼所需條件為
文獻(xiàn)[25]在AR度分布優(yōu)化時(shí)只考慮一個(gè)節(jié)點(diǎn)的優(yōu)化,本文在此基礎(chǔ)上進(jìn)行拓展,同時(shí)考慮兩個(gè)節(jié)點(diǎn)的編碼度分布,其優(yōu)化求解表達(dá)式如下:
式(23)表示最大化近似瞬時(shí)碼率;約束條件C1表示能夠成功譯碼的外信息轉(zhuǎn)移圖要求;C2表示非系統(tǒng)AR碼譯碼啟動(dòng)的基本條件,ρ1,1和ρ2,1分別表示兩組中繼度值為1的概率,ε表示任意小的一個(gè)正數(shù),‖表示或運(yùn)算;C3表示邊分布的性質(zhì)要求;C4表示邊分布ρ與度分布Ω的轉(zhuǎn)換關(guān)系。
由于式(23)中涉及到的變量過(guò)多而不滿足凸優(yōu)化求解的條件,本文采用優(yōu)先考慮只有一個(gè)信道條件較好的中繼組情況,求出此時(shí)的最佳度分布。然后,在其已知的情況下,對(duì)第二個(gè)中繼組的等效度分布進(jìn)行聯(lián)合優(yōu)化的策略。這樣式(23)就相當(dāng)于已知ρ1求ρ2,轉(zhuǎn)化成了一個(gè)凸優(yōu)化問(wèn)題,于是可以使用Matlab的凸優(yōu)化工具CVX進(jìn)行求解。
根據(jù)WSN中傳感器節(jié)點(diǎn)的實(shí)際情況,以及和文獻(xiàn)[27]的對(duì)比,本文設(shè)置兩組中繼節(jié)點(diǎn)的等效噪聲標(biāo)準(zhǔn)差,具體優(yōu)化后的度分布為
同時(shí)使用文獻(xiàn)[22]中針對(duì)WSN的分布式LT碼方案進(jìn)行對(duì)照,其具體度分布為
文獻(xiàn)[23]中針對(duì)WSN的分布式Raptor碼方案選取碼率為0.98的弱化低密度奇偶校驗(yàn)(low density parity check,LDPC)碼作為預(yù)編碼,連接的LT碼度分布同式(25)。同時(shí),也給出采用文獻(xiàn)[27]單獨(dú)對(duì)AR碼每個(gè)中繼節(jié)點(diǎn)組求得不同信道條件下的最優(yōu)度分布,用來(lái)進(jìn)行仿真比較,其具體為
本文設(shè)置傳輸信道為AWGN信道,原始信息碼長(zhǎng)為10-000,循環(huán)次數(shù)為1 000次,最大譯碼迭代次數(shù)為150次。針對(duì)以上4種方案進(jìn)行蒙特卡羅仿真,結(jié)果如圖5所示。
圖5 仿真結(jié)果圖Fig.5 Diagram of simulation results
從圖5中可以看到,LT方案雖然在碼率倒數(shù)為1.48時(shí)便能將誤碼率降到10-2以下,而其他方案誤碼率均在10-2以上,但是隨著碼率倒數(shù)的增加,即接收端收到更多的譯碼符號(hào),LT方案誤碼曲線并沒(méi)有較大幅度的瀑布區(qū),而是緩慢下降,存在較為明顯的錯(cuò)誤平層。對(duì)于文獻(xiàn)[23]中所述Raptor碼方案,大大降低了LT碼的錯(cuò)誤平層,在碼率倒數(shù)大于1.58時(shí)其誤碼率要低于LT方案,迅速降低至10-5以下。對(duì)于文獻(xiàn)[27]方法,其較Raptor方案誤碼曲線下降更快,且在碼率倒數(shù)大于1.54時(shí)即超越LT方案。而本文所提的AR碼聯(lián)合度分布優(yōu)化方案,其誤碼性能又明顯優(yōu)于AR文獻(xiàn)[27]度分布優(yōu)化方案和文獻(xiàn)[23]Raptor方案,在10-5的誤碼率層級(jí)上分別至少減小1.3%和3.7%的碼率倒數(shù),也就是說(shuō)譯碼所需符號(hào)數(shù)更少,傳輸效率更高。并且在計(jì)算復(fù)雜度上,由于編碼結(jié)構(gòu)的不同,AR方案顯然優(yōu)于Raptor方案,這更加應(yīng)證了本文所提方案的有效性。
本文針對(duì)WSN中的多源多中繼模型,設(shè)計(jì)了基于AR碼的分布式編碼協(xié)同傳輸機(jī)制,并進(jìn)行了聯(lián)合度分布的優(yōu)化求解。性能仿真分析表明,本文所提的AR碼方案要明顯優(yōu)于文獻(xiàn)[22]的LT方案,沒(méi)有出現(xiàn)明顯的錯(cuò)誤平層。在傳輸效率和譯碼性能上,較文獻(xiàn)[23]的Raptor方案和文獻(xiàn)[27]的AR碼單獨(dú)度分布優(yōu)化方案有明顯提高。下一步將研究AR碼在短碼長(zhǎng)情況下的度分布優(yōu)化及軟信息譯碼改進(jìn),更便于應(yīng)用實(shí)現(xiàn)。