許振月,楊 磊,周 雯
(南京林業大學 信息科學技術學院,江蘇 南京 210037)
無線傳感器網絡(Wireless Sensor Network,WSN)是一種由大量小型或微型傳感器以自組織和多跳方式構成的互聯網絡,由于WSN節點能量有限,所以延長WSN的生存周期是一項重要工作。在路由協議中引入多輸入多輸出(Multiple Input and Multiple Output,MIMO)技術可以實現協作分集,延長網絡生存周期,進而提高能效[1],體現工程服務于人類的價值目標[2]。
MIMO系統有空時分組碼(Space Time Block Code,STBC)和分層空時碼(Layered Space Time Code,LSTC)等發射編碼結構[3],Alamouti最早提出針對發射天線為2的多天線系統的空時分組編碼,使得STBC能夠實現全部分集增益且譯碼簡單。垂直分層空時編碼(Vertical Bell Labs Layered Space-time,VBLAST)最早是由貝爾實驗室提出,其頻譜利用率隨著天線數目的增加而線性增加[4]。 Cui[5]等最先提出WSN協作MIMO系統模型。文獻[6]將協同通信的思想應用于無線傳感器網絡,解決無線傳感器網絡中 LEACH (Low Energy Adaptive Clustering Hierarchy)協議下的簇間能耗不均衡問題。文獻[7]結合MIMO多播和LEACH協議,提出新的虛擬MIMO多跳傳輸策略,避免多跳數據轉發時的簇內廣播過程,提高整個網絡的能量有效性。上述文獻采用的編碼方式都為STBC編碼,研究WSN協作MIMO系統時大多沿用STBC編碼。Jayaweera[8]最早提出基于VBLAST的協作式MIMO的傳輸策略,但在協作節點選擇及發送端數據分配方面未作交代。文獻[9]中提出了一種基于VBLAST的無線傳感器網絡協作MIMO傳輸方案,但是簇頭向協作節點廣播數據時的能耗公式不夠精確;另外,單個協作節點接收簇頭數據時的數據量為完整的一份,增加了能耗,也增加了傳輸時延。WSN的網絡吞吐量通常定義為基站的吞吐量,可以反映整個網絡的運行效率,但現有文獻對于WSN協作傳輸時的吞吐量研究較少。
本文基于經典的LEACH路由協議,詳細描述了VBLAST協作傳輸的工作過程,給出了非協作與協作傳輸時單位比特的能耗比,得到了簇頭廣播以及協作傳輸的能耗公式;同時給出了WSN協作傳輸時網絡吞吐量的表達式,研究了結合STBC或VBLAST協作傳輸的系統性能,比較能耗和吞吐量2個指標,得到不同編碼協作傳輸的優缺點和適用范圍,為實際系統設計提供參考依據。
LEACH協議是提出的第一個基于分簇的分層路由協議,在其中引入MIMO協作傳輸機制可以減小網絡中的簇頭負擔,延長整個網絡的生存周期。在協作傳輸時,簇頭會依據一定條件選擇簇內節點協助簇頭傳輸數據,協助傳輸的節點稱之為協作節點。基于LEACH的協作傳輸分為單跳協作和多跳協作2種方式,為簡便起見,本文只討論單跳協作。LEACH協作傳輸系統如圖1所示。

