基于Nanoloc的TOA指紋算法定位研究
指紋算法及其實(shí)現(xiàn)
本文引用地址:http://www.butianyuan.cn/article/164392.htm指紋定位的核心思想是建立無線信號(hào)的分布數(shù)據(jù)庫(kù),通過匹配算法實(shí)現(xiàn)實(shí)時(shí)定位。這種方法預(yù)先采集待定位環(huán)境中的無線信號(hào),能夠有效避免無線信號(hào)本身及環(huán)境影響等因素引起的誤差,對(duì)存在障礙物的情況有很強(qiáng)的適應(yīng)能力。
我們使用的系統(tǒng)平臺(tái)包括移動(dòng)節(jié)點(diǎn)、固定節(jié)點(diǎn)以及控制節(jié)點(diǎn)。定位流程可以分為四個(gè)步驟:
(1)建庫(kù)過程:在定位區(qū)域內(nèi)選定參考點(diǎn)位置,通過移動(dòng)節(jié)點(diǎn)采集測(cè)量值,經(jīng)過一系列的數(shù)據(jù)處理,建立該區(qū)域內(nèi)的位置距離數(shù)據(jù)庫(kù);
(2)信號(hào)采集過程:控制節(jié)點(diǎn)接收移動(dòng)節(jié)點(diǎn)發(fā)送的實(shí)時(shí)信號(hào),經(jīng)處理之后,發(fā)送到數(shù)據(jù)處理端;
(3)定位過程:利用匹配算法,在數(shù)據(jù)庫(kù)中尋找一系列與采集到的測(cè)量值最接近的定位參考點(diǎn);
(4)修正過程:對(duì)上一步中的指紋點(diǎn)集合,進(jìn)行誤差分析,從中選擇最合適的k個(gè)定位參考點(diǎn),使用加權(quán)算法,完成定位。

建庫(kù)過程
建庫(kù)過程分為以下幾個(gè)步驟:(1)在待定位區(qū)域中,根據(jù)環(huán)境不同選擇指紋位置,并放定閱讀器位置;(2)在環(huán)境中取一個(gè)移動(dòng)節(jié)點(diǎn)作為信號(hào)采集點(diǎn),依次置于選定的指紋位置,所有閱讀器采集其位置信息;(3)對(duì)采集到的距離信息,去除最大值和最小值之后,取平均,建立數(shù)據(jù)庫(kù)。
定位過程
本文使用的匹配算法采用最近鄰居法。該算法將不同閱讀器測(cè)得的目標(biāo)距離值作為向量,計(jì)算待定位節(jié)點(diǎn)與數(shù)據(jù)庫(kù)中指紋點(diǎn)的歐幾里得距離。選擇其中距離最小的若干參考點(diǎn)組成定位參考點(diǎn)集合N。假定某指紋節(jié)點(diǎn)在數(shù)據(jù)庫(kù)中的測(cè)量距離向量為(di1,di2,...dn),待定位節(jié)點(diǎn)的測(cè)量距離向量為(d1,d2,...,dn)。則歐幾里得距離為

將待定位節(jié)點(diǎn)的測(cè)量向量與數(shù)據(jù)庫(kù)中的所有指紋點(diǎn)向量分別進(jìn)行上述計(jì)算,求得與各指紋節(jié)點(diǎn)的歐幾里得距離,選擇閾值,將歐幾里得距離小于閾值的指紋節(jié)點(diǎn)作為定位參考點(diǎn)集合N。
修正過程
選擇動(dòng)態(tài)閾值
將閾值設(shè)定為一個(gè)初值,歐幾里得距離小于該閾值的指紋點(diǎn)位置置1,否則置0,這樣置1的指紋點(diǎn)就組成了一張模糊地圖。程序中判斷滿足此要求的指紋點(diǎn)個(gè)數(shù)k,如果k值位于3和6之間,則滿足要求;如果k值小于3,則閾值自動(dòng)加1,直到k值大于3為止;如果k值大于6,則閾值自動(dòng)減一,直到k值小于6。經(jīng)此調(diào)整,使N中指紋點(diǎn)個(gè)數(shù)k值在一個(gè)理想的范圍內(nèi)變化。

評(píng)論