基于小波神經的DV-Hop無線傳感網絡節(jié)點定位方法
【專利摘要】本發(fā)明提供基于小波神經的DV-Hop無線傳感網絡節(jié)點定位方法,包括以下步驟:步驟一:無線傳感網絡初始化,得到每兩個錨節(jié)點之間的最小跳數(shù)、未知節(jié)點與錨節(jié)點之間的最小跳數(shù),利用每兩個錨節(jié)點之間的已知距離和獲得的最小跳數(shù)算出每兩個錨節(jié)點之間的每跳跳距;步驟二:小波神經網絡初始化,得到適用于整個無線傳感器網絡的每跳跳距;步驟三:利用步驟一中得到的未知節(jié)點與錨節(jié)點之間的最小跳數(shù)乘以步驟二中得到的整個無線傳感器網絡的每跳跳距,得出未知節(jié)點到錨節(jié)點之間的距離;步驟四:根據(jù)步驟三中得到的未知節(jié)點到錨節(jié)點之間的距離,利用最小二乘法和三邊測量法來求得未知節(jié)點的坐標,從而完成定位。實時性好,定位誤差小,定位精度高,網絡適用性強。
【專利說明】基于小波神經的DV-Hop無線傳感網絡節(jié)點定位方法
【技術領域】
[0001]本發(fā)明涉及無線傳感器網絡【技術領域】,具體涉及基于小波神經的DV-Hop無線傳感網絡節(jié)點定位方法。
【背景技術】
[0002]無線傳感器網絡(Wireless Sensor Network, WSN)定位技術是無線傳感器網絡的主要支撐技術之一,定位的過程是利用少數(shù)位置已知的節(jié)點,按照某種算法或者某種機制確定未知節(jié)點的位置。在這些算法中,一類是基于硬件測距的定位算法,這類算法需要RSSI, AOA、TOA或TDOA等技術測量節(jié)點間點到點的距離或者角度信息,然后再使用三邊測量、三角測量或最大似然估計法等方法來計算節(jié)點的位置;另一類是不需要額外硬件測距技術支持的定位算法,只需根據(jù)網絡的連通性等信息對節(jié)點進行定位,常用的定位技術有Centroid、CONVEXPROGRAMMING, APIT和DV-Hop等?;跍y距的定位算法,雖然能夠獲得相對較高的定位準確度,但硬件測距需要增加額外的、復雜的硬件,而且也增加了傳感器節(jié)點自身以及整個傳感器網絡的能量消耗,并不適合低成本、低功耗、軟硬件資源受限的無線傳感器網絡,這就使得在能量、可擴張性等方面與距離無關的定位算法受到工業(yè)界和學術界普遍的關注,這其中NIQJLESQJ等人提出的DV-Hop (Distance Vector Hop)算法是目前研究和應用最為廣泛的無需額外硬件測距的定位算法,DV-Hop算法是利用距離矢量路由和GPS定位結合的原理提出來的一種無需硬件輔助測距的定位算法,算法的核心是利用節(jié)點間的估計距離代替實際測量距離,而估計距離是通過未知節(jié)點與錨節(jié)點之間跳數(shù)和每跳跳距的乘積來得到,之后通過節(jié)點間的估計距離與錨節(jié)點的坐標計算未知節(jié)點的定位坐標。DV-Hop定位算法的優(yōu)勢在于計算過程簡單,硬件要求低,但同時也存在比較大的缺點,通過分析研究,誤差產生的來源主要在于:傳統(tǒng)算法算得的平均每跳跳距不適用于實際整個無線傳感網絡。無線傳感器網絡中,節(jié)點隨機分布,各節(jié)點之間的距離長短不一,節(jié)點密度分布也稀疏不同,而DV-Hop算法中將用平均法估算得到的每跳跳距值作為整個網絡的每跳跳距值,顯然這種估算出來的距離將會與真實距離存在較大的誤差,從而導致DV-Hop算法的定位誤差較大,定位精度低。
【發(fā)明內容】
[0003]本發(fā)明所要解決的技術問題在于提供基于小波神經的DV-Hop無線傳感網絡節(jié)點定位方法,實時性好,定位誤差小,定位精度高,網絡適用性強。
[0004]為解決上述現(xiàn)有的技術問題,本發(fā)明采用如下方案:基于小波神經的DV-Hop無線傳感網絡節(jié)點定位方法(簡稱WNNDV-Hop算法),包括以下步驟:
[0005]步驟一:無線傳感器網絡初始化,得到每兩個錨節(jié)點之間的最小跳數(shù)、未知節(jié)點與錨節(jié)點之間的最小跳數(shù),利用每兩個錨節(jié)點之間的已知距離和獲得的最小跳數(shù)算出每兩個錨節(jié)點之間的每跳跳距;
[0006]步驟二:小波神經網絡初始化,對步驟一中的每兩個錨節(jié)點之間的每跳跳距進行數(shù)據(jù)處理,得到適用于整個無線傳感器網絡的每跳跳距;
[0007]步驟三:利用步驟一中得到的未知節(jié)點與錨節(jié)點之間的最小跳數(shù)乘以步驟二中得到的整個無線傳感器網絡的每跳跳距,得出未知節(jié)點到錨節(jié)點之間的距離;
[0008]步驟四:根據(jù)步驟三中得到的未知節(jié)點到錨節(jié)點之間的距離,利用最小
[0009]二乘法和三邊測量法來求得未知節(jié)點的坐標,從而完成定位。
[0010]作為優(yōu)選,所述步驟一中無線傳感網絡初始化的具體步驟為:首先錨節(jié)點向它的每個鄰居節(jié)點廣播自身位置信息的分組,并將其跳數(shù)初始化為0,接收節(jié)點記錄到每個錨節(jié)點的最小跳數(shù),同時忽略來自同一個錨節(jié)點的較大跳數(shù)的分組,然后將其跳數(shù)值加I并轉發(fā)給鄰居節(jié)點,從而得出每兩個錨節(jié)點之間的最小跳數(shù)、未知節(jié)點與錨節(jié)點之間的最小跳
數(shù);然后根據(jù)公式
【權利要求】
1.基于小波神經的DV-Hop無線傳感網絡節(jié)點定位方法,其特征在于:包括以下步驟: 步驟一:無線傳感網絡初始化,得到每兩個錨節(jié)點之間的最小跳數(shù)、未知節(jié)點與錨節(jié)點之間的最小跳數(shù),利用每兩個錨節(jié)點之間的已知距離和獲得的最小跳數(shù)算出每兩個錨節(jié)點之間的每跳跳距; 步驟二:小波神經網絡初始化,對步驟一中的每兩個錨節(jié)點之間的每跳跳距進行數(shù)據(jù)處理,得到適用于整個無線傳感器網絡的每跳跳距; 步驟三:利用步驟一中得到的未知節(jié)點與錨節(jié)點之間的最小跳數(shù)乘以步驟二中得到的整個無線傳感器網絡的每跳跳距,得出未知節(jié)點到錨節(jié)點之間的距離; 步驟四:根據(jù)步驟三中得到的未知節(jié)點到錨節(jié)點之間的距離,利用最小二乘法和三邊測量法來求得未知節(jié)點的坐標,從而完成定位。
2.根據(jù)權利要求1所述的基于小波神經的DV-Hop無線傳感網絡節(jié)點定位方法,其特征在于:所述步驟一中無線傳感網絡初始化的具體步驟為:首先錨節(jié)點向它的每個鄰居節(jié)點廣播自身位置信息的分組,并將其跳數(shù)初始化為0,接收節(jié)點記錄到每個錨節(jié)點的最小跳數(shù),同時忽略來自同一個錨節(jié)點的較大跳數(shù)的分組,然后將其跳數(shù)值加I并轉發(fā)給鄰居節(jié)點,從而得出每兩個錨節(jié)點之間的最小跳數(shù)、未知節(jié)點與錨節(jié)點之間的最小跳數(shù);然后根據(jù)公式
3.根據(jù)權利要求1所述的基于小波神經的DV-Hop無線傳感網絡節(jié)點定位方法,其特征在于:所述步驟二中小波神經網絡初始化的具體步驟為:將步驟一中得到的每兩個錨節(jié)點間的每跳跳距作為小波神經訓練網絡的輸入數(shù)據(jù),并對輸入數(shù)據(jù)采取間隔分組和移窗式選取的方式進行處理,再對輸入數(shù)據(jù)和目標向量進行歸一化處理;然后將小波函數(shù)Mallet作為隱含層的傳遞函數(shù)求得隱含層的輸出值,輸出層運用的是在Sigmoid函數(shù)的基礎上添加一個伸縮因子c來求得輸出值;同時引入動量因子aerfa對各權值系數(shù)、閾值系數(shù)進行修正;最后用Err_NetOut判斷所有樣本是否計算完全;Err_NetOut表示輸出值與目標值的平方和的誤差,用Err_NetOUt和count作為小波神經網絡算法收斂的閾值,得到整個無線傳感器網絡的每跳跳距。
【文檔編號】H04W84/18GK103929810SQ201410193590
【公開日】2014年7月16日 申請日期:2014年5月9日 優(yōu)先權日:2014年5月9日
【發(fā)明者】蔣敏蘭, 胡娟 申請人:浙江師范大學