水下傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位仿真軟件的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
水下傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位仿真軟件的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
水下傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位仿真軟件的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
水下傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位仿真軟件的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
水下傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位仿真軟件的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 2016 屆本科畢業(yè)論文(設(shè)計(jì)) 論文(設(shè)計(jì))題目:水下傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位 仿真軟件的設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生姓名: 張高 所在學(xué)院: 信息工程學(xué)院 所學(xué)專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 導(dǎo)師姓名: 楊杰 完成時(shí)間: 2016-05-08 專心-專注-專業(yè)水下傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位仿真軟件的設(shè)計(jì)與實(shí)現(xiàn)摘 要水下傳感器網(wǎng)絡(luò)是將眾多傳感器節(jié)點(diǎn)隨機(jī)布放當(dāng)監(jiān)測(cè)水域內(nèi),節(jié)點(diǎn)之間通過(guò)水聲無(wú)線通信方式形成的一個(gè)多跳的自組織網(wǎng)絡(luò)系統(tǒng)。將采集監(jiān)測(cè)到的信息發(fā)送給接收者。本文首先簡(jiǎn)單介紹了水下無(wú)線傳感器網(wǎng)絡(luò)的研究背景以及國(guó)內(nèi)外關(guān)于水下傳感器網(wǎng)絡(luò)的研究進(jìn)展。再者介紹了本文的主要研究?jī)?nèi)容以及本系統(tǒng)用到的相關(guān)編程

2、技術(shù),節(jié)點(diǎn)定位常用的定位算法原理,采取類似TOA的測(cè)距方式在降低能耗的同時(shí)能夠精確的保障定位的準(zhǔn)確度。最后介紹2D與3D的仿真設(shè)計(jì)方案,利用MATLAB對(duì)算法程序進(jìn)行仿真來(lái)對(duì)本文的定位方案進(jìn)行評(píng)估。對(duì)系統(tǒng)功能進(jìn)行測(cè)試。關(guān)鍵詞:水下無(wú)線傳感器網(wǎng)絡(luò),定位,MATLAB,定位精度,仿真 DESIGN AND IMPLEMENTATION OF THE SIMULATION SOFTWARE FOR THE NODE LOCALIZATION IN UNDERWATER SENSOR NETWORKSAbstractUnderwater sensor networks is the number of

3、 sensor nodes are randomly monitored when laying the waters, a multi-hop ad hoc network system between the nodes via wireless underwater acoustic communication system formed. Monitoring information will be collected to be sent to the recipient.This paper introduces the research progress of underwate

4、r wireless sensor network research background at home and abroad about the underwater sensor networks. Also it introduced the main contents of this paper as well as the system used in the relevant programming, positioning common node localization algorithm principle, take a similar manner TOA rangin

5、g accuracy while reducing power consumption can be precisely targeted protection. Finally, 2D and 3D design simulation using MATLAB algorithm simulation program to evaluate the positioning scheme of this article. System functions to be tested.Keyword: Underwater wireless sensor network,Localzation,M

6、ATLAB,Positioning accuracy, Simulation目 錄1. 緒論1.1 研究的背景及意義水下傳感器網(wǎng)絡(luò) (Underwater Sensor Networks)是以聲音為通信介質(zhì),以海洋監(jiān)測(cè)為目的、由各種水下傳感器節(jié)點(diǎn)組成的無(wú)線傳感器網(wǎng)絡(luò),是海洋監(jiān)測(cè)的一種必要手段而水下節(jié)點(diǎn)定位更是必不可少的研究課題。定位可以提高海上航行船只方向的辨識(shí)度,可以對(duì)海里監(jiān)測(cè)的目標(biāo)進(jìn)行跟蹤,對(duì)魚(yú)群進(jìn)行監(jiān)測(cè),同時(shí)能為海軍作戰(zhàn)提供強(qiáng)有力的保障等等。水下無(wú)線傳感器網(wǎng)絡(luò)具有很大的研究?jī)r(jià)值和應(yīng)用價(jià)值,它能夠治理海洋環(huán)境、監(jiān)測(cè)海洋災(zāi)害的發(fā)生、大力建設(shè)海洋工程、海上作業(yè)生產(chǎn)開(kāi)發(fā)和海洋軍事作戰(zhàn)提供一個(gè)更有

7、力的支撐點(diǎn)。UWSN技術(shù)的發(fā)展將在制定水兵軍事策略的過(guò)程中起到舉足輕重的作用。因此,UWSN受到世界各界的高度重視。具有收集、計(jì)算、儲(chǔ)存和交互等綜合能力的無(wú)線集成傳感器得到了各領(lǐng)域大范圍的使用。水下無(wú)線傳感器網(wǎng)絡(luò)的好處使得其能夠在殘酷的水下環(huán)境中進(jìn)行部署和應(yīng)用。1.2 研究現(xiàn)狀關(guān)于水下傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位的研究目前國(guó)內(nèi)外還沒(méi)有一款既節(jié)約能源又能提高定位精確度的定位系統(tǒng)。要么就是定位的精確度的提高帶來(lái)的代價(jià)就是能源電量的迅速消耗。因?yàn)轫氁抵貜?fù)發(fā)送信號(hào),所以電量消耗比較快?;蛘呤枪?jié)能有所提高但是定位精度會(huì)大大受到折扣。本系統(tǒng)是基于TOA的測(cè)距算法,在盡量節(jié)約能耗的同時(shí)又提高了定位的準(zhǔn)確度。1.3

8、 論文主要內(nèi)容本篇論文主要介紹水下傳感器網(wǎng)絡(luò)(Underwater Wireless Sensor Network簡(jiǎn)稱UWSN)節(jié)點(diǎn)的定位軟件的仿真實(shí)現(xiàn),在海洋傳感器節(jié)點(diǎn)部署和分布中,節(jié)點(diǎn)被隨機(jī)的安放在水下三維立體空間中,以達(dá)到對(duì)監(jiān)測(cè)地區(qū)的立體感知效果?,F(xiàn)今的海洋傳感器節(jié)點(diǎn)部署方式主要分為兩大類:第一類是勻稱覆蓋需求(Uniform coverage requirement)的節(jié)點(diǎn)部署方法,即將傳感器節(jié)點(diǎn)均勻地布置在監(jiān)測(cè)區(qū)域。本文研究的是水下傳感器節(jié)點(diǎn)非均勻分布,所以均勻分布不做深入討論。第二類是非均勻覆蓋需求(Non-uniform coverage requirement)的節(jié)點(diǎn)部署方法,