圖1 基于LEACH的協作傳輸系統Fig.1 Diagram of cooperative transmission system based on LEACH
基于LEACH的WSN協作傳輸可以將一輪分為4個階段:簇頭選舉、成簇及數據采集、協作節點選取和數據傳輸,下面就這4個階段進行詳細介紹。
① 簇頭選舉:節點通過隨機方式選擇簇頭,每一輪各節點產生一個0~1之間的隨機數,如果這個隨機數小于本輪的閾值T(n),則該節點被選為這一輪的簇頭。
(1)
式中,p為設定每輪中產生的簇頭數目占節點總數的百分比;r為循環的輪數;G為剩下的1/p輪循環中未當選過簇頭的節點的集合。
② 成簇及數據采集:當節點成為簇頭后會向其他節點廣播,聲明自己是簇頭。普通節點接收到廣播消息后會對信息強度進行對比,然后選擇加入強度最大的簇頭所在的簇,并且給理想的簇頭發送一個入簇的數據包。成簇后普通節點將采集到的數據傳輸給簇頭,由簇頭進行處理。
③ 協作節點選取:對于簇內J個傳感器節點的協作傳輸,需要選擇J-1個協作節點來協助簇頭傳輸數據。簇頭根據簇內節點已知的能量狀態Ei和接收到的信號功率Pr,i來選擇協作節點,i為節點索引。將Pr,i代入公式di=C(Pt/Pr,i)-n,可以得到di的值,這里常量C和n取決于環境,則協作節點的選取公式為[10]:
(2)
式中,最小距離dmin取決于載波波長;最大距離dmax由節點覆蓋能力決定。簇頭將選擇的結果告知簇內成員,并創建TDMA通道訪問調度,通知每個傳感器分配的時間節點,同時已成為協作節點的成員將承擔數據傳輸的任務。
④ 數據傳輸:簇頭節點首先接收簇內其他傳感器節點的數據包,并對數據進行融合,再將融合后的數據廣播給各個協作節點,最后由簇頭和協作節點在接下來的時隙中協同將數據傳輸給基站。
協作傳輸與MIMO編碼技術的結合主要體現在第四階段——數據傳輸,下面將結合STBC或VBLAST編碼技術分別進行討論。
在數據傳輸階段,簇頭將融合后的數據廣播給協作節點,此時簇頭廣播的是融合后數據的副本,各協作節點接收到數據后,在各自的時隙中將數據傳輸給基站。對于3副發射天線,空時分組碼的碼字矩陣為:
(3)
式中,矩陣C的行序代表天線數,列序代表時隙數。由式(3)得3副發射天線分成4個時隙傳輸數據,每副天線傳輸的符號數為3,則碼率為3/4。2幅及4幅發射天線的碼字矩陣參考文獻[11]。
正交空時分組碼采用最大似然譯碼,對于MPSK調制,系統在瑞利衰落信道下的誤比特率為[12]:
(4)
(5)
式中,M為調制階數,KM=sin2(π/M);nt,nr分別為發送和接收天線數,其中nt等于協作節點和簇頭的總和J,nr等于匯聚節點的天線數;對nt=2(碼率1)以及nt為3,4(碼率3/4)的情況,Cnt,RC=1;定義系統信噪比為:
(6)

(7)
式中,Tb_STBC為STBC協作傳輸中一個比特的周期。
除STBC協作傳輸外,在WSN中還可引入VBLAST協作傳輸,本文提出的協作傳輸機制描述如下:在數據傳輸階段,假設簇頭與協作節點的和為J,簇頭將融合后的數據等分成J個數據包,向協作節點廣播,此時簇頭廣播的數據包為(J-1)/J份,廣播的數據不包括簇頭本身傳輸的1/J份;單個協作節點接收1/J份數據,然后和簇頭協作將數據傳輸給基站,工作過程如圖2所示。注意,協作節點和簇頭傳輸的都是不重復的數據,這樣提高了數據的傳輸速率。

圖2 VBLAST協作傳輸第四階段的工作過程Fig.2 Working process of the fourth phase of VBLAST cooperative transmission
VBLAST譯碼采用基于ZF(Zero Forcing)的SIC(Successive Interference Cancellation)算法,在瑞利平坦衰落信道下,采用MQAM調制的VBLAST系統平均誤比特率為[13-14]:
(8)
這里,
(9)

(10)
式中,Tb_VBLAST是VBLAST協作傳輸系統中一個比特的周期。調制階數為4時,QPSK等價于4QAM;仿真設置M=4,則基于2種編碼方式的協作傳輸系統采用的調制方式相同,性能對比的基準一致。
另外,在無協作傳輸的無線傳感器網絡,即收發天線數都為1時,對于QPSK調制,系統在瑞利衰落信道下的誤比特率為[15]:
(11)
則單位距離下單天線WSN系統發射端每比特的能耗Ea可表示為Ea=Ps×Tb,Tb是一個比特的周期。
協作傳輸的總能耗主要包括3部分:簇的建立階段節點向簇頭傳輸數據的能耗;數據傳輸階段簇頭向協作節點廣播數據的能耗;簇頭和協作節點向基站傳輸數據的能耗。每部分能耗又包括2部分:傳輸能耗和電路能耗。傳輸能耗是節點進行數據傳輸過程中的能耗,電路能耗則是發射和接收電路的能耗。傳輸能耗和電路能耗的基本模型如下[16]:
發送端傳輸能耗為:
(12)
式中,k為傳輸的數據比特數;d為傳輸距離;Ea為傳輸單位距離時每比特的傳輸能耗。發送端和接收端電路損耗分別為:
(13)
(14)

