2016年5月12日 星期四

Distributed Transmission Power Control Algorithm for Wireless Sensor Networks*

Distributed Transmission Power Control Algorithm for Wireless Sensor Networks* 

在本論文中,我們提出了一個分散式傳輸功率控制算法不僅可以節省能量消耗來延長傳感器節點的壽命,同時增加封包吞吐量的表現。此外,它也可以降低節點間的干擾。在設計我們的演算法之前,我們先分析利用不同的發送功率時影響鏈路質量的實驗數據,然後基於這些實驗結果來設計我們的算法。
在我們的算法中,每個節點利用RSSI(接收信號強度指示器)無線電的值和LQI(鏈路質量指數)值來確定適當的對於鄰近節點的發射功率。我們的算法可以動態調整傳輸功率隨著環境的變化。我們所有的實驗都在實施MICAz平台。實驗結果表明,該算法可以節約電能並保證每對通信都有一個很好的鏈接質量。

1. INTRODUCTION 

省電是無線傳感器網絡(WSN)是最重要的議題之一。大多數的關於能源節省的研究主要分為兩大類。一個是透過MAC層[1,9-12,15,17],而另一個則是透過網絡層[2-4,7,8,14]。在MAC層,大多數研究都使用的排程的方法,透過設計定期的節點喚醒或睡眠。節點的排程通常需要時間同步,還有一些問題,例如:當節點在做時間同步,也需要解決Clock Drift的問題。與MAC層相比,網絡層的解決方案是採用適當調整發射功率,以達到省電目的。

調整發送功率控制的優點是可以透過無線傳感器網絡的操作來改進,例如:建立具有高可靠性、以最小的功率來通信和更好的媒介重利用性。我們詳細描述了這些優勢。首先,功率控制技術可以用於提高鏈路的可靠性。因為當節點在檢測到鏈路可靠性節點低於所需閾值,它們將增加發送功率,以降低接收損壞封包的機率。
第二,由於一些鏈接已經有夠好的封包接收率,過多的發送功率進行通訊節點會浪費更多的能量。因此,發射功率控制算法可有助於減小發送功率從而保證鏈路質量。第三,節點通常在不會使用大傳輸範圍,以免與其它的通信干擾。因此,降低傳輸範圍也可以減少封包相撞的數量。這些降低的封包碰撞率將提高網路的利用率,更低的延遲時間,也降低了重傳。

根據我們的實驗,如果我們使用固定的發送功率,鏈路質量通常由雜訊與干擾來造成影響。
這將導致封包的丟失並降低封包的吞吐量。
通過這種方式,我們要調整發射功率來適應網路環境的變化,並保持良好的封包傳輸率(PDR)。
在MAC層中的解決方案沒有提供一種方式來保證封包傳送率和設置適當的發射功率。
因此,我們使用的概念是透過調整發送功率的解決方案來設計我們的演算法。
然而,如何找到隨時間或其他影響因素為每個傳感器節點不同適當的發射功率是一個困難的問題。過低發送功率也許容易導致兩個節點之間鏈路斷開。
與此相反,利用過高的發送功率是低效率的,因為它可能會導致鄰近節點的相互干擾並消耗大量電池能量,然而電池的電量是有限的。
因此,我們基於大量的實驗結果來設計了一個演算法來動態地調整每個節點的發射功率。

為了提出我們的算法,透過調整不同傳輸距離與傳輸功率,我們紀錄在實驗中參考的三個參數,RSSI(接收信號強度指示),LQI(鏈路質量指示)和PDR(封包傳輸率)。
接下來,我們分析了得到的實驗結果,找出三個參數和傳輸功率之間的關係。
我們在本文中主要貢獻的有兩個。
一個是我們進行RSSI和LQI的關係的實驗研究來提供低功耗無線鏈路如何調整適當的發射功率。並通過這些實驗結果,我們設計了一個發送功率控制算法來調整每對通信節點調整適當的發射功率。
另一個貢獻是我們透過實際的實驗平台MICAz來實際驗證我們演算法的效能。

本文的其餘部分安排如下。第2節回顧相關工作。
我們提出我們的分佈式傳輸功率控制算法在第3節第4節,通過實際的實驗效果來評估我們的演算法。結論為第5節。

2. RELATED WORK 