9、也就是依據(jù)監(jiān)測(cè)目標(biāo)分布的稀疏密度的不同非均勻地布置節(jié)點(diǎn)。針對(duì)檢測(cè)水域內(nèi)不同感知要求,針對(duì)監(jiān)測(cè)區(qū)域的差異覆蓋采用網(wǎng)狀線切割表示法,非均勻地布置傳感器節(jié)點(diǎn)。主要研究問(wèn)題:無(wú)規(guī)則無(wú)規(guī)律的幾何區(qū)域,不同感知需求的水下節(jié)點(diǎn)布置問(wèn)題。優(yōu)化目標(biāo):目標(biāo)節(jié)點(diǎn)的覆蓋概率至少要優(yōu)于其需求。受數(shù)字圖像處理、隨機(jī)算法和3D圖形建模啟發(fā),設(shè)計(jì)了一種幾何方法網(wǎng)狀線切割表示方式,通過(guò)不斷地劃分網(wǎng)格,并在網(wǎng)格交叉點(diǎn)嘗試布置節(jié)點(diǎn),尋找最優(yōu)的節(jié)點(diǎn)部署位置,實(shí)現(xiàn)對(duì)不同覆蓋要求的區(qū)域不同層次的覆蓋。文章中針對(duì)不規(guī)則水域,按照不同的覆蓋需求,更合實(shí)際環(huán)境要求地部署水下傳感器節(jié)點(diǎn),且算法能夠?qū)崿F(xiàn)覆蓋需求與布置節(jié)點(diǎn)覆蓋更好地相配合,但該方法

10、為集中式的方式,在實(shí)際生活中很難實(shí)現(xiàn),且該方法只適應(yīng)于靜態(tài)監(jiān)測(cè)目標(biāo),對(duì)于動(dòng)態(tài)不斷變化的監(jiān)測(cè)目標(biāo),還沒(méi)有深入研究,只是適用于密閉環(huán)境的水質(zhì)量監(jiān)測(cè)。1.4 論文用到的相關(guān)技術(shù)簡(jiǎn)介本系統(tǒng)主要采用了Java語(yǔ)言,C#語(yǔ)言,access 數(shù)據(jù)庫(kù),MATLAB仿真軟件進(jìn)行設(shè)計(jì)。Java語(yǔ)言主要是用來(lái)對(duì)前臺(tái)界面的編寫(xiě)設(shè)計(jì)以及用JDBC與數(shù)據(jù)庫(kù)進(jìn)行交互查詢。Java語(yǔ)言最大的好處是其可移植性,一次編譯,到處運(yùn)行。C#語(yǔ)言是編寫(xiě).net的最好語(yǔ)言,尤其是設(shè)計(jì)前端界面十分美觀漂亮,所以這里采用C#語(yǔ)言來(lái)進(jìn)行編寫(xiě)。使用MATLAB仿真軟件進(jìn)行3D圖形繪制。因?yàn)殛P(guān)于3D仿真圖形的設(shè)計(jì)MATLAB是最好也是能與眾多高級(jí)

11、編程語(yǔ)言相結(jié)合的一款界面圖形繪制軟件。2. 水下傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位研究2.1 傳感器節(jié)點(diǎn)內(nèi)部結(jié)構(gòu)水下傳感器網(wǎng)絡(luò)是由無(wú)數(shù)個(gè)水下微傳感器節(jié)點(diǎn)所構(gòu)成,而每一個(gè)節(jié)點(diǎn)主要由存儲(chǔ)器、聲學(xué)MODEM、中央處理器隨機(jī)處理器、傳感器界面電路、傳感器、電源等幾部分組成。這些不均勻分布的節(jié)點(diǎn)之間可以相互通信傳輸數(shù)據(jù),但是,如果其中的一個(gè)節(jié)點(diǎn)電源一旦斷電,那么這個(gè)節(jié)點(diǎn)就會(huì)處于死亡無(wú)效狀態(tài)不能工作。每一個(gè)節(jié)點(diǎn)自身都帶有一個(gè)浮標(biāo)參數(shù)標(biāo)志自己沉在海水中的深度。傳感器節(jié)點(diǎn)入水后所有節(jié)點(diǎn)處于激活狀態(tài)并且會(huì)根據(jù)相應(yīng)的算法計(jì)算出自身所處位置根據(jù)需要調(diào)節(jié)所在深度。然后對(duì)海洋里周圍感知的事物信息進(jìn)行信息采集和數(shù)據(jù)處理;在傳感器節(jié)點(diǎn)之間

12、進(jìn)行水聲無(wú)線通訊;利用節(jié)點(diǎn)的自組織能力形成多級(jí)跳的自建組織網(wǎng)絡(luò);最終通過(guò)網(wǎng)關(guān)節(jié)點(diǎn)或船艦接收站將處理后的信息以無(wú)線電通信方式送入岸上陸基基站,形成一個(gè)水下傳感器監(jiān)測(cè)網(wǎng)絡(luò)。節(jié)點(diǎn)內(nèi)部結(jié)構(gòu)與關(guān)系如下圖所示:圖2-1 傳感器內(nèi)部結(jié)構(gòu)圖2.2 常用測(cè)距方法測(cè)距的典型算法主要有以下四種TOA(基于信號(hào)到達(dá)時(shí)間)、TDOA(信號(hào)到達(dá)時(shí)間差)、AOA(基于信號(hào)角度)和RSSI(信號(hào)接收角度)。下面分別做一個(gè)介紹:TDOA是一種無(wú)線定位技術(shù)是對(duì)TOA算法的一種改進(jìn)方案是通過(guò)判斷監(jiān)測(cè)信號(hào)到達(dá)兩個(gè)節(jié)點(diǎn)的時(shí)間差來(lái)進(jìn)行定位的。TDOA算法解決了發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)時(shí)間同步的問(wèn)題以及發(fā)送端必須持有時(shí)間戳的問(wèn)題。TDOA測(cè)距方

13、法原理圖2-2所示。未知節(jié)點(diǎn)發(fā)射聲波信號(hào),經(jīng)過(guò)t1時(shí)間后,錨節(jié)點(diǎn)1收到信號(hào),經(jīng)過(guò)t2 時(shí)間后錨節(jié)點(diǎn)2收到信號(hào)錨節(jié)點(diǎn)1和錨節(jié)點(diǎn)2的TDOA值為t2-t1.設(shè)聲信號(hào)傳播速度為v,那么未知節(jié)點(diǎn)與兩個(gè)已知節(jié)點(diǎn)之間的距離差為s=v×(t2-t1).圖2-2 TDOA測(cè)距原理圖AOA是基于信號(hào)到達(dá)角度的一種算法也是一種典型的測(cè)距算法。這種算法需要節(jié)點(diǎn)或者錨點(diǎn)帶有方向性天線進(jìn)行方向測(cè)定。因此增加了成本并且?guī)в芯窒扌?。AOA不僅能確定節(jié)點(diǎn)的坐標(biāo),還能確定節(jié)點(diǎn)所在的方向,但AOA容易收到外界因素的影響,因此不宜在大規(guī)模水下傳感器節(jié)點(diǎn)定位中使用。RSSI是一種根據(jù)信號(hào)接收角度的大小來(lái)進(jìn)行定位的一種算法。

