



摘 要:無線傳感器網絡是一種基于無線通信技術的分布式傳感器網絡,廣泛應用于環境監測、智能家居、智能交通等領域。在WSN中,節點的位置信息對于實現很多應用非常重要。因此,WSN定位算法是WSN研究的重要內容之一。鑒于此,提出了一種基于RSSI與蛇優化算法的WSN定位研究,利用節點之間的信號強度和蛇優化算法來實現節點的定位,最后進行誤差分析。在實驗環境中進行了對比實驗,結果表明,本文提出的方法相比于三邊測量定位算法,具有更高的準確度。
關鍵詞:無線傳感器網絡;RSSI;WSN定位算法;定位誤差;蛇優化算法;物聯網
中圖分類號:TP391 文獻標識碼:A 文章編號:2095-1302(2024)05-000-03
0 引 言
隨著無線通信技術的不斷發展,無線傳感器網絡(Wireless Sensor Network, WSN)已經成為了物聯網的重要組成部分[1-3]。WSN是由許多分布在空間中的節點組成的,這些節點可以進行環境監測、數據采集等任務。在WSN中,節點的位置信息對于實現很多應用非常重要,例如對于環境監測,需要知道每個節點的位置,以便能夠監測到環境中的污染源[4-6];對于智能家居,需要知道每個節點的位置,以便能夠根據人的位置來控制家庭設備[7]。因此,WSN定位算法是WSN研究的重要內容之一。
目前,WSN定位算法主要分為三類:基于距離的定位算法、基于角度的定位算法和基于信號強度的定位算法。其中,基于信號強度的定位算法是一種常見的方法。該算法通過測量節點之間的信號強度來計算節點之間的距離,從而實現節點的定位。由于該算法不需要額外的硬件設備,因此具有較低的成本和易于部署的優勢。
然而,基于信號強度的定位算法也存在一些問題,例如:信號強度受到多種因素的影響,節點之間的遮擋、干擾、衰減等。因此,需要對信號強度進行一定的處理,以提高定位精度。蛇優化算法(Snake Optimizer, SO)是一種基于自然界蛇行為的優化算法[8],該算法具有較強的全局搜索能力和快速收斂速度。本文提出了一種結合RSSI與蛇優化算法的WSN定位算法(RSSI-SO),利用節點之間的信號強度和蛇優化算法來實現節點的定位,以提高定位精度。
本文首先介紹基于信號強度的定位算法中的RSSI技術以及蛇優化算法,然后介紹蛇優化算法及其在WSN定位中的應用,最后描述實驗環境和過程,并對實驗結果進行分析和總結。
1 RSSI技術
在WSN中,節點之間的距離可以通過測量節點之間的信號強度來估計[9]。信號強度是指在傳輸過程中信號的功率強度,一般以接收信號強度指示(Received Signal Strength Indicator, RSSI)的形式進行測量。RSSI是一種基于無線信號接收功率的量化指標,其單位是dBm。RSSI的值越大,表示信號強度越大,信號傳輸距離也就越遠。在WSN定位算法中,通過測量節點之間的RSSI值,可以推算出節點之間的距離[10]。
在定位算法中,使用RSSI作為定位指標有很多優點。首先,RSSI可以直接從無線接收器獲取,不需要特殊的硬件設備或傳感器。其次,RSSI是一種低成本、易于實現的技術,可以廣泛應用于各種設備中。此外,RSSI還可以被用來進行目標檢測、路徑規劃、環境監測等。
然而,使用RSSI作為定位指標也有一些缺點。首先,RSSI的值很容易受到干擾,如建筑物、電器等都可能會影響信號強度。其次,RSSI在不同設備之間的計算方式可能不同,會影響精度和可靠性。最后,RSSI只能提供近似距離,而無法提供準確位置信息。
為了克服這些限制,研究者們提出了很多改進RSSI的方法。其中一種方法是將RSSI與其他傳感器數據融合,如加速度計、陀螺儀、磁力計等,以提高定位精度。另一種方法是使用機器學習算法,如KNN、神經網絡、決策樹等,來優化RSSI數據分析,以提高定位精度和魯棒性。
綜上所述,RSSI是一種在定位算法中常用的指標,它具有低成本、易于實現、直接獲取等優點。但是,由于受到干擾、計算方式不同、只提供近似距離等限制,研究者們正在嘗試通過融合其他傳感器、機器學習算法等方法來優化RSSI數據分析,以提高定位精度和魯棒性。
2 蛇優化算法
元啟發式算法(Metaheuristic Algorithms)是一種通過在不同問題上應用各種啟發式算法的通用技術,以解決復雜優化問題。與傳統的優化算法不同,元啟發式算法不試圖解析建模問題,而是通過迭代尋找解決方案的最優解或次優解。元啟發式算法通常基于一些基本的啟發式算法,如模擬退火、遺傳算法、禁忌搜索和粒子群優化等,并使用各種技術來組合這些基本算法,以產生更好的解決方案。元啟發式算法的優點在于其通用性和適應性,可以應用于許多問題領域,例如機器學習、圖像處理、自然語言處理、生物學、經濟學等等。同時,元啟發式算法還可以處理大規模和復雜的問題,因為它不受問題規模和復雜度的限制。
SO算法是一種基于蛇的生存習性而設計的元啟發式算法。它是由Hashim等人在2022年提出的,相較于其他優化算法,該算法具有以下特點:
(1)高效性:SO算法能夠在較短的時間內得到較優解,尤其是對于高維度的問題。
(2)收斂性好:SO算法能夠快速收斂到最優解,尤其是對于非凸、非連續和非線性的問題。
(3)魯棒性強:SO算法具有一定的魯棒性,能夠處理一些復雜的問題,如帶有約束條件和離散變量的優化問題等。
(4)可擴展性強:SO算法的模型結構簡單,易于實現和擴展,能夠適應各種問題。
(5)全局搜索能力強:SO算法能夠在較大的搜索空間中找到全局最優解,尤其是對于具有多個局部最優解的問題。
綜上所述,SO算法有著許多優勢,因此本文選擇此算法對結合RSSI的定位算法進行優化。
SO算法模擬了蛇在不同溫度和食物量下的生存行為,包括尋找食物、交配和吃掉現有的食物。作者將該算法分為初始化種群、劃分種群、評估溫度與食物量、勘探階段和開發階段。通過多次迭代運算,該算法能夠找到最好的種群個體,得到最優解。
2.1 初始化種群
隨機產生多個種群個體作為原始種群進行計算:
(1)
式中:r為[0, 1]間的隨機數;Xi為種群個體;Xmax和Xmin分別是優化問題取值范圍的上下邊界。
2.2 劃分種群
將種群平均劃分為雌雄兩個子種群:
(2)
(3)
式中:N為種群數量;Nm表示雄性數;Nf表示雌性數。
2.3 評估溫度和食物量
溫度的定義等式為:
(4)
式中:t為當前迭代次數;T為總迭代次數。
食物量的定義等式為:
(5)
式中,c1為常數,取0.5。
2.4 勘探階段
當Qlt;0.25時,蛇通過任意選擇的位置來搜索食物,然后更新位置,位置更新公式如下:
(6)
(7)
式中:Xi, m表示第i只雄性蛇的位置;Xi, f表示第i只雌性蛇的位置;Xrand, m表示隨機選擇的雄性蛇位置;Xrand, f表示隨機選擇的雌性蛇位置;Am為雄性蛇尋找食物的能力;Af為雌性蛇尋找食物的能力,計算方法為:
(8)
(9)
式中:frand, m為Xrand, m的適應度,fi, m為Xi, m的適應度;frand, f為Xrand, f的適應度,fi, f為Xi, f的適應度;c2為常數,取0.05。
2.5 開發階段
當Qgt;0.25且Tempgt;0.6時,蛇只尋找食物,位置更新公式為:
(10)
式中:c3為常數,取2;Xi, j為蛇的位置;Xfood為當前最優個體位置。
當Qgt;0.25且Templt;0.6時,蛇將會處于戰斗或交配模式。
(1)戰斗模式
(11)
(12)
式中:Xbest, m和Xbest, f分別為雄性和雌性群體中最優個體的位置;FM和FF分別為雄性蛇和雌性蛇的作戰能力,FM和FF分別由以下公式計算:
(13)
(14)
式中:fbest, f和fbest, m分別是雌性蛇和雄性蛇的最優適應度;fi為個體i的適應度。
(2)交配模式
(15)
(16)
式中:Mm表示雄性蛇的交配能力;Mf表示雌性蛇的交配能力,計算公式為:
(17)
(18)
式中:fi, m為第i個雄性個體的適應度;fi, f為第i個雌性個體的適應度。當蛇蛋被孵化時,會將種群最差的雄性和雌性個體進行隨機位置替換:
(19)
(20)
式中:Xworst, m表示雄性蛇種群中最差的個體;Xworst, f表示雌性蛇種群中最差的個體。
3 實驗過程及結果
本文在MATLAB R2022a平臺上對改進算法進行了仿真。設定錨節點個數為3,為便于仿真及驗證,實驗過程中采用等邊三角形的3個頂點作為錨節點,在三角形范圍內隨機生成50個節點進行測試。將RSSI-SO算法的迭代次數設置為500,種群數量設置為20。為使RSSI-SO算法在WSN定位時的準確度具有較強的說服力,在仿真過程中,首先對于目標節點到錨節點的真實距離,模擬真實環境下RSSI測距情況,充分考慮到測距時存在的信號衰減等因素;其次將錨節點間距離逐步放大至10倍,觀察各個倍數下定位誤差的大小;最后再與三邊測量定位算法的準確度進行對比。
仿真實驗結果如圖1和圖2所示。圖1反映了錨節點間距在10~100 m范圍內變化時,RSSI-SO算法與三邊測量定位算法在各個階段50個節點中的最大定位誤差值,可以發現在錨節點間距變大的過程中,雖然RSSI-SO算法與三邊測量定位算法的最大誤差值也都逐漸增大,但RSSI-SO算法的最大誤差值普遍偏小。圖2表示各個階段中50個節點的平均誤差值,RSSI-SO算法的平均誤差值也都普遍低于三邊測量定位算法的平均誤差值。
4 結 語
本文研究了結合RSSI和蛇優化算法的WSN定位算法,并通過實驗驗證了該算法的有效性和優越性。與三邊測量定位算法相比,本文算法具有更高的定位精度和更好的魯棒性。因此,基于蛇優化算法的WSN定位算法可以應用于實際的WSN系統中,并為WSN的定位問題提供一種有效的解決方案。
注:本文通訊作者為馮鋒。
參考文獻
[1]李貴勇,張航,韓才君,等.面向無線傳感器網絡的認證密鑰協商機制[J/OL].小型微型計算機系統:1-7 [2024-04-15]. http://kns.cnki.net/kcms/detail/21.1106.TP.20230222.1106.014.html.
[2]陳平,王華偉.無線傳感器網絡中的群密鑰協商協議研究[J].長江信息通信,2021,34(10):85-87.
[3]田洪亮,王佳玥,李晨曦.基于混合算法區塊鏈和節點身份認證的數據存儲方案[J].計算機應用,2022,42(8):2481-2486.
[4]李建中,高宏.無線傳感器網絡的研究進展[J].計算機研究與發展,2008,51(1):1-15.
[5]羅鑫,田曉蒙.基于改進RSSI算法的無線傳感器室內定位研究[J].河北北方學院學報(自然科學版),2023,39(1):36-42.
[6]邱子娟.無線傳感器網絡數據安全融合技術的優化[J].信息記錄材料,2023,24(1):72-74.
[7]黃立,何一,馬志駿,等.人機交互視角下的智能家居研究趨勢分析[J].計算機輔助設計與圖形學學報,2023,35(2):165-184.
[8] HASHIM F A,HUSSIEN A G. Snake optimizer: a novel meta-heuristic optimization algorithm [J]. Knowledge-based systems, 2022,242:108320.
[9]王福豹,史龍,任豐原.無線傳感器網絡中的自身定位系統和算法[J].軟件學報,2005,16(5):857-868.
[10]茍丹丹,張開生,劉振華.智能車輛無線傳感定位方法[J].現代電子技術,2022,45(19):31-36.
作者簡介:黃承漢(2002—),男,本科生,研究方向為物聯網技術。
馮 鋒(1971—),男,博士,教授,研究方向為物聯網技術等。
收稿日期:2023-05-08 修回日期:2023-06-05
基金項目:寧夏重點研發計劃重點項目(2022BEG02016);寧夏自然科學基金重點項目(2021AAC02004)