關於功率控制的兩大類研究都與我們的研究有關。其中之一是通過分析傳感器網絡無線鏈路的特性數據。另一種是考慮如何實現無線傳感器網絡中控制發射功率。這裡有一些研究[5,6,15,16,18]相關的第一類。在[16],筆者曾做過多次實驗和分析之間的關係RSSI值與數據包投遞率LQI值。因為LQI的波動值比由傳感器檢測在一段時間內的RSSI值多,則作者提出了一種方法,通過收集的數字來預測數據包投遞率LQI的價值。他們發現,平均在不同的平均窗口大小這些LQI值會影響到的分組傳送率的預測的準確性。
平均窗口大小是幾個數字的平均值LQI值。因此,更多的平均窗口的大小會導致預測的更高的精度。在[5]提出的作者一種成本度量的命名為“鏈接低效率”來衡量的環節所消耗的能量。鏈路效率低下是封包傳輸率(PDR)的倒數。需要注意的是,一個完全有效的鏈路具有鏈路效率1.環節的低效率增長為紐帶變得更糟。在換句話說,對應於能量的用量較大的低效率增加花費對因重傳該鏈接。在這個概念,他們還提出了數學辦法預測信噪比值和分組傳送率之間的關係,旁他們還提供與本鏈路上的能量消耗的測量方法。

一些研究[16,19]已經揭示三個不同接收區的存在在無線鏈路。這些接收區域斷開區域,過渡
區域,以及連接區域。這些三個接收區對應於3種當鏈路的發送功率是從最小到最大的鏈路狀態。
斷開的區域是指數據包投遞率是零。相反,連接區是指數據包投遞率幾乎是100%。斷開之間的過渡區域並且連接區域經常是在大小相當顯著並且通常特徵在於在接收速率和非對稱連接高方差。
此外,在文獻[15]也通過實驗系統性地研究並傳輸在過渡區域。而且它也討論多個干擾的過渡區。在文獻[6]提出了一種準確根據實際的執行能耗預測模型傳感器節點上應用程序和操作系統代碼實驗。它也可以預測傳感器節點上的壽命。

另一方面,在[2-4,7,8,14]已經在開始了一些關於控制發射功率的研究工作。在文獻[3,4]提出一個協議來確定每個傳感器節點適當的發射功率來連接的一個特定相鄰節點數目。此特定數目是被用來確定一個閾值傳感器所要求的傳輸功率。如果鄰居的節點的數目是閾值以上時,會降低發射功率。相反,如果它低於該閾值,一個節點將增加發射功率。的主要目的
的保持相鄰節點的具體數目是節點可以花費較少的能量維持這樣的網絡連接鏈接相鄰節點和
延長網絡壽命。

在文獻[2]提出了兩種方法來計算理想的發射功率。第一個是通過包括兩個階段節點交互。在第一階段中,收發器發送探測查詢消息到接收器。接到接收器後,它將發送ACK消息發回收發器。以這種方式,該收發器將檢查接收機是否接收到探測器查詢消息通過ACK消息。然後收發器將確定增加或減小發送功率。接著,收發器不斷地發送探針查詢消息到接收器直到它不能接收到ACK消息。發射功率其中收發器此時使用將成為接收機的初始發送功率,並且
然後它會進入第二階段。在第二階段,節點總是動態根據多個連續確認ACK的改變其發送功率傳輸。如果連續接收到的ACK的數目超過預定義的閾值時,收發信機將降低了理想發送功率。相應地,如果下面的其它預定義閾值的數字,收發信機將增加發射功率。這第二種方法
文獻是利用“信號衰減”的比率。理想的發射功率也可以被計算為信號衰減的功能。接收器會告訴收發器它所接收的信號強度。然後收發器將調整發送力量,使通過計算具有合適信號強度的接收器功能。

在[14]的作者使用的數據包傳送的比例來確定適當的傳輸功率。它分為發射功率為七個獨立的發射功率。節點廣播一些封包使用7種不同的傳輸他們的相鄰節點和讓他們來收集封包,並計算出數據包投遞率。每個相鄰節點選擇最小發射功率該數據包傳送率高於要求的閾值作為一個適當的發射功率。
此外,作者也存在黑名單的概念。每個節點維護它自己的黑名單這是一個列表記錄了該節點不希望將報文送到鄰居節點的ID。 
[7]筆者曾做過多次實驗,找出最不RSSI為保證良好的數​​據包傳送率至少是高於 - 92dBm。然後,他們使用線性規劃方法通過收集來預測準確的發送功率一段與相鄰節點進行通信的時間內的數據包。由它用來找到之間的映射關係的線性規劃產生的發送功率(在發送方)和RSSI值(在接收機處)節點與相鄰節點通信,發送方將選擇在RSSI值方程,它上面的挑RSSI閾值( - 92dBm)映射傳輸功率的公式所示。換句話說,它保證了良好的數據包投遞率。
在本文中,我們的做法是由網絡上一兩個主要方案層來設計我們的算法,我們還實現了真實的傳感器節點協議。

