呂品品
目前,無線傳感網(wǎng)絡(luò)(wireless sensor networks,WSNs)得到廣泛應(yīng)用[1]。然而,WSNs應(yīng)用的快速增加,加大了對未注冊頻率帶寬的需求,這必然影響了WSNs的性能。而認知無線電(cognitive radio,CR)以機會性方式使用已注冊帶寬,可緩解頻譜資源的不足。在 CR技術(shù)中,將用戶分為主級用戶(primary users,PUs)[2]和次級用戶(secondary users,SUs)。主級用戶PUs可優(yōu)先使用頻帶。當PUs不用頻帶時,次級用戶SUs可隨機性地接入頻帶并使用。
因此,在WSNs中引用CR技術(shù)就形成認知無線電傳感網(wǎng)絡(luò)(cognitive radio sensor networks,CRSNs)。通過CRSNs提高了頻譜利用率,使得傳感節(jié)點能夠動態(tài)接入頻譜。目前,CRSNs已在多個應(yīng)用中使用,如工業(yè)監(jiān)控[3]、智能電表[4]、智能交通系統(tǒng)[5]等。
然而,引用CR技術(shù)需要進行頻譜感測。這就使得傳統(tǒng)簇構(gòu)建算法和路由算法不再適應(yīng)直接用于 CRCNs[6]。為此,文獻[7]針對 CRCNs網(wǎng)絡(luò),提出基于頻譜感知的簇多媒體(spectrum-aware clustering for efficient multimedia,SCEM)路由協(xié)議。SCEM路由是頻譜感知、能量有效的協(xié)議。在SCEM路由中,網(wǎng)絡(luò)內(nèi)所有節(jié)點依據(jù)它們所接收的頻譜信息,來計算頻譜-能量秩值,再形成簇。然而,SCEM路由是以隨機方式完成路由發(fā)現(xiàn)階段。而文獻[8]針對CRCNs提出基于虛擬簇的可靠地理轉(zhuǎn)發(fā)路由(reliable geographical forwarding routing,RGFR)協(xié)議。該協(xié)議充分利用了地理位置路由的優(yōu)勢。此外,文獻[9]面向CRCNs,提出低功耗自適應(yīng)非均勻 簇 算 法 ( low energy adaptive-un clustering hierarchy,LEAUCH)。LEAUCH 算法將空閑信道數(shù)作為節(jié)點權(quán)值,并且具有空信道數(shù)越多的節(jié)點成為簇頭的幾率越大。
為此,本文針對CRCNs提出基于簇的地理位置路由(cluster-based geographical routing,CGR)。CGR分為2個階段:簇形成階段和數(shù)據(jù)傳輸階段。先利用節(jié)點剩余能量和頻譜感測信息構(gòu)建簇,然后計算每條路徑權(quán)重,并擇優(yōu)選擇路徑傳輸數(shù)據(jù)。
引用與文獻[10]所述的無線電能耗模型,如圖1所示。發(fā)射器向相距為d的接收節(jié)點傳輸q比特的數(shù)據(jù)包所消耗的能量 ETX( q ,d)為
式中:Eelec為運行發(fā)射器或接收器固定的能量消耗;Efrris、Etworay分別表示發(fā)射器在自空間、雙徑傳播模型(two ray ground model)的單位功率放大器的能量消耗[11-13];dco為距離閾值,且
圖1 無線電能量消耗模型
相應(yīng)地,對于接收q比特的數(shù)據(jù)包所消耗的能量,有
CGR路由是依據(jù)頻譜感測信息和節(jié)點剩余能量選擇簇頭(cluster heads,CHs),再建立路由,最后完成數(shù)據(jù)包的傳輸。
最初,每個傳感節(jié)點作為次級用戶獨立地觀察無線環(huán)境,并利用能量檢測算法尋找空閑頻譜。假定總共有C個頻率信道,令 υi(t)表示在時刻t、節(jié)點i成功接入信道矢量為
實際上,對主級用戶在特定信道上活動狀態(tài)的預(yù)測更能準確地反映信道的空閑/忙的狀態(tài)。因此,定義節(jié)點i在時刻t的期望信道接入率為
為此,節(jié)點i的頻譜-能量秩值為
其中iN表示節(jié)點i的鄰居節(jié)點集,而ie為節(jié)點i的剩余能量。()ijtγ表示節(jié)點i與節(jié)點j的相對頻譜占用率,其定義為
其中“*”表示內(nèi)積。
每個節(jié)點依據(jù)式(6)計算自己的能量頻譜秩值,然后將自己的秩值和鄰居節(jié)點的秩值構(gòu)成Ni+1個節(jié)點集,再依據(jù)秩值從大至小排序。秩值最大的節(jié)點排在第1位,秩值為1。假定節(jié)點i的排序值為ranki。如果ranki≤ 3 ,則節(jié)點i就成為CH候選簇頭節(jié)點。
一旦成為候選簇頭節(jié)點,它就啟動1個定時器,且隨機選擇定時時間,其計算方法為
式中:χ為節(jié)點i隨機產(chǎn)生的0至1的小數(shù);Tbase為定時基數(shù)。
一旦定時完畢,就發(fā)送通告消息Ann_Mess,宣稱自己為簇頭。若在定時期間,收到其他節(jié)點發(fā)送的Ann_Mess消息,就取消定時器,說明已有其他節(jié)點率先成為簇頭。然后,其他節(jié)點就依據(jù)離簇頭距離,形成不同的簇。產(chǎn)生簇頭流程如圖 2所示。
圖2 產(chǎn)生簇頭流程
簇形成后,就進入路由階段。首先,由簇頭在公共控制信道上廣播路由請求消息 CH-RREQ。當成員節(jié)點(非簇頭節(jié)點) si收到 CH-RREQ消息,先判斷是否之前已接收過此消息,若是,則直接丟棄,否則就再判斷是否滿足下列2個條件。如果滿足,則轉(zhuǎn)播此CH-RREQ消息:
1)自己 si離信宿的距離小于 CH-RREQ消息的發(fā)送節(jié)點(簇CH),即 d (si,Sink ) < d(C H,Sink )。CGR路由引用地理路由策略,只選擇離信宿更近的節(jié)點作為下一跳轉(zhuǎn)發(fā)節(jié)點,進而減少傳輸路徑;
2)節(jié)點 si的剩余能量大于閾值。通過此條件限制低能量節(jié)點參與路由。
當滿足上述 2個條件時,節(jié)點 si就向其他的鄰居節(jié)點轉(zhuǎn)播 CH-RREQ消息,否則就丟棄。一旦接收了CH-RREQ消息,就判斷這2個條件,再判斷是否轉(zhuǎn)發(fā),重復(fù)執(zhí)行此過程,直至消息傳輸至信宿。
一旦信宿收到 CH-RREQ消息,信宿就依據(jù)傳輸 CH-RREQ消息的路徑回復(fù) RREP消息,且RREP消息內(nèi)包含了此路徑上的節(jié)點ID以及節(jié)點間的距離。
信宿可能從多條路徑上收到 CH-RREQ消息。因此,信宿從這些路徑中選擇一條路徑回復(fù)RREP。信宿引用變量“路徑權(quán)重”并用路徑權(quán)重評估路徑性能為
式中: Cpath表示路徑的通信成本;Upath表示路徑上各節(jié)點能耗的不平衡性[14]。
由于能量消耗與距離有關(guān),離信宿越近,數(shù)據(jù)流量就越大。因此,Cpath可定義為
路徑上能量的不平衡性Upath定義為
最后,信宿就選擇具有最大ωpath的路徑回復(fù)RREP消息,當源節(jié)點接收到RREP后,就沿著此路徑傳輸數(shù)據(jù)。
圖3描述了CGR路由過程。圖3(a)中,源節(jié)點傳輸CH-RREQ消息,每個節(jié)點如果滿足條件,就轉(zhuǎn)發(fā)CH-RREQ消息。假定節(jié)點4不滿足,則它不轉(zhuǎn)發(fā)此消息。
信宿收到通過多條路徑傳輸?shù)?CH-RREQ消息后(2條路徑),計算各條路徑的ωpath,并選擇具有大的ωpath路徑回復(fù)RREP。圖3(b)所示是假定路徑1 → 2 → 5 → 8的ωpath最大。
圖3 路由決策示例
100個傳感節(jié)點和 10個 PUs隨機分布于300 m300 m×的仿真區(qū)域,且信宿位于區(qū)域中心。此外,引用10個頻率信道作為數(shù)據(jù)傳輸信道,而PUs可隨時占用這些信道。同時,PUs的活動/休眠狀態(tài)服從指數(shù)分布,且平均活動時長為 0.5 s,休眠活動時長為 0.5 s。在數(shù)據(jù)傳輸過程中,隨機選擇簇頭作為源節(jié)點。所傳輸?shù)臄?shù)據(jù)為 Foreman視頻,即將Foreman數(shù)據(jù)傳輸至信宿,其余的仿真參數(shù)如表1所示。
表1 仿真參數(shù)
此外,為了更好地比較CGR路由的性能,選擇SCEM路由作為參照,并進行性能比較。每次實驗數(shù)據(jù)獨立重復(fù) 20次,取平均值作為最終實驗數(shù)據(jù)。
首先分析數(shù)據(jù)的平均傳輸時延隨簇數(shù)的變化情況,如圖4所示。
圖4 平均時延隨簇數(shù)的變化曲線
從圖 4可知,隨著簇數(shù)的增加,平均時延也逐步增加。原因在于:簇數(shù)的增加加大數(shù)據(jù)傳輸跳數(shù),而跳數(shù)的增加也加大平均時延。與 SCEM相比,提出的CGR算法的平均時延得到控制。
接下來,分析視頻源節(jié)點數(shù)對平均時延的影響,實驗數(shù)據(jù)如圖5所示。
圖5 視頻源節(jié)點數(shù)對平均時延的影響
從圖5可知,視頻源節(jié)點數(shù)的增加提高了平均時延。這主要是因為,視頻源節(jié)點數(shù)的增加提高了對帶寬的需求,同時也增加了數(shù)據(jù)流量。然而,與SCEM相比,提出的CGR路由的平均時延得到了有效控制。圖6分析了SCEM算法和CGR路由的能耗數(shù)據(jù)。
圖6 能耗隨視頻源節(jié)點數(shù)的變化曲線
從圖6可知,CGR路由的能耗低于SCEM算法,并且隨視頻源節(jié)點數(shù)的增加,在能耗方面的優(yōu)勢越發(fā)明顯。
最后,分析平均時延隨源數(shù)據(jù)率的變化情況,實驗數(shù)據(jù)如圖7所示。
圖7 平均時延隨數(shù)據(jù)率的變化曲線
從圖7可知,數(shù)據(jù)率的增加加大了平均時延。原因在于,數(shù)據(jù)率的增加加大了每個源節(jié)點對數(shù)據(jù)時隙的要求,最終增加了平均時延。在整個數(shù)據(jù)率的變化區(qū)間,CGR路由的平均時延均低于SCEM算法。
針對認知無線電傳感網(wǎng)絡(luò),提出基于簇的地理位置路由CGR。CGR路由依據(jù)頻譜感測信息和節(jié)點剩余能量形成簇,再利用傳輸 CH-RREQ消息建立路徑信息,并依據(jù)路徑成本擇優(yōu)選擇數(shù)據(jù)傳輸路徑。實驗數(shù)據(jù)表明,提出的CGR路由能夠有效地降低能耗,提高了數(shù)據(jù)傳輸效率,進而縮短了傳輸時延。