14、采用RSSI定位的算法精度很容易受到路徑損耗的影響。參考點(diǎn)距離越小,定位越精確,參考點(diǎn)越多,定位時(shí)間就花費(fèi)的越久。RSSI測(cè)距算法的基本原理是:已知發(fā)射節(jié)點(diǎn)的信號(hào)強(qiáng)度,接收節(jié)點(diǎn)根據(jù)接收到的信號(hào)強(qiáng)度計(jì)算出信號(hào)衰減程度,將傳輸過(guò)程中的能量損耗轉(zhuǎn)化為距離,下面是其測(cè)距公式:RSSI測(cè)距方法容易受水下環(huán)境影響,因此RSSI測(cè)量值并不高。但是RSSI無(wú)需額外的硬件設(shè)備支持,因此RSSI適用于大型的水下傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位。TOA是基于信號(hào)到達(dá)時(shí)間來(lái)進(jìn)行定位的。而以上三種測(cè)距算法要么算法太復(fù)雜要么是實(shí)現(xiàn)起來(lái)不容易。TOA測(cè)距算法效果在水下比陸地上更好。所在在這里主要討論TOA測(cè)距算法。 TOA測(cè)距算法是按照

15、信號(hào)的傳輸時(shí)間以及傳輸速度要求節(jié)點(diǎn)之間的距離,所以TOA測(cè)距算法須要網(wǎng)絡(luò)上的時(shí)鐘同步。TOA算法計(jì)算量小,簡(jiǎn)單易行,適用于實(shí)際。2.3 定位計(jì)算基本方法在水下傳感器網(wǎng)絡(luò)定位中,節(jié)點(diǎn)一般處于三維立體空間中,將三維空間投射到二維平面上。如下圖2-3所示,圖2-3 三邊測(cè)距法示意圖位置節(jié)點(diǎn)O收到了3個(gè)不在一條直線上的鄰居已知節(jié)點(diǎn)a,b,c發(fā)送過(guò)來(lái)的位置信息其中包含節(jié)點(diǎn)位置、發(fā)送時(shí)間戳等它們的坐標(biāo)分別為(Xa,Ya,XYb,Xc,Yc).通過(guò)測(cè)距算法可以算出節(jié)點(diǎn)o與三個(gè)鄰居節(jié)點(diǎn)的距離dA,dB,dC。則點(diǎn)o必定在分別以點(diǎn)A、B、C為圓心,dA、dB、dC為半徑的圓上??筛鶕?jù)公式(2.1)求出節(jié)點(diǎn)0的位

16、置如公式(2.2)所示。 (2.1) (2.2)下圖是節(jié)點(diǎn)隨機(jī)分布在水下3D環(huán)境的示意圖,根據(jù)上面的計(jì)算方式獲悉三個(gè)已知節(jié)點(diǎn)可以來(lái)定位一個(gè)未知節(jié)點(diǎn)。節(jié)點(diǎn)會(huì)隨機(jī)播撒在海洋環(huán)境中,對(duì)想要探究的水域進(jìn)行多重定位分析匯總數(shù)據(jù)。圖2-4 水下傳感器網(wǎng)絡(luò)節(jié)點(diǎn)分布圖3. 水下傳感器節(jié)點(diǎn)2D與3D仿真設(shè)計(jì)與實(shí)現(xiàn)3.1 系統(tǒng)設(shè)計(jì)概述(1)2D仿真水下傳感器2D設(shè)計(jì)主要是考慮到傳感器節(jié)點(diǎn)漂浮于海面上或者錨定于海底,那么在這里只需要兩個(gè)坐標(biāo)參數(shù)就可以實(shí)現(xiàn)定位,當(dāng)節(jié)點(diǎn)漂浮于海面上可以通過(guò)衛(wèi)星定位系統(tǒng)GPS來(lái)實(shí)現(xiàn)定位;當(dāng)節(jié)點(diǎn)錨定于海底,將三維坐標(biāo)投射到二維平面上,研究其節(jié)點(diǎn)的稀疏性,節(jié)點(diǎn)的是否是均勻分布。(2)3D仿真

17、因?yàn)樗聼o(wú)線傳感器網(wǎng)絡(luò)的研究工作大多是基于二維平面是大多數(shù)水下無(wú)線傳感器網(wǎng)絡(luò)的研究基礎(chǔ)。而實(shí)際的水下傳感器網(wǎng)絡(luò)可能須要全方位立體的檢測(cè)獲取各個(gè)深度的環(huán)境數(shù)據(jù),因此必須將二維網(wǎng)絡(luò)的研究拓展到三維進(jìn)行重新研究或者深入研究,節(jié)點(diǎn)會(huì)根據(jù)自身攜帶的浮標(biāo)進(jìn)行上升或者下潛。以滿足節(jié)點(diǎn)之間的非均勻分布。3.2 系統(tǒng)功能設(shè)計(jì)完成一個(gè)節(jié)點(diǎn)定位仿真軟件,需要?jiǎng)澐忠幌聨讉€(gè)功能模塊:第一個(gè)模塊要有傳感器節(jié)點(diǎn)自動(dòng)生成功能,一個(gè)節(jié)點(diǎn)就是一條記錄,一個(gè)節(jié)點(diǎn)會(huì)經(jīng)過(guò)多個(gè)輪次的變換最終到達(dá)死亡狀態(tài),然后將生成的節(jié)點(diǎn)記錄存入數(shù)據(jù)中,利用網(wǎng)格線切割表示法將3D坐標(biāo)投射到2D平面上顯示。最后利用MATLAB的仿真工具繪制3D曲面圖形。下

