任條娟,陳友榮,王章權(quán)
(浙江樹(shù)人大學(xué)信息科技學(xué)院 杭州310015)
隨著我國(guó)經(jīng)濟(jì)建設(shè)的發(fā)展,城市化進(jìn)程的加快,城市道路交通的路燈照明設(shè)施得到了長(zhǎng)足發(fā)展,但與此相伴的是路燈電能消耗也呈逐年快速攀升的趨勢(shì)[1]。由于傳統(tǒng)路燈照明多以低效照明為主,電能利用率不到65%,電能浪費(fèi)嚴(yán)重,因此提出一種采用LED燈和無(wú)線傳感網(wǎng)技術(shù)的新型路燈監(jiān)控系統(tǒng)。該系統(tǒng)通過(guò)在每個(gè)LED路燈旁放置無(wú)線傳感節(jié)點(diǎn),實(shí)時(shí)控制LED路燈的開(kāi)關(guān),檢測(cè)和上報(bào)LED路燈的開(kāi)關(guān)狀態(tài)、溫度、亮度、電流和電壓等各種參數(shù)信息,一方面可通過(guò)無(wú)線網(wǎng)絡(luò)實(shí)時(shí)存儲(chǔ)信息到上位機(jī)的數(shù)據(jù)庫(kù)中以備查詢和分析,另一方面可實(shí)時(shí)提供各個(gè)LED路燈的工作狀況,產(chǎn)生故障路燈維修表,提醒管理人員進(jìn)行故障維護(hù),減少人工巡視時(shí)間,提高處理設(shè)備故障效率,較好地實(shí)現(xiàn)了路燈的智能化管理。由于系統(tǒng)依靠無(wú)線方式組網(wǎng),無(wú)需布線,擴(kuò)展靈活,易于被采用,具有實(shí)施快速、方便,對(duì)道路環(huán)境沒(méi)有任何影響,易于故障維護(hù)等特點(diǎn),可有效提高能源利用效率,減少能源損耗,節(jié)約能源成本,具有較大的市場(chǎng)應(yīng)用前景[2]。
目前,國(guó)內(nèi)已有多家公司應(yīng)用無(wú)線傳感網(wǎng)的射頻通信模塊,推出各自的節(jié)能路燈照明控制系統(tǒng)。但是很多路燈監(jiān)控系統(tǒng)沒(méi)有考慮到無(wú)線傳感網(wǎng)節(jié)點(diǎn)的分布受道路局限,呈現(xiàn)“管狀”分布,基本上還是采用簡(jiǎn)單的鏈狀路由或樹(shù)狀路由算法,造成節(jié)點(diǎn)能耗和數(shù)據(jù)傳輸時(shí)延分布不平衡。靠近Sink節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)據(jù)傳輸時(shí)延低,但是會(huì)頻繁地轉(zhuǎn)發(fā)其他節(jié)點(diǎn)的信息而導(dǎo)致節(jié)點(diǎn)能耗高。遠(yuǎn)離Sink節(jié)點(diǎn)的節(jié)點(diǎn)數(shù)據(jù)通信時(shí)延高,但是由于轉(zhuǎn)發(fā)少量的數(shù)據(jù),所以節(jié)點(diǎn)能耗低。綜合所述,在路燈監(jiān)控系統(tǒng)的特殊應(yīng)用場(chǎng)景中,數(shù)據(jù)傳輸時(shí)延和節(jié)點(diǎn)能耗是無(wú)線傳感網(wǎng)兩個(gè)相對(duì)對(duì)立的性能參數(shù),需要研究一種新的鏈狀路由算法,盡可能平衡網(wǎng)絡(luò)節(jié)點(diǎn)能耗和數(shù)據(jù)傳輸時(shí)延。
相關(guān)無(wú)線傳感網(wǎng)路由算法的研究已取得一些成果。參考文獻(xiàn)[3]提出一個(gè)低功耗自適應(yīng)聚類分層型(low energy adaptive clustering hierarchy,LEACH)算法。LEACH 算法包括Sink節(jié)點(diǎn)、簇頭節(jié)點(diǎn)和傳感節(jié)點(diǎn)3層網(wǎng)絡(luò)結(jié)構(gòu)。算法中傳感節(jié)點(diǎn)發(fā)送測(cè)量數(shù)據(jù)到簇頭節(jié)點(diǎn),簇頭節(jié)點(diǎn)融合簇內(nèi)傳感節(jié)點(diǎn)數(shù)據(jù)再通過(guò)簇頭間多跳方式發(fā)送到Sink節(jié)點(diǎn)。在大規(guī)模或節(jié)點(diǎn)能量分布不均衡的無(wú)線傳感網(wǎng)中,LEACH算法隨機(jī)選擇簇頭節(jié)點(diǎn),可能出現(xiàn)被選簇頭節(jié)點(diǎn)集中在某一個(gè)特定的區(qū)域,覆蓋不到整個(gè)監(jiān)測(cè)區(qū)域,容易造成網(wǎng)絡(luò)的分裂和節(jié)點(diǎn)能耗的增大。參考文獻(xiàn)[4]提出一種鏈狀路由算法PEGASIS(power-efficient gathering in sensor information system)。感應(yīng)區(qū)域內(nèi)的所有節(jié)點(diǎn)通過(guò)貪婪算法自組織成一條鏈路。在數(shù)據(jù)傳播階段,每一個(gè)節(jié)點(diǎn)接收距離最近上游鄰居節(jié)點(diǎn)的感應(yīng)信息,通過(guò)距離最近的下游鄰居節(jié)點(diǎn)將融合后的感應(yīng)信息發(fā)送給Sink節(jié)點(diǎn)。在該算法中,離Sink節(jié)點(diǎn)距離較遠(yuǎn)的節(jié)點(diǎn)會(huì)引起較多的數(shù)據(jù)時(shí)延。參考文獻(xiàn)[5]提出帶能量消耗的鏈狀路由(chain routing with even energy consumption,CREEC)算法,通過(guò)以下兩個(gè)策略提高網(wǎng)絡(luò)生存時(shí)間:一是盡可能平衡每一個(gè)節(jié)點(diǎn)的能量分布;二是模擬節(jié)點(diǎn)的能量消耗,運(yùn)行反饋機(jī)制節(jié)省傳感節(jié)點(diǎn)的能量。參考文獻(xiàn) [6]提出一種高效節(jié)能的鏈狀分層路由(energy efficient chain-based hierarchical routing,CHIRON) 算 法 。CHIRON算法的主要思路是將感應(yīng)區(qū)域分成若干個(gè)較小區(qū)域,在這小區(qū)域內(nèi)建立數(shù)據(jù)傳輸鏈路,從而減少數(shù)據(jù)傳輸時(shí)延和冗余路徑。參考文獻(xiàn)[7]基于PEGASIS算法的結(jié)構(gòu)提出內(nèi)部網(wǎng)格PEGASIS算法。該算法將感應(yīng)區(qū)域分成若干個(gè)網(wǎng)格,每一個(gè)網(wǎng)格中節(jié)點(diǎn)可分為開(kāi)始節(jié)點(diǎn)、傳感節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)。網(wǎng)格開(kāi)始節(jié)點(diǎn)和另一個(gè)網(wǎng)格的結(jié)束節(jié)點(diǎn)建立連接,最終網(wǎng)絡(luò)中所有節(jié)點(diǎn)自組織成一條鏈路。參考文獻(xiàn)[8]為優(yōu)化傳感器間通信,提出虛擬鏈的概念,定義虛擬鏈的邊為多跳數(shù)據(jù)傳輸路徑。為優(yōu)化簇頭節(jié)點(diǎn)和Sink節(jié)點(diǎn)的通信,提出簇頭節(jié)點(diǎn)的調(diào)度規(guī)則,選擇剩余能量最大的節(jié)點(diǎn)作為簇頭節(jié)點(diǎn)。參考文獻(xiàn)[5~8]提出各自的鏈狀路由算法,但是它們都假設(shè)節(jié)點(diǎn)隨機(jī)分布在感應(yīng)區(qū)域內(nèi),沒(méi)有考慮鏈狀無(wú)線傳感網(wǎng)節(jié)點(diǎn)的“管狀”位置分布。因此,綜合一些學(xué)者的觀點(diǎn),針對(duì)路燈監(jiān)控系統(tǒng)的特殊應(yīng)用場(chǎng)景,提出路燈監(jiān)控系統(tǒng)的無(wú)線傳感網(wǎng)鏈狀路由 (chain routing algorithm based on streetlight monitoring system for wireless sensor networks,CRASMS)算法,盡可能平衡網(wǎng)絡(luò)節(jié)點(diǎn)能耗和數(shù)據(jù)傳輸時(shí)延。
如圖1所示,路燈監(jiān)控系統(tǒng)的無(wú)線傳感網(wǎng)主要由傳感節(jié)點(diǎn)(也稱路燈監(jiān)控器,簡(jiǎn)稱節(jié)點(diǎn))、Sink節(jié)點(diǎn)(也稱網(wǎng)關(guān)控制器)和監(jiān)控中心組成。傳感節(jié)點(diǎn)分布在道路兩側(cè)的路燈上,具有控制路燈開(kāi)關(guān)、上報(bào)開(kāi)關(guān)狀態(tài)、調(diào)節(jié)路燈亮度等功能。Sink節(jié)點(diǎn)處于監(jiān)控中心和各傳感節(jié)點(diǎn)的中間,一般放置在十字路口或道路邊,向上通過(guò)GPRS/3G方式同監(jiān)控中心通信,向下通過(guò)無(wú)線傳感網(wǎng)同各個(gè)傳感節(jié)點(diǎn)通信,無(wú)需通信費(fèi)用。Sink節(jié)點(diǎn)主要負(fù)責(zé)監(jiān)控網(wǎng)絡(luò)內(nèi)的傳感節(jié)點(diǎn)運(yùn)行,將監(jiān)控中心的命令下達(dá)給傳感節(jié)點(diǎn),將傳感節(jié)點(diǎn)及線路信息反饋給監(jiān)控中心。監(jiān)控中心實(shí)現(xiàn)對(duì)傳感節(jié)點(diǎn)進(jìn)行遠(yuǎn)程數(shù)據(jù)訪問(wèn)和監(jiān)控,包括參數(shù)配置、監(jiān)控命令發(fā)送、路燈狀態(tài)收集等。還能夠根據(jù)路段日照和人車流量的變化設(shè)定路燈的開(kāi)關(guān)控制策略,在滿足基本照明的前提下節(jié)約能耗。
針對(duì)路燈監(jiān)控系統(tǒng)的實(shí)際應(yīng)用場(chǎng)景,假設(shè)其無(wú)線傳感網(wǎng)具有以下特點(diǎn):
·Sink節(jié)點(diǎn)和所有傳感節(jié)點(diǎn)位置固定不變,都是靜止的,所有傳感節(jié)點(diǎn)均勻分布,Sink節(jié)點(diǎn)可根據(jù)實(shí)際需要,放置在十字路口和每一個(gè)道路邊;
·由于網(wǎng)絡(luò)預(yù)先規(guī)劃節(jié)點(diǎn)的部署位置,因此Sink節(jié)點(diǎn)和傳感節(jié)點(diǎn)能獲知整個(gè)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)信息;
·所有傳感節(jié)點(diǎn)具有相同的性能(如無(wú)線電最大發(fā)送功率、最大通信半徑、節(jié)點(diǎn)間距離、能耗模型等);
·所有傳感節(jié)點(diǎn)都能感知數(shù)據(jù),并通過(guò)直接或多跳的方式將數(shù)據(jù)發(fā)送給Sink 節(jié)點(diǎn);
·由于每一個(gè)路燈上都配置專門的供電電路,因此網(wǎng)絡(luò)所有節(jié)點(diǎn)的能量不受限制;
·所有傳感節(jié)點(diǎn)的發(fā)送功率隨著通信距離的變化而變化。
如果節(jié)點(diǎn)j在節(jié)點(diǎn)i的通信半徑內(nèi),則稱節(jié)點(diǎn)j是節(jié)點(diǎn)i的鄰居節(jié)點(diǎn)。如果dis CRASMS算法由簇區(qū)域的劃分、簇頭節(jié)點(diǎn)的選擇、簇內(nèi)星型網(wǎng)絡(luò)的建立、數(shù)據(jù)通信和處理4個(gè)過(guò)程組成。 圖1 交通路燈監(jiān)控系統(tǒng)的無(wú)線傳感網(wǎng)模型 4.1.1 簇區(qū)域的劃分 路由監(jiān)控系統(tǒng)中無(wú)線傳感網(wǎng)節(jié)點(diǎn)以預(yù)先規(guī)劃的方式部署,Sink節(jié)點(diǎn)能獲知算法所需要的節(jié)點(diǎn)信息 (包括節(jié)點(diǎn)的位置),傳感節(jié)點(diǎn)能獲知自身和周圍節(jié)點(diǎn)的信息。如圖2所示,當(dāng)網(wǎng)絡(luò)啟動(dòng)后,Sink節(jié)點(diǎn)啟動(dòng)簇區(qū)域的劃分,根據(jù)傳感節(jié)點(diǎn)和監(jiān)測(cè)區(qū)域的位置信息,將道路同一側(cè)的節(jié)點(diǎn)構(gòu)成一條鏈路,每一個(gè)鏈路劃分成若干個(gè)具有n個(gè)節(jié)點(diǎn)的簇區(qū)域 (n可根據(jù)節(jié)點(diǎn)的通信距離和實(shí)際應(yīng)用需求確定)。接著,Sink節(jié)點(diǎn)發(fā)送節(jié)點(diǎn)簇區(qū)域確定數(shù)據(jù)分組 (內(nèi)容包括每一個(gè)簇的節(jié)點(diǎn)個(gè)數(shù)n)。節(jié)點(diǎn)收到簇區(qū)域確定數(shù)據(jù)分組后,根據(jù)自身與Sink節(jié)點(diǎn)的拓?fù)潢P(guān)系,確定所屬的簇區(qū)域。 圖2 簇區(qū)域的劃分 4.1.2 簇頭節(jié)點(diǎn)的選擇 如圖3所示,簇頭節(jié)點(diǎn)的選擇有些類似LEACH算法。網(wǎng)絡(luò)確定簇區(qū)域后,在每一個(gè)簇區(qū)域中采用貪婪算法(greedy algorithm)選擇離Sink節(jié)點(diǎn)距離最近的節(jié)點(diǎn)作為簇頭節(jié)點(diǎn)。經(jīng)過(guò)一段時(shí)間后,簇頭節(jié)點(diǎn)接收到Sink節(jié)點(diǎn)的簇頭更新數(shù)據(jù)分組后轉(zhuǎn)為傳感節(jié)點(diǎn),其同一簇區(qū)域中距離最近的上游節(jié)點(diǎn)選為簇頭節(jié)點(diǎn)。如果簇頭節(jié)點(diǎn)已經(jīng)是簇區(qū)域內(nèi)離Sink節(jié)點(diǎn)距離最遠(yuǎn)的節(jié)點(diǎn),則表示簇頭節(jié)點(diǎn)的選擇已經(jīng)遍歷該簇區(qū)域的所有節(jié)點(diǎn),重新選擇離Sink節(jié)點(diǎn)距離最近的節(jié)點(diǎn)作為簇頭節(jié)點(diǎn),開(kāi)始新的一輪簇頭節(jié)點(diǎn)選擇。為避免無(wú)線通信的干擾,道路另一側(cè)鏈路的簇頭節(jié)點(diǎn)選擇方法與其相反,先選擇離Sink節(jié)點(diǎn)距離最遠(yuǎn)的節(jié)點(diǎn)作為簇頭節(jié)點(diǎn),每隔一段時(shí)間慢慢變近。此過(guò)程重復(fù)執(zhí)行,網(wǎng)絡(luò)中所有節(jié)點(diǎn)都有機(jī)會(huì)當(dāng)選為簇頭節(jié)點(diǎn)。 圖3 簇頭節(jié)點(diǎn)的選擇 4.1.3 簇內(nèi)星型網(wǎng)絡(luò)的建立 確定簇頭節(jié)點(diǎn)后,每一個(gè)簇頭節(jié)點(diǎn)廣播一個(gè)簇網(wǎng)絡(luò)建立數(shù)據(jù)分組,所屬簇區(qū)域的節(jié)點(diǎn)收到簇網(wǎng)絡(luò)建立數(shù)據(jù)分組后,反饋一個(gè)通知數(shù)據(jù)分組。簇頭節(jié)點(diǎn)接收到通知數(shù)據(jù)分組后,將該傳感節(jié)點(diǎn)放入路由表中。最終在每一個(gè)簇區(qū)域內(nèi)形成一個(gè)星型網(wǎng)絡(luò),如圖4所示。 圖4 簇內(nèi)星型網(wǎng)絡(luò)的建立 4.1.4 數(shù)據(jù)通信和處理 完成上述步驟后,數(shù)據(jù)通信和處理過(guò)程開(kāi)始,具體過(guò)程如下介紹。 圖5 數(shù)據(jù)通信過(guò)程 如圖5所示,網(wǎng)絡(luò)數(shù)據(jù)通信分成傳感節(jié)點(diǎn)的數(shù)據(jù)上報(bào)和Sink節(jié)點(diǎn)的命令發(fā)送兩部分。傳感節(jié)點(diǎn)的數(shù)據(jù)上報(bào)過(guò)程如下:每一個(gè)傳感節(jié)點(diǎn)采集數(shù)據(jù),將數(shù)據(jù)發(fā)送給簇頭節(jié)點(diǎn)。簇頭節(jié)點(diǎn)采用融合算法處理數(shù)據(jù),將融合后的數(shù)據(jù)以簇頭間的多跳路由方式發(fā)送給Sink節(jié)點(diǎn)。簇頭節(jié)點(diǎn)轉(zhuǎn)發(fā)其他簇頭節(jié)點(diǎn)的兩個(gè)標(biāo)準(zhǔn):一是選擇離Sink節(jié)點(diǎn)距離近的簇頭節(jié)點(diǎn),二是在其通信范圍內(nèi)選擇離本簇頭節(jié)點(diǎn)距離最遠(yuǎn)的簇頭節(jié)點(diǎn)。Sink節(jié)點(diǎn)廣播上位機(jī)的一些控制命令,如設(shè)置一些路燈的開(kāi)關(guān)時(shí)限、立即開(kāi)啟和關(guān)閉某一路燈。該命令的發(fā)送過(guò)程如下:Sink節(jié)點(diǎn)通過(guò)簇間多跳方式廣播命令數(shù)據(jù)分組。簇頭節(jié)點(diǎn)接收到命令數(shù)據(jù)分組后,判斷簇區(qū)域內(nèi)是否存在被控節(jié)點(diǎn)。如果存在被控節(jié)點(diǎn),則通知該節(jié)點(diǎn),節(jié)點(diǎn)收到命令后解析命令并執(zhí)行,反之,則轉(zhuǎn)發(fā)給離Sink節(jié)點(diǎn)距離遠(yuǎn)的簇頭節(jié)點(diǎn)。 在無(wú)線傳感網(wǎng)中,由于感應(yīng)物理介質(zhì)的時(shí)空特性,相鄰節(jié)點(diǎn)采集的信息(如溫度和濕度數(shù)據(jù))往往攜帶著大量的數(shù)據(jù)冗余,因此需要對(duì)數(shù)據(jù)進(jìn)行融合[9]。簇頭節(jié)點(diǎn)選擇數(shù)據(jù)融合算法處理傳感節(jié)點(diǎn)數(shù)據(jù)是CRASMS算法信息處理的關(guān)鍵,能有效節(jié)省網(wǎng)絡(luò)節(jié)點(diǎn)的能量。本算法采用參考文獻(xiàn)[10]的數(shù)據(jù)融合算法模型。在該模型中,節(jié)點(diǎn)i利用本地?cái)?shù)據(jù)對(duì)其接收到的節(jié)點(diǎn)j原始數(shù)據(jù)進(jìn)行壓縮。用系數(shù)qij表示節(jié)點(diǎn)j的原始數(shù)據(jù)在節(jié)點(diǎn)i上的數(shù)據(jù)壓縮比。假設(shè)qij與節(jié)點(diǎn)i和j之間的距離成反比[10],即: 根據(jù)上述模型,簇頭節(jié)點(diǎn)對(duì)接收到的數(shù)據(jù)采用兩種不同的操作。對(duì)傳感節(jié)點(diǎn)的原始數(shù)據(jù),采用本地?cái)?shù)據(jù)進(jìn)行壓縮。對(duì)其他簇頭節(jié)點(diǎn)的數(shù)據(jù),則直接轉(zhuǎn)發(fā)。 如圖6所示,網(wǎng)絡(luò)啟動(dòng)后,Sink節(jié)點(diǎn)開(kāi)始獲知算法所需要的節(jié)點(diǎn)信息。一種方法是Sink節(jié)點(diǎn)以洪泛方式向周圍所有的鄰居節(jié)點(diǎn)發(fā)送信息查詢分組。如果鄰居節(jié)點(diǎn)第一次接收到Sink節(jié)點(diǎn)的查詢分組,則將自身的位置信息發(fā)送給Sink節(jié)點(diǎn),再向其鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)信息查詢分組,否則丟棄該信息查詢分組。另一種方法是Sink節(jié)點(diǎn)通過(guò)上位機(jī)程序獲知節(jié)點(diǎn)的所有位置信息。Sink節(jié)點(diǎn)收集所有節(jié)點(diǎn)位置信息后,啟動(dòng)CRASMS算法。算法具體實(shí)現(xiàn)步驟如下。 (1)進(jìn)行簇區(qū)域劃分。Sink節(jié)點(diǎn)根據(jù)傳感節(jié)點(diǎn)和監(jiān)測(cè)區(qū)域的位置信息,將道路同一側(cè)的節(jié)點(diǎn)構(gòu)成一條鏈路,每一個(gè)鏈路劃分成若干個(gè)具有n個(gè)節(jié)點(diǎn)的簇區(qū)域。接著,發(fā)送節(jié)點(diǎn)簇區(qū)域確定數(shù)據(jù)分組。節(jié)點(diǎn)收到簇區(qū)域確定數(shù)據(jù)分組后,根據(jù)自身與Sink節(jié)點(diǎn)的拓?fù)潢P(guān)系,確定所屬的簇區(qū)域。 (2)確定每一個(gè)簇區(qū)域的初始簇頭。道路左右兩條鏈路,一條選擇簇區(qū)域中離Sink節(jié)點(diǎn)距離最近的節(jié)點(diǎn)作為簇頭節(jié)點(diǎn),另一條鏈路選擇簇中離Sink節(jié)點(diǎn)距離最遠(yuǎn)的節(jié)點(diǎn)作為簇頭節(jié)點(diǎn)。 圖6 CRASMS算法的流程 (3)通過(guò)簇頭節(jié)點(diǎn)和傳感節(jié)點(diǎn)的通信,在每一個(gè)簇區(qū)域內(nèi)建立星型網(wǎng)絡(luò)。 (4)啟動(dòng)數(shù)據(jù)通信和處理,完成數(shù)據(jù)的上報(bào)和命令的發(fā)送。經(jīng)過(guò)一段時(shí)間,跳到步驟(5)。 (5)Sink節(jié)點(diǎn)廣播簇頭更新數(shù)據(jù)分組,如果簇頭節(jié)點(diǎn)的選擇已經(jīng)遍歷該簇區(qū)域的所有節(jié)點(diǎn),則開(kāi)始新一輪簇頭節(jié)點(diǎn)選擇,否則簇區(qū)域中距離最近的下游鄰居節(jié)點(diǎn)或上游鄰居節(jié)點(diǎn)當(dāng)選為簇頭節(jié)點(diǎn)。跳到步驟(3)。 循環(huán)執(zhí)行上述步驟,實(shí)現(xiàn)CRASMS算法。 典型的無(wú)線傳感網(wǎng)節(jié)點(diǎn)能耗主要由無(wú)線數(shù)據(jù)收發(fā)產(chǎn)生,其中ETx(g,d)表示發(fā)送節(jié)點(diǎn)發(fā)送g bit數(shù)據(jù)到距離為dij的接收節(jié)點(diǎn)所消耗的能量;同樣ERx(g)表示接收節(jié)點(diǎn)接收g bit數(shù)據(jù)所消耗的能量。因此,節(jié)點(diǎn)發(fā)送模塊的能耗ETx(g,d)由發(fā)送電路電子能耗和信號(hào)放大器部分的電子能耗組成。發(fā)送電路電子能耗固定為,其中g(shù)代表所發(fā)送的數(shù)據(jù)量,Eelec代表收發(fā)單位比特?cái)?shù)據(jù)時(shí)電路的電子能耗。信號(hào)放大器部分的電子能耗與節(jié)點(diǎn)發(fā)送功率有關(guān),由于采用Friss自由空間模型且節(jié)點(diǎn)根據(jù)通信距離隨時(shí)調(diào)整發(fā)送功率,因此其電子能耗與通信距離有關(guān)。接收模塊的能耗ERx只考慮接收信號(hào)時(shí)的電子能耗gEelec。具體的計(jì)算式如下(假設(shè)發(fā)送g bit的數(shù)據(jù)量,發(fā)送距離為dijm,最大通信距離m,收發(fā)單位比特?cái)?shù)據(jù)時(shí)電路電子能耗nJ/bit,放大單位比特信號(hào)時(shí)所需要的電子能耗 εfspJ/bit/m2)[11]: 在算法仿真時(shí),不考慮計(jì)算、數(shù)據(jù)融合、信息查詢分組收發(fā)等能耗,也不考慮數(shù)據(jù)傳輸過(guò)程中超時(shí)重發(fā)、出錯(cuò)等能耗,只考慮數(shù)據(jù)無(wú)線通信能耗??紤]無(wú)線傳感網(wǎng)節(jié)點(diǎn)實(shí)際通信距離和路燈的實(shí)際間隔,建立網(wǎng)絡(luò)仿真區(qū)域(所有節(jié)點(diǎn)的位置分布縱坐標(biāo)一致,橫坐標(biāo)間隔20 m),選擇的仿真參數(shù)見(jiàn)表1,計(jì)算網(wǎng)絡(luò)平均節(jié)點(diǎn)能耗和數(shù)據(jù)傳輸時(shí)延。其中平均節(jié)點(diǎn)能耗=所有節(jié)點(diǎn)將數(shù)據(jù)發(fā)送到Sink節(jié)點(diǎn)的總能耗/節(jié)點(diǎn)個(gè)數(shù)。平均數(shù)據(jù)傳輸時(shí)延=所有節(jié)點(diǎn)將數(shù)據(jù)發(fā)送給Sink節(jié)點(diǎn)的總跳數(shù)/節(jié)點(diǎn)數(shù)。 表1 仿真參數(shù) 5.3.1 簇區(qū)域節(jié)點(diǎn)個(gè)數(shù)n參數(shù)的研究 研究簇區(qū)域節(jié)點(diǎn)個(gè)數(shù)n對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)能耗和數(shù)據(jù)傳輸時(shí)延的影響??紤]路燈監(jiān)控系統(tǒng)的實(shí)際應(yīng)用場(chǎng)景(大多數(shù)無(wú)線傳感節(jié)點(diǎn)的最大通信距離是80 m),假設(shè)各個(gè)路燈間的距離是 20 m,則 n的取值范圍是 1、2、3、4。選擇 30、50、70、90、110、130、150、170 個(gè)無(wú)線傳感網(wǎng)節(jié)點(diǎn),分別計(jì)算當(dāng) n=1、2、3、4時(shí)CRASMS算法的平均節(jié)點(diǎn)能耗和數(shù)據(jù)傳輸時(shí)延,具體仿真結(jié)果如圖7和圖8所示。 圖7 網(wǎng)絡(luò)平均節(jié)點(diǎn)能耗 如圖7所示,當(dāng)n不變時(shí),隨著節(jié)點(diǎn)個(gè)數(shù)的增加,平均節(jié)點(diǎn)能耗增大。這是因?yàn)椋弘S著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,由于所有節(jié)點(diǎn)都需要發(fā)送數(shù)據(jù),中間節(jié)點(diǎn)數(shù)據(jù)發(fā)送量變大,需要更多的能量轉(zhuǎn)發(fā)數(shù)據(jù),因此平均節(jié)點(diǎn)能耗變大。當(dāng)節(jié)點(diǎn)個(gè)數(shù)不變時(shí),n=2時(shí)網(wǎng)絡(luò)平均節(jié)點(diǎn)能耗最小,n=1時(shí)的能耗次之,n=4時(shí)能耗最大。這是因?yàn)椋寒?dāng)n=1時(shí),在CRASMS算法中每個(gè)節(jié)點(diǎn)都是簇頭節(jié)點(diǎn),其直接選擇離Sink節(jié)點(diǎn)近且在其通信范圍內(nèi)離本節(jié)點(diǎn)最遠(yuǎn)的簇頭節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù),通信距離較大,根據(jù)能耗式(2)和式(3),節(jié)點(diǎn)能耗也較大。但是當(dāng)n=2時(shí),傳感節(jié)點(diǎn)直接選擇距離較近的簇頭節(jié)點(diǎn),通信能耗較小,因此,n=2時(shí)節(jié)點(diǎn)平均能耗比n=1時(shí)小。此后隨著n的繼續(xù)增大,簇區(qū)域的節(jié)點(diǎn)個(gè)數(shù)增多,傳感節(jié)點(diǎn)的通信距離增大,因此網(wǎng)絡(luò)平均節(jié)點(diǎn)能耗也增大。 如圖8所示,當(dāng)n不變時(shí),隨著節(jié)點(diǎn)個(gè)數(shù)的增加,平均數(shù)據(jù)傳輸時(shí)延增大。這是因?yàn)椋弘S著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,根據(jù)鏈狀網(wǎng)絡(luò)的特性,處于數(shù)據(jù)傳輸鏈路末端的節(jié)點(diǎn)離Sink節(jié)點(diǎn)距離變大,其數(shù)據(jù)的傳輸需要更多的轉(zhuǎn)發(fā)跳數(shù)。當(dāng)節(jié)點(diǎn)個(gè)數(shù)不變時(shí),n=4時(shí)平均數(shù)據(jù)傳輸時(shí)延最小,n=3時(shí)次之,n=1時(shí)最小。這是因?yàn)椋弘S著n的變大,簇區(qū)域的節(jié)點(diǎn)個(gè)數(shù)變大,更多的簇內(nèi)節(jié)點(diǎn)直接發(fā)送數(shù)據(jù)到簇頭節(jié)點(diǎn),因此算法降低了數(shù)據(jù)通信的轉(zhuǎn)發(fā)跳數(shù)。 圖8 平均數(shù)據(jù)傳輸時(shí)延 總之,在CRASMS算法中,節(jié)點(diǎn)能耗和數(shù)據(jù)傳輸時(shí)延是相互制約的。當(dāng)選擇較大的n值時(shí),CRASMS算法更多偏向于降低數(shù)據(jù)通信時(shí)延,當(dāng)選擇較小的n值時(shí),CRASMS算法更多偏向于降低節(jié)點(diǎn)能耗。因此,可根據(jù)實(shí)際應(yīng)用需求選擇合適的n值。 5.3.2 算法仿真結(jié)果比較 路燈監(jiān)控系統(tǒng)的節(jié)點(diǎn)規(guī)模大,通常一個(gè)Sink節(jié)點(diǎn)需要管理200個(gè)以上的節(jié)點(diǎn)。在這大規(guī)模的鏈狀網(wǎng)絡(luò)中,節(jié)點(diǎn)數(shù)據(jù)傳輸時(shí)延是其一大挑戰(zhàn)。為了降低數(shù)據(jù)傳輸時(shí)延,仿真中選擇n=4的CRASMS算法。為了驗(yàn)證算法的有效性,比較LEACH (傳感節(jié)點(diǎn)成為簇頭節(jié)點(diǎn)的概率是0.25)、PEGASIS和CRASMS算法。 由于LEACH算法隨機(jī)選擇簇頭節(jié)點(diǎn),在本場(chǎng)景中如果節(jié)點(diǎn)通信半徑dmax過(guò)低,容易造成很多節(jié)點(diǎn)不能與簇頭節(jié)點(diǎn)通信,因此仿真中需要選擇較大的各算法節(jié)點(diǎn)通信半徑。選擇 30、50、70、90、110、130、150、170 個(gè)無(wú)線傳感網(wǎng)節(jié)點(diǎn)和其他表1中的參數(shù),分別采用LEACH、PEGASIS和CRASMS算法計(jì)算網(wǎng)絡(luò)平均節(jié)點(diǎn)能耗、平均數(shù)據(jù)傳輸時(shí)延和它們的均方差,具體見(jiàn)表2和表3。 表2中,LEACH算法的網(wǎng)絡(luò)平均節(jié)點(diǎn)能耗最大,而且節(jié)點(diǎn)能耗分布不均衡,能耗均方差也最大。無(wú)論是網(wǎng)絡(luò)平均節(jié)點(diǎn)能耗還是均方差,PEGASIS算法比CRASMS算法都略低,但是兩者相差不大。這是因?yàn)椋罕O(jiān)測(cè)區(qū)域中LEACH算法隨機(jī)選擇簇頭節(jié)點(diǎn),簇頭節(jié)點(diǎn)分布不均衡,容易造成有些節(jié)點(diǎn)直接選擇距離很遠(yuǎn)的簇頭節(jié)點(diǎn)發(fā)送數(shù)據(jù),導(dǎo)致節(jié)點(diǎn)能耗變大而且分布不均勻。在PEGASIS算法中,節(jié)點(diǎn)沿著鏈路選擇距離最近的下游鄰居節(jié)點(diǎn)發(fā)送數(shù)據(jù)。在CRASMS算法中,節(jié)點(diǎn)選擇簇區(qū)域內(nèi)的簇頭節(jié)點(diǎn)發(fā)送數(shù)據(jù)。這兩個(gè)算法的節(jié)點(diǎn)通信距離較短,因此平均節(jié)點(diǎn)能耗不大,節(jié)點(diǎn)能耗分布比較合理??傊珻RASMS算法克服了LEACH算法能耗較大的不足,保持了PEGASIS算法在能耗方面的優(yōu)點(diǎn)。 表2 各算法的網(wǎng)絡(luò)平均節(jié)點(diǎn)能耗 表3中,PEGASIS算法的平均數(shù)據(jù)傳輸時(shí)延最大(可表示為(1+N)/2),而且數(shù)據(jù)傳輸時(shí)延分布不均衡,時(shí)延均方差也最大。而LEACH和CRASMS算法無(wú)論是平均數(shù)據(jù)傳輸時(shí)延還是均方差,兩者相差不大。這是因?yàn)椋涸赑EGASIS算法中,節(jié)點(diǎn)沿著距離最近的下游鄰居節(jié)點(diǎn)將數(shù)據(jù)發(fā)送給Sink節(jié)點(diǎn)。離Sink節(jié)點(diǎn)的距離越遠(yuǎn),節(jié)點(diǎn)數(shù)據(jù)傳輸時(shí)延越大,因此PEGASIS算法的平均數(shù)據(jù)傳輸時(shí)延大而且分布不均勻。而LEACH和 CRASMS算法選擇聚類方法,簇內(nèi)節(jié)點(diǎn)直接發(fā)送數(shù)據(jù)到簇頭節(jié)點(diǎn),簇頭節(jié)點(diǎn)通過(guò)簇頭間多跳路由將數(shù)據(jù)發(fā)送給Sink節(jié)點(diǎn),而且每一個(gè)節(jié)點(diǎn)都有機(jī)會(huì)成為簇頭節(jié)點(diǎn),這在一定程度上降低和平衡了節(jié)點(diǎn)數(shù)據(jù)傳輸時(shí)延。 表3 各算法的平均數(shù)據(jù)傳輸時(shí)延 總之,CRASMS算法保持了PEGASIS和LEACH算法的優(yōu)點(diǎn),克服了這兩個(gè)算法的不足(與LEACH算法比較,降低了平均節(jié)點(diǎn)能耗;與PEGASIS比較,降低了數(shù)據(jù)傳輸時(shí)延),將網(wǎng)絡(luò)平均節(jié)點(diǎn)能耗和平均數(shù)據(jù)傳輸時(shí)延保持在較低水平。 針對(duì)交通路燈監(jiān)控系統(tǒng)的特殊應(yīng)用場(chǎng)景,提出路燈監(jiān)控系統(tǒng)的無(wú)線傳感網(wǎng)鏈狀路由算法,盡可能平衡網(wǎng)絡(luò)節(jié)點(diǎn)能耗和數(shù)據(jù)傳輸時(shí)延。本文首先提出了由傳感節(jié)點(diǎn)、Sink節(jié)點(diǎn)和監(jiān)控中心組成的路燈監(jiān)控系統(tǒng)無(wú)線傳感網(wǎng)模型和算法假設(shè)。其次,詳細(xì)闡述CRASMS算法的簇區(qū)域劃分、簇頭選擇、簇內(nèi)網(wǎng)絡(luò)建立、數(shù)據(jù)通信和處理4個(gè)過(guò)程和具體算法的實(shí)現(xiàn)步驟。接著,介紹算法的能耗模型和仿真參數(shù)。最后,仿真分析簇區(qū)域節(jié)點(diǎn)個(gè)數(shù)n對(duì)算法平均節(jié)點(diǎn)能耗和數(shù)據(jù)傳輸時(shí)延的影響,比較LEACH、PEGASIS和CRASMS算法。 仿真結(jié)果表明:CRASMS算法保持了PEGASIS在節(jié)點(diǎn)能耗方面和LEACH在節(jié)點(diǎn)時(shí)延方面的優(yōu)點(diǎn),克服了PEGASIS在節(jié)點(diǎn)時(shí)延方面和LEACH在節(jié)點(diǎn)能耗方面的不足,將平均節(jié)點(diǎn)能耗和平均數(shù)據(jù)傳輸時(shí)延保持在較低水平。但是CRASMS算法只是通過(guò)仿真驗(yàn)證,還沒(méi)有運(yùn)用到實(shí)際硬件上,因此未來(lái)的工作是搭建一個(gè)路燈監(jiān)控系統(tǒng)的測(cè)試平臺(tái),在該平臺(tái)上驗(yàn)證算法的有效性。 1 張雪松.淺談城市路燈照明的節(jié)能與環(huán)保.科技創(chuàng)新導(dǎo)報(bào),2011,17(17):152 2 孫鳳杰,王楨.基于路燈單燈狀態(tài)監(jiān)控的無(wú)線鏈狀網(wǎng)絡(luò)路由算法的研究.計(jì)算技術(shù)與自動(dòng)化,2011,30(4):85~88 3 任條娟,楊海波,陳友榮.Sink節(jié)點(diǎn)移動(dòng)的無(wú)線傳感網(wǎng)生存時(shí)間優(yōu)化算法.傳感技術(shù)學(xué)報(bào),2012,25(5):683~690 4 Heinzelman W R,Chandrakasan A,Balakrishnan H.Energyefficientcommunication protocolforwireless micro sensornetworks.Proceedings of The 33rd Ann Hawaii Int Conf,Hawaii,2000 5 Lindsey S,Raghavendra C,Sivalingam K.Data gathering algorithms in sensor networks using energy metric.IEEE Transactions on Parallel and Distributed System,2002,13(9):924~935 6 Shin J,Suh C J.CREEC:chain routing with even energy consumption.Journal of Communications and Networks,2011,13(1):17~25 7 Chen K H,Huang J M,Hsiao C C.CHIRON:an energyefficient chain-based hierarchical routing protocol in wireless sensor networks.Wireless Telecommunications Symposium,2009(1) 8 Chen Y L,Lin J S.Energy efficiency analysis of a chain-based scheme via intra-grid for wireless sensor networks.Computer Communications,2012,35(4):507~516 9 Yen L H,Cai M Z,Cheng Y M,et al.Energy optimization for chain-based data gathering in wireless sensor networks.International Journal of Communication Systems,2007,20(7):857~874 10 Hua C Q,Yum T P.Optimal routing and data aggregation for maximizing lifetime of wireless sensor networks.IEEE/ACM Transactions on Networking,2008,16(4):892~903 11 Rickenbach P V,Wattenhofer R.Gathering correlated data in sensor networks.Proceeding of DIALM-POMC,New York,2004 12 陳友榮,俞立,董齊芬等.基于近鄰算法的無(wú)線傳感器網(wǎng)絡(luò)功率控制.浙江大學(xué)學(xué)報(bào)(工學(xué)版),2010,44(7):1321~13264.2 算法實(shí)現(xiàn)
5 仿真實(shí)現(xiàn)和分析
5.1 仿真能耗模型
5.2 仿真參數(shù)設(shè)置
5.3 仿真結(jié)果和分析
6 結(jié)束語(yǔ)