WSN中基于TinyDB路由模塊的分析與改進_第1頁
WSN中基于TinyDB路由模塊的分析與改進_第2頁
WSN中基于TinyDB路由模塊的分析與改進_第3頁
WSN中基于TinyDB路由模塊的分析與改進_第4頁
WSN中基于TinyDB路由模塊的分析與改進_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、WSN中基于TinyDB路由模塊的分析與改進    摘要:實現(xiàn)了一種全集成可變帶寬中頻寬帶低通濾波器,討論分析了跨導(dǎo)放大器-電容(OTAC)連續(xù)時間型濾波器的結(jié)構(gòu)、設(shè)計和具體實現(xiàn),使用外部可編程電路對所設(shè)計濾波器帶寬進行控制,并利用ADS軟件進行電路設(shè)計和仿真驗證。仿真結(jié)果表明,該濾波器帶寬的可調(diào)范圍為126 MHz,阻帶抑制率大于35 dB,帶內(nèi)波紋小于05 dB,采用18 V電源,TSMC 018m CMOS工藝庫仿真,功耗小于21 mW,頻響曲線接近理想狀態(tài)。關(guān)鍵詞:Butte王翀(南京郵電大學(xué)通信與信息工程學(xué)院,江蘇  南京 

2、 210003)0  引言TinyDB是由美國加州大學(xué)伯克利分校的研究人員開發(fā)的一個無線傳感器網(wǎng)絡(luò)數(shù)據(jù)庫的原型系統(tǒng)。它將整個無線傳感器網(wǎng)絡(luò)視為一個虛擬的數(shù)據(jù)庫系統(tǒng),并支持類SQL查詢。傳感器網(wǎng)絡(luò)上的所有數(shù)據(jù)類型,包括各種類型的傳感器數(shù)據(jù)、靜態(tài)數(shù)據(jù)都關(guān)系表中的一個字段,目前系統(tǒng)的關(guān)系表只有一個Sensors表。而實現(xiàn)上,它是由兩部分組成的,一部分作為數(shù)據(jù)庫前端,接收普通的查詢和控制命令,以及基于事件的查詢,同時由TinyDB根據(jù)傳感器網(wǎng)絡(luò)的能量自動調(diào)整執(zhí)行周期的查詢;另一部分是運行在節(jié)點上的嵌入式數(shù)據(jù)庫引擎,具體負責(zé)傳感器網(wǎng)絡(luò)中的數(shù)據(jù)管理,以及同時執(zhí)行多個查詢等。1 TinyDB構(gòu)成及

3、軟件介紹TinyDB系統(tǒng)主要是由客戶端、TinvDB Server和傳感器網(wǎng)絡(luò)節(jié)點端三個部分組成??蛻舳税惭b有基于Java的應(yīng)用程序接口(TinyDB客戶端API),用戶通過該接口來使用TinyDB。傳感器網(wǎng)絡(luò)中的每一個節(jié)點都會安裝TinvDB的傳感器網(wǎng)絡(luò)軟件(TinyDB QP)。TniyDB的客戶端軟件包括兩部分:一部分是類似于SOL語言的查詢語言TinySQL,是供終端用戶使用的。它屏蔽了無線傳感器網(wǎng)絡(luò)的細節(jié),通過作為應(yīng)用接口的數(shù)據(jù)庫前端,用戶看到的是一個數(shù)據(jù)庫系統(tǒng),故只需要使用類SOL進行數(shù)據(jù)查詢檢索即可。即:另一部分是基于Java的應(yīng)用程序界面,主要支持用戶使用TinyDB編寫應(yīng)用程

