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