根據以上基本模型給出各階段的能耗。在簇的建立階段,節點向簇頭傳輸數據的總能耗為:
(15)
式中,kd為節點傳輸的數據量;d為該節點到簇頭的距離。
在數據傳輸階段,STBC與VBLAST編碼方式下協作傳輸的能耗不同,主要體現在簇頭向協作節點廣播的數據量以及單個協作節點向基站傳輸的數據量不同。
3.1.1 STBC在數據傳輸階段的能耗
簇頭節點將融合后的數據廣播給協作節點,該階段的總能耗為:
(16)
式中,kc為簇頭融合后的傳輸數據量;dmax為最大廣播距離。J個節點協作傳輸時的總能耗(不包括基站)為:
(17)

ESTBC=ESTBC,1+ESTBC,2。
(18)
3.1.2 VBLAST在數據傳輸階段的能耗
簇頭向協作節點廣播階段的能耗主要包括簇頭廣播能耗和協作節點接收能耗2部分,假設簇頭融合后的數據量仍為kc,根據對VBLAST協作MIMO機制的描述,簇頭廣播時的數據量為kc(J-1)/J份,單個協作節點接收的數據量為kc/J份,則簇頭廣播階段的能耗為:
(19)
協作傳輸階段能耗包括J個節點的協作傳輸的能耗以及基站的接收能耗,這里不考慮基站的能耗,協作傳輸能耗為J個節點發射電路的能耗以及總的傳輸能耗。每個協作節點傳輸接收到的kc/J份數據,共有J個節點參與傳輸,因此發射電路的能耗要乘以J。另外,J個節點傳輸的總數據量為kc,因此總傳輸能耗中數據比特數為kc。由上述分析得協作傳輸階段的能耗為:
(20)

EVBLAST=EVBLAST,1+EVBLAST,2。
(21)

表1 非協作與協作傳輸每比特的能耗比
網絡吞吐量表示整個網絡向基站傳輸數據的速度,反映了WSN收集和分發數據的能力[17]。在仿真中,到達基站的數據包為有效數據包,網絡接收到的數據量由有效數據包個數×單個包的數據量得到。一輪運行的時間主要包括3個部分:節點向簇頭傳輸數據的階段、簇頭將融合后的數據廣播給協作節點的階段、簇頭和協作節點協作傳輸的階段。因為在傳輸數據時耗時較長,其他部分的時間可忽略不計。網絡運行一輪(一個周期)的吞吐量可以由基站接收到的數據量除以總時間得到,每輪吞吐量R為:
(22)
式中,Ttotal=max{Ti,i=1,2,…,c},c為總簇數;Ti為第i個簇運行一輪的總時間。Ti主要包括3個部分,可以寫成:
Ti=T1i+T2i+T3i,
(23)
式中,T1i為第i個簇中節點向簇頭傳輸數據階段的時間;T2i為第i個簇中簇頭廣播數據階段的時間;T3i為第i個簇中協作傳輸階段的時間。它們可分別表示為:
(24)
式中,Ri為每個階段數據的傳輸速率,設R1=250 kb/s,R2=115.5 kb/s[18]。在第3階段,非協作系統R3=R1;VBLAST協作傳輸系統R3=JR1。STBC系統數據的傳輸速率R3受碼率影響,在J=2時系統碼率為1,傳輸速率R3=R1;在J=3或4時的碼率為3/4,則R3=3/4R1。
通過Matlab軟件對結合不同編碼的協作傳輸進行仿真,仿真實驗中的主要參數設置如表2所示。

表2 仿真參數表Tab.2 Simulation parameters
實驗1:適用的信道條件