4、序構(gòu)成,主要功能包括查詢請求的接收、驗證、優(yōu)化,查詢的管理和查詢結(jié)果的接收,發(fā)送控制命令,與無線傳感器網(wǎng)絡(luò)相連接,建立數(shù)據(jù)庫與用戶交互的界面等。圖1所示展示了TinyDB應(yīng)用程序的功能。傳感器網(wǎng)絡(luò)節(jié)點端的軟件包括四個用nesC語言編寫的構(gòu)件:傳感器節(jié)點目錄及模式管理器、查詢處理器、存儲管理器和網(wǎng)絡(luò)拓撲管理器。傳感器節(jié)點目錄負責(zé)記錄每個節(jié)點的屬性”。查詢處理器負責(zé)完成查詢處理工作,使用傳感器目錄存儲的信息可以獲得傳感器節(jié)點的屬性。存儲管理器由MemAllocallocComplete()和MemApactComplete()來觸發(fā)相應(yīng)的事件。網(wǎng)絡(luò)拓撲管理器可為TinyDB處理所有傳感器節(jié)點到傳感

5、器節(jié)點以及傳感器節(jié)點到基站間的通信,即路由查詢和數(shù)據(jù)信息。2  網(wǎng)絡(luò)拓撲模塊的具體分析網(wǎng)絡(luò)拓撲管理器使用簡單的樹維護算法來建立一個以匯聚節(jié)點為根節(jié)點的樹型拓撲結(jié)構(gòu),每個傳感器節(jié)點保存一個鄰居節(jié)點表,并在這些鄰居節(jié)點中選擇一個節(jié)點作為它在路由樹中的父節(jié)點。其具體實現(xiàn)流程圖如圖2所示。2.1  發(fā)送階段分析在發(fā)送階段,首先是初始化,即設(shè)置一些參數(shù)為默認值,可設(shè)置匯聚節(jié)點(節(jié)點ID號為0)父節(jié)點為自身,跳數(shù)為0。計算gUpdateInterval=TADA_TO_ROUTE_RATIO*DATA_FREQ,也就是一個路由更新報文的時間。然后是執(zhí)行TimerTask(),每隔gUp

6、dateInterval的時間執(zhí)行一次TimerTask ()任務(wù)。主要包括更新路由表,選擇父節(jié)點,發(fā)送數(shù)據(jù)包等。更新路由表就是通過計數(shù)器控制每隔十個gUpdateInterval觸發(fā)一次做鄰居表項的更新計算,可由updateTable()調(diào)用updateEst ()來實現(xiàn)。主要是更新路由表項中的跳數(shù)和通信代價。計算代價函數(shù)主要是鏈路估計,其基本思想是由節(jié)點統(tǒng)計一定時間內(nèi)從某個鄰居節(jié)點接收到的分組占該鄰居節(jié)點發(fā)往該節(jié)點的分組數(shù)量的比重。鏈路估計包括發(fā)送代價估計和接收代價估計兩個部分,并用這兩個值來表示鏈路的雙向通信代價。此外,還應(yīng)綜合原先的鏈路估計以決定新的鏈路估計值。這里以節(jié)點A為例,經(jīng)過一

7、段時間的統(tǒng)計后,它可以得到來自鄰居節(jié)點B的接收分組數(shù)目,而節(jié)點B會在自己的路由狀態(tài)廣播中告知向節(jié)點A發(fā)送分組的數(shù)目。這二者的商就是節(jié)點A接收節(jié)點B發(fā)送的分組成功率,可用RcvEstA/B表示,用公式表示如下:RcvEstA/B=RcvCountASendCountB。同樣,節(jié)點B也可以計算出接收節(jié)點A的發(fā)送分組成功率,并在節(jié)點B的周期性路由狀態(tài)廣播中報告自己到所有鄰居節(jié)點的接收成功率,其鄰居節(jié)點A則將節(jié)點B的接收成功率作為自己的發(fā)送成功率,用公式表示為:SendEstA/B=RcvEstB/A節(jié)點到鄰居節(jié)點的雙向鏈路估計是節(jié)點發(fā)送和接收成功率的乘積:Est=SendEst·RctEs

