王海英+阮祺+常肖+梁鵬
摘 要:針對隧道無線傳感網絡技術定位人員不精確,以及定位精度容易受到網絡參數設定影響的問題,通過研究ZigBee定位精度的影響因素,提出一種利用BP神經網絡改進算法改善ZigBee監(jiān)測網絡參數設置方法。該方法可以有效快捷地架構ZigBee傳感網絡系統(tǒng),且利用BP神經網絡的改進算法預測不同參數的設置對應的定位影響精度,可以將誤差穩(wěn)定區(qū)域的定位誤差控制在1 m以內。
關鍵詞:ZigBee技術;RSSI定位算法;BP神經網絡;定位精度
中圖分類號:U458.1 文獻標志碼:B
文章編號:1000-033X(2016)05-0111-04
Abstract: Aiming at the problem of inaccurate positioning of the tunnel wireless sensor network, the influential factors of ZigBee positioning accuracy were studied based on RSSI algorithm and weighted centroid algorithm, and a new method of improving ZigBee monitoring network parameters was proposed by using BP neural network. The proposed method can effectively and efficiently build the ZigBee sensor network system, and the improved algorithm of BP neural network is used to predict the corresponding positioning accuracy of different parameters. Experimental results show that the error stability region can be controlled within 1 meter according to the method of parameter setting.
Key words: ZigBee technology; RSSI positioning algorithm; BP neural network; positioning accuracy
0 引 言
公路、鐵路隧道的建筑施工環(huán)境艱苦惡劣,工種危險系數高,工作人員人數多,使隧道建筑施工企業(yè)面臨巨大的管理困難,迫切需要一種能夠高效、準確的人員定位系統(tǒng)。鑒于ZigBee能耗小、短距離傳輸穩(wěn)定的優(yōu)勢,很多學者將該技術應用到隧道等工程定位中[1]。
但目前的研究主要是針對定位的傳輸方法與傳輸途徑,并沒有研究表明參數設置對定位精度的影響。由于參數設定的不同,使得定位精度存在差異,而對特殊環(huán)境中定位系統(tǒng)的參數設置肯定不相同。本文介紹一種利用BP神經網絡算法高效優(yōu)化ZigBee監(jiān)測參數設置的方法,可以快捷有效地架構ZigBee傳感網絡系統(tǒng),且利用改進算法預測不同ZigBee網絡參數設置對應的定位精度,從而提高ZigBee在定位方面的應用價值。
1 基于RSSI的加權質心定位算法
傳統(tǒng)采用RSSI定位技術的定位算法為
本文采用RSSI測量方法與質心算法相結合的定位算法,如圖1所示。該定位方式首先計算出參考節(jié)點O1到被測節(jié)點的距離為d1,參考節(jié)點O2到被測節(jié)點的距離為d2,參考節(jié)點O3到被測節(jié)點的距離為d3。分別以O1、O2、O3為圓心,d1、d2、d3為半徑畫圓,可得交疊區(qū)域;然后,計算三圓交疊區(qū)域的3個特征點(A、B、C)的坐標,以A、B、C為頂點作三角形,定位節(jié)點D就是其質心。這種定位算法的不足是認為參與定位的參考節(jié)點對定位的影響程度一致,與現(xiàn)實情況不符。因此,根據RSSI測距原理分析影響定位精度的參數,并通過試驗和BP神經網絡模型預測定位精度,最終根據預測結果高效快捷地計算出系統(tǒng)最優(yōu)參數配置[2-4]。
2 定位精度影響因素研究
由RSSI測距模型知,在理想條件下,影響定位精度的因素有RSSI值、A值、n值。根據CC2431數據手冊,A值在30~50 dBm之間,其典型值為40 dBm;n值范圍為1~8,典型值為3.375。CC2431的定位引擎并不直接使用n值,而是使用索引值n_index來替代,每一個n_index對應一個n值,n_index取0~31之間。相鄰參考節(jié)點橫向間距為X、縱向間距為Y、無線網絡定位區(qū)域總長為L,試驗參數設置如表1所示。
2.1 試驗器材
試驗器材主要包括11個CC2430模塊,其中參考節(jié)點和協(xié)調器分別是10個和1個,CC2431模塊1個以及計算機1臺。
2.2 試驗步驟
(1)試驗參數設置。
(2)搭建試驗模型。網絡穩(wěn)定性測試試驗如圖2所示,并按照圖2布置參考節(jié)點(等距分布),確定定位節(jié)點的擺放位置。
(3)數據采集和統(tǒng)計。因隧道環(huán)境細長的結構特征,重點監(jiān)測目標定位是沿隧道縱深度方向的位置進行。為了簡化試驗過程和分析模型,主要測量、分析目標點單方向的定位誤差絕對值。
(4)數據處理和結果分析。
2.3 試驗數據分析
(1)相鄰2個節(jié)點間的距離X為5 m、Y為2 m時,取不同A、n_index值定位平均誤差分布在0.25~49.98 m。定位誤差較大的點集中在n_index等于0和30;當n_index取5~25時,定位精度都較為理想,大多數定位誤差小于3 m。由圖3(a)可知,當A取40 dBm、n_index取25時誤差最小。
(2)相鄰2個節(jié)點間的距離X為10 m、Y為3 m時,取不同A、n_index值,定位平均誤差分布在0.27~45.82 m。定位平均誤差小于3 m的點集中在n_index等于15~30時。由圖3(b)可知,當A取45 dBm、n_index取15時誤差最小。
(3)相鄰2個節(jié)點間的距離X為15 m、Y為4 m時,取不同A、n_index值,定位平均誤差分布在0.11~47.94 m。定位平均誤差小于3 m的點集中在n_index等于15~25時。由圖3(c)可知,當A取35 dBm、n_index取20時,定位誤差最小。
(4)相鄰4個節(jié)點間的距離X為20 m、Y為5 m時,取不同A、n_index值,定位平均誤差分布在0.95~41.75 m。定位平均誤差小于3 m的點集中在n_index等于15~30時。由圖3(d)可知,當A取35 dBm、n_index取20時,定位誤差最小。
由圖3分析可得,定位精度受A、n值的影響很大。A參數的取值對定位規(guī)律準確性影響不明顯,但n值對定位規(guī)律準確性影響較為明顯。通常n值取3.25~4.50時,即n_index取15~25時,定位精度較高;n取1或8時,即n_index取0或30時,定位誤差較大。通過對各種數值分析方法的研究和對比,發(fā)現(xiàn)BP神經網絡具有較強的非線性映射特性,而且結構簡單、可塑性強。因此,本文使用BP神經網絡對定位精度進行預測,從而為ZigBee傳感網絡提供可靠的A、n值。
3 BP神經網絡的改進算法
BP神經網絡模型具有結構嚴謹、思路清晰、可操作性強的優(yōu)點,但是BP神經網絡標準算法從數學上看是一個非線性梯度優(yōu)化問題,因此將出現(xiàn)局部最小、訓練次數多而學習效率降低、收斂速度慢的問題。針對以上問題,通過引入陡度因子方法解決。
確定了試驗的網絡拓撲結構和訓練數據后,傳遞函數f(x)成為影響總誤差函數E的惟一特征。通過改變傳遞函數,調整神經元的凈輸入,從而改變誤差函數的結構,避免陷入局部極小。BP神經網絡大多采用Sigmoid型函數作為傳遞函數,即
理論上講,任何一個連續(xù)的非多項式、常數函數都可以作為BP的傳遞函數,但是,Sigmoid函數有自身的優(yōu)點,比如說魯棒性和光滑性,以及求導時可用自身的某種形式表示,這對數值試驗非常重要。權值反向傳播需要得到激活函數的導數,如果有多層就有多個導數,若采用一般的連續(xù)函數,對計算機的運算和存儲都是一個難題。除此之外,Sigmoid型函數的收斂速度比較快,因此選擇Sigmoid函數作為傳遞函數,其連接權值的校正函數[4]為
陡度因子決定Sigmoid型函數的壓縮程度,使其變的平坦,避免在yj(1-yj)≈0時陷入局部極小。
3.1 定位精度預測設計
定位精度預測包含訓練階段和測試階段,方案流程如圖4所示。
圖4 定位精度預測系統(tǒng)方案流程
3.2 訓練階段
(1)樣本的選擇。BP神經網絡建模首要前提是具有足夠多且精度高的樣本。考慮到預測精度和收斂速度,樣本數據的數量不宜過多,因此分別選100、200、500、800組數據作為訓練樣本,最后通過預測結果與收斂速度的分析,確定200組為宜。
(2)網絡層數的選擇。選擇最常用的3層神經網絡結構,即輸入層、輸出層、隱含層。輸入層包括4個神經元,即4個影響定位精度的主要因素:X、Y、A、n_index。輸出層包含1個神經元即定位精度。
(3)隱含層中的神經元個數。當輸入層有4個神經元時,隱含層神經元個數可以取9、10、11、12、13、14、15、16,將訓練模型得到的不同預測結果進行對比與分析。
(4)傳遞函數。在這里選擇S型正切函數tansig或S型對數函數logsig。
3.3 測試階段
通過訓練階段對提取出來的樣本進行訓練之后,再對上述試驗數據中的35組數據進行測試。算法流程如圖5所示。
利用Matlab建立預測模型,當隱含層神經元個數為15時,平均相對預測誤差最小,收斂成功率和預測準確率都比較理想,而且訓練次數也不高,耗時較短。BP神經網絡訓練次數和預測誤差成反比,訓練次數越多,預測誤差就會越小。想要縮短時間,就要減少運行次數,降低了預測的準確率。如果實際應用中,需要不計代價,只考慮預測準確率,則選τ=0.1為宜。如果需要運行時間短,可以考慮適量增大誤差,這時選τ=0.5為宜。訓練誤差曲線,如圖6所示。
圖7是35組定位坐標的預測誤差和實際誤差的對比圖,由圖可知,當定位點的實際定位坐標自身誤差值小于15 m時,預測結果均比較理想。
4 結 語
本文基于ZigBee技術上研究了定位精度的影響因素,在隧道人員定位參數設置不同的情況下定位結果有差別。以上試驗數據證明了井下定位誤差分布的規(guī)律,運用改進的BP神經網絡模型預測任意參考節(jié)點間距和A、n值對應的定位誤差,通過預測值反饋得到最優(yōu)參數。在井下定位中,根據最優(yōu)參數設置,可以將誤差穩(wěn)定區(qū)域的定位誤差基本控制在1 m以內,但是對于誤差單向偏差區(qū)域的定位精度還有待研究。
參考文獻:
[1] 馬 鋼.基于ZigBee的井下人員跟蹤定位系統(tǒng)設計與實現(xiàn)[D].大連:大連理工大學,2008.
[2] 郭宏福,白麗娜,郭志華.2.4GHz ZigBee數傳模塊傳輸距離的估算方法[J].西安電子科技大學學報,2009,36(4):691-695,745.
[3] 李翱翔,陳 健.BP神經網絡參數改進方法綜述[J].電子科技,2007,20(2):79-82.
[4] 王美玲,王念平,李 曉.BP神經網絡算法的改進及應用[J].計算機工程與應用,2009,45(35):47-48.
[責任編輯:杜敏浩]