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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于Zigbee無線傳感器網(wǎng)絡(luò)定位問題的研究

          基于Zigbee無線傳感器網(wǎng)絡(luò)定位問題的研究

          作者: 時間:2009-06-30 來源:網(wǎng)絡(luò) 收藏

          1引言

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

          技術(shù)已日益受到重視。這種以低成本、低功耗、低數(shù)據(jù)傳輸速率、低復(fù)雜度為顯著優(yōu)點的短距離無線通信協(xié)議,滿足了小型、低成本的同定、便攜或移動設(shè)備無線聯(lián)網(wǎng)的要求。由于的收發(fā)模塊體積小,功耗低,很容易直接安放在設(shè)備或工作人員的器械上,而且它們使用的是直序擴頻技術(shù)。具有很好的抗十?dāng)_能力,能獲得更遠(yuǎn)的傳輸距離;此外,每個模塊都有接收強弱信號的指示功能(RSSI),易于直接觀察網(wǎng)絡(luò)信號的強弱;用該技術(shù)建立的無線網(wǎng)絡(luò)適合井下信息化管理系統(tǒng)的功能要求,通過使用覆蓋面積不同、功能不同的網(wǎng)絡(luò)節(jié)點,可形成低成本的無線收發(fā)模塊,從而建立起一個適應(yīng)信息化管理系統(tǒng)的井下無線局部網(wǎng)絡(luò).并隨時掌握井下人員的動態(tài)分布。所以,越來越多的應(yīng)用都已直接利用現(xiàn)成的Zigbee無線通訊模塊來測定節(jié)點位置。因此,在充分研究現(xiàn)有Zigbee技術(shù)的基礎(chǔ)上,主要對Zigbee系統(tǒng)的通信沖突和定位精度進行分析,采用組團協(xié)議,提出一種選取團員的方法,使其更適合井下信息管理系統(tǒng)的要求。

          2組團協(xié)議

          井下信息化管理系統(tǒng)的具體實施方法是。在坑道中每隔幾十米放置一個傳感器節(jié)點,每個礦工身上也都佩帶一個這樣的節(jié)點,礦工身上佩帶的節(jié)點和坑道中放置的節(jié)點可以自行組成一個大規(guī)模的網(wǎng)絡(luò)。在礦井入口處放置一個具有網(wǎng)關(guān)功能的節(jié)點作為Sink節(jié)點,Sink節(jié)點連接傳感器網(wǎng)絡(luò)與Internet等外部網(wǎng)絡(luò),實現(xiàn)兩種協(xié)議棧之間的通信協(xié)議轉(zhuǎn)換,同時發(fā)布監(jiān)測中心的監(jiān)測任務(wù),并把收集的數(shù)據(jù)最后傳至監(jiān)控中心,從而全面了解礦井人員的安全狀況。

          但是,由于主巷道、人車、采掘工作面等人員較為密集,為了實時監(jiān)控工作人員的位置信息,必須通過定位算法知道未知節(jié)點的位置。要求信標(biāo)節(jié)點每隔一個不長的時間就廣播一次位置信息。此時,未知位置節(jié)點就要與信標(biāo)節(jié)點進行一次通信傳遞,以確認(rèn)信息并通過定位算法得到自己的位置信息,之后通過信標(biāo)節(jié)點向監(jiān)控中心報告自己的位置信息。如果兩個未知節(jié)點位置同時與信標(biāo)節(jié)點進行通信就會造成信號沖突。然而Zigbee通信的退避機制有效地避免了這一狀況,它會事先進行沖突檢測,然后再發(fā)送信號。即使確實發(fā)生沖突,也有退避隨機時間重發(fā)的機制。不過如果未知節(jié)點位置的數(shù)量過多,當(dāng)未知節(jié)點位置同時向信標(biāo)節(jié)點發(fā)送位置信息時,因一直都能檢測到?jīng)_突信號,故無法發(fā)送。而且有些節(jié)點,即使在退避了一段時間之后再一次重發(fā)也會發(fā)生沖突。同時信息不斷地重發(fā)也浪費能量。最后終使網(wǎng)絡(luò)處于癱瘓狀態(tài),無法進行通信。為了避免通信沖突和增強系統(tǒng)的功能性,可采用不讓每個未知節(jié)點位置都向信標(biāo)節(jié)點發(fā)送信息,而只從中選出一個代表向信標(biāo)節(jié)點發(fā)送信息。即采用組團協(xié)議解決這一問題。

          3組團協(xié)議模型分析

          組團協(xié)議的原理是將空間上相鄰的一群未知節(jié)點位置自行組成一個個團,并選出團長,推舉團長作為代表與信標(biāo)節(jié)點進行通信,以減少未知位置節(jié)點與信標(biāo)節(jié)點之間的通信量,消除沖突問題。圖1給出組團協(xié)議模型。

          它不僅可以在人員密集時工作,也應(yīng)能在人員稀疏的地方運行。當(dāng)節(jié)點是一個孤立的節(jié)點時,該節(jié)點就是團長;如果有節(jié)點加入時,則要按照一定的算法選出一個團長,即并團。如果有節(jié)點離開時則要拆團,變成兩個,甚至更多的團。同時組團時還應(yīng)考慮:

          (1)單個節(jié)點也是團長。
          (2)兩個或兩個以上的團當(dāng)距離靠近時,要進行并團。為了減少復(fù)雜度,采用兩兩并團的原則。
          (3)團長的選取。將最先接收到信號的節(jié)點作為團長,并團時最先接收信號的節(jié)點視為新團長。兩團合并后,團長必須清楚新團中的所有團員的ID,而新團的所有團員必須知道新團長的ID。
          (4)團員的上限。應(yīng)當(dāng)對每個團的團員數(shù)做一個限定,例如限定30個團員。這樣也就帶來了并團的新問題。所以,雖然團員的上限是30,但存在一個過早飽和問題??梢酝ㄟ^數(shù)學(xué)辦法定出該過早飽和的上限,例如27人。當(dāng)一個團的人數(shù)達(dá)到27人時,則認(rèn)為接近飽和。
          (5)團員的離開。團員離開時,要進行拆團。當(dāng)有一個團員離團時,該團員便成為單獨的團長。當(dāng)有幾個團員同時離開的時候,便視每個團員為單獨的新團長,讓其自己重新并團。并團也是要解決的問題,拆團在某種程度上可轉(zhuǎn)化成并團,使得協(xié)議的實現(xiàn)簡單可靠。
          (6)節(jié)點的通信距離問題。應(yīng)盡可能地減少通信次數(shù),簡化通信幀的結(jié)構(gòu),爭取通過3次握手實現(xiàn)拼團。

          4組團協(xié)議中團員選擇的研究

          團長的選取是將最先接收到信號的節(jié)點作為團長,并團時則將最先接收信號的節(jié)點作為新團長。對于團員的選擇,可通過與團長的RSSI相似度進行選擇。若比團長的RSSI相似度高,則說明兩個傳感器節(jié)點的周圍環(huán)境相似,且位置相近,則成為團員,把這樣的一些團員組成一個團。組團以后。只有團長進行定位計算,得到的佗置坐標(biāo)也為團員的位置。這樣的選擇在一定程度上可提高定位精度。

          4.1方案設(shè)計

          接收信號的強度RSSI是傳感器節(jié)點間通信時接收方一端的傳感器節(jié)點獲得通訊信號強度的一個量化值。RSSI值從客觀上能夠反映兩個傳感器節(jié)點周圍環(huán)境的相似情況。例如兩個傳感器節(jié)點在空間上相距很近,而且周圍環(huán)境相似(溫度、濕度、障礙物等),因此可能成為鄰居節(jié)點,而且接收到的信標(biāo)節(jié)點信號強度RSSI也會接近。如圖2,傳感器節(jié)點A,B在空間距離上相距比較近,周圍情況也較相似,因此從所有鄰居節(jié)點接收到的信號強度RSSIA=[RA1,RA2,…,RAn],RSSIB=[RB1,RB2,…,RBn]也都較為相似。


          上一頁 1 2 下一頁

          評論


          相關(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); })();