基于Nanoloc的TOA指紋算法定位研究
指紋算法及其實現(xiàn)
本文引用地址:http://www.ex-cimer.com/article/164392.htm指紋定位的核心思想是建立無線信號的分布數(shù)據(jù)庫,通過匹配算法實現(xiàn)實時定位。這種方法預(yù)先采集待定位環(huán)境中的無線信號,能夠有效避免無線信號本身及環(huán)境影響等因素引起的誤差,對存在障礙物的情況有很強(qiáng)的適應(yīng)能力。
我們使用的系統(tǒng)平臺包括移動節(jié)點、固定節(jié)點以及控制節(jié)點。定位流程可以分為四個步驟:
(1)建庫過程:在定位區(qū)域內(nèi)選定參考點位置,通過移動節(jié)點采集測量值,經(jīng)過一系列的數(shù)據(jù)處理,建立該區(qū)域內(nèi)的位置距離數(shù)據(jù)庫;
(2)信號采集過程:控制節(jié)點接收移動節(jié)點發(fā)送的實時信號,經(jīng)處理之后,發(fā)送到數(shù)據(jù)處理端;
(3)定位過程:利用匹配算法,在數(shù)據(jù)庫中尋找一系列與采集到的測量值最接近的定位參考點;
(4)修正過程:對上一步中的指紋點集合,進(jìn)行誤差分析,從中選擇最合適的k個定位參考點,使用加權(quán)算法,完成定位。
建庫過程
建庫過程分為以下幾個步驟:(1)在待定位區(qū)域中,根據(jù)環(huán)境不同選擇指紋位置,并放定閱讀器位置;(2)在環(huán)境中取一個移動節(jié)點作為信號采集點,依次置于選定的指紋位置,所有閱讀器采集其位置信息;(3)對采集到的距離信息,去除最大值和最小值之后,取平均,建立數(shù)據(jù)庫。
定位過程
本文使用的匹配算法采用最近鄰居法。該算法將不同閱讀器測得的目標(biāo)距離值作為向量,計算待定位節(jié)點與數(shù)據(jù)庫中指紋點的歐幾里得距離。選擇其中距離最小的若干參考點組成定位參考點集合N。假定某指紋節(jié)點在數(shù)據(jù)庫中的測量距離向量為(di1,di2,...dn),待定位節(jié)點的測量距離向量為(d1,d2,...,dn)。則歐幾里得距離為
將待定位節(jié)點的測量向量與數(shù)據(jù)庫中的所有指紋點向量分別進(jìn)行上述計算,求得與各指紋節(jié)點的歐幾里得距離,選擇閾值,將歐幾里得距離小于閾值的指紋節(jié)點作為定位參考點集合N。
修正過程
選擇動態(tài)閾值
將閾值設(shè)定為一個初值,歐幾里得距離小于該閾值的指紋點位置置1,否則置0,這樣置1的指紋點就組成了一張模糊地圖。程序中判斷滿足此要求的指紋點個數(shù)k,如果k值位于3和6之間,則滿足要求;如果k值小于3,則閾值自動加1,直到k值大于3為止;如果k值大于6,則閾值自動減一,直到k值小于6。經(jīng)此調(diào)整,使N中指紋點個數(shù)k值在一個理想的范圍內(nèi)變化。
評論