舒云龍,湯寶平,黃藝
(重慶大學 機械傳動國家重點實驗室,重慶 400030)
由于無線傳感器網(wǎng)絡(Wireless sensor networks,WSNs)機動靈活,部署方便,可對密閉、旋轉環(huán)境中的機械裝備關鍵部件進行振動監(jiān)測等[1],已開始被應用于機械振動監(jiān)測領域[2-4]。由于機械振動數(shù)據(jù)采樣頻率高,所采得數(shù)據(jù)量大,機械振動無線傳感器網(wǎng)絡需要對大量數(shù)據(jù)進行傳輸。在數(shù)據(jù)傳輸期間,無線傳感器網(wǎng)絡的IEEE 802.15.4協(xié)議定義了一種CSMA/CA算法,即載波偵聽多路訪問/沖突避免機制,存在多次載波偵聽、隱藏節(jié)點所導致的高偵聽能耗和高重傳能耗問題[5-6]。針對 CSMA-CA在傳輸大量原始數(shù)據(jù)時存在的不足,國內外學者進行了大量研究。Liu Y.等人[7]提出了一種基于QTSAC的無線傳感器網(wǎng)絡自適應壓縮(QTSAC)協(xié)議,可以實現(xiàn)無線傳感器網(wǎng)絡(WSNs)時延最小化,減少空閑偵聽和沖突。Sharma N.等人[8]提出了一種基于負載的傳輸控制協(xié)議,通過改變負載控制數(shù)據(jù)包的傳輸,減少能耗,提高網(wǎng)絡生命周期和吞吐量。這些算法[7-10]在具有物理分散性的各節(jié)點上完成時隙分配往往不易。針對以上問題,趙春華[11]提出了一種基于信標同步觸發(fā)的機械振動WSNs傳輸休眠時序調度方法,通過周期性信息同步調度,為各節(jié)點分配時槽,降低節(jié)點間數(shù)據(jù)包沖突次數(shù)和能量開銷。這種基于固定時槽節(jié)點輪詢傳輸機制的同步調度能耗開銷較大,且由于各個節(jié)點信道質量存在差異,導致傳輸速率不相等,部分節(jié)點提前完成數(shù)據(jù)傳輸后仍然會占用時槽,無法進入休眠狀態(tài),造成這些節(jié)點傳輸能耗升高,傳輸速率降低等問題。
針對上述均勻時槽分配方法[11]存在的節(jié)點傳輸能耗升高、傳輸速率降低的問題,文中提出了一種自適應時槽分配的機械振動無線傳感器網(wǎng)絡傳輸休眠時序調度方法。通過節(jié)點離線的時鐘同步調度,與傳輸時槽自適應分配,實現(xiàn)機械狀態(tài)監(jiān)測無線傳感器網(wǎng)絡低功耗傳輸休眠時序調度。
自適應時槽分配傳輸休眠時序調度方法原理如圖1所示。根據(jù)各個節(jié)點的數(shù)據(jù)傳輸鏈路質量,使用自適應時槽分配算法,進行傳輸休眠時序調度,明確各子節(jié)點的開始回傳和結束回傳時間,并在傳輸間隔進行休眠以降低功耗。在網(wǎng)絡節(jié)點時鐘同步下,各子節(jié)點可按傳輸時槽自主回傳數(shù)據(jù),減少子節(jié)點的偵聽能量損耗,并避免無謂的時槽占用。
圖1 自適應時槽分配傳輸休眠時序調度方法原理Fig.1 Principle of adaptive slot allocation transmission-sleeping timing scheduling method
每隔一個同步時槽周期,網(wǎng)關全網(wǎng)廣播同步信標幀,子節(jié)點接收同步信標幀,并更新本地時鐘,實現(xiàn)子節(jié)點間時鐘同步,子節(jié)點回傳 LQI(Link Quality Indicator,鏈路質量指示)、剩余的數(shù)據(jù)量等狀態(tài)信息至網(wǎng)關。網(wǎng)關以子節(jié)點上傳的狀態(tài)信息作為傳輸時槽分配的依據(jù),通過廣播傳輸命令信標幀,通知各子節(jié)點下一個同步時槽周期內的傳輸時槽信息。各子節(jié)點在網(wǎng)絡子節(jié)點時鐘同步下,根據(jù)分配所得傳輸時槽,按序自主占用信道使用時間。在用盡傳輸時槽之后,進入休眠狀態(tài),將信道讓出給下一個子節(jié)點使用。未進行數(shù)據(jù)回傳的子節(jié)點都將處于休眠狀態(tài)待機,在臨近下一個同步時槽時自動喚醒,并偵聽網(wǎng)關信標幀。
同步時槽由比例因子 P以及傳輸剩余時長 t決定,同步時槽Tslot=P·t。一般情況下,P設為50%,同步時槽將隨著數(shù)據(jù)傳輸?shù)倪M行逐漸遞減。在初次同步時,同步時槽設為固定值1 s,在1 s內,各個子節(jié)點分別占用相同的傳輸時槽回傳一段數(shù)據(jù),借此測定各個子節(jié)點的LQI,為網(wǎng)關對子節(jié)點的傳輸時槽分配提供依據(jù)。傳輸時槽分配基于各子節(jié)點的 LQI值,LQI越低,則為子節(jié)點分配的傳輸時槽將越大,使各個子節(jié)點在每一個同步時槽周期內傳輸相同的數(shù)據(jù)量,最終同步完成各自的數(shù)據(jù)傳輸任務。
現(xiàn)有時鐘同步方法需要網(wǎng)關頻繁廣播信標幀,節(jié)點接收信標幀,并進行晶振偏移補償。雖然同步精度較高,但同步算法復雜,能耗高,不滿足大量數(shù)據(jù)傳輸中輕量、低功耗時鐘同步需求。針對這一問題,提出信標調度的自適應時槽分配時鐘同步方法,網(wǎng)關節(jié)點僅在需要同步時鐘時發(fā)送單個信標,各節(jié)點通過信標校準本地時鐘誤差,并在隨后的同步時槽內,不再進行晶振補償,從而極大地降低同步次數(shù)。在全網(wǎng)時鐘同步基礎上,自適應時槽分配算法既能有效避免節(jié)點在設定的傳輸時槽內無法完成數(shù)據(jù)傳輸任務的情況,又能避免節(jié)點傳輸完成還繼續(xù)占用傳輸時槽的情況,同時也可避免時鐘偏移導致節(jié)點間數(shù)據(jù)傳輸沖突造成不必要的能量消耗。
為驗證該方法有效性,以7個采集節(jié)點和1個網(wǎng)關節(jié)點組建星型網(wǎng)絡,使用邏輯分析儀,獲取各采集節(jié)點的時鐘脈沖信號,進行時鐘同步誤差實驗。對采樣時鐘信號進行處理,分析其時鐘時序變化,計算其同步誤差。在節(jié)點網(wǎng)絡不進行晶振偏移補償?shù)那疤嵯拢O置節(jié)點采樣頻率為50 kHz,邏輯分析儀采樣頻率為100 MHz,7個采集節(jié)點連續(xù)采集90 s,并以節(jié)點1的采樣時鐘為基準,其他節(jié)點與節(jié)點1的采樣時鐘偏差即為時鐘同步誤差,實驗結果如圖2所示。隨著時間的推移,節(jié)點間同步誤差逐步累積。當采集時間達到90 s時,最大同步誤差僅為0.514 ms,能夠滿足對精度要求較低的機械振動數(shù)據(jù)傳輸時鐘需求。
同步時槽內,對各節(jié)點傳輸時槽的自適應分配依賴于節(jié)點傳輸速率,而節(jié)點傳輸速率與傳輸信道鏈路質量直接相關。通過LQI指標評價鏈路質量,并通過測量LQI預測節(jié)點數(shù)據(jù)傳輸速率,進而為各個節(jié)點分配最優(yōu)傳輸時槽。
為得到LQI與數(shù)據(jù)傳輸速率的離散模型,將采集節(jié)點置于不同的工作條件下,以改變LQI進行簇內通信。每次發(fā)送1000條與節(jié)點傳輸?shù)脑颊駝訑?shù)據(jù)長度等長的數(shù)據(jù)幀至網(wǎng)關節(jié)點,每個數(shù)據(jù)幀96 Bytes,網(wǎng)關節(jié)點記錄下傳輸1000條數(shù)據(jù)幀的時間以及LQI并取平均,最后構造 LQI與數(shù)據(jù)傳輸速率,如圖 3所示。
圖3 數(shù)據(jù)傳輸速率與LQI關系Fig.3 Relations between data transmission rate and LQI
根據(jù)所得的LQI與數(shù)據(jù)傳輸速率的離散關系,假設滿足一元線性回歸模型:在數(shù)據(jù)傳輸階段,初次同步時,同步時槽設為固定值1 s,并設置LQI為一個定值。網(wǎng)關節(jié)點廣播傳輸命令信標幀,采集子節(jié)點開始在1 s時間內分別占用相同的傳輸時槽進行數(shù)據(jù)傳輸,并上傳子節(jié)點狀態(tài)信息。網(wǎng)關節(jié)點獲取各個子節(jié)點的剩余數(shù)據(jù)量 Ni以及相應的LQI值,剩余傳輸階段,所有子節(jié)點完成數(shù)據(jù)傳輸所需要的時間t由式(2)和式(3)可得:
式(1)中:v為數(shù)據(jù)傳輸速率;L為鏈路質量指示;a、b為回歸系數(shù)。擬合得到:
下一次同步時槽將由比例因子 P以及傳輸剩余時長t決定,一般情況下,P設為50%,同步時槽將隨著數(shù)據(jù)傳輸?shù)倪M行逐漸遞減,由式(4)重新分配下一次同步時槽Tslot:
網(wǎng)關節(jié)點通過廣播傳輸命令信標幀,子節(jié)點接收同步信標幀和下一個同步時槽周期內的傳輸時槽信息。傳輸時槽分配基于各子節(jié)點的LQI值,LQI越低,則為子節(jié)點分配的傳輸時槽將越大。使各個子節(jié)點在每一個同步時槽周期內傳輸相同的數(shù)據(jù)量,各采集子節(jié)點分配的傳輸時槽tslot(i)由式(5)可得:
各子節(jié)點在網(wǎng)絡時鐘同步下,根據(jù)分配的傳輸時槽,按序自主占用信道使用時間。在用盡傳輸時槽之后,進入休眠狀態(tài),將信道讓出給下一個子節(jié)點使用。未進行數(shù)據(jù)回傳的子節(jié)點都將處于休眠狀態(tài)待機,在臨近下一個同步時槽時自動喚醒,并偵聽網(wǎng)關信標幀。在一個同步時槽內,各子節(jié)點開始喚醒進行數(shù)據(jù)傳輸?shù)臅r間相位Bi由式(6)可得:
一次同步時槽內的數(shù)據(jù)傳輸完成后,重復上述過程,繼續(xù)下一次同步時槽分配和子節(jié)點傳輸時槽分配。直到Tslot小于等于1 s,則設置Tslot=1 s,直到所有采集子節(jié)點完成所有數(shù)據(jù)傳輸。
為了驗證該自適應時槽分配的機械振動無線傳感器網(wǎng)絡傳輸休眠時序調度方法的性能,采用機械無線振動傳感器網(wǎng)絡節(jié)點WSNG4組成星型網(wǎng)絡進行測試。WSNG4采用雙核心處理器架構,其中核心1 STM32F405 負責信號采集、信號存儲和處理,核心2 CC2530主要負責網(wǎng)絡管理和數(shù)據(jù)傳輸,兩者協(xié)同工作。節(jié)點支持IEPE傳感器,可采用低噪聲的IEPE傳感器進行機械振動信號采集。實驗測試平臺如圖4所示,分別對動力傳動故障診斷綜合試驗臺平行軸齒輪箱輸入軸和輸出軸的水平和垂直方向進行機械振動信號采集。測試實驗以數(shù)據(jù)傳輸中的沖突次數(shù)、能量消耗以及傳輸速率作為性能指標。為測試不同LQI對測試性能指標的影響,將WSNG4 采集節(jié)點分別布置在試驗臺的四個角落,1、2、3、4號節(jié)點距離網(wǎng)關的距離分別為5、100、120、100 cm。
圖4 實驗測試平臺Fig.4 Experimental test platform
采用1個網(wǎng)關和4個采集節(jié)點組成星型網(wǎng)絡,各個子節(jié)點數(shù)據(jù)傳輸總量均為25.6 kB。網(wǎng)關節(jié)點首先下發(fā)數(shù)據(jù)傳輸命令信標幀,子節(jié)點接收到命令信標幀后,采用CSMA-CA機制進行數(shù)據(jù)傳輸,統(tǒng)計各個子節(jié)點完成數(shù)據(jù)傳輸中發(fā)生的沖突次數(shù)。然后分別采用均勻時槽分配方法以及文中提出的自適應時槽分配方法按照上述實驗過程重復測試,三種方法分別重復20次實驗。實驗結果如圖5所示。
圖5 各子節(jié)點沖突次數(shù)Fig.5 Number of conflict of each child node: a) CSMA-CA mechanism; b) uniform time slot allocation; c) adaptive time slot allocation mechanism
由圖5可知,各節(jié)點在相同方法下的沖突次數(shù)基本保持一致。采用CSMA-CA機制時,對于請求傳輸?shù)淖庸?jié)點,需要請求獲得信道使用權,每個節(jié)點獲得使用權的幾率都是相等的。對于均勻時槽分配方法和自適應時槽分配方法而言,由于沖突僅是在信標網(wǎng)絡周期,網(wǎng)關將在每個長同步時槽之后廣播信標幀,信道僅在此時被占用,每個子節(jié)點的數(shù)據(jù)傳輸總量是一致的,因此沖突次數(shù)基本相同。通過方法對比,在均勻時槽分配方法和自適應時槽分配方法下,由于各節(jié)點采用休眠和傳輸時序調度,不需要進行信道沖突訪問,因此各節(jié)點的沖突次數(shù)基本相同,并且沖突次數(shù)較CSMA-CA機制而言大幅下降。
在上述實驗過程中,測試數(shù)據(jù)傳輸過程各個子節(jié)點的傳輸能量消耗。各子節(jié)點的能量消耗如圖 6所示,從四個節(jié)點的能量對比分析可知,隨著距離的增加,各節(jié)點的傳輸能耗相應增加。這是由于各節(jié)點離數(shù)據(jù)中心距離的不同,導致節(jié)點的通信質量不同,進而通信質量差的丟包重傳次數(shù)多,增加傳輸能耗。同時由圖 6可以得到,自適應時槽分配方法的傳輸能耗比 CSMA-CA機制降低 23.4%,比均勻時槽分配方法降低 10.6%。這是因為在 CSMA-CA機制下,沖突次數(shù)比其他兩種方法大,整體傳輸能量消耗大于另外兩種方法。均勻時槽分配方法中,時槽是均勻的,在傳輸時槽中會出現(xiàn)因數(shù)據(jù)已經發(fā)送完畢卻沒有釋放信道的情況,在傳輸能耗上比自適應時槽分配方法略高。
圖6 各子節(jié)點能量消耗Fig.6 Energy consumption of each child node
通過記錄各個節(jié)點數(shù)據(jù)傳輸?shù)臅r間,分別計算三種方法下各個子節(jié)點的傳輸速度??拷W(wǎng)關最近的節(jié)點1和最遠的節(jié)點3的一次測試數(shù)據(jù)如圖7所示。采用CSMA-CA機制時,傳輸速率比其他兩種方法速率高。這是因為每個節(jié)點都有相同的幾率占用信道,并且一直在請求占用信道上傳數(shù)據(jù),但是它消耗的能量是高于其他兩種方法的。均勻時槽分配方法因為數(shù)據(jù)量的大小在傳輸時槽中數(shù)據(jù)傳輸完畢后依然占用著信道,因此而消耗的傳輸時間更多,傳輸速率更低。對于自適應時槽方法,由于各個子節(jié)點數(shù)據(jù)傳輸?shù)臅r間相互錯開,減少了沖突次數(shù),在每段傳輸時槽保證了數(shù)據(jù)傳完之后釋放信道,因此傳輸時間更短,相比均勻時槽分配方法傳輸速率高。通過對距離數(shù)據(jù)的分析,節(jié)點1的平均傳輸速率為87.6 kbps,節(jié)點3的平均傳輸速率為82.7 kbps。因各節(jié)點距離的不同,導致通信質量不一樣,而通信質量在較低時丟包重傳次數(shù)高,因此距離較近的節(jié)點通信質量較好,傳輸速率更高。
圖7 節(jié)點1、3傳輸速率與數(shù)據(jù)長度的關系Fig.7 Relationship between transmission rate and data length of nodes: a) node 1; b) node 3
文中提出了自適應時槽分配的機械振動無線傳感器網(wǎng)絡傳輸休眠時序調度方法,用于改進均勻時槽分配的方法在機械振動無線傳感器網(wǎng)絡大量原始數(shù)據(jù)傳輸需求下節(jié)點傳輸能耗升高、傳輸速率降低的不足。通過信標調度的自適應時槽分配時鐘同步方法,使各節(jié)點不需要晶振補償,就可以校準本地時鐘誤差,極大地降低了同步次數(shù)。通過LQI指標評價鏈路質量,并通過測量LQI,預測節(jié)點數(shù)據(jù)傳輸速率,進而為各個節(jié)點分配最優(yōu)傳輸時槽,以充分利用信標網(wǎng)絡下全網(wǎng)周期性同步。此外,未進行數(shù)據(jù)回傳的子節(jié)點都將處于休眠狀態(tài)待機,直到下一個同步時槽時自動喚醒,并偵聽網(wǎng)關信標幀,使節(jié)點空閑期能耗降至最低。實驗結果表明,與CSMA-CA方法和均勻時槽分配方法相比,自適應時槽分配方法能有效降低無線傳感器網(wǎng)絡的傳輸能耗。