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

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 區(qū)域分級(jí)的糧庫(kù)無(wú)線傳感器網(wǎng)絡(luò)路由算法

          區(qū)域分級(jí)的糧庫(kù)無(wú)線傳感器網(wǎng)絡(luò)路由算法

          作者: 時(shí)間:2009-07-08 來(lái)源:網(wǎng)絡(luò) 收藏

          摘 要 WSN是WSN檢測(cè)糧食數(shù)量技術(shù)的難點(diǎn)之一。由于節(jié)點(diǎn)分布的復(fù)雜性,所以其比較特殊。根據(jù)糧庫(kù)WSN的分布,提出一種RCCMA,先將大量分布不均的節(jié)點(diǎn)進(jìn)行簇劃分和級(jí)別設(shè)定,然后利用最小夾角原則實(shí)現(xiàn)二級(jí)簇內(nèi)節(jié)點(diǎn)間路由和一級(jí)簇與二級(jí)區(qū)域內(nèi)目標(biāo)節(jié)點(diǎn)間的路由。由于一級(jí)簇區(qū)域節(jié)點(diǎn)能耗較大,因此采用輪轉(zhuǎn)調(diào)度機(jī)制,將能耗平衡化,降低了單個(gè)傳感器節(jié)點(diǎn)的能耗。對(duì)比幾種典型的路由算法,實(shí)驗(yàn)顯示,該算法具有明顯的優(yōu)勢(shì)。
          關(guān)鍵詞 路由算法 簇區(qū)域 傳感器

          本文引用地址:http://www.ex-cimer.com/article/158008.htm


          引 言
          利用傳感器檢測(cè)糧庫(kù)的糧食數(shù)量是一項(xiàng)新技術(shù)。由于糧堆的復(fù)雜性,可在糧庫(kù)底部散布大量分布不均的壓力傳感器節(jié)點(diǎn)。將糧庫(kù)內(nèi)大量分布不均的傳感器節(jié)點(diǎn)進(jìn)行組網(wǎng),構(gòu)建一種路由算法,這是糧庫(kù)WSN(Wire-less Sensor Network)的關(guān)鍵技術(shù)之一。
          高效的路由算法需滿足以下幾點(diǎn):能量高效(協(xié)議簡(jiǎn)單和節(jié)省能量和均衡消耗)、可擴(kuò)展性(范圍和節(jié)點(diǎn)密度)、魯棒性(節(jié)點(diǎn)變化和拓?fù)渥兓?、快速收斂性。本文通過(guò)研究目前主要的幾種典型WSN路由算法,提出一種針對(duì)糧庫(kù)WSN的路由算法。實(shí)驗(yàn)證明,該算法滿足能量高效性、可擴(kuò)展性、魯棒性和快速收斂性要求。單個(gè)對(duì)比文中提到的幾種典型路由算法,該算法整體性能比它們都優(yōu)越。

          1 典型的WSN路由算法
          傳統(tǒng)通信網(wǎng)絡(luò)研究的重點(diǎn)放在無(wú)線通信的服務(wù)質(zhì)量(QoS)上,而無(wú)線傳感器節(jié)點(diǎn)是隨機(jī)分布、電池供電的,因此無(wú)線傳感器網(wǎng)絡(luò)路由算法的研究重點(diǎn)放在如何提高能量效率上。目前典型的無(wú)線傳感器網(wǎng)絡(luò)路由算法主要有以下幾種。
          1.1 泛洪算法
          泛洪(Flooding)算法是一種傳統(tǒng)的無(wú)線通信路由算法。該算法規(guī)定,每個(gè)節(jié)點(diǎn)接收來(lái)自其他節(jié)點(diǎn)的信息,并以廣播的形式發(fā)送給其他鄰居節(jié)點(diǎn)。如此繼續(xù)下去,最后將信息數(shù)據(jù)發(fā)送給目的節(jié)點(diǎn)。但這個(gè)算法容易引起信息的“內(nèi)爆”(implosion)和“重疊”(overlap),造成資源的浪費(fèi)。因此在泛洪算法的基礎(chǔ)上,提出了閑聊(Gossiping)算法。
          1.2 Gossiping算法
          Gossiping算法是在泛洪算法的基礎(chǔ)上進(jìn)行改進(jìn)而提出的。它傳播信息的途徑是,隨機(jī)地選擇一個(gè)鄰居節(jié)點(diǎn),獲得信息的鄰居節(jié)點(diǎn)再以同樣的方式隨機(jī)地選擇下一個(gè)節(jié)點(diǎn),進(jìn)行信息的傳遞。這種方式避免了以廣播形式進(jìn)行信息傳播的能量消耗,但其代價(jià)是延長(zhǎng)了信息的傳遞時(shí)間。雖然Gossiping算法在一定程度上解決了信息的內(nèi)爆問(wèn)題,但是仍然存在信息的重疊現(xiàn)象。
          1.3 SPIN算法
          SPIN(Sensor Protocol for Information via Negotia-tion)算法是一種以數(shù)據(jù)為中心的自適應(yīng)路由算法。其目的是通過(guò)節(jié)點(diǎn)之間的協(xié)商,解決Flooding算法和Gossi-ping算法的內(nèi)爆和重疊問(wèn)題。SPIN算法有3種類(lèi)型的消息,即ADC、REQ和DATA。ADC用于數(shù)據(jù)的廣播,當(dāng)某一個(gè)節(jié)點(diǎn)有數(shù)據(jù)可以共享時(shí),可以用其進(jìn)行數(shù)據(jù)信息廣播。REQ用于請(qǐng)求發(fā)送數(shù)據(jù),當(dāng)某一個(gè)節(jié)點(diǎn)希望接收DATA數(shù)據(jù)包時(shí),發(fā)送REQ數(shù)據(jù)包。DATA為傳感器采集的數(shù)據(jù)包。在發(fā)送一個(gè)DATA數(shù)據(jù)包之前,一個(gè)傳感器節(jié)點(diǎn)首先對(duì)外廣播ADV數(shù)據(jù)包。如果某一個(gè)節(jié)點(diǎn)希望接收要傳來(lái)的數(shù)據(jù)信息,則向發(fā)送ADV數(shù)據(jù)包的節(jié)點(diǎn)回復(fù)REQ數(shù)據(jù)包,因此,便建立起發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)的聯(lián)系,發(fā)送節(jié)點(diǎn)便向接收節(jié)點(diǎn)發(fā)送DATA數(shù)據(jù)包。SPIN協(xié)議的工作流程如圖1所示。

          1.4 定向擴(kuò)散算法
          定向擴(kuò)散(Direeted Diffusion)算法是一種基于查詢的路由機(jī)制。整個(gè)過(guò)程可以分為興趣擴(kuò)散、梯度建立以及路徑加強(qiáng)3個(gè)階段。在興趣擴(kuò)散階段,匯聚節(jié)點(diǎn)向傳感器節(jié)點(diǎn)發(fā)送其想要獲取的信息種類(lèi)或內(nèi)容。興趣消息中含有任務(wù)類(lèi)型、目標(biāo)區(qū)域、數(shù)據(jù)發(fā)送速率、時(shí)間戳等參數(shù)。每個(gè)傳感器節(jié)點(diǎn)在收到該信息后,將其保存在Cache 中。當(dāng)整個(gè)信息要求傳遍整個(gè)傳感器網(wǎng)絡(luò)后,便在傳感器節(jié)點(diǎn)和匯聚節(jié)點(diǎn)之間建立起一個(gè)梯度場(chǎng),梯度場(chǎng)的建立是根據(jù)成本最小化和能量自適應(yīng)原則。一旦傳感器節(jié)點(diǎn)收集到匯聚節(jié)點(diǎn)感興趣的數(shù)據(jù),就會(huì)根據(jù)建立的梯度場(chǎng)尋求最快路徑進(jìn)行數(shù)據(jù)傳遞。梯度場(chǎng)建立的過(guò)程如圖2所示。


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();