<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 基于無線傳感器網(wǎng)絡(luò)仿真平臺的研究

          基于無線傳感器網(wǎng)絡(luò)仿真平臺的研究

          ——
          作者: 時(shí)間:2007-07-06 來源: 收藏

          一、引言

               網(wǎng)絡(luò)(WSN)日新月異,各種網(wǎng)絡(luò)方案和協(xié)議日趨復(fù)雜,網(wǎng)絡(luò)規(guī)模日趨龐大,對網(wǎng)絡(luò)研究人員而言,掌握網(wǎng)絡(luò)仿真的重要性是不言而喻的。WSN仿真能夠在一個(gè)可控制的環(huán)境里研究WSN應(yīng)用,包括操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議棧,能夠仿真數(shù)量眾多的節(jié)點(diǎn),能夠觀察由不可預(yù)測的干擾和噪聲引起的難以琢磨的節(jié)點(diǎn)間的相互作用,獲取節(jié)點(diǎn)間詳細(xì)的細(xì)節(jié),從而提高節(jié)點(diǎn)投放后的網(wǎng)絡(luò)成功率,減少投放后的網(wǎng)絡(luò)維護(hù)工作。目前網(wǎng)絡(luò)使用的仿真工具主要有NS2、TinyOS、OPNET、OMNET++等等。其中TinyOS是專門針對網(wǎng)絡(luò)的特點(diǎn)而研究開發(fā)的。

          二、傳感器網(wǎng)絡(luò)仿真簡介

               在傳感器網(wǎng)絡(luò)中,單個(gè)傳感器節(jié)點(diǎn)有兩個(gè)很突出的特點(diǎn)。一個(gè)特點(diǎn)是它的并發(fā)性很密集;另一個(gè)特點(diǎn)是傳感器節(jié)點(diǎn)模塊化程度很高.上述這些特點(diǎn)使得無線傳感器網(wǎng)絡(luò)仿真需要解決可擴(kuò)展性與仿真效率、分布與異步特性、動(dòng)態(tài)性、綜合仿真平臺等等問題。

          三、無線傳感器網(wǎng)絡(luò)常用仿真工具

               無線傳感器網(wǎng)絡(luò)常用仿真工具有NS2、OPNET、OMNET++、TinyOS,下面我們簡要介紹它們各自的性能和特點(diǎn)。

          3.1 NS2
               NS是一種可擴(kuò)展、以配置和可編程的時(shí)間驅(qū)動(dòng)的仿真工具,它是由REAL仿真器發(fā)展而來.在NS的設(shè)計(jì)中,使用C++和OTCL兩種程序設(shè)計(jì)語言, C++是一種相對運(yùn)行速度較快但是轉(zhuǎn)換比較慢的語言,所以C++語言被用來實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議, 編寫NS底層的仿真引擎; OTCL是運(yùn)行速度較慢,但可以快速轉(zhuǎn)換的腳本語言,正好和C++互補(bǔ),所以O(shè)TCL語言被用來配置仿真中各種參數(shù),建立仿真的整體結(jié)構(gòu), OTCL的腳本通過調(diào)用引擎中各類屬性、方法,定義網(wǎng)絡(luò)的拓?fù)?配置源節(jié)點(diǎn)、目的節(jié)點(diǎn)建立鏈接,產(chǎn)生所有事件的時(shí)間表,運(yùn)行并跟蹤仿真結(jié)果,還可以對結(jié)果進(jìn)行相應(yīng)的統(tǒng)計(jì)處理或制圖.NS可以提供有線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)中鏈路層及其上層精確到數(shù)據(jù)包的一系列行為仿真。NS中的許多協(xié)議都和真實(shí)代碼十分接近,其真實(shí)性和可靠性是非常高的。

          3.2 OPNET
               OPNET是在MIT研究成果的基礎(chǔ)上由MIL3公司開發(fā)的網(wǎng)絡(luò)仿真軟件產(chǎn)品。  OPNET的主要特點(diǎn)包括以下幾個(gè)方面:(1)采用面向?qū)ο蟮募夹g(shù),對象的屬性可以任意配置,每一對象屬于相應(yīng)行為和功能的類,可以通過定義新的類來滿足不同的系統(tǒng)要求; (2)OPNET提供了各種通信網(wǎng)絡(luò)和信息系統(tǒng)的處理構(gòu)件和模塊;(3) OPNET采用圖形化界面建模,為使用者提供三層(網(wǎng)絡(luò)層、節(jié)點(diǎn)層、進(jìn)程層)建模機(jī)制來描述現(xiàn)實(shí)的系統(tǒng);(4) OPNET在過程層次中使用有限狀態(tài)機(jī)來對其它協(xié)議和過程進(jìn)行建模,用戶模型及OPNET內(nèi)置模型將會(huì)自動(dòng)生成C語言實(shí)現(xiàn)可執(zhí)行的高效、高離散事件的模擬流程;(5) OPNET內(nèi)建了很多性能分析器,它會(huì)自動(dòng)采集模擬過程的結(jié)果數(shù)據(jù);(6)OPNET幾乎預(yù)定義了所有常用的業(yè)務(wù)模型,如均勻分布、泊松分布、歐蘭分等。

          3.3 OMNET++
               OMNET++是面向?qū)ο蟮碾x散事件模擬工具,為基于進(jìn)程式和事件驅(qū)動(dòng)兩種方式的仿真提供了支持。 OMNET++采用混合式的建模方式,同時(shí)使用了OMNET++特有的ned(Network Discription,網(wǎng)絡(luò)描述)語言和C++進(jìn)行建模。OMNET++主要由六個(gè)部分組成:仿真內(nèi)核庫、網(wǎng)絡(luò)描述語言的編譯器、圖形化的網(wǎng)絡(luò)編譯器、仿真程序的圖形化用戶接口、仿真程序的命令行用戶接口和圖形化的向量輸出工具。OMNET++的主要模型拓?fù)涿枋稣Z言NED,采用它可以完成一個(gè)網(wǎng)絡(luò)模型的描述。 網(wǎng)絡(luò)描述包括下列組件:輸入申明、信道定義、系統(tǒng)模塊定義、簡單模塊和復(fù)合模塊定義。使用NED描述網(wǎng)絡(luò),產(chǎn)生.NED文件,該文件不能直接被C++編譯器使用,需要首先采用OMNET++提供的編譯工具NEDC將.NED文件編譯成.cpp文件。最后,使用C++編譯器將這些文件與用戶和自己設(shè)計(jì)的簡單模塊程序連接成可執(zhí)行程序。

          3.4 TinyOS
               TinyOS是專門針對傳感器研發(fā)出的操作系統(tǒng)。在TinyOS上編程序使用的語言為nesC(C language for network embedded systems) 語言。

               nesC語言是由C語言擴(kuò)展而來的,意在把組件化/模塊化思想和TinyOS基于事件驅(qū)動(dòng)的執(zhí)行模型結(jié)合起來。 nesC 組件有Module(模塊)和Configuration(連接配置文件)兩種。在模塊中主要實(shí)現(xiàn)代碼的編制,在連接配置文件中主要是將各個(gè)組件和模塊連接起來成為一個(gè)整體。

               TinyOS程序采用的是模塊化設(shè)計(jì),所以它的程序核心往往都很小,能夠突破傳感器存儲(chǔ)資源少的限制,這能夠讓TinyOS很有效的運(yùn)行在無線傳感器網(wǎng)絡(luò)上并去執(zhí)行相應(yīng)的管理工作等。TinyOS的特點(diǎn)主要體現(xiàn)在以下幾個(gè)方面:

               (1)組件化編程(Componented-Based Architecture)。TinyOS的組件通??梢苑譃橐韵氯?硬件抽象組件、合成組件、高層次的軟件組件;硬件抽象組件將物理硬件映射到TinyOS組件模型.合成硬件組件模擬高級硬件的行為.高層次軟件模塊完成控制、路由以及數(shù)據(jù)傳輸?shù)?。}

               (2)事件驅(qū)動(dòng)模式(Event-Driven Architecture)。事件驅(qū)動(dòng)分為硬件驅(qū)動(dòng)和軟件事件驅(qū)動(dòng)。硬件事件驅(qū)動(dòng)也就是由一個(gè)硬件發(fā)出中斷,然后進(jìn)入中斷處理函數(shù)。而軟件驅(qū)動(dòng)則是通過singal關(guān)鍵字發(fā)出一個(gè)事件。

               (3)任務(wù)和事件并發(fā)模式(Tasks And Events Concurrency Model)。任務(wù)用在對于時(shí)間要求不是很高的應(yīng)用中,任務(wù)之間是平等的,即在執(zhí)行時(shí)是按順序先后來的,而不能相互搶占,TinyOS對任務(wù)是按簡單的FIFO隊(duì)列進(jìn)行處理的。事件用在對于時(shí)間的要求很嚴(yán)格的應(yīng)用中,而且它可以占先優(yōu)于任務(wù)和其他事件執(zhí)行。

               (4)分段執(zhí)行(Split-Phase Operations)。在TinyOS中由于tasks 之間不能互相占先執(zhí)行,所以TinyOS沒有提供任何阻塞操作,為了讓一個(gè)耗時(shí)較長的操作盡快完成,一般來說都是將對這個(gè)操作的需求和這個(gè)操作的完成分開來實(shí)現(xiàn),以便獲得較高的執(zhí)行效率。

               (5) 輕量級線程(lightweight thread)。輕量級線程(task, 即TinyOS中的任務(wù))按FIFO方式進(jìn)行調(diào)度,輕量級線程之間不允許搶占;而硬件處理線程(在TinyOS中,稱為硬件處理器),即中斷處理線程可以打斷用戶的輕量級線程和低優(yōu)先級的中斷處理線程,對硬件中斷進(jìn)行快速處理響應(yīng)。

               (6) 主動(dòng)通信消息(active message)。每一個(gè)消息都維護(hù)一個(gè)應(yīng)用層和處理器。當(dāng)目標(biāo)節(jié)點(diǎn)收到這個(gè)消息后,就會(huì)把消息中的數(shù)據(jù)作為參數(shù),并傳遞給應(yīng)用層的處理器進(jìn)行處理。應(yīng)用層的處理器一般完成消息數(shù)據(jù)的解包操作、計(jì)算處理或發(fā)送響應(yīng)消息等工作。

          TinyOS操作系統(tǒng)中常用的仿真平臺主要是TOSSIM和Avrora

               (1)TOSSIM(TinyOS simulation)是一個(gè)支持基于TinyOS的應(yīng)用在PC機(jī)上運(yùn)行的模擬器.TOSSIM運(yùn)行和傳感器硬件相同的代碼,仿真編譯器能直接從TinyOS應(yīng)用的組件表中編譯生成仿真程序。

               (2)Avrora是一種專門為Atmel和Mica2節(jié)點(diǎn)上以AVR單片機(jī)語言編寫的程序提供仿真分析的工具。它的主要特點(diǎn)如下:1) 為AVR單片機(jī)提供了cycle accurate級的仿真,使靜態(tài)程序可以準(zhǔn)確的運(yùn)行。它可以仿真片上(chip-on)設(shè)備驅(qū)動(dòng)程序,并為片外(off-chip)程序提供了有規(guī)則的接口;2)可以添加監(jiān)測代碼來報(bào)告仿真程序運(yùn)行的性能,或者可以在仿真結(jié)束后收集統(tǒng)計(jì)數(shù)據(jù),并產(chǎn)生報(bào)告;3)提供了一套基本的監(jiān)控器來剖析程序,這有助于分析程序的執(zhí)行模式和資源使用等等;4)Avrora可以用gdb調(diào)試程序;5) Avrora可以為程序提供一個(gè)程序流圖,通過這個(gè)流程圖可以清楚的表示機(jī)器代碼程序的結(jié)構(gòu)和組織;6) Avrora中提供了分析能量消耗的工具,并且可以設(shè)置設(shè)備的帶電大??;7) Avrora可以用來限制程序的最大堆??臻g,它會(huì)提供一些關(guān)于目前程序中的最大的堆棧結(jié)構(gòu),和一些關(guān)于空間和時(shí)間消耗的信息報(bào)告。

          3.5性能比較

               TinyOS 用行為建模,可以仿真跨層協(xié)議;仿真程序移植到節(jié)點(diǎn)上,不需要二次編碼。
               通過對上述幾種仿真軟件的分析比較,我們可以清楚的看到各個(gè)仿真軟件的特點(diǎn)、適用范圍,我們可以根據(jù)研究需要選擇適合的仿真軟件,使得我們的學(xué)習(xí)研究可以事半功倍。

          結(jié)束語

               網(wǎng)絡(luò)仿真技術(shù)為通信網(wǎng)絡(luò)規(guī)劃和優(yōu)化提供了一種科學(xué)高效的方法。網(wǎng)絡(luò)仿真在國內(nèi)是近幾年才發(fā)展起來的,但在國外網(wǎng)絡(luò)仿真技術(shù)已經(jīng)相當(dāng)成熟,我們應(yīng)該大膽地借鑒國外先進(jìn)技術(shù),促進(jìn)國內(nèi)網(wǎng)絡(luò)仿真技術(shù)迅速發(fā)展。

          參考文獻(xiàn)
          【1】于海斌,曾鵬等.智能無線傳感器網(wǎng)絡(luò).科學(xué)出版社,2006,p283~p303,
          【2】石懷偉,李明生,王少華,網(wǎng)絡(luò)仿真技術(shù)與OPNET應(yīng)用實(shí)踐,計(jì)算機(jī)系統(tǒng)應(yīng)用2006.第3期
          【3】李玥,吳辰文,基于OMNeT++地TCP/IP協(xié)議仿真,蘭州交通大學(xué)學(xué)報(bào)(自然科學(xué)版),2005年8月
          【4】袁紅林,徐晨,章國安,TOSSIM:無線傳感器網(wǎng)絡(luò)仿真環(huán)境,傳感器與儀表儀器 ,2006年第22卷第7-1期

          c語言相關(guān)文章:c語言教程


          c++相關(guān)文章:c++教程


          傳感器相關(guān)文章:傳感器工作原理


          風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理


          關(guān)鍵詞: 傳感器 傳感器專題 無線

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();