3. DISTRIBUTED ADAPTIVE TRANSMISSION POWER CONTROL ALGORITHM 


我們的功率控制算法是基於所接收的RSSI值和LQI值數據包。設計我們的算法之前,我們有一些實驗來了解實際傳感器的屬性。下面的實驗是在MICAz執行平台。 MICAz的RF模塊是Chipcon的CC2420[20],它是用來管理的傳輸和無線信號的接收。最大傳輸範圍是能夠達到100米左右。此外,在最大傳輸能量功率(為0dBm)的設置將耗資17.4毫安,最小發射功率( - 25dBm的)設置將耗資8.5毫安。在MICAz,RSSI值可以從的寄存器得到
CC2420芯片。
旁邊的RSSI值時,CC2420芯片提供的平均相關值每個所謂的LQI值傳入數據包。此無符號8位值可以被看作在在一測量“芯片錯誤率。”根據我們的實驗,LQI和RSSI值有非常高的相關性。 LQI值不僅是一個質量的指示器接收的分組,但也的接收信號強度的一個指標。該MICAz支持
的功率電平設定數據傳輸[20]。
我們不需要這麼多的水平在我們的實驗中,由於環境總是變化不時。要是我們使用32級發射功率,這將導致我們的算法,頻繁變化其發射功率電平。這是一個小環境的變化容易引起
發送功率的變化。以這種方式,我們把32原始發送功率水平的功率電平。我們的定義的功率電平之間的每個時間間隔對應至4個原始CC2420的發射功率電平。在我們的算法,我們將利用這兩個RSSI和LQI值作為調整的基礎傳輸功率電平。下面的文章中的關鍵字“發射功率電平”
意味著我們定義了8個發射功率電平。我們的算法由初始階段的和維護階段。在初始階段,每個節點都試圖找到一個合適的傳輸功率電平的相鄰節點。在維護階段,每個節點將動態
根據平均RSSI和LQI值調整適當的發送功率電平接收到的數據包。

3.1 Initial Phase 

在初始階段,每個節點確定每個的適當發送功率電平相鄰節點。首先,每個節點廣播800探測分組(PL_probe)配從高(8級),低依次(1級)發射功率電平。即,每個節點
將廣播的每個發射功率電平100的數據包。該PL_probe包包括兩個字段。一個是ID字段用來告訴源所接收的節點分組的標識。另一種是功率水平字段表示的傳輸分組的功率​​電平。發送數據包之前,傳感器節點會倒計時一系統默認的退避時間。默認系統回退時間範圍為1至16
時隙和每個時隙是0.32ms。根據我們的實驗中,存在重在通信碰撞如果節點密度跳內高於十個節點。在為了增加數據包投遞率,我們設計了一種新的退避時間包括兩名
隨機時隙。一個是用戶退避時隙(塗),它是一個回退時間隨機1之間產生茹時隙和每個時隙是一毫秒。另一個是系統退避時隙(Tm)為這之間隨機產生一個回退時間1為Rm時隙和每個時隙是0.32ms。因此,對於一個節點的總回退時間是TU和TM的總和。

當一個節點開始發送一個PL_probe分組時,它需要生成兩個隨機時隙分別塗和TM。在這裡,我們給的實驗來決定正確的值茹和Rm。在我們的實驗中,我們利用10 MICAzs它們都位於一個跳距離。每對節點之間的距離為大約一米。每個節點隨機塗生成和TM,並在廣播最大傳輸100 PL_probe包能量等級。如果一個節點計數其退避時間期間接收的廣播數據包時,它會停止計數,再重新塗和TM。等待的總回退時間之後塗加以舊換新,節點將播出其探測包。在Ru和RM,各種價值觀數據包傳送率示於圖。 1.每個實驗重複五次。 明顯,包投遞率增加茹和Rm增加。然而,較大的值Ru和Rm的將導致較長的延遲時間,以完成初始階段。 因此,
Ru和Rm的值在我們的算法和分組分別設定為30和8,遞送比率為約90%。
其次,一旦一個節點從其相鄰節點接收PL_probe數據包,它會計算從每個相鄰節點接收與每個功率的數據包數量水平。每個節點可以確定每一個最小傳輸功率電平的
根據是否為最小接收分組的數目相鄰節點發送功率電平比閾值大。由於每個節點廣播100
PL_probe分組為每個發射功率電平以及分組傳遞比是約90%,該閾值被設定為80。因此,如果節點A可接收80多個從具有最小功率等級k的一個節點B的報文中,功率等級k變為從B節點初始傳輸功率電平到節點A.然而,如果接收到的數從一個節點的數據包是小於80的所有它的發射功率電平,所述為節點初始發送功率電平被設定為最大功率級(8級)。
在這裡,我們採用的數據包投遞率80%作為閾值,而不是RSSI值確定初始發射功率電平。這是因為,RSSI值一般已被收集一段時間;但是,我們要減少執行時間的初始階段盡可能。此外,在初始階段的每個節點廣播在很短的時間PL_probe分組將引起干擾並讓每個節點收集
不準確的RSSI值。當一個節點廣播的所有PL_probe報文,就可以找到的初始傳輸功率電平為每個相鄰節點。然後每個節點將播出一個initial_Power_Level包包括的初始發送功率電平的
相鄰節點。為了避免包衝突,則Initial_Power_Level分組是廣播的10倍。當一個節點從接收到的數據包Initial_Power_Level其相鄰節點,它會進入維護階段。以下是我們初始階段算法。

