




摘要:覆蓋控制問題是無線傳感器網絡研究的基本問題之一。該文根據無線傳感器網絡中的覆蓋控制原理,設計并實現了一個仿真平臺,然后選取覆蓋控制算法中的一個典型算法作為研究對象,在該平臺上實現了該算法,研究其在定位存在誤差情況下的性能變化情況。
關鍵詞:無線傳感器網絡;節點定位誤差;覆蓋算法;性能評價
中圖分類號:TP391.9? ? 文獻標識碼:A
文章編號:1009-3044(2022)07-0036-02
1 概述(Introduction)
無線傳感器網絡測量系統綜合了現代傳感器技術,微電子技術,通訊技術,嵌入式計算技術和分布式信息處理技術等多個學科,其應用環境通常是由價格便宜的傳感器節點組成的,每個節點都能夠采集、存儲和處理環境信息,并且能和鄰居節點通過無線鏈路保持通信[1]。覆蓋問題是無線傳感器網絡配置首先面臨的基本問題,因為傳感器節點可能任意分布在配置區域,它反映了一個無線傳感器網絡在某區域被監測和跟蹤的狀況[2]。
2 仿真算法(Simulation algorithm)
根據無線傳感器網絡覆蓋控制的算法[3],給出4種可變因素:感知區域的長和寬、節點數、節點的感知半徑、誤差率,仿真程序算法流程可以用下面的順序圖1來表示:
3 仿真程序模塊設計(Simulation program module design)
這是Visual C++中顯示的程序工作空間,是一個基于對話框的應用程序,在Sensor這個工程中有Coverage,space兩個結構體,CSensor這個節點類,節點的許多參數都在這個類中設置[4],圖2是更為詳細的結構體和類的內部成員:
下表是CSensorDlg中主要的成員函數,簡單地介紹一下:
把每個節點與鄰居節點相交的弧度范圍都計算出來,用結構體Coverage來保存,接下來最重要的一件事是:把這些弧度范圍排序合并,具體的實現過程是在程序中的Merge(space *dest, space *source),其思想就是把這些小的弧度范圍合并,求出大的合集。當然在函數的實現過程中需要對多種情況進行處理,需要考慮周全才能寫出正確的程序。
4 仿真程序界面設計(Simulation program interface design)
圖3是用MFC生成的對話框窗口的設置部分,其中的單元小方格像素是用來計算覆蓋面積劃分的單元長度,通常情況下為1個像素[5]。
仿真程序可以設置和顯示這些數據,查看睡眠情況按鈕是在節點定位精確時的睡眠顯示,按鈕右邊可睡眠節點數則顯示當前節點分布圖中能夠睡眠的節點數,在覆蓋率的變化情況中會顯示精確時的睡眠覆蓋面積,在存在誤差處可以設置坐標誤差,通常是小于1的,比如誤差10%,再點擊設置按鈕就能計算誤差后的可睡眠節點數,存在誤差時的睡眠覆蓋面積和此次的覆蓋率,圖3是個有設置的示例:
5 仿真試驗(Simulation Test)
應用仿真程序進行數據分析,得出相應的曲線圖,給出了4種可變因素:誤差率,感知區域的長和寬,節點數,節點的感知半徑,然后對各種情況分別討論。圖4的曲線圖是在300*300的區域中,分布100個節點,節點的感知半徑為50的情況下,讓節點在定位不精確時縮小尋找鄰居節點的范圍,藍色的曲線是有誤差減小處理之后的,明顯比存在誤差沒有處理的曲線覆蓋率要高,而且隨著誤差率的增大,兩支曲線上下相差的距離越大。這樣覆蓋率的提高是有代價的,能夠睡眠的節點是越來越少了,就會產生不必要的能源使用。
6 結論和意義(Conclusion and significance)
該文用了仿真的思想,通過Visual C++開發工具,對無線傳感器節點的分布,生成和覆蓋等問題進行了模擬,節點的分布是隨機的,用了隨機生成偽隨機數的方法,判斷節點的睡眠順序是多次睡眠求的平均值。
四個可變因素:誤差率,感知區域的長和寬,節點數,節點的感知半徑,這些參數的賦值不是按照實際中大小賦值的,而是按照顯示比例,覆蓋的充分程度賦值的,具有研究參考意義。
本仿真程序只是從研究的角度來分析說明了曲線圖的走勢和原因,在實際應用中仍需要仔細分析。總的來說,是通過軟件來簡單地模擬無線傳感器網絡,仍然存在著其他各種問題和潛在問題,在今后的研究過程中需要加大研究的深度和范圍。
參考文獻:
[1] 劉偉榮.物聯網與無線傳感器網絡[M].2版.北京:電子工業出版社,2021.
[2] 孫利民.無線傳感器網絡[M].北京:清華大學出版社,2005.
[3] Chi-Fu Huang, Yu-Chee Tseng.The coverage problem in a wireless sensor network[J].Mobile Networks and Applications,2005,10(4):519-528.
[4] 張錚,孫寶山,周天立.Windows程序設計[M].3版.北京:人民郵電出版社,2015.
[5] 仇谷烽.基于Visual C++的MFC編程/高等學校教材[M].北京:清華大學出版社,2015.
【通聯編輯:梁書】
收稿日期:2021-09-26
作者簡介:王櫻錦(1986—),女,本科,工程師,研究領域為軟件開發。