廖啟蒙
(鹽城工學院,江蘇 鹽城 224000)
隨著實時無線數據采集技術的發展,無線傳感器網絡的應用前景與領域也更為廣闊,如軍事領域、工業領域和醫療領域等。時鐘同步技術是無線傳感器網絡中的核心要素,因為它在不同的傳感器節點中提供了一個共同的時鐘框架。
在典型的無線傳感器網絡中,一般只有兩種節點。一種是根節點。根節點作為一種強大的數據處理器,與網絡的連接形式一般是有線與無線并存。另一種節點是子節點,子節點數量眾多、規模巨大,負責數據的采集與發送,但是由于其區位因素,一般與網絡的連接方式都通過無線網絡。所以,如何有效節約能源成為設計無線傳感器網絡時鐘同步算法與協議的重點。現有的一些無線傳感器時鐘同步算法與協議如成對廣播同步算法(PBS)[1]、遞歸時間同步協議(RTSP)等[2],在減少耗能的同時都針對于解決根節點與子節點的問題。本文使用的是另一種時鐘算法——基于源時鐘頻率矯正的時鐘同步算法(SCFR)[3-4],是一種節能方案,著重解決電池供能的子節點能源消耗問題。
基于源時鐘頻率矯正的異步源時鐘頻率恢復(SCFR)的節能方案,允許獨立的異步從屬傳感器時鐘與主節點時鐘同頻運行。與傳統的雙向消息交換算法(TPSN)相比,SCFR是主節點發送“請求”消息,傳感器節點回應“應答”消息。主節點繼續向傳感器節點發送具有時間戳的信標,傳感器節點負責接收。使用正常數據分組可減少傳感器節點處的傳輸次數,從而使主節點計算出傳感器節點的時間偏移,正確解釋數據測量的出現與哪個主時鐘相關,如圖1、圖2所示。
圖1 傳統雙向信息交換時鐘方案
圖2 逆向雙向信息交換時鐘方案
多跳點時鐘同步方案如圖3所示。該方案中,門節點在從屬關系上既可以作為根節點也可以作為子節點。對于上層根節點而言,門節點扮演下層子節點的角色;而對于下層子節點而言,門節點則扮演根節點的角色。一般而言,處于最下層的子節點的時鐘包裹是由門節點傳遞到最上層根節點的,而最終的仿真驗證也是基于圖3的時鐘框架。
圖3 多跳點仿真(兩跳點)時間框架示意圖
首先,定義最上層根節點“信標請求”信息離開根節點的具體時間戳為,那么“信標請求”信息到達下層門節點的時間戳為:
DHG表示上層根節點與下層門節點之間的傳輸延遲,RHG表示門節點時鐘頻率相對于上層根節點時鐘頻率的比率,θHG為門節點時鐘相對于根節點時鐘的時鐘補償,dHG表示傳播信道中噪聲而導致的延遲。門節點對于下層子節點而言扮演根節點的角色,所以門節點也會發送“信標請求”信息到下層子節點。那么,將門節點“信標請求”信息離開門節點的時間戳表示為tH_B_D。需要注意,門節點的時鐘與子節點的時鐘沒有直接關系,但是它們都可以參考最上層根節點的標準時鐘。所以,門節點的“信標請求”信息離開門節點的時間戳是參考自身的時鐘。因此,需要將門節點的“信標請求”信息離開門節點的時間戳轉化為參考根節點標準時鐘的時間戳:
然后,“信標請求”信息到達最下層子節點的時間戳可以表示為:
需要注意,這里的時間戳依然參考根節點的標準時鐘,而不是最下層子節點的自身時鐘。這里的DGS和dGS分別表示門節點與最下層子節點之間的信息傳輸延遲與信道噪聲延遲。最終,時間戳到達最下層子節點的時間戳為:
這里的RHS與θHS分別表示最下層子節點相對于門節點的時鐘頻率比率與時鐘補償。在多跳點情況下,逆向雙向信息交換會分別發生兩次,一次在最下層子節點與門節點之間,另一次在門節點與最上層根節點之間。在這個多跳點方案中,使用累計比率估測法[4]計算R^GS和R^HG,R^GS和R^HG分別表示門節點時鐘頻率相對于最下層子節點時鐘頻率的估測比率和門節點時鐘頻率相對于根節點時鐘頻率的估測比率。
當測量數據包裹從最下層根節點發出時,定義這時的時間戳為tm。這時的時間戳參考根節點的標準時鐘,因此將這一時間戳在SCFR算法機制下轉化為參考最下層子節點本地時鐘為:
當門節點接收到從最下層發送來的測量數據包裹時,它會將測量數據包裹向上傳遞到最上層的根節點。在SCFR這種算法機制下,數據包裹到達門節點的估測時間為:
到達門節點的時間戳是參考門節點自身的本地時鐘,現在回到這個方案最初的時間,最上層根節點發送“信標請求”信息,這一“信標請求”離開根節點的時間戳為tH_B_D,則到達門節點的時間戳為rGW_B_A。之前提到的測量數據包裹是由最下層子節點發出,由門節點傳遞到最上層根節點,而這一測量數據包裹離開門節點的時間戳在SCFR機制下定義為:
考慮到測量數據包裹發送到門節點時無法立刻由門節點傳遞到上層根節點,存在一定的處理延遲,所以定義A為處理延遲。最終,測量數據包裹到達最上層門節點的時間為:
最終,測量數據包裹到達最上層根節點。在SCFR算法機制下,這一時間戳定義為:
假設一個多跳網絡模型中包含一個根節點、一個門節點和一個子節點。門節點與子節點之間相距200 m,門節點與根節點之間相距100 m,總共120 s觀察時間。假設總共100個測量數據包裹且遵循泊松分布,最下層子節點與最上層根節點的時鐘偏移和時鐘補償分別是1.0+200 ppm和0.9 s。同樣,門節點與最上層根節點的時鐘偏移和時鐘補償分別是1.0+100 ppm和1 s。結果分別如圖3、圖4、圖5和圖6所示。
圖3 最下層根節點與門節點時鐘頻率矯正情況
圖4 門節點與最上層根節點時鐘頻率矯正情況
圖5 最下層根節點與門節點時鐘同步情況
圖6 門節點與最上層根節點時鐘同步情況
可以觀察得到,門節點與最下層子節點的測量時間誤差、時鐘頻率誤差與單跳點仿真結果十分類似[5],時鐘頻率的差異幾乎趨向于零。從精度上看,測量時間差異、時鐘同步精度非常高,屬于納秒級別。從門節點與最上層根節點的仿真結果不難看出,仿真數據與門節點與最下層子節點有相同的數據趨向。從均方誤差(MSE)這一測量結果可見,由門節點傳送測量數據包裹而造成的累積誤差很小。所以,從一個跳點到兩個跳點的拓展,從單跳到多跳,證明這種基于源時鐘頻率矯正的算法在兩個跳點的情況下依然可以保持很高的精度。
模擬了一個多跳的仿真模型,以驗證基于源頻率時鐘矯正(SCFR)在兩個跳點下依然能保持較高的精確度。從模型和仿真結果來看,當最下層子節點的測量數據包裹由門節點傳遞到最上層根節點時,門節點與根節點的時鐘頻率與測量數據預估時間誤差很小,依然保持著很高的精確度。