【ICNP2020】AdapLoRa Resource Adaptation for Maximizing Network Lifetime in LoRa n

語言: CN / TW / HK

本文已參與「新人創作禮」活動,一起開啟掘金創作之路。

AdapLoRa Resource Adaptation for Maximizing Network Lifetime in LoRa networks

Adaptive Allocation of Network Resource

一、 前言

文章選於ICNP2020,作者提出了AdaLoRa,一種細粒度的模型,能夠對動態網路進行資源分配,並最大化LoRa網路的lifetime。不僅僅要實現資源分配,還要使分配的結果更為公平。具體表現為,網路中出現第一個電量耗盡的裝置時,其他裝置還剩餘多少電量。

查詢最後結果得知,這個lifetime的時間單位是年。在之前的論文中,我們分別關注了網路協議的設計以及路由決策問題。而網路部署和網路結構設計對我來說僅停留於概念。考慮這樣的工程場景,我需要搭建一個帶地面站的機群區域網,怎麼搭建?是否有效?是否有水平?可靠性、穩定性如何?再或者,一個成熟的專案具備哪些評價指標,能否被同行認可?這篇文章解決了我的一些問題。

二、 文章概述

LoRa網路的優點是通訊範圍大,終端裝置低功耗。但是,也因為範圍大的特點,為了把資訊送到遠處的gateway,需要使用大的擴頻因子(SF)和高的傳輸電壓,因此這些裝置的電量可能就會被先耗盡。且由於LoRa的特點之一是SF在網路中執行多路複用,選用相同的SF或channel可能會發生碰撞,需要重傳。而且在傳輸過程中,可能會影響訊號質量,造成收到的訊號和真實的訊號不一致,在這種情況下也需要重傳。

EF-LoRa雖然考慮了能量公平和資源分配問題,但是它採用靜態的資源分配方式且只在初次部署網路時分配一次。且沒有利用LoRa採用漢明碼能為資訊包糾錯的特點,屬於packet-level,而非細粒度的。隨著執行時間的增加、網路的動態變化,可靠性明顯降低。因為它缺乏適應動態變化的能力,缺乏“穩定迴路”。

關於漢明碼可以看這篇文章。

作者採用了RS碼,開發了一個更為細粒度的模型,可以通過控制冗餘位來降低PER,並且該方法能夠適應網路的動態變化,可以有效的實現能量公平的資源分配,增加網路的lifetime,相比於EF-LoRa有很大的提高。關於LoRa網路再補充一點,LoRa不同於無線感測器網路和蜂巢網路,它是單跳的,因此作者認為它不涉及路由決策問題。上行:終端裝置>>gateway>>server。下行:server>>gateway>>server。並且,裝置傳送資訊包以廣播的形式,所以就可能有多個gateway收集到資訊包,gateway再轉發給server,這就可以增加設計的冗餘,更為穩定、有效。

三、 演算法設計

作者將最大化lifetime的問題轉化為優化問題,每當網路連結動態變化時就求解一次。下式L中的四個變數分別為:擴頻因子、傳輸電壓、頻道、編位元速率。

  1. SF:影響通訊範圍和資料速率。
  2. 傳輸電壓:影響能量消耗和通訊範圍。
  3. 頻道:多路傳輸減少干擾。
  4. 編位元速率:RS碼代替漢明碼。(由於LoRa中已經集成了漢明碼,因此作者是在packet被漢明碼編碼後再用RS碼編碼一次)

如果要對網路中所有裝置進行求解,這不太現實,因為從N個裝置中任意挑選兩個更改其變數都會是一個計算度$n^2$的問題,因此直接求解會得到一個NP-hard問題。而且,如果一次調整的裝置過多、週期時間過長,網路狀態可能會先於指令發生變化,也就是說指令”已經遲了“。 在這裡插入圖片描述

因此,在資源調整的時候,從離得比較近的裝置開始,距離遠近可以用延遲大小來衡量。對裝置按延遲排序,將其從所有裝置的大集合N中,分出若干個subsets子集合。然後根據他們目前的分配情況估計狀態,並設立一個閾值,將預計提升結果與當前狀態估計結果相比較,如果帶來的提升能超過這個閾值,就應用它。同時,server>>gateway>>device.這一輪週期結束。

網路的lifetime定義為,所有裝置中lifetime最小的,也就是隻要有一個裝置的電量先耗盡,網路壽命也就到此為止了。下式,是對沒有接收到調整決策訊號的裝置的lifetime計算,形式很簡單,總的能量除以一輪週期中裝置的傳輸消耗能量和睡眠消耗能量再乘以週期時間。其中傳輸能量考慮了重傳的情況,r代表PER-packet error rate。 在這裡插入圖片描述 下面的公式和上面的公式相比,多了接收決策資訊所消耗的能量。集合U代表收到決策包,需要改變自身決策狀態的裝置。 在這裡插入圖片描述 可以發現,其中比較關鍵的地方在於r,如何來衡量PER,作者開發了一種細粒度的模型。從干擾等可能影響訊號質量的因素來建模並計算r,相關數學公式較多,這裡便不再介紹。最後,作者通過這種細粒度模型將PER和BER建立起了聯絡。 在這裡插入圖片描述 演算法的虛擬碼如下: 在這裡插入圖片描述

四、 演算法評估

作者選取EF-LoRa作為對照,選取了網路壽命、網路剩餘能量作為評價指標,並討論了實驗過程中閾值對演算法和延遲的影響。

實驗準備:20 end devices、4 gateways。覆蓋了校園中1.5平方公里的面積,gateway被放置在建築物的頂部,可以通過開關來調整gateway的數量,從1-4進行實驗。終端裝置部署在靜態網路中,並且不會移動。

  • end device 實現:Arduino Uno結合RFM95W模組(LoRa訊號收發器)在470MHz頻段(中國是470MHz)工作。
  • gateway 實現:RAK2245 Pi HAT Board 配備 SX1301。
  • 為了模擬干擾環境,用4個channel、3個最大佔空比為10%的SF,模擬一個具有約20×2×2×10=800個終端裝置的網路,使用八個通道、六個擴充套件因子和1%的佔空比。

在這裡插入圖片描述 可以看到,AdapLoRa這種動態的適應方法相比EF-LoRa不僅提升了網路的壽命還使得分得更加公平。

在這裡插入圖片描述 AdapLoRa performs better with larger thresholds (i.e., 20%) when the network lifetime is long (i.e., 3.6 years), but it performs worse when network lifetime is less than three years. The reason is that sometimes AdapLoRa with a large threshold cannot achieve a large improvement thus adaptation is not performed, and network lifetime is not improved. 有時網路無法實現較大的改進,因此不會執行自適應。關於圖9,高閾值帶來了高延時我的理解是,作者設計的延遲不僅包括了自適應決策包傳輸的延遲,還包括了演算法執行的時間。所以這也能反映為什麼閾值會對延遲產生影響。說明,高閾值增加了演算法執行的時間。因為低閾值能容易達到,特別是對離得比較近的裝置,演算法容易更新。

五、 工作總結

我想補充一下資源分配的過程,設立這個閾值和分組的好處還有一個地方體現在,我先讓反應快速的裝置調整,在下一輪中,這些離得近也就是反應快速的裝置不一定會帶來更大的提升,因此我對下一個集合進行優化,可以把距離從近拉到遠。從而避免了求解所有裝置的Li,選取最小的Li再對其進行優化,這樣複雜而可能會帶來NP-hard的方法。總結下來,收穫還是蠻大的。