18、圖是系統(tǒng)功能模塊圖:圖3-2 功能模塊圖3.2.1 節(jié)點(diǎn)生成功能在eclipse中用Java語(yǔ)言編寫(xiě)程序生成access數(shù)據(jù),對(duì)數(shù)據(jù)庫(kù)的打開(kāi)、數(shù)據(jù)的錄入修改更新等、定義各個(gè)數(shù)據(jù)量的含義以及相關(guān)數(shù)據(jù)量的狀態(tài)等等。在界面中輸入節(jié)點(diǎn)個(gè)數(shù),自動(dòng)計(jì)算出存活輪次,節(jié)點(diǎn)狀態(tài),消耗電量及剩余電量采集數(shù)據(jù)的時(shí)間以及節(jié)點(diǎn)的坐標(biāo)。3.2.2 數(shù)據(jù)庫(kù)存儲(chǔ)功能將生成的節(jié)點(diǎn)信息以記錄的方式存入數(shù)據(jù)庫(kù),只要節(jié)點(diǎn)生成功能程序發(fā)生對(duì)數(shù)據(jù)庫(kù)的修改操作就會(huì)立刻反應(yīng)在數(shù)據(jù)庫(kù)的表中實(shí)現(xiàn)即時(shí)更新操作以供后面仿真程序能夠立刻查詢引用。3.2.3 2D圖形繪制根據(jù)節(jié)點(diǎn)x,y 的坐標(biāo)繪制出所有節(jié)點(diǎn)在2D圖形坐標(biāo)中的位置。它會(huì)根據(jù)節(jié)點(diǎn)個(gè)數(shù)的增加

19、自動(dòng)計(jì)算和均勻的分布在海洋監(jiān)測(cè)區(qū)域內(nèi)。3.2.4 3D圖形繪制根據(jù)節(jié)點(diǎn)x,y,z 的坐標(biāo)調(diào)用MATLAB繪圖方法繪制節(jié)點(diǎn)在3D圖形坐標(biāo)中的位置。此坐標(biāo)會(huì)非均勻的分布在曲面圖形上,模擬傳感器節(jié)點(diǎn)在海水中的部署位置。3.3 程序流程程序流程圖是指程序?qū)嶋H運(yùn)行中先備用和后配用的順序和關(guān)系的邏輯圖?;陔娔X客戶端的軟件設(shè)計(jì)方案大致都有一套自己的流程圖,程序流程圖反應(yīng)了系統(tǒng)的一個(gè)設(shè)計(jì)思路以及操作的先后次序。圖3-3 程序流程設(shè)計(jì)圖3.4 2D仿真設(shè)計(jì)2D仿真設(shè)計(jì)將三維坐標(biāo)投影到二維平面然后只取節(jié)點(diǎn)的x,y坐標(biāo),使用網(wǎng)格線表示法,在兩線交叉處繪制節(jié)點(diǎn)坐標(biāo)。下圖是2D仿真設(shè)計(jì)圖:圖3-4 2D仿真設(shè)計(jì)圖在U

20、WSNs節(jié)點(diǎn)部署系統(tǒng)中中輸入節(jié)點(diǎn)個(gè)數(shù)生成節(jié)點(diǎn)記錄,將節(jié)點(diǎn)記錄寫(xiě)入數(shù)據(jù)庫(kù)表中,此系統(tǒng)是采用Java語(yǔ)言編寫(xiě)設(shè)計(jì)的下面是Java與數(shù)據(jù)庫(kù)進(jìn)行交互的具體代碼:private void AddAccess(int poin_x,int poin_y,int poin_z,int p_id) throws SQLException, UnsupportedEncodingException/將節(jié)點(diǎn)坐標(biāo)信息插入數(shù)據(jù)庫(kù)的sql語(yǔ)句String sql = "insert into tb_position (x,y,z,pid) "+ " values( "+poin_

21、x+" ,"+poin_y+" ,"+poin_z+" ,"+p_id +" )" /Access 數(shù)據(jù)庫(kù)路徑 String dbpath = getAccessPath()+"節(jié)點(diǎn)2d3d顯示數(shù)據(jù)庫(kù)ceshi.accdb" /加載數(shù)據(jù)庫(kù)驅(qū)動(dòng) String url = "jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=" + dbpath; Properties properties = new Pr

22、operties() ; /這里設(shè)置是為了防止查詢的時(shí)候出現(xiàn)亂碼 properties.setProperty("charSet", "gbk") ; Connection conn = null; try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotFoundException e) e.printStackTrace(); conn = DriverManager.getConnection(url,properties); Statement sta

