低能耗和低時(shí)延的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)融合算法
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:針對無線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)能量有限,且在進(jìn)行信息傳輸時(shí)存在數(shù)據(jù)沖突、傳輸延時(shí)等問題,提出并設(shè)計(jì)了基于最大生存周期的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)融合算法。該算法將整個(gè)網(wǎng)絡(luò)中的節(jié)點(diǎn)分成多個(gè)簇,并根據(jù)節(jié)點(diǎn)的傳輸范圍,將每個(gè)簇中的節(jié)點(diǎn)均勻分布,每個(gè)節(jié)點(diǎn)根據(jù)自己的本地信息和剩余能量選擇通信方式向簇頭節(jié)點(diǎn)傳輸數(shù)據(jù),從而形成傳輸數(shù)據(jù)的最短路徑;并根據(jù)集中式TDMA(時(shí)分多址)調(diào)度模型,運(yùn)用基于微粒群的Pareto優(yōu)化方法,使得網(wǎng)絡(luò)在完成規(guī)定的信息傳輸時(shí)每個(gè)節(jié)點(diǎn)耗費(fèi)的平均時(shí)隙和平均能耗最優(yōu)。仿真結(jié)果表明,上述算法不但可以最大化網(wǎng)絡(luò)的生存時(shí)間,還可以有效的降低數(shù)據(jù)融合時(shí)間,減少網(wǎng)絡(luò)延時(shí)。
關(guān)鍵詞:無線傳感器網(wǎng)絡(luò);數(shù)據(jù)融合;能耗;延時(shí);時(shí)分多址;微粒群;生存時(shí)間;Pareto優(yōu)化
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)是由分布在檢測區(qū)域內(nèi)大量的靜止或移動(dòng)的傳感器組成,它們是通過自組織和多跳的方式形成的無線網(wǎng)絡(luò),可以協(xié)作地感知、采集和處理檢測區(qū)內(nèi)的各種信息,并把信息傳送給用戶終端,是一種新興的信息獲取和處理技術(shù)。WSN可應(yīng)用于惡劣環(huán)境和無人環(huán)境下信息的采集和傳送,同時(shí),它還具有布設(shè)靈活、成本低、范圍大等特點(diǎn),日益受到人們的關(guān)注,是當(dāng)前國際備受關(guān)注的研究熱點(diǎn)之一。
在無線傳感器網(wǎng)絡(luò)中,若各個(gè)節(jié)點(diǎn)在采集信息時(shí),采用單獨(dú)傳送信息到匯聚節(jié)點(diǎn)的方法,則會造成網(wǎng)絡(luò)過多能量的消耗和傳輸信息的頻繁沖突碰撞。因此,使用數(shù)據(jù)融合的方法來減少網(wǎng)絡(luò)中信息傳輸?shù)目偭?,從而達(dá)到節(jié)能和提高信息傳輸效率的目的。它不但可以采用一定的算法將傳感器節(jié)點(diǎn)采集到的大量原始數(shù)據(jù)進(jìn)行網(wǎng)內(nèi)處理,去除其中的冗余信息,而且還可以在融合前減少匯聚節(jié)點(diǎn)等待非匯聚節(jié)點(diǎn)信息
傳輸?shù)臅r(shí)間,減少網(wǎng)絡(luò)中數(shù)據(jù)融合的延時(shí)時(shí)間。
1 無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)融合算法
1.1 數(shù)據(jù)融合概念的描述
在無線傳感器網(wǎng)絡(luò)中,數(shù)據(jù)融合是在一定的準(zhǔn)則下對按時(shí)間順序獲得的若干傳感器節(jié)點(diǎn)的檢測信息進(jìn)行自動(dòng)分析、融合,以完成所需要的估計(jì)任務(wù)和決策進(jìn)行的信息處理過程。
1.2 節(jié)點(diǎn)剩余能量的計(jì)算
假定節(jié)點(diǎn)的初始能量為Er,并且在T1時(shí)刻之前,網(wǎng)絡(luò)分別進(jìn)行了n1次、n2次的信息發(fā)送和接收,則節(jié)點(diǎn)i存T1時(shí)刻的剩余能量可用公式(1)表示
2 低功耗無線傳感器網(wǎng)絡(luò)數(shù)據(jù)融合算法
2.1 節(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)
傳感器節(jié)點(diǎn)i需要維護(hù)的信息包括:1)簇頭節(jié)點(diǎn)Pi;2)節(jié)點(diǎn)的剩余能量標(biāo)志位Hi:設(shè)置能量閾值ST,若節(jié)點(diǎn)i剩余能量值為Si,當(dāng)Si<ST時(shí),則置Hi=0,并通知鄰節(jié)點(diǎn)不再向i發(fā)送信息;否則置Hi=1,可以進(jìn)行下一次信息的接收或者發(fā)送。
2.2 算法描述
假設(shè)在檢測區(qū)域內(nèi)存在多個(gè)傳感器節(jié)點(diǎn),我們將其分為多個(gè)簇。而后根據(jù)各個(gè)傳感器節(jié)點(diǎn)的傳輸距離,對每個(gè)簇內(nèi)的節(jié)點(diǎn)進(jìn)行均勻布置,如圖1所示。
首先,根據(jù)網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的自身信息來決定各個(gè)簇頭節(jié)點(diǎn),而后由它們來啟動(dòng)數(shù)據(jù)融合算法。由于網(wǎng)絡(luò)中各個(gè)簇頭節(jié)點(diǎn)的選取都取決于自身的信息,因而會導(dǎo)致網(wǎng)絡(luò)的結(jié)構(gòu)和每個(gè)節(jié)點(diǎn)的位置處于不斷變化之中,若選取幾個(gè)固定的節(jié)點(diǎn)勢必會造成較大時(shí)間延時(shí)和能量消耗。基于上述原因,為了保證每次選取的初始節(jié)點(diǎn)不同,應(yīng)該選擇距離基站最遠(yuǎn)的節(jié)點(diǎn)作為初始節(jié)點(diǎn),由它們啟動(dòng)融合算法,從而最短化簇頭節(jié)點(diǎn)到基站的距離,降低數(shù)據(jù)融合的延時(shí)和能耗,最大化網(wǎng)絡(luò)的生存周期。
每個(gè)簇中數(shù)據(jù)傳輸?shù)倪^程為:首先,簇頭節(jié)點(diǎn)檢測自身的剩余能量Si,若Si>ST,置Hi=1,并向所有可到達(dá)的傳感器節(jié)點(diǎn)發(fā)布自己的位置信,否則簇頭節(jié)點(diǎn)廣播信息使得其他節(jié)點(diǎn)進(jìn)入休眠狀態(tài)。我們假設(shè)簇頭節(jié)點(diǎn)的剩余能量Si>ST,則簇頭節(jié)點(diǎn)向非簇頭節(jié)點(diǎn)廣播自己的位置信息,非簇頭節(jié)點(diǎn)i在接收到這一信息后,判斷自己到簇頭節(jié)點(diǎn)的最小跳數(shù)和距離其最近的節(jié)點(diǎn)i的剩余能量,若其剩余能量Si大于能量閥值ST,且到簇頭節(jié)點(diǎn)的跳數(shù)小于節(jié)點(diǎn)i到簇頭的跳數(shù),則節(jié)點(diǎn)i選擇節(jié)點(diǎn)j作為父節(jié)點(diǎn),并向父節(jié)點(diǎn)j發(fā)送加入請求,否則置Hj=0、Fj=0,告訴鄰近的節(jié)點(diǎn)不要再向j發(fā)送信息,并使自己進(jìn)入長期休眠狀態(tài),而后節(jié)點(diǎn)i重復(fù)上述過程,直到選出父節(jié)點(diǎn)為止。
如圖1,簇頭節(jié)點(diǎn)9首先啟動(dòng)運(yùn)算并檢測自身的剩余能量值S9,若S9<ST,則置H9=0,并向其它節(jié)點(diǎn)廣播信息,使其它節(jié)點(diǎn)進(jìn)入休眠狀態(tài);若S9>ST,則置H9=1,而后簇頭節(jié)點(diǎn)9把自己所在的位置告訴鄰近的非簇頭節(jié)點(diǎn),由它們自己判斷到簇頭節(jié)點(diǎn)9的最小跳數(shù)和剩余能量,并把信息反饋給簇頭節(jié)點(diǎn)9,由其選擇那些非簇頭節(jié)點(diǎn)可以加入其為簇頭節(jié)點(diǎn)的簇內(nèi)。圖1中,節(jié)點(diǎn)1判斷自己到簇頭節(jié)點(diǎn)9的跳數(shù)為4跳,且距離其最近的非簇頭節(jié)點(diǎn)4的剩余能量為S4,雖然節(jié)點(diǎn)4距簇頭節(jié)點(diǎn)最小跳數(shù)為3跳小于節(jié)點(diǎn)1到簇頭節(jié)點(diǎn)的跳數(shù),但是由于S4小于ST,節(jié)點(diǎn)4仍不能作為節(jié)點(diǎn)1的父節(jié)點(diǎn),而后繼續(xù)判斷距離簇頭節(jié)點(diǎn)9較遠(yuǎn)但到簇頭節(jié)點(diǎn)9的跳數(shù)仍為3跳的節(jié)點(diǎn)5的剩余能量,由于S5大于ST,所以節(jié)點(diǎn)1選擇節(jié)點(diǎn)5作為父節(jié)點(diǎn),同理,5的父節(jié)點(diǎn)為7,7的父節(jié)點(diǎn)點(diǎn)為8,8的父節(jié)點(diǎn)為簇頭節(jié)點(diǎn)9,至此一個(gè)簇建立完畢。
2.3 時(shí)隙分配方案
節(jié)點(diǎn)在信息傳輸?shù)倪^程中,可能存在空閑偵聽、傳輸碰撞等現(xiàn)象,從而導(dǎo)致傳感器網(wǎng)絡(luò)在進(jìn)行信道訪問時(shí)存在較大的時(shí)延和能量消耗,因此設(shè)計(jì)了一種新的TDMA調(diào)度方案,并運(yùn)用基于微粒群的Pareto(簡稱PAPSO)優(yōu)化方法,使得無線傳感器網(wǎng)絡(luò)在完成規(guī)定的信息傳輸任務(wù)時(shí)每個(gè)節(jié)點(diǎn)的平均時(shí)隙和平均能耗最優(yōu)。
2.3.1 優(yōu)化目標(biāo)
把初始節(jié)點(diǎn)傳送的信息在經(jīng)過單跳或多跳通信方式到簇頭節(jié)點(diǎn)的過程,稱為一個(gè)事件,信息每次跳轉(zhuǎn)傳輸?shù)倪^程稱為一個(gè)子事件,一個(gè)子事件對應(yīng)一個(gè)執(zhí)行節(jié)點(diǎn),并占用一個(gè)時(shí)隙,則無線傳感器網(wǎng)絡(luò)完成指定任務(wù)每個(gè)節(jié)點(diǎn)的平均時(shí)隙和平均能耗分別以f1和f2表達(dá),如下所示。
完成此次傳輸事件時(shí)的總接收時(shí)間。通過公式(2)和(3)可知,通過減少網(wǎng)絡(luò)中各個(gè)環(huán)節(jié)的切換能量和時(shí)隙的個(gè)數(shù),就可以最大化網(wǎng)絡(luò)的生存周期。
2.3.2 個(gè)體的編碼與解碼規(guī)則
要優(yōu)化TDMA分配,首先應(yīng)找到事件與問題間的對應(yīng)關(guān)系,而后在解的空間內(nèi)搜索最優(yōu)解,由2.3.1節(jié)可知,把信息傳輸?shù)倪^程看作是由一系列子事件組成的,因此一個(gè)事件可被記為(事件編號,順序號),其中,事件編號是指該子事件屬于那個(gè)事件,順序號則指信息傳輸過程中每一個(gè)子事件執(zhí)行的順序編號。
綜上,可以將每個(gè)無沖突的事件按一個(gè)順序進(jìn)行編碼,繼而按順序給它們分配時(shí)隙。這就是由編碼規(guī)則得到的個(gè)體與TDMA調(diào)度方案之間的映射關(guān)系的解碼規(guī)則。
2.3.3 基本粒子群算法
粒子群算法最早是由Kenney和Eberhart在1995年提出的,是一種新的模仿鳥類群體行動(dòng)的自能優(yōu)化方法,縮寫為“PSO”,它與遺傳算法一樣,是從隨機(jī)解出發(fā)的,可通過適度評價(jià)解的好壞,并通過迭代的方法尋找最優(yōu)解。PSO迭代方程如下:
其中:“i”表示微粒:“d”表示微粒的第d維;“t”表示第t代;Vid表示微粒i的速度;Xid表示微粒i的位置;Pid表示微粒i的個(gè)體極值(p_best),Pgl表示所有微粒i全局極值(g_best);W表示慣性權(quán)重;C1、C2表示學(xué)習(xí)因子;r1、r2表示介于(0,1)之間的隨機(jī)數(shù)。
2.3.4 多目標(biāo)微粒群算法解的評價(jià)機(jī)制
在多目標(biāo)優(yōu)化問題中,可以用多目標(biāo)的加權(quán)和方法和Pareto優(yōu)化方法作為評價(jià)機(jī)制為微粒群的搜索方向提供依據(jù)。
PSO是粒子通過跟蹤兩個(gè)“極值”來為自己提供搜索方向的,一個(gè)是粒子本身的p_best,另一個(gè)則是g_best,因此使用粒子的p_best和g_best相結(jié)合的方式對多目標(biāo)解進(jìn)行評價(jià)。
1)粒子自身p_best的評價(jià)
2)全局最優(yōu)解的評價(jià)
TDMA調(diào)度中是以任務(wù)完成時(shí)每個(gè)節(jié)點(diǎn)的平均時(shí)隙數(shù)和平均能耗最優(yōu)作為指的標(biāo),但由于在一定的任務(wù)條件下,要求每個(gè)節(jié)點(diǎn)的平均能耗和平均時(shí)隙最優(yōu),即是要求節(jié)點(diǎn)工作的連續(xù)性很好,即是要求父節(jié)點(diǎn)應(yīng)接收完所有子節(jié)點(diǎn)傳送的信息后,才進(jìn)行下一次信息跳轉(zhuǎn)的傳輸,這樣必會增加節(jié)點(diǎn)的平均時(shí)隙數(shù),反之亦然。由于任務(wù)完成時(shí)每個(gè)節(jié)點(diǎn)的平均時(shí)隙數(shù)和平均能耗不能同時(shí)達(dá)到最優(yōu),加權(quán)和方法很難完全評價(jià)解的好壞,因此,引入Pareto優(yōu)化方法,來評價(jià)解的好壞。對于一個(gè)最小化M個(gè)目標(biāo)的問題,使用支配概念,其定義如下:minF=[f1,f2,…,fM],若要X1支配X2,則在解空間內(nèi)必存在任意兩個(gè)解X1、X2滿足如下條件:
①在解空間內(nèi),一定存在一個(gè)X2比X1大,即fj(X1)≯fj(X2),j∈(1,2,…,M);
②X2一定有一個(gè)在目標(biāo)上是嚴(yán)格比X1大的,即fj(X1)<fj(X2)。
如果解不滿足①和②中的任意一條,則稱X1不支配X2,即X1是X2的非支配解,所有的非支配解構(gòu)成非支配解集,若非支配解的求取是在整個(gè)解空間內(nèi)進(jìn)行時(shí),則稱該非支配解為Pareto最優(yōu)解。
2.3.5 PAPSO優(yōu)化方法實(shí)施步驟
PAPSO實(shí)施步驟:
1)對粒子進(jìn)行初始化,即設(shè)定粒子的個(gè)數(shù)為np,迭代次數(shù)Nmax,產(chǎn)生np個(gè)隨機(jī)初始值X;并初始化W、C1、C2、和p_best的值,并把當(dāng)前的粒子位置設(shè)置為p_best;用評價(jià)機(jī)制對粒子的p_best進(jìn)行評價(jià),找到g_best,而后計(jì)算出目標(biāo)函數(shù)F中的每個(gè)目標(biāo)值,用Pareto優(yōu)化概念,找出作用于整個(gè)解空間的非支配解,從而初步形成一個(gè)Pareto解集。
2)進(jìn)行迭代運(yùn)算,用式(4)和式(5)產(chǎn)生下一代微粒群。
3)應(yīng)用評價(jià)機(jī)制對X(j)和p_best(j)進(jìn)行評價(jià);如果f(X(j))>f(p_best(j)),則p_best(j)=X(j);更新所有個(gè)體的最優(yōu)位置和全局的最優(yōu)位;應(yīng)用支配的概念,找出非支配解集,進(jìn)而找出Pareto解集。
4)滿足迭代條件(有此以迭代代數(shù)作為條件),輸出最后一代的種群個(gè)體(即Pareto最優(yōu)解集);否則,執(zhí)行步驟3)。
3 仿真及其分析
在一個(gè)二維環(huán)境中進(jìn)行試驗(yàn),169個(gè)節(jié)點(diǎn)被均勻的放置在600 m2的網(wǎng)格區(qū)域中。
仿真試驗(yàn)中,每個(gè)節(jié)點(diǎn)的信道容量為500kbs,并在可以形成鏈接的通信范圍內(nèi),設(shè)定通信距離為15m。節(jié)點(diǎn)活動(dòng)狀態(tài)和睡眠狀態(tài)的切換時(shí)間是470μs。以一個(gè)數(shù)據(jù)包的傳輸時(shí)間和可能的時(shí)鐘偏移時(shí)間之和作為TDMA時(shí)隙的大小。發(fā)送和接收一個(gè)數(shù)據(jù)包所需的功率是81mW和180mW。
基于上述的網(wǎng)絡(luò)模型,分別對LEACH、DEEC及新算法進(jìn)行了仿真,重點(diǎn)比較和分析了3種路由算法運(yùn)行過程中網(wǎng)絡(luò)的生命周期。
圖2為運(yùn)行過程中整個(gè)網(wǎng)絡(luò)生命周期對比的仿真。由圖可見,如果一個(gè)網(wǎng)絡(luò)中節(jié)點(diǎn)的初始數(shù)目相同,新算法可以使得網(wǎng)絡(luò)的生命周期最長,LEACH算法在大約40%的節(jié)點(diǎn)死亡之前,其性能比DEEC算法差,而后它的性能要優(yōu)于DEEC算法。由于新算法選擇簇頭時(shí)考慮了節(jié)點(diǎn)的剩余能量,當(dāng)節(jié)點(diǎn)剩余能量較小的時(shí)候,將選擇距離其最近的節(jié)點(diǎn)作為簇頭,繼續(xù)進(jìn)行信息的傳輸,且由于選擇了最短傳速路徑和最優(yōu)了時(shí)隙分配方案,所以在完成傳輸任務(wù)是每個(gè)節(jié)點(diǎn)消耗的平均能量和平均時(shí)隙最優(yōu),最大化了網(wǎng)絡(luò)的生存周期。
仿真實(shí)驗(yàn)還比較了NBSA算法和PAPSO優(yōu)化方法用于TDMA調(diào)度方案時(shí),網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)在完成規(guī)定任務(wù)時(shí)的平均能耗和平均時(shí)隙。在多目標(biāo)粒子群Pareto優(yōu)化方法中,取C1、C2和W分別2.0和1.5,微粒群的個(gè)數(shù)為40,迭代次數(shù)為600。
從表1不難看出PAPS01雖然平均能耗是7個(gè)中最差的,但平均時(shí)隙卻是7個(gè)中最少的,而PAPS07則與PAPS01相反,平均能耗雖是7個(gè)中最少的,但平均時(shí)隙卻是最多的。它們之間分還布著其余5個(gè)解。
由于這7個(gè)解的是均勻分布的,因此,目標(biāo)f1、f2的中間解為PAPS04。依Pareto優(yōu)化概念對各算法的結(jié)果進(jìn)行分析,由圖3顯見,PAPSO(1—4)對NBSA構(gòu)成支配??梢姸嗄繕?biāo)粒子群Pareto優(yōu)化方法能得到比NBSA更好的調(diào)度結(jié)果。
4 結(jié)論
在無線傳感器網(wǎng)絡(luò)中,為減少信息傳輸過程中的時(shí)延和能耗,提出了基于最大生存周期的數(shù)據(jù)融合算法,并結(jié)合對TDMA調(diào)度,提出了相對應(yīng)的PSO—Pareto優(yōu)化方法,從而在信息傳輸?shù)穆窂胶兔總€(gè)節(jié)點(diǎn)完成規(guī)定任務(wù)所需的平均時(shí)隙、平均能耗兩個(gè)方面論述了減少網(wǎng)絡(luò)的時(shí)延和能耗,最大化了網(wǎng)絡(luò)的生存周期和最小化了網(wǎng)絡(luò)的延時(shí)。