基于wsns分布式節點故障診斷算法的研究_第1頁
基于wsns分布式節點故障診斷算法的研究_第2頁
基于wsns分布式節點故障診斷算法的研究_第3頁
基于wsns分布式節點故障診斷算法的研究_第4頁
基于wsns分布式節點故障診斷算法的研究_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于wsns分布式節點故障診斷算法的研究

0wsns節點故障診斷無線傳感器網絡(wtss)廣泛應用于環境評估、農業生產、醫療、智能家居、軍事和其他領域。它通常用于檢測溫度、濕度、壓力和其他環境數據。WSNs節點會出現各種故障,降低或失去監控功能,造成嚴重的經濟損失。通過故障診斷,它能及時地、正確地對各種異常狀態或故障狀態給出診斷,預防或消除故障,提高網絡運行的可靠性。WSNs節點故障也可以分為兩類:硬故障和軟故障。硬故障是指傳感器節點在部署或長時間的工作中電源模塊、CPU、傳感器、通信模塊發生損壞以至于產生不可自行修復的故障;軟故障是指節點雖然能夠繼續工作并與其他節點通信,但節點所感知或發送的信息不準確,影響整個網絡的監測效果。典型的WSNs節點故障診斷算法有:分布式故障診斷(distributedfaultdetection,DFD),加權中值故障診斷(wei-ghtedmedianfaultdetection),分布式Bayesian算法(distributedbayesianalgorithms)。DFD算法對每個節點及其鄰節點都進行一次數據融合,存在大量的冗余計算,節點自身的感知、通信或是自身的數據融合都會耗費大量的能量,進行故障檢測必須盡可能地減少功耗。文獻提出了一種用時間冗余技術來診斷傳感器網絡的通信和故障,但是容易在數據傳輸的過程中出現錯誤。文獻建立了一個WSNs節點應用神經網絡和粗糙集故障診斷方法,算法復雜性大,不適合節點數量大、耦合密切的網絡。本文針對DFD節點故障檢測算法計算冗余量大的缺點,提出適合故障檢測的分簇算法,各個簇可以選取優化的分割閾值,提高診斷精度和效率。1wsns節點分簇WSNs中的拓撲控制技術主要可以分為2個方面:層次性拓撲結構和節點功率控制。在分層路由協議中,網絡一般是由多個簇組成,節點分為兩類:終端節點和簇頭節點。處于同一簇內的終端節點和簇頭節點共同維護所在簇的路由信息。簇頭節點負責所管簇內的拓撲信息的壓縮和摘要處理。在保證整個網絡的聯通度的情況下還會存在一些休眠節點,整個簇內的節點通過一跳或多跳向簇頭節點匯聚信息。比較有代表性的算法有GAF,LEACH(lowenergyadaptiveclusteringhierarchy),HEED,TEEN等。WSNs節點分簇的基本要求:1)一個簇只能有一個簇頭,簇內的所有終端節點都能和簇頭節點通過一跳或多跳和簇頭節點進行通信;2)簇頭節點和簇頭節點之間不互為鄰居;3)簇頭和簇頭之間通過網關節點鏈接。圖1描述了WSNs分簇的方式,簇頭節點可以接收該簇內所有的終端節點的信息,值得指出的是其中還包括一些超過其通信范圍的節點,這些節點通過多跳的方式把信息傳送給簇頭節點。2節點si診斷WSNsDFD節點故障診斷算法是由ChenJinran等人提出的,針對網絡中鄰節點測量數據的比較測試進行故障診斷的方法。對于隨機分布在一定區域內的WSNs節點,每個節點都會實時的檢測各種數據,例如:溫度、壓力、濕度等。由于長時間的工作,節點很容易發生異常,對于不能去實地檢測或是檢測的工作量比較大的地方,通過檢測得到的數據進行故障分析是一個很好的辦法。DFD節點故障診斷算法的診斷過程為:對于一個該區域中的節點Si和它的某一個鄰節點Sj它們都會獲取到不同的感知數據,因為它們是相鄰節點,距離很近,在某一時刻t所感知的數據也應該比較接近,其差dtij不超過閾值;并且在另一時刻t+1,兩相鄰節點感知的數據差dtij+1和dtij的差值Δdtij也不會超過另一閾值θ2。如果以上2個條件都滿足,那么,可以初步斷定診斷的2個節點都為正常節點,令測試結果Cij為0,只要有一條沒有滿足,那么,Si或Sj之中至少有一個發生了故障,令測試結果Cij為1。對于節點Si可獲得它與其所有的鄰節點的測試結果,如果與Si的測試結果為1的節點數大于鄰節點數目的一半,則認為節點Si的初步診斷狀態為可能故障,否則,認為是可能正常。對于網絡中所有節點進行遍歷后可獲得每個節點的初步診斷狀態。對于初步的診斷狀態,并不能準確地確定節點的真正工作狀態,根據Cij得到的診斷結果是不準確的。所以,對節點Si進行診斷時需要進行如下考慮:如果節點Si的所有鄰節點診斷狀態為可能正常的節點數減去與Si減去測試結果為1的節點數,結果大于或等于Si的所有鄰節點數的一半,那么認為最終的診斷結果為正常,反之,Si的診斷結果為故障。假設每一個節點的故障率為p,對于任意節點Si通過節點自身的通信半徑檢測,尋找其鄰節點的節點標號和節點數目,以此計算出平均鄰居節點數k表示所有節點的鄰節點求平均數然后取整。對節點的故障檢測可能分為以下4種情況:實際狀態為正常的節點診斷為正常節點、實際狀態為正常的節點診斷為故障節點、實際狀態為故障的節點診斷為正常的節點、實際狀態為故障的節點診斷為故障的節點。令以上4種情況的概率分別為Pg/g,Pglf,Pflg,Pflf。它們的計算方法為DFD節點故障診斷的精度為由公式(5)可以計算出整個網絡的診斷精度,隨著節點故障率的提升,整個網絡的故障節點也會增多,發生故障的節點可能會提供更多的錯誤信息,這樣會導致節點診斷精度的下降。3簇頭節點的選取要應用分簇的節點故障診斷算法進行WSNs的故障檢測,必須要建立適合DFD節點故障診斷算法的分簇方法,本文中采取了一種適合DFD算法的改進LEACH的分簇算法并將其命名為LEACH-DFD算法。DFD節點故障診斷算法是根據鄰居節點之間的數據檢測進行診斷,所以,診斷時節點間的物理位置對診斷有著重要的影響,將節點完成分簇后,同一簇內的節點根據簇頭節點來完成故障信息融合。LEACH算法給了一個“round”的概念,在每一輪都有簇建立和穩定運行2個階段。在簇建立階段,會自適應的進行分簇,選出較為均勻分布的簇頭節點,然后就會進入穩定運行階段進行各種數據的傳輸和處理。本文中改進LEACH算法的簇形成階段,提出一種適合DFD故障檢測的分簇算法LEACH-DFD。每個節點都要生成0~1之間的隨機數,如果生成的隨機數小于閾值T(n),那么該節點就成為簇頭。閾值T(n)的大小由公式(6)確定式中p為網絡中簇頭所占的比例,r為目前進行的輪數,G為在過去的1/p輪中沒有成為簇頭的節點且是在以往輪故障監測中確定為正常的節點集合。在節點被選為簇頭后,就向外廣播信息,告知其他節點自身的簇頭地位。終端節點接收到廣播信息后,根據廣播信息信號的強弱決定要加入的簇,并向簇頭發送加入該簇的信息。簇頭節點接收到請求信息后,根據TDMA方式與簇內節點進行通信。DFD節點故障診斷中是根據中心節點的數據來進行檢測,所以,簇頭節點的數據必須具有較高的置信度,假如:簇頭節點的數據是錯誤的,那么,診斷精度勢必受到很大影響。所以,選定簇頭的時候一定要確保簇頭節點是正常節點,假如根據本文的分簇算法分簇后,根據簇頭根據DFD算法檢測出過多的節點數據異常,那么就極可能是簇頭自身發生異常,所以要迅速進入下一輪重新分簇,直到選出的所有簇頭節點都為正常節點。具體的流程圖如圖2。在某一時刻某一區域內,節點所提供的數據可能會有以下4種情況:正常的節點提供正常的數據,正常的節點提供錯誤的數據,故障的節點提供正常的數據,故障的節點提供錯誤的數據。第二,第四種情況是指在某些區域,由于該區域本身的特殊性數據的跳動性比較大,這可能是因為該區域內環境惡劣,測得的數據之間相差較大,這種情況下可以引入圖像分割中的多閾值分割概念,根據先驗知識庫,對各個區域選取動態閾值,這樣可以有效的提高診斷精度。分簇式節點故障診斷算法步驟如下:1)應用LEACH-DFD算法完成分簇。2)分簇完之后進行一下故障檢測,確定所有簇頭都是正常節點,如果不是重新進行分簇。3)計算第一個簇頭與該簇內所有節點的數據差dt1ij。如果dt1ij>θ11,則Cij1=1,然后計算下一個節點。如果dt1ij≤θ11,然后就計算Δdt1ij,如果Δdt1ij>θ12,則Cij1=1。然后計算下一個節點。4)由于簇頭節點是經過檢測被證明是正常的節點,可以直接通過合適的閾值來判定在該簇頭節點所屬簇內的所有終端節點的工作狀態。5)診斷完第1個簇可以順序檢測完其余剩下的所有簇,完成對整個網絡的檢測。6)經過穩定工作階段后,整個網絡將回到第1步重新分簇,以達到均勻消耗能量的效果,避免簇頭節點不僅要進行故障檢測也要與匯聚節點進行通信消耗太多能量而過早死亡的熱點效應。4dfd節點故障診斷算法的改進本文應用基于ZigBee無線通信協議的傳感器節點進行實驗,場景如下:在一個環境較為惡劣的目標區域內隨機部署了50個不可移動節點用以檢測該區域內的溫度值,節點帶有溫度傳感器、ZigBee無線通信模塊、電源模塊和低功耗MCU。針對前面的算法描述,對檢測到得溫度數據進行分析,由于在原DFD節點故障診斷算法中,要對所有分布在目標區域的節點進行遍歷,所以產生了大量的冗余計算,舉例說明:假如節點1和節點6是鄰居節點,在對節點1進行故障檢測時,要和節點6進行一次比較,在對節點6進行故障檢測時,又要對節點1進行一次比較。對于密集分布的網絡節點,這種算法產生了大量的冗余計算,如果多個采樣時間進行檢測,那么勢必產生大量的計算,浪費能源。而應用改進的分簇式節點故障診斷算法,用于故障檢測只需簇頭節點就能完成對其簇的診斷,避免了計算的冗余,減少了大量的計算,也相應的減少了對節點能源的使用,而且只用簇頭進行診斷,避免了很多冗余信息所造成的誤判。本實驗中采用節點的無線通信模塊發送電路和接收電路消耗的能量均為50nJ/bit。節點的初始能量為0.5J,且不可移動。發送信號的放大器能量功耗為100nJ/bit/m2,每輪每個節點的數據包為450bit。此外,無線通信時,兩節點之間的距離也會對功耗產生較大的影響。當節點間的距離較大時適用于多徑衰落信道模型,如公式(7);兩節點通信距離較遠時適用于自由空間信道模型,如公式(8)式中λ為發送或接收數據包的比特數,E為發送或接收電路所損耗的能量,是傳輸的距離,ε為發送信號時放大器的功率,σ為無線信號受外界影響的常量,本文中選2。本文根據節點自身性能和所選目標區域大小,使用后者作為本文的發送信號功耗模型。由于本文中方法減少了大量的冗余計算,所以,節點消耗的能量有了較大的降低,具體如圖3。從圖3中可以看出:分簇式節點故障診斷算法比DFD節點故障診斷算法所消耗的能量有了顯著的減少,因為DFD算法與節點分布的狀態有著較大的關系,所以進行了五次隨機分布,從結果中可以看出:分簇式算法降低了很多能耗,相應的可以延長網絡壽命。除了消耗能量的約簡,診斷精度也是WSNs節點故障診斷的一個重要的影響因素,本文選取了優化的閾值矩陣,每一簇都選取不同的閾值。閾值的選取是由先驗知識獲得,對各個簇使用有效的閾值進行故障檢測。原來DFD節點故障算法使用全局的靜態閾值,對于某些局部區域會達不到較好的分類效果,所以,分簇之后整個網絡的診斷精度也有了一定的改進,結果如圖4。從圖4中可以看出:隨著節點的故障率的增高,DFD節點故障診斷的診斷精度受錯誤節點數據的影響就更大,診斷精度會隨之降低。分簇式DFD算法由于在計算時先是選定了正確地節點作為簇頭節點,并且每一簇都選用了更加優化的局部分割閾值,診斷精度有了顯著的提高,受節點故障率的影響也降低很多。5節點故障診

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論