23、tement = conn.createStatement(); statement.executeUpdate(sql); conn.close(); /創(chuàng)建數(shù)據(jù)庫(kù)路徑private static String getAccessPath()String APath="" File file =new File("batterydemo");APath=file.getAbsolutePath().substring(0,file.getAbsolutePath().indexOf("節(jié)點(diǎn)2d3d顯示");return APath;

24、private void AddAccess(int turn,int node_id,int state,String stateStr,double battery_run,double battery_left,String time, int poin_x,int poin_y,int poin_z) throws SQLException, UnsupportedEncodingException/將節(jié)點(diǎn)信息插入數(shù)據(jù)庫(kù)中的SQL語(yǔ)句String sql = "insert into tb_ceshi (turn,s,d,f,g,h,j) "+ " val

25、ues( "+turn+" ,"+node_id+" ,"+state+" , '"+stateStr+"' ,"+battery_run+" ,"+battery_left+" ,'"+time+" ' )" /Access 數(shù)據(jù)庫(kù)路徑 String dbpath = getAccessPath()+"節(jié)點(diǎn)2d3d顯示數(shù)據(jù)庫(kù)ceshi.accdb" /連接字符串 String url = &q

26、uot;jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=" + dbpath; Properties properties = new Properties() ; /這里設(shè)置是為了防止查詢的時(shí)候出現(xiàn)亂碼 properties.setProperty("charSet", "gbk") ; Connection conn = null; try Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); catch

27、(ClassNotFoundException e) e.printStackTrace(); conn = DriverManager.getConnection(url,properties); Statement statement = conn.createStatement(); statement.executeUpdate(sql); conn.close(); private static String getAccessPath()String APath="" File file =new File("新建文件夾");APath=fi

28、le.getAbsolutePath().substring(0,file.getAbsolutePath().indexOf("節(jié)點(diǎn)2d3d顯示");return APath;傳感器節(jié)點(diǎn)信息存入數(shù)據(jù)庫(kù),通過(guò)C#語(yǔ)言來(lái)調(diào)用讀取數(shù)據(jù)庫(kù)中的記錄信息,根據(jù)節(jié)點(diǎn)坐標(biāo)在C#設(shè)計(jì)的二維平面中進(jìn)行節(jié)點(diǎn)的繪制下面是C#語(yǔ)言繪圖描點(diǎn)的具體代碼:namespace Run class MyPoint public int x,y; /x,y表示點(diǎn)所在的坐標(biāo),z / public int m, n; /m,n表示點(diǎn)所在的行和列 public static int r = 15; /畫(huà)點(diǎn)的直徑 p

29、ublic int id ; /點(diǎn)表中的id public int dir; Color mycolor; public int No_id; public static int RANG_WIDTH = 0; public static int LD= 20 ,CD = 20; /LD,CD 表示橫縱邊距 public static int WD = 20, HD = 25;/WD,LD表示兩點(diǎn)之間距離 public static int column = 0;/column表示一共有多少列 public MyPoint() public MyPoint(int id,int dir,int

30、 No_id,int x,int y,int z) this.id = id; this.dir = dir; this.No_id = No_id; this.x = x; this.y = y; if (this.dir = 1) mycolor = Color.Green; if (this.dir = 2) mycolor = Color.Yellow; if (this.dir = 0) mycolor = Color.Red; public void Draw(Graphics g) Brush brush = new SolidBrush(mycolor); g.FillElli

31、pse(brush, x, y, r/2, r/2); namespace Run class Line int Lx, Ly, Lx1, Ly1; public static int t = 10; /同列,行時(shí)劃線上升高度 public Line(int Lx, int Ly, int Lx1, int Ly1) this.Lx = Lx + (MyPoint.r) / 4; this.Ly = Ly + (MyPoint.r) / 4; this.Lx1 = Lx1 +( MyPoint.r)/4; this.Ly1 = Ly1 + (MyPoint.r)/4; public void

32、Line_draw(Graphics e) Pen pen = new Pen(Color.Black); if (Lx = Lx1 && Ly != Ly1) Point point = new Point(Lx,Ly), new Point (Lx-t,Ly), new Point(Lx1-t,Ly1), new Point(Lx1,Ly1) ; e.DrawLines(pen, point); if (Ly = Ly1 && Lx != Lx1) Point point = new Point(Lx,Ly), new Point (Lx,Ly-t), ne

33、w Point(Lx1,Ly1 -t), new Point(Lx1,Ly1) ; e.DrawLines(pen, point); if(Lx !=Lx1 && Ly !=Ly1 ) Point point = new Point(Lx,Ly), new Point(Lx1,Ly1) ; e.DrawLines(pen, point); 3.5 3D仿真設(shè)計(jì)MATLAB仿真軟件是主要用于數(shù)據(jù)計(jì)算,圖形繪制,是最佳的仿真軟件所在這里使用MATLAB編譯工具與C#相結(jié)合通過(guò)調(diào)用數(shù)據(jù)庫(kù)里的表數(shù)據(jù)根據(jù)節(jié)點(diǎn)記錄繪制節(jié)點(diǎn)所在曲面上的位置。而數(shù)據(jù)庫(kù)中的數(shù)據(jù)又是在eclipse中生成的記錄數(shù)

34、據(jù)。下圖是仿真設(shè)計(jì)流程圖:圖3-5 3D仿真設(shè)計(jì)圖首先,是在eclipse中的編程:用 Java語(yǔ)言實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的基本操作。即對(duì)數(shù)據(jù)庫(kù)的打開(kāi)、數(shù)據(jù)的錄入修改更新等、定義各個(gè)數(shù)據(jù)量的含義以及相關(guān)數(shù)據(jù)量的狀態(tài)等等。除此之外,基于本設(shè)計(jì)是對(duì)水下傳感器節(jié)點(diǎn)的仿真與實(shí)現(xiàn),還會(huì)涉及到節(jié)點(diǎn)總個(gè)數(shù)的多少、循環(huán)的輪次、節(jié)點(diǎn)的編號(hào)、剩余電量、數(shù)據(jù)的采集時(shí)間等問(wèn)題,都在eclipse用Java語(yǔ)言實(shí)現(xiàn)。3D仿真的實(shí)現(xiàn)關(guān)鍵在于matlab與C#的互相調(diào)用。具體步驟如下:(1)編輯函數(shù)function實(shí)現(xiàn)了查詢access數(shù)據(jù)庫(kù),獲得x、y、z坐標(biāo),代碼如下:function fg=lunci(m)fg=m;%a=in

35、put('');%a=1;%string a="90"% sql="select * from biao where o='"+a+"'" b1=int2str(fg);disp(b1);sql1 = 'select x from tb_ceshi,tb_position where tb_ceshi.s=tb_position.pid and turn = ', b1,''sql2 = 'select y from tb_ceshi,tb_position wh

36、ere tb_ceshi.s=tb_position.pid and turn = ', b1,''sql3 = 'select z from tb_ceshi,tb_position where tb_ceshi.s=tb_position.pid and turn = ', b1,''conna=database('SampleDB','','');x1=fetch(conna,sql1);y1=fetch(conna,sql2);z1=fetch(conna,sql3);xi = ce

37、ll2mat(x1);yi=cell2mat(y1);zi=cell2mat(z1);(2)利用函數(shù)surf或plot3,畫(huà)出三維面圖或者三維點(diǎn)圖(3)在matlab的Command窗口下輸入deploytool。如圖所示:在此窗口下更改Name然后選擇Type為.NET Assembly。圖3-6 matlab工具選項(xiàng)(4)matlab右側(cè)選擇Add classes然后選擇Add files把上步保存的文件添加進(jìn)來(lái),然后點(diǎn)擊Build打包成.dll文件。圖3-7 打包.dll文件(5)在C#中添加引用matlab生成的dll文件,如圖所示:圖3-8 添加.dll文件3.6 數(shù)據(jù)庫(kù)設(shè)計(jì)既然要用

38、到數(shù)據(jù)存儲(chǔ),那么數(shù)據(jù)庫(kù)是必不可少的工具,任何一款軟件數(shù)據(jù)庫(kù)是核心,所有的用戶配置信息都要存入數(shù)據(jù)庫(kù),一款軟件要是沒(méi)有后臺(tái)數(shù)據(jù)庫(kù)做支撐。下面兩個(gè)表是本系統(tǒng)用到的數(shù)據(jù)庫(kù)表。表3.1是將UWSNs節(jié)點(diǎn)部署系統(tǒng)生成的節(jié)點(diǎn)基本信息存入表中,其中包括節(jié)點(diǎn)序號(hào),循環(huán)輪次,節(jié)點(diǎn)編號(hào),狀態(tài)號(hào),節(jié)點(diǎn)狀態(tài),消耗電量,剩余電量,采集時(shí)間。表3.1 節(jié)點(diǎn)信息表(tb_ceshi)名稱字段類型節(jié)點(diǎn)序號(hào)ID自動(dòng)編號(hào)循環(huán)輪次Turn數(shù)字節(jié)點(diǎn)編號(hào)S數(shù)字狀態(tài)號(hào)D數(shù)字節(jié)點(diǎn)狀態(tài)F短文本消耗電量G數(shù)字剩余電量H數(shù)字采集時(shí)間J短文本表3.2是將UWSNs節(jié)點(diǎn)部署系統(tǒng)生成的節(jié)點(diǎn)坐標(biāo)位置信息存入表中,包括了節(jié)點(diǎn)序號(hào),節(jié)點(diǎn)編號(hào)節(jié)點(diǎn)x,y,z坐

39、標(biāo)。表3.2 節(jié)點(diǎn)坐標(biāo)信息表(tb_position)名稱字段類型節(jié)點(diǎn)序號(hào)ID自動(dòng)編號(hào)xx數(shù)字yy數(shù)字zz數(shù)字節(jié)點(diǎn)編號(hào)Pid數(shù)字4. 系統(tǒng)測(cè)試運(yùn)行4.1 模擬傳感器節(jié)點(diǎn)自動(dòng)生成功能輸入節(jié)點(diǎn)個(gè)數(shù),點(diǎn)擊確定之后,系統(tǒng)會(huì)經(jīng)過(guò)相應(yīng)的算法得到節(jié)點(diǎn)編號(hào),狀態(tài)號(hào),節(jié)點(diǎn)狀態(tài),消耗的電量,剩余電量,采集時(shí)間以及節(jié)點(diǎn)的坐標(biāo)。如圖4-1是生成五個(gè)節(jié)點(diǎn)信息的結(jié)果。圖4-1 生成個(gè)節(jié)點(diǎn)結(jié)果圖圖4-2顯示的是15個(gè)節(jié)點(diǎn)輸出的信息。圖4-2 生成15個(gè)節(jié)點(diǎn)結(jié)果圖圖4-3顯示的是40個(gè)節(jié)點(diǎn)顯示的信息。圖4-3 生成40個(gè)節(jié)點(diǎn)結(jié)果圖圖4-4顯示的是80個(gè)節(jié)點(diǎn)輸出的信息如下圖:圖4-4 生成80個(gè)節(jié)點(diǎn)結(jié)果圖圖4-5顯示的是150

40、個(gè)節(jié)點(diǎn)輸出的信息。圖4-5 生成150個(gè)節(jié)點(diǎn)結(jié)果圖圖4-6顯示的是300個(gè)節(jié)點(diǎn)輸出的信息。圖4-6 生成300個(gè)節(jié)點(diǎn)結(jié)果圖圖4-7顯示的是500個(gè)節(jié)點(diǎn)經(jīng)過(guò)算法打印輸出的信息如下圖:圖4-7 生成500個(gè)節(jié)點(diǎn)結(jié)果圖圖4-8顯示的是800個(gè)節(jié)點(diǎn)經(jīng)過(guò)算法打印輸出的信息如下圖:圖4-8 生成800個(gè)節(jié)點(diǎn)結(jié)果圖圖4-9顯示的是1300個(gè)節(jié)點(diǎn)經(jīng)過(guò)算法打印輸出的信息如下圖:圖4-9 生成1300個(gè)節(jié)點(diǎn)結(jié)果圖4.2 節(jié)點(diǎn)信息存入數(shù)據(jù)庫(kù)當(dāng)點(diǎn)擊確定按鈕之后會(huì)將程序輸出打印的信息用JDBC訪問(wèn)數(shù)據(jù)庫(kù)然后執(zhí)行SQL語(yǔ)句以記錄的形式將節(jié)點(diǎn)信息插入到數(shù)據(jù)庫(kù)的表中如下圖所示:圖4-10 節(jié)點(diǎn)信息存入數(shù)據(jù)庫(kù)表圖4-11 節(jié)點(diǎn)

41、坐標(biāo)存入數(shù)據(jù)庫(kù)表4.3 繪制2D圖形根據(jù)數(shù)據(jù)庫(kù)中的坐標(biāo)使用C#語(yǔ)言繪制坐標(biāo)這里使用網(wǎng)狀線切割表示法嘗試在網(wǎng)狀線的交叉點(diǎn)繪制節(jié)點(diǎn),對(duì)以下節(jié)點(diǎn)信息的稀疏性進(jìn)行考究。圖形如下圖所示:圖4-12 個(gè)節(jié)點(diǎn)繪制圖圖4-13描繪的是15個(gè)節(jié)點(diǎn)所在的二維平面下的坐標(biāo)位置,可以觀察到節(jié)點(diǎn)與節(jié)點(diǎn)之間的距離還是相當(dāng)遠(yuǎn)的。圖4-13 15個(gè)節(jié)點(diǎn)繪制圖圖4-14描繪的是40個(gè)節(jié)點(diǎn)所在的二維平面下的坐標(biāo)位置,可以觀察到節(jié)點(diǎn)與節(jié)點(diǎn)之間的距離還是比較遠(yuǎn)的沒(méi)有很大的變化。圖4-14 40個(gè)節(jié)點(diǎn)繪制圖圖4-15描繪的是80個(gè)節(jié)點(diǎn)所在的二維平面下的坐標(biāo)位置,可以觀察到節(jié)點(diǎn)與節(jié)點(diǎn)之間的距離隨著節(jié)點(diǎn)個(gè)數(shù)的增加節(jié)點(diǎn)與節(jié)點(diǎn)之間的稀疏性慢慢

42、的就減小。圖4-15 80個(gè)節(jié)點(diǎn)繪制圖圖4-16描繪的是150個(gè)節(jié)點(diǎn)所在的二維平面下的坐標(biāo)位置,可以觀察到節(jié)點(diǎn)與節(jié)點(diǎn)之間的距離隨著節(jié)點(diǎn)個(gè)數(shù)的增加節(jié)點(diǎn)與節(jié)點(diǎn)之間的稀疏性慢慢的就減小。當(dāng)節(jié)點(diǎn)之間的距離到達(dá)一定程度時(shí)會(huì)擴(kuò)展監(jiān)測(cè)區(qū)域進(jìn)行部署節(jié)點(diǎn)。圖4-16 150個(gè)節(jié)點(diǎn)繪制圖圖4-17描繪的是300個(gè)節(jié)點(diǎn)所在的二維平面下的坐標(biāo)位置,可以觀察到節(jié)點(diǎn)與節(jié)點(diǎn)之間的距離隨著節(jié)點(diǎn)個(gè)數(shù)的增加節(jié)點(diǎn)與節(jié)點(diǎn)之間的稀疏性慢慢的就減小。當(dāng)節(jié)點(diǎn)之間的距離到達(dá)一定程度時(shí)會(huì)擴(kuò)展監(jiān)測(cè)區(qū)域進(jìn)行部署節(jié)點(diǎn),同時(shí)節(jié)點(diǎn)之間的通信開(kāi)銷也會(huì)隨之減小。圖4-17 300個(gè)節(jié)點(diǎn)繪制圖圖4-18描繪的是500個(gè)節(jié)點(diǎn)所在的二維平面下的坐標(biāo)位置,可以觀察

43、到節(jié)點(diǎn)與節(jié)點(diǎn)之間的距離隨著節(jié)點(diǎn)個(gè)數(shù)的增加節(jié)點(diǎn)與節(jié)點(diǎn)之間的稀疏性慢慢的就減小。當(dāng)節(jié)點(diǎn)之間的距離到達(dá)一定程度時(shí)會(huì)擴(kuò)展監(jiān)測(cè)區(qū)域進(jìn)行部署節(jié)點(diǎn)。當(dāng)節(jié)點(diǎn)之間越緊密,節(jié)點(diǎn)的定位就越精確。圖4-18 500個(gè)節(jié)點(diǎn)繪制圖圖4-19描繪的是800個(gè)節(jié)點(diǎn)所在的二維平面下的坐標(biāo)位置,可以觀察到節(jié)點(diǎn)與節(jié)點(diǎn)之間的距離隨著節(jié)點(diǎn)個(gè)數(shù)的增加節(jié)點(diǎn)與節(jié)點(diǎn)之間的稀疏性慢慢的就減小。節(jié)點(diǎn)的非均勻分布性也體現(xiàn)出來(lái)。圖4-19 800個(gè)節(jié)點(diǎn)繪制圖圖4-20描繪的是1300個(gè)節(jié)點(diǎn)所在的二維平面下的坐標(biāo)位置,可以觀察到節(jié)點(diǎn)與節(jié)點(diǎn)之間的距離隨著節(jié)點(diǎn)個(gè)數(shù)的增加節(jié)點(diǎn)與節(jié)點(diǎn)之間的稀疏性慢慢的就減小。當(dāng)節(jié)點(diǎn)之間的距離到達(dá)一定程度時(shí)會(huì)擴(kuò)展監(jiān)測(cè)區(qū)域進(jìn)行部署

44、節(jié)點(diǎn)。節(jié)點(diǎn)的密度越來(lái)越小,總體呈無(wú)規(guī)律式分布。圖4-20 1300個(gè)節(jié)點(diǎn)繪制圖經(jīng)過(guò)上圖幾個(gè)輪次的對(duì)比,隨著傳感器節(jié)點(diǎn)的增加,節(jié)點(diǎn)之間的稀疏性會(huì)隨之減少,節(jié)點(diǎn)之間的不均勻分布性也隨之體現(xiàn)出來(lái)。節(jié)點(diǎn)之間越小越緊密,節(jié)點(diǎn)之間的通信開(kāi)銷就越小。反之亦然。4.4 繪制3D圖形使用C#與MATLAB語(yǔ)言相結(jié)合,通過(guò)將坐標(biāo)傳入函數(shù)方法調(diào)用MATLAB繪制方法繪制出坐標(biāo)在3D圖形下的位置。下圖顯示的是5個(gè)傳感器節(jié)點(diǎn)所處水下環(huán)境的位置。如下圖所示:圖4-21 個(gè)節(jié)點(diǎn)的3D仿真繪制圖圖4-22是15個(gè)傳感器節(jié)點(diǎn)的3D仿真圖。D圖4-22 15個(gè)節(jié)點(diǎn)3D仿真繪制圖圖4-23是40個(gè)節(jié)點(diǎn)的3D仿真圖,隨著節(jié)點(diǎn)個(gè)數(shù)的增

45、加,節(jié)點(diǎn)分布的不均勻性也隨機(jī)體現(xiàn)出來(lái)。4-23 40個(gè)節(jié)點(diǎn)3D仿真繪制圖圖4-24是80個(gè)傳感器節(jié)點(diǎn)的3D仿真圖。圖4-24 80個(gè)節(jié)點(diǎn)3D仿真繪制圖圖4-25是150個(gè)節(jié)點(diǎn)3D仿真圖當(dāng)隨著傳感器節(jié)點(diǎn)數(shù)量的增多,節(jié)點(diǎn)的與節(jié)點(diǎn)之間的密度也隨之減少。圖4-25 150個(gè)節(jié)點(diǎn)3D仿真繪制圖圖4-26是300個(gè)節(jié)點(diǎn)3D仿真圖。圖4-26 300個(gè)節(jié)點(diǎn)3D仿真繪制圖圖2-27是500個(gè)節(jié)點(diǎn)3D仿真圖當(dāng)隨著傳感器節(jié)點(diǎn)數(shù)量達(dá)到一定規(guī)模數(shù)量,其節(jié)點(diǎn)的非均勻分布性通過(guò)下圖的仿真圖形自然而然的體現(xiàn)出來(lái)。圖4-27 500個(gè)節(jié)點(diǎn)3D仿真繪制圖圖4-28是800個(gè)節(jié)點(diǎn)3D仿真圖反應(yīng)了其節(jié)點(diǎn)的非均勻分布特性。圖4-28

46、 800個(gè)節(jié)點(diǎn)3D仿真繪制圖圖4-29是1300個(gè)節(jié)點(diǎn)3D仿真圖,經(jīng)過(guò)上圖幾個(gè)輪次的對(duì)比,傳感器節(jié)點(diǎn)越少,節(jié)點(diǎn)密度越小,節(jié)點(diǎn)之間的通信能量消耗就越大,節(jié)點(diǎn)密度越小,節(jié)點(diǎn)之間的通信開(kāi)銷就越小。圖4-29 1300個(gè)節(jié)點(diǎn)3D仿真繪制圖4.5 系統(tǒng)測(cè)試系統(tǒng)測(cè)試時(shí)軟件開(kāi)發(fā)過(guò)程中常用的調(diào)試方法。任何一款軟件在投入應(yīng)用前都必須經(jīng)過(guò)單元測(cè)試,軟件測(cè)試;而單元測(cè)試是針對(duì)系統(tǒng)中的一個(gè)小功能小模塊進(jìn)行回環(huán)重現(xiàn)測(cè)試。以防止出現(xiàn)更大的系統(tǒng)漏洞。而軟件測(cè)試是整個(gè)項(xiàng)目完工進(jìn)行的測(cè)試,所以在軟件開(kāi)發(fā)過(guò)程中測(cè)試是一個(gè)必不可少的環(huán)節(jié),能夠避免錯(cuò)誤的發(fā)生。表4.1 系統(tǒng)測(cè)試表節(jié)點(diǎn)個(gè)數(shù)運(yùn)行時(shí)間崩潰次數(shù)55000ms01513000

47、ms04027000ms18022000ms015060000ms0300ms2500ms0800ms01300ms24.6 結(jié)論經(jīng)測(cè)試隨著傳感器節(jié)點(diǎn)的增加,系統(tǒng)程序運(yùn)行的時(shí)間,以及程序的崩潰次數(shù)是否與節(jié)點(diǎn)的個(gè)數(shù)的數(shù)量有關(guān).從表4.6可以得到隨著傳感器節(jié)點(diǎn)的增多,系統(tǒng)運(yùn)行時(shí)間也會(huì)隨之增加,節(jié)點(diǎn)與節(jié)點(diǎn)之間的密度也會(huì)隨之減小,節(jié)點(diǎn)在2D平面上的稀疏性與節(jié)點(diǎn)在3D仿真圖形下呈現(xiàn)的非均勻分布性成正比。經(jīng)測(cè)試本系統(tǒng)性能比較穩(wěn)定,崩潰次數(shù)也是很少。5. 總結(jié)與展望5.1 總結(jié)本論文我用到了JAVA語(yǔ)言,C#語(yǔ)言,MATLAB工具,將三者有機(jī)地結(jié)合到了一起。Java用來(lái)將數(shù)據(jù)生成,C#用來(lái)將水下傳感器2D隨

48、機(jī)分布圖繪制出來(lái)而且實(shí)現(xiàn)界面的設(shè)計(jì),使用MATLAB主要是繪制水下傳感器3D仿真分布圖。其中數(shù)據(jù)庫(kù)方面使用到了access數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)與取出。JAVA代碼產(chǎn)生節(jié)點(diǎn)的信息包括節(jié)點(diǎn)的位置,存活狀態(tài),剩余電量等信息。得到這些數(shù)據(jù)之后我們通過(guò)C#將這些隨機(jī)生成的節(jié)點(diǎn)繪制出來(lái),用來(lái)描述水下傳感器在水下的一個(gè)模擬的位置及存活情況,以便后續(xù)對(duì)傳感器放置以及設(shè)計(jì)提供一個(gè)參考。如果只繪制2D圖來(lái)描述水下傳感器的狀態(tài)還是遠(yuǎn)遠(yuǎn)不夠的。傳感器在水下分布狀態(tài)并不是在一個(gè)平面上的,由于水是不斷地在運(yùn)動(dòng)因此傳感器在水下也是隨機(jī)分布在不同的位置,因此3D圖的繪制也是十分重要的。因此使用起來(lái)還是很容易上手的。通過(guò)3D

49、的繪制我們更加清楚的觀察到傳感器節(jié)點(diǎn)在水下分布的位置。通過(guò)本次畢業(yè)設(shè)計(jì)使我更加明白理論知識(shí)與實(shí)踐操作相結(jié)合的重要性。優(yōu)點(diǎn):本系統(tǒng)采用的是簡(jiǎn)單易懂的程序設(shè)計(jì)語(yǔ)言編寫(xiě)的,界面簡(jiǎn)潔美觀,一目了然,運(yùn)行速度快,沒(méi)有很大的數(shù)據(jù)冗余,降低了內(nèi)存的消耗。采用經(jīng)典的算法進(jìn)行探究。缺點(diǎn):本系統(tǒng)旨在仿真一個(gè)水下傳感器定位軟件,因此沒(méi)有與實(shí)際的水下探測(cè)器,水下滑翔機(jī)等硬件設(shè)備相結(jié)合,沒(méi)有對(duì)定位算法進(jìn)行絕對(duì)的優(yōu)化。5.2 展望本系統(tǒng)將節(jié)點(diǎn)的生成單獨(dú)設(shè)計(jì)成一個(gè)系統(tǒng),二維平面的仿真與三維仿真設(shè)計(jì)成一系統(tǒng),數(shù)據(jù)庫(kù)單獨(dú)存放,系統(tǒng)有時(shí)候會(huì)因?yàn)椴环€(wěn)定性導(dǎo)致程序崩潰??偟膩?lái)說(shuō)本系統(tǒng)是一個(gè)比較簡(jiǎn)單的水下傳感器節(jié)點(diǎn)定位系統(tǒng)。沒(méi)有將各個(gè)