8、t。由于節(jié)點在短時間內(nèi)收到的分組數(shù)量隨時間不同,其抖動比較大,因此,為了減少鏈路評估的抖動,可采用指數(shù)加權(quán)位移平均(Exponential Weighted Moving Average,EWMA)來計算最終的鏈路估計值。EstFinal=EstOld*+EstNew*(1-)。在現(xiàn)實中,常取0.75。選擇父節(jié)點可由chooseParent()函數(shù)來實現(xiàn)。當(dāng)節(jié)點周期性廣播路由狀態(tài)信息時,每個節(jié)點都會相應(yīng)的更新鄰居節(jié)點到匯聚節(jié)點的跳數(shù),并根據(jù)計算出來的代價函數(shù)來選擇父節(jié)點。節(jié)點可按照路數(shù)小的優(yōu)先當(dāng)父節(jié)點,在跳數(shù)相同的條件下,可選擇鏈路質(zhì)量比較好的作為父節(jié)點。其實現(xiàn)流程如圖3所示。最后是數(shù)據(jù)包發(fā)送

9、,可由SendRouteTask()函數(shù)把節(jié)點更新的消息(比如到根節(jié)點的跳數(shù),以及鏈路代價等信息)封裝到一個路由分組并廣播所有鄰居節(jié)點。2.2  接收階段分析當(dāng)節(jié)點收到一個數(shù)據(jù)包時,首先會檢查自己的路由表中是否已經(jīng)存在這個表項。如果存在,則退出。如果不存在,則需要在路由表中加入這個新的表項。這通常可由updateNbrCounters()函數(shù)實現(xiàn)。路由表的大小一般由ROUTE_TABLE_SIZE決定,其值等于16。當(dāng)路由表表項未滿時,則可直接加入該表項。當(dāng)路由表已滿時,則應(yīng)替換路由表中的某一個表項。替換發(fā)送估計值最小的節(jié)點,因為發(fā)送估計值越小,表明到該節(jié)點的通信質(zhì)量越差。先由fin

10、dEntryToBeReplaced()函數(shù)找到被替代那一表項的id號,并把這一項用newEntry()函數(shù)來清空,然后再把新的表項加入到路由表中。3  網(wǎng)絡(luò)拓撲模塊的改進采用上面的協(xié)議具有明顯的缺點。首先,由于采用跳數(shù)小是作為選擇父節(jié)點的首要條件,既使到根節(jié)點的鏈路質(zhì)量不好,但由于跳數(shù)小,節(jié)點仍然會選擇該節(jié)點作為父節(jié)點;另外,節(jié)點對鏈路質(zhì)量的評估和最近一段時間的信道質(zhì)量以及通信量都有關(guān)系,所以,信道質(zhì)量會產(chǎn)生抖動現(xiàn)象。這樣,子節(jié)點經(jīng)常會在幾個鏈路質(zhì)量比較接近的父節(jié)點之間搖擺,從而造成拓撲的不穩(wěn)定。本文即對此進行了改進。首先是在chooseParent()中進行改進,即在選擇父節(jié)點時,按照到根節(jié)點的總的成本來計算,即以到根節(jié)點的總代價最小為原則。并在算出代價后和原來的父節(jié)點代價作比較。如果低于某個數(shù)值時,才換父節(jié)點,這就避免了在幾個相近的父節(jié)點間來回搖擺。其實現(xiàn)程序如圖4所示。4  實驗結(jié)果分析把TinyDB的程序可在TinyOS的仿真工具Tossim中運行,然后分別將改進的路由協(xié)議與原來的路由協(xié)議在TOSSIM中進行仿真,圖5所示是其仿真結(jié)果。該仿真設(shè)定的模擬條件和假設(shè)前提為:時間間隔設(shè)定為5秒,即每隔5秒觸發(fā)一次查詢;設(shè)定模擬時間為300秒,分別記

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論