3.2 Maintaining Phase 


上述維持階段的主要目的是自適應確定和調整正確的傳輸功率電平與環境變化。每個傳感器節點利用所收集的RSSI值和LQI值來確定適當的發送功率水平可以達到很高的數據包傳送率,節省傳輸能量。首先,我們形容維持階段的算法,然後解釋如何找出論據
通過一些實驗中維持階段使用。首先,為了減少開銷控制並節省傳輸能量,每節點會選擇最多五個節點作為其鄰居。如果鄰居的數量是較大超過五,節點具有較低的初始發射功率電平比其它節點被選作鄰居。其次,每個節點附加的使用的發射功率水平時向前或數據包到它的相鄰節點之一進行發送。一旦節點接收到一個數據包時,它將發送一個ACK包返回給發送者。
該ACK包捎帶的RSSI和LQI值從CC2420芯片的寄存器,捕獲當接收到的數據分組。每個節點可以收集接收到的RSSI值和與其相鄰節點LQI值。每個傳感器節點後收集了大量的RSSI的
和LQI值,則節點將確定為每一個新的發射功率電平鄰居節點相應。 RSSI和LQI值的數字將在確定實驗。

這裡,我們將描述一個發射功率電平是如何根據確定的接收到的RSSI和LQI值。當節點A收到了一些RSSI和LQI的從它的鄰居B,節點A的平均RSSI值和LQI值中的一個值它們分別表示為AvgRSSI和AvgLQI。如果AvgRSSI比一個較大閾RH(相對濕度<AvgRSSI),節點A將減小由一個發送功率電平節點B.如果AvgRSSI大於閾值RL(AvgRSSI<RL)越小,節點A會通過一個用於節點B增加發射功率電平如果AvgRSSI是間的RSSI閾值RL和相對濕度(RL≤AvgRSSI≤RH)和AvgLQI是小於閾值LTH(AvgLQI<LTH),節點A會增加一個發送功率電平的節點B.這是因為鏈路質量不夠好,信號強度可能變弱或更高版本打破。在休息的條件下,節點A將保持相同的傳輸功率電平節點B.

由於信號干擾或背景的突然增加的大的變化噪音,這很可能是我們無法接受的數據包,在瞬間降低發射功率LEVE。因此,為了降低傳輸延遲,如果一個發送節點等待一段時間後,不能接收來自接收機的ACK分組時,該節點將使用的最大發射功率電平立即重傳該數據分組。
根據我們的實驗,從節點A到節點B的信號的干擾是不同從節點B到節點A然而,在它們的傳輸的大部分時間的差功率電平是在室內環境中少於三個層次。因此,當節點A
發現其發射功率電平到節點B相比,低於三級從節點B發射功率電平到節點A,節點A將​​增加其傳輸功率電平,使得它們的差等於三個級別。此外,當一個節點A接收來自B節點的發射功率電平的數據包是小於一個其目前維持節點,節點A將​​使用B節點來代替它具有節點較大的發射功率水平較節點B.

在下面,我們做了實驗,以確定RL,RH的參數,並LTH。在第一個實驗中,我們使用兩種MICAzs,一個是作為發送者,另一是作為接收器。為了促進實驗精度,實驗幾個室內走廊環境。發送器和接收器之間的距離是2.5米,5M,7.5米,10M,12.5米和15M,分別。對於每一個傳輸距離,該發送方傳送高(8級)的功率電平低(1級)8000數據包打開和發送間隔為100ms。每個實驗是七的平均回合。接收機分別計數接收的數據包的數量和捕獲在每個發射功率電平與距離RSSI值。在我們的實驗中,如果RSSI值大於 - 90dBm,分組傳送率將大於90%的在大多數的案例。既然我們有實驗數據的巨大數量和實驗結果類似的,我們只能選擇如圖用於說明兩個有代表性的成果。 