50、模塊進(jìn)行融合。下一步我打算對(duì)本系統(tǒng)進(jìn)行改進(jìn),將各個(gè)模塊進(jìn)行融合設(shè)計(jì)一個(gè)功能強(qiáng)大的節(jié)點(diǎn)定位系統(tǒng)。并且能與硬件設(shè)備相結(jié)合早日投入使用。參考文獻(xiàn)1王士凱. 基于水下無(wú)線傳感器網(wǎng)絡(luò)AUV自組網(wǎng)關(guān)鍵技術(shù)研究,20142謝松. 基于蟻群算法的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位算法研究,20143KIM C,LEE S,KIM K.3D underwater localization with hybrid ranging method for near-sea marine monitoringC.Embedded and Ubiquitous Computing(EUC),2011 IFIP 9th Interna

51、tional Conference on,IEEE,2011:438-4414姚西.水下無(wú)線傳感器網(wǎng)絡(luò)定位技術(shù)綜述J.現(xiàn)代電子技術(shù).2013(07):11-15.5EROL M,VIEIRA L F M,GERIL M.Localization with DNR beacons for underwater acoustic sensor networksC.Proceedings of the Second Workshop on Underwater Netwroks.ACM,2014:97-100.6張敏,穆天圓,喬學(xué)工. 基于低能耗自適應(yīng)的水下傳感器網(wǎng)絡(luò)定位算法J.微電子學(xué)與計(jì)算機(jī),2

52、016,03:107-110.7A Localization Scheme for Underwater Sensor Networks Without Time Synchronization Beniwal, Mukesh (Department of Computer Science and Engineering, Guru Jambheshwar University of Science and Technology, Hisar, India); Singh, Rishi Pal; Sangwan, Anju Source: Wireless Personal Communica

53、tions, p 1-16, January 11, 2016 Article in Press Database: Compendex8張敏,穆天圓,喬學(xué)工. 基于低能耗自適應(yīng)的水下傳感器網(wǎng)絡(luò)定位算法J. 微電子學(xué)與計(jì)算機(jī),2016,03:107-110.9魏先民. 基于多面體質(zhì)心算法的水下傳感器網(wǎng)絡(luò)定位J. 計(jì)算機(jī)科學(xué),2013,05:102-105.10MANCL: A multi-anchor nodes collaborative localization algorithm for underwater acoustic sensor networks Han, Guangjie (Department of Information and Communication Engineering, Hohai University, Changzh

溫馨提示

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

評(píng)論

0/150

提交評(píng)論