表3 不同距離參數下第一個節點的死亡輪數
對于STBC編碼的協作傳輸,α=2.1時,相比α=2,第一個死亡節點的輪數提前了17%;α=2.4時,該數值超過50%。因此,若以50%作為門限,可得到適合的距離參數α∈[2,2.3],J為3或4時得到的結論與J為2時相同。同理,對于VBLAST編碼的協作傳輸,采用相同的門限,得到適合的距離參數α∈[2,2.1]。
實驗2:生存周期對比
網絡的生存周期可以由第一個節點的死亡輪數和節點全部死亡的輪數來評估,設匯聚節點的接收天線數、發送天線數均為J。STBC,VBLAST協作傳輸不同J的剩余節點與輪數關系如圖3和圖4所示。

圖3 STBC協作傳輸不同J的剩余節點與輪數關系Fig.3 Relationship between the remaining nodes and the number of rounds of different J transmitted by STBC collaboration

圖4 VBLAST協作傳輸不同J的剩余節點與輪數關系Fig.4 Relationship between the remaining nodes and the number of rounds of different Jtransmitted by VBLAST collaboration
可以看出,J越大,網絡的生存周期越長。圖4中VBLAST協作傳輸在J為2,3,4時網絡的生存周期比J=1時分別增加了4.26%,29.79%,74.47%;由圖3和圖4可得,相比于結合STBC編碼的協作傳輸,VBLAST協作傳輸時曲線下降的幅度更大,網絡中的節點死亡的更快。
由上述分析可知,結合STBC編碼的協作傳輸的網絡生存周期性能優于VBLAST編碼。
實驗3:吞吐量對比
實驗每運行100輪作為一個樣本點,對應的吞吐量為100輪網絡吞吐量的平均值。
圖5和圖6反映了2種編碼的協作傳輸在不同數目的協作節點下平均吞吐量隨樣本數的變化。可以看出,隨著協作節點的增加,2種編碼方式的平均吞吐量都在下降,協作J=2和非協作J=1之間吞吐量的差值最大,可見采用協作傳輸后網絡的生存周期雖然變長,但吞吐量也隨之下降。

圖5 STBC協作吞吐量與樣本數關系Fig.5 Relationship between throughput and sample size in STBC collaboration

圖6 VBLAST協作吞吐量與樣本數關系Fig.6 Relationship between throughput and sample size in VBLAST collaboration
J=2條件下2種編碼方式的吞吐量對比如圖7所示。

圖7 STBC和VBLAST編碼下的網絡吞吐量Fig.7 Network throughput under STBC and VBLAST coding
由圖7可以看出,STBC協作傳輸的網絡吞吐量在2.5~2.8(×105bit/s)之間波動,而VBLAST協作傳輸的吞吐量在3.8~4.2×(105bit/s)之間波動,說明VBLAST協作傳輸的網絡吞吐量高于STBC協作傳輸。
J=2時2種編碼方式下的網絡總能耗對比如圖8所示。它們的網絡吞吐量均設定為3.97×105bit/s。

圖8 相同吞吐量下的STBC與VBLAST網絡總能耗Fig.8 Total network energy consumption of STBC and VBLAST under the same throughput
由圖8可以看出,STBC協作傳輸的網絡總能耗低于VBLAST協作傳輸,由實驗2也可以間接地推出。
本文研究了結合VBLAST編碼的協作傳輸機制,詳細分析了該機制與LEACH路由協議結合后的工作過程,并且根據分析給出各階段的能耗公式;再將其與傳統的STBC協作傳輸的系統性能進行對比,比較了網絡生存周期和網絡吞吐量,同時給出了2種編碼適用的信道條件。仿真結果表明,協作傳輸能夠延長網絡的生存周期,同時也會降低網絡的吞吐量;結合STBC編碼的協作傳輸中無線傳感器網絡的生存周期比VBLAST編碼方式下要長,可以應用于對數據可靠性要求高的場合,降低丟包率;結合VBLAST編碼的協作傳輸中網絡的吞吐量比STBC編碼方式下要高,可以應用于對數據實時性要求較高的場合,提高數據的傳輸速率。