在圖2,各條線表示收集的RSSI值的範圍。 例如,在圖2(a)的電平4巴線表示的所接收的RSSI的值的範圍包之間 - 93dBm和 - 91dBm。在圖2,我們用一個曲線的趨勢線,在通過每個發射功率電平的條線的交叉點曲線線條和酒吧線代表人數最多的接受RSSI值的傳輸功率電平。例如,在圖圖2(b)接收到的大部分的RSSI值報文是 - 92dBm功率級4。我們的結論的實驗結果,如果所接收的RSSI的值大於或等於 - 90dBm時,數據包傳送率將90%以上的無論什麼節點之間的距離。因此,RL被設置為- 90dBm在我們的協議。

我們從以前的實驗RL後,我們設計了一個實驗,以確定RSSI的門檻相對濕度。在這個實驗中,二MICAzs之間的距離為5米。發件人10000秒,傳輸發送數據分組
間隔是100毫秒,1秒和10秒,分別。為了確定RH,我們嘗試3雙RSSI範圍( - 90dBm, - 86dBm),( - 90dBm, - 84dBm),和( - 90dBm,- 82dBm)。發送方將ACK包和平均累積的RSSI值每10,20和30的數據包的累積的RSSI值來獲得AvgRSSI。讓RN表示用於獲取AvgRSSI分組的數目。我們還計算能源成本此實驗。我們採取五項實驗結果平均RSSI的每個範圍閾。實驗結果示於圖3,4和5。

在圖3,如果RSSI閾值的範圍較寬,發送方需要更多的機會使用高發射功率電平,因為AvgRSSI方便抵達RL和RH之間。以這種方式,發送者往往沒有機會降低其發射功率電平。在
圖。 3,從RSSI閾值的範圍 - 90dBm到 - 86dBm具有最小能量相比,在各個發送時間間隔(100毫秒,1秒其他兩個範圍每包成本和10秒)和閾RN(10,20和30)。在圖4,更廣泛的RSSI門檻具有較高的數據包投遞率。然而,它們的差別是小的。因此,相對濕度是
設置為 - 86dBm。確定RSSI閾值範圍之後,我們要確定註冊護士。在圖4,我們可以發現,最好的R N是30小數據包傳輸間隔和大的傳輸時間間隔。這是因為較大的中繼站可以得到更穩定的AvgRSSI比其他任何不同範圍RSSI門檻。因為環境從隨時更改,大RN可以以吸收不同尋常的RSSI值獲得穩定AvgRSSI值。因此,中繼站被設置為30中的協議。

在接下來的實驗中,我們展示了如何找出LQI閾值(LTH),如該分組傳送率將不低於90%。模擬環境是同圖的實驗。在圖5,我們使用曲線(黑線)作為趨勢線並通過每個發射功率電平的條線。曲線與各條線之間的交叉點代表了最數目LQI值這是在該發送功率電平捕獲。我們可以看到,在後台噪聲和圖信號干擾。圖5(a)是比圖更為嚴重。圖5(b)。這是因為該LQI值的在圖的每個發射功率電平的分佈。圖5(a)是比圖相同的發射功率電平大。圖5(b)。所以LQI的分佈在每個傳輸功率電平值可以指示當前環境的背景噪聲。此外,我們可以看到,當AvgLQI大於或等於96,包投遞率將達到90%以上。所以我們設置LTH在我們的協議96。在垂直線圖。圖5是等於96

讓LN表示用於獲取AvgLQI分組的數目。在下面的實驗中,RSSI閾值的範圍是從 - 90dBm到 - 86dBm和RN是30。[16]作者提出接受LQI值的分佈範圍通常較寬比接收RSSI值,特別是當鏈路質量是壞的。因此,我們嘗試四個不同的LN值30,60,90,和120具有四個不同的分組發送
間隔100毫秒,1秒,10秒,100秒和。發送者遵循我們提出的方案維持階段基於不同LN值來調整發射功率電平和數據包傳輸的時間間隔。在圖圖6中,較高的LN是,較高的數據包傳送
比。在圖7,只有在每分組平均能量成本的一小差不同的LN固定的發送間隔下。因而LN被設定為120。