本發(fā)明涉及無線通信技術(shù)領(lǐng)域,特別是涉及一種傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位方法及其裝置。
背景技術(shù):
無線傳感器網(wǎng)絡(luò)(WSN)是一種具有信息采集,數(shù)據(jù)處理,無線傳輸?shù)裙δ艿木W(wǎng)絡(luò)。無線傳感器網(wǎng)絡(luò)由隨機(jī)分布在網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)組成,這些傳感器節(jié)點(diǎn)搜集、分析、處理節(jié)點(diǎn)周圍的信息并將分析結(jié)果準(zhǔn)確傳回到服務(wù)器。在監(jiān)測(cè)活動(dòng)中,傳感器必須要明確自己的位置,若沒有精確的位置信息,那么傳感器獲取的信息就沒有意義。
目前,常用的定位算法是DV-Hop算法,該算法分為三個(gè)階段:
第一個(gè)階段,由已知位置的節(jié)點(diǎn)(以下稱信標(biāo)節(jié)點(diǎn))不斷向整個(gè)網(wǎng)絡(luò)廣播信息{hi,Xi,Yi},其中hi為信標(biāo)節(jié)點(diǎn)到未知節(jié)點(diǎn)之間的跳數(shù)值且其初始值為0,(Xi,Yi)為信標(biāo)節(jié)點(diǎn)的橫縱坐標(biāo)。未知節(jié)點(diǎn)記錄來自各個(gè)信標(biāo)節(jié)點(diǎn)的位置信息和hi,然后將hi加1后轉(zhuǎn)發(fā)到鄰居節(jié)點(diǎn)。以這種方式,未知節(jié)點(diǎn)從多次接收到的同一信標(biāo)節(jié)點(diǎn)的信息選取對(duì)應(yīng)于該信標(biāo)節(jié)點(diǎn)的最小跳數(shù)值;
第二階段,計(jì)算每個(gè)信標(biāo)節(jié)點(diǎn)與其余各個(gè)信標(biāo)節(jié)點(diǎn)之間的距離之和以及跳數(shù)值之和,將該距離之和除以該跳數(shù)值之和,即得到每個(gè)信標(biāo)節(jié)點(diǎn)的平均單跳距離。
第三階段,信標(biāo)節(jié)點(diǎn)將自身的平均單跳距離廣播到傳感器網(wǎng)絡(luò)中,未知節(jié)點(diǎn)僅記錄首次接收到的廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的平均單跳距離,然后未知節(jié)點(diǎn)利用記錄的最小跳數(shù)值和接收到的平均單跳距離以及三邊定位算法或極大似然估計(jì)法未知節(jié)點(diǎn)的位置信息。
但是,由于無線傳感器網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)分布往往不均勻,不同區(qū)域內(nèi)節(jié)點(diǎn)疏密程度較大,采用信標(biāo)節(jié)點(diǎn)間每跳距離的平均值作為信標(biāo)節(jié)點(diǎn)的平均單跳距離會(huì)導(dǎo)致信標(biāo)節(jié)點(diǎn)的平均單跳距離存在誤差,這使得DV-Hop算法在計(jì)算未知節(jié)點(diǎn)到信標(biāo)節(jié)點(diǎn)的距離時(shí)產(chǎn)生不可避免的誤差。導(dǎo)致定位精度低。
因此,如何提供一種定位精度高的傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位方法及其裝置是本領(lǐng)域技術(shù)人員目前需要解決的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種節(jié)點(diǎn)定位方法及其裝置,依據(jù)未知節(jié)點(diǎn)的位置樣本上數(shù)據(jù)集的聚類中心計(jì)算節(jié)點(diǎn)位置,能夠減少計(jì)算量,提高定位精度。
為解決上述技術(shù)問題,本發(fā)明提供了一種傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位方法,包括:
依據(jù)未知節(jié)點(diǎn)接收到的各個(gè)信標(biāo)節(jié)點(diǎn)的廣播,確定各個(gè)信標(biāo)節(jié)點(diǎn)的位置信息以及未知節(jié)點(diǎn)與各個(gè)所述信標(biāo)節(jié)點(diǎn)之間的最小跳數(shù)值;
確定所述未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的平均單跳距離;
依據(jù)所述位置信息、所述最小跳數(shù)值以及所述平均單跳距離采用多邊測(cè)量算法計(jì)算得到所述未知節(jié)點(diǎn)的位置樣本數(shù)據(jù)集;所述數(shù)據(jù)集內(nèi)包括多個(gè)樣本點(diǎn);
依據(jù)聚類算法確定所述數(shù)據(jù)集內(nèi)樣本點(diǎn)的聚類中心,依據(jù)各個(gè)所述聚類中心的位置信息得到所述未知節(jié)點(diǎn)的位置信息。
優(yōu)選地,所述聚類算法具體為k-nedoids聚類算法。
優(yōu)選地,所述依據(jù)聚類算法確定所述數(shù)據(jù)集內(nèi)樣本點(diǎn)的聚類中心,依據(jù)各個(gè)所述聚類中心的位置信息得到所述未知節(jié)點(diǎn)的位置信息的過程具體為:
分別確定所述數(shù)據(jù)集內(nèi)各個(gè)核心對(duì)象的坐標(biāo);其中,縱坐標(biāo)為所述核心對(duì)象對(duì)應(yīng)的最小可達(dá)距離,橫坐標(biāo)為各個(gè)所述核心對(duì)象確定自身最小可達(dá)距離的次序;所述核心對(duì)象為以自身為中心、預(yù)設(shè)半徑范圍內(nèi)包含的樣本點(diǎn)個(gè)數(shù)超出第一預(yù)設(shè)個(gè)數(shù)的樣本點(diǎn);
將各個(gè)所述核心對(duì)象的坐標(biāo)點(diǎn)進(jìn)行連接,得到可達(dá)波形圖;
將所述可達(dá)波形圖上的各個(gè)波谷對(duì)應(yīng)的核心對(duì)象作為各個(gè)聚類中心點(diǎn);
計(jì)算各個(gè)所述聚類中心點(diǎn)的平均值作為所述未知節(jié)點(diǎn)的位置信息。
優(yōu)選地,所述將所述可達(dá)波形圖上的各個(gè)波谷對(duì)應(yīng)的核心對(duì)象作為各個(gè)聚類中心點(diǎn)之后還包括:
步驟s301:將所述數(shù)據(jù)集內(nèi)除聚類中心點(diǎn)以外的其余樣本點(diǎn)分配至距離自身最近的聚類中心點(diǎn)的聚類中;
步驟s302:從各個(gè)所述聚類中心點(diǎn)內(nèi),去除自身所在聚類內(nèi)包含的樣本點(diǎn)個(gè)數(shù)小于第二預(yù)設(shè)個(gè)數(shù)的聚類中心點(diǎn)。
優(yōu)選地,步驟s302之后還包括:
對(duì)于包含的樣本點(diǎn)個(gè)數(shù)不小于所述預(yù)設(shè)個(gè)數(shù)的每個(gè)聚類,將其包含的各個(gè)樣本點(diǎn)分別作為當(dāng)前聚類中心點(diǎn),并依據(jù)平方差關(guān)系式,確定所述聚類內(nèi),除所述當(dāng)前聚類中心點(diǎn)以外的其余各個(gè)樣本點(diǎn)到所述當(dāng)前聚類中心點(diǎn)的距離的平方和;其中,所述平方差關(guān)系式具體為:
其中,Lj為第j個(gè)當(dāng)前聚類中心點(diǎn)對(duì)應(yīng)的平方和;n為所述聚類內(nèi)的樣本點(diǎn)的總個(gè)數(shù);Pi為第i個(gè)樣本點(diǎn)的位置,Oj為所述第j個(gè)當(dāng)前聚類中心點(diǎn)的位置;
將最小的平方和對(duì)應(yīng)的當(dāng)前聚類中心點(diǎn)調(diào)整為所述聚類的聚類中心點(diǎn)。
優(yōu)選地,所述分別確定所述數(shù)據(jù)集內(nèi)各個(gè)核心對(duì)象的坐標(biāo),其中,縱坐標(biāo)為所述核心對(duì)象對(duì)應(yīng)的最小可達(dá)距離,橫坐標(biāo)為各個(gè)所述核心對(duì)象確定自身最小可達(dá)距離的次序的過程具體為:
步驟s501:從所述數(shù)據(jù)集中隨機(jī)選取一個(gè)樣本點(diǎn),判斷所述樣本點(diǎn)是否為核心對(duì)象,若是,將其作為處理對(duì)象,并進(jìn)入步驟s502;若否,將所述樣本點(diǎn)加入結(jié)束列表內(nèi),并重復(fù)步驟s501;
步驟s502:從所述數(shù)據(jù)集內(nèi)選取未加入有序列表內(nèi)的所述處理對(duì)象的直接密度可達(dá)點(diǎn)加入所述有序列表內(nèi),并將所述有序隊(duì)列內(nèi)的各個(gè)樣本點(diǎn)按照到所述處理對(duì)象的可達(dá)距離從小到大的順序進(jìn)行排序,確定所述處理對(duì)象對(duì)應(yīng)的最小可達(dá)距離,并將所述處理對(duì)象加入所述結(jié)束列表內(nèi);其中,所述橫坐標(biāo)為核心對(duì)象加入所述結(jié)束列表的次序;所述直接密度可達(dá)點(diǎn)為處于對(duì)應(yīng)核心對(duì)象的預(yù)設(shè)半徑范圍內(nèi)的樣本點(diǎn);
步驟s503:判斷所述有序列表內(nèi)當(dāng)前位置最前的樣本點(diǎn)是否為核心對(duì)象,若是,將其作為處理對(duì)象,并重復(fù)步驟s502;若否,將所述樣本點(diǎn)加入所述結(jié)束列表內(nèi),并重復(fù)步驟s503;直至所述數(shù)據(jù)集內(nèi)的全部樣本點(diǎn)均加入所述結(jié)束列表內(nèi)。
優(yōu)選地,所述可達(dá)距離為所述核心對(duì)象的核心距離以及所述核心對(duì)象與對(duì)應(yīng)的直接密度可達(dá)點(diǎn)間的歐氏距離中的最大值;
所述核心對(duì)象的核心距離為使自身成為核心對(duì)象的最小半徑閾值。
優(yōu)選地,所述確定所述未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的平均單跳距離的過程具體為:
確定所述未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)與除自身以外的其余各個(gè)信標(biāo)節(jié)點(diǎn)之間的最小跳數(shù)值;
依據(jù)信標(biāo)節(jié)點(diǎn)間的最小跳數(shù)值、各個(gè)所述信標(biāo)節(jié)點(diǎn)的位置信息以及單跳距離關(guān)系式計(jì)算所述未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的平均單跳距離;所述單跳距離關(guān)系式具體為:
其中,ek為所述未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)與第k個(gè)信標(biāo)節(jié)點(diǎn)的單跳距離,(x0,y0)為所述未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的位置坐標(biāo),(xk,yk)為所述第k個(gè)信標(biāo)節(jié)點(diǎn)的位置坐標(biāo);hk為所述未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)與第k個(gè)信標(biāo)節(jié)點(diǎn)之間的最小跳數(shù)值;m為信標(biāo)節(jié)點(diǎn)的總數(shù);wk為所述第k個(gè)信標(biāo)節(jié)點(diǎn)對(duì)所述未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的影響程度值;Dk為所述未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)與所述第k個(gè)信標(biāo)節(jié)點(diǎn)的距離;e為所述平均單跳距離。
為解決上述技術(shù)問題,本發(fā)明還提供了一種傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位裝置,包括:
跳數(shù)確定模塊,用于依據(jù)未知節(jié)點(diǎn)接收到的各個(gè)信標(biāo)節(jié)點(diǎn)的廣播,確定各個(gè)信標(biāo)節(jié)點(diǎn)的位置信息以及未知節(jié)點(diǎn)與各個(gè)所述信標(biāo)節(jié)點(diǎn)之間的最小跳數(shù)值;
單距確定模塊,用于確定所述未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的平均單跳距離;
數(shù)據(jù)集計(jì)算模塊,用于依據(jù)所述位置信息、所述最小跳數(shù)值以及所述平均單跳距離采用多邊測(cè)量算法計(jì)算得到所述未知節(jié)點(diǎn)的位置樣本數(shù)據(jù)集;所述數(shù)據(jù)集內(nèi)包括多個(gè)樣本點(diǎn);
位置計(jì)算模塊,用于依據(jù)聚類算法確定所述數(shù)據(jù)集內(nèi)樣本點(diǎn)的聚類中心,依據(jù)各個(gè)所述聚類中心的位置信息得到所述未知節(jié)點(diǎn)的位置信息。
本發(fā)明提供了一種節(jié)點(diǎn)定位方法及其裝置,確定未知節(jié)點(diǎn)與各個(gè)信標(biāo)節(jié)點(diǎn)之間的最小跳數(shù)值、未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的平均單跳距離以及各個(gè)信標(biāo)節(jié)點(diǎn)的位置信息后,采用多邊測(cè)量算法計(jì)算未知節(jié)點(diǎn)的位置樣本數(shù)據(jù)集,然后依據(jù)聚類算法確定所述數(shù)據(jù)集內(nèi)樣本點(diǎn)的聚類中心,進(jìn)而得到未知節(jié)點(diǎn)的位置信息。數(shù)據(jù)集中的每一個(gè)樣本點(diǎn)均代表一個(gè)未知節(jié)點(diǎn)可能的位置信息,聚類中心處于樣本點(diǎn)的密集處,而該未知節(jié)點(diǎn)準(zhǔn)確的位置信息即處于樣本點(diǎn)密集的區(qū)域,故依據(jù)這些聚類中心來計(jì)算未知節(jié)點(diǎn)的位置信息,能夠排除掉大部分準(zhǔn)確性較低的樣本點(diǎn),減少計(jì)算量,并提高定位精度。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)現(xiàn)有技術(shù)和實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位方法的過程的流程圖;
圖2為本發(fā)明提供的另一種傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位方法的過程的流程圖;
圖3為本發(fā)明提供的另一種傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位方法的過程的流程圖;
圖4為本發(fā)明提供的一種傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明的核心是提供一種節(jié)點(diǎn)定位方法及其裝置,依據(jù)未知節(jié)點(diǎn)的位置樣本上數(shù)據(jù)集的聚類中心計(jì)算節(jié)點(diǎn)位置,能夠減少計(jì)算量,提高定位精度。
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明提供了一種傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位方法,參見圖1所示,圖1為本發(fā)明提供的一種傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位方法的過程的流程圖;該方法包括:
步驟s101:依據(jù)未知節(jié)點(diǎn)接收到的各個(gè)信標(biāo)節(jié)點(diǎn)的廣播,確定各個(gè)信標(biāo)節(jié)點(diǎn)的位置信息以及未知節(jié)點(diǎn)與各個(gè)信標(biāo)節(jié)點(diǎn)之間的最小跳數(shù)值;
步驟s102:確定未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的平均單跳距離;
步驟s103:依據(jù)位置信息、最小跳數(shù)值以及平均單跳距離采用多邊測(cè)量算法計(jì)算得到未知節(jié)點(diǎn)的位置樣本數(shù)據(jù)集;數(shù)據(jù)集內(nèi)包括多個(gè)樣本點(diǎn);
步驟s104:依據(jù)聚類算法確定數(shù)據(jù)集內(nèi)樣本點(diǎn)的聚類中心,依據(jù)各個(gè)聚類中心的位置信息得到未知節(jié)點(diǎn)的位置信息。
作為優(yōu)選地,這里的聚類算法具體為k-nedoids聚類算法。
其中,參見圖2所示,圖2為本發(fā)明提供的另一種傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位方法的過程的流程圖;步驟s104的過程具體為:
步驟s201:分別確定數(shù)據(jù)集內(nèi)各個(gè)核心對(duì)象的坐標(biāo);其中,縱坐標(biāo)為核心對(duì)象對(duì)應(yīng)的最小可達(dá)距離,橫坐標(biāo)為各個(gè)核心對(duì)象確定自身最小可達(dá)距離的次序;核心對(duì)象為以自身為中心、預(yù)設(shè)半徑范圍內(nèi)包含的樣本點(diǎn)個(gè)數(shù)超出第一預(yù)設(shè)個(gè)數(shù)的樣本點(diǎn);
其中,若一個(gè)樣本點(diǎn)處于一個(gè)核心對(duì)象的預(yù)設(shè)半徑范圍內(nèi),則該樣本點(diǎn)為該核心對(duì)象的直接密度可達(dá)點(diǎn)。這些直接密度可達(dá)點(diǎn)與該核心對(duì)象的可達(dá)距離中的最小值為該核心對(duì)象對(duì)應(yīng)的最小可達(dá)距離。
步驟s202:將各個(gè)核心對(duì)象的坐標(biāo)點(diǎn)進(jìn)行連接,得到可達(dá)波形圖;
可以理解的是,縱坐標(biāo)為最小可達(dá)距離,橫坐標(biāo)表明了排列順序,最終得到的這些核心對(duì)象的坐標(biāo)點(diǎn)可以通過平滑連線后得到一個(gè)波形圖,該波形圖內(nèi)包括波峰和波谷,其中,這些波谷表明的是最小可達(dá)距離較小的部分核心對(duì)象。
由于核心對(duì)象本就為樣本點(diǎn)密集處的樣本點(diǎn),而通過選取這些核心對(duì)象中最小可達(dá)距離較小的部分核心對(duì)象,則能夠進(jìn)一步從這些核心對(duì)象中選取周圍密集程度更高的部分核心對(duì)象,將這些核心對(duì)象作為聚類中心的話,能夠大大提高定位的準(zhǔn)確性,同時(shí)減少最終計(jì)算量。
步驟s203:將可達(dá)波形圖上的各個(gè)波谷對(duì)應(yīng)的核心對(duì)象作為各個(gè)聚類中心點(diǎn);
步驟s204:計(jì)算各個(gè)聚類中心點(diǎn)的平均值作為未知節(jié)點(diǎn)的位置信息。
由于這些聚類中心均可能為未知節(jié)點(diǎn)的實(shí)際位置,故將其求平均值能夠得到一個(gè)較為準(zhǔn)確的位置信息。
作為優(yōu)選地,步驟s203之后還包括:
步驟s301:將數(shù)據(jù)集內(nèi)除聚類中心點(diǎn)以外的其余樣本點(diǎn)分配至距離自身最近的聚類中心點(diǎn)的聚類中;
即將數(shù)據(jù)集中的全部樣本點(diǎn)分為若干個(gè)聚類,聚類的個(gè)數(shù)視聚類中心的個(gè)數(shù)而定。
步驟s302:從各個(gè)聚類中心點(diǎn)內(nèi),去除自身所在聚類內(nèi)包含的樣本點(diǎn)個(gè)數(shù)小于第二預(yù)設(shè)個(gè)數(shù)的聚類中心點(diǎn)。
可以理解的是,若聚類中包含的樣本點(diǎn)個(gè)數(shù)過少,表明聚集在該聚類中心周圍的樣本點(diǎn)個(gè)數(shù)不多,該聚類中心的坐標(biāo)一般不是未知節(jié)點(diǎn)的真實(shí)位置信息,故將其去除,能夠進(jìn)一步提高計(jì)算準(zhǔn)確性。
作為優(yōu)選地,參見圖3所示,圖3為本發(fā)明提供的另一種傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位方法的過程的流程圖;步驟s302之后還包括:
步驟s303:對(duì)于包含的樣本點(diǎn)個(gè)數(shù)不小于預(yù)設(shè)個(gè)數(shù)的每個(gè)聚類,將其包含的各個(gè)樣本點(diǎn)分別作為當(dāng)前聚類中心點(diǎn),并依據(jù)平方差關(guān)系式,確定聚類內(nèi),除當(dāng)前聚類中心點(diǎn)以外的其余各個(gè)樣本點(diǎn)到當(dāng)前聚類中心點(diǎn)的距離的平方和;其中,平方差關(guān)系式具體為:
其中,Lj為第j個(gè)當(dāng)前聚類中心點(diǎn)對(duì)應(yīng)的平方和;n為聚類內(nèi)的樣本點(diǎn)的總個(gè)數(shù);Pi為第i個(gè)樣本點(diǎn)的位置,Oj為第j個(gè)當(dāng)前聚類中心點(diǎn)的位置;
步驟s304:將最小的平方和對(duì)應(yīng)的當(dāng)前聚類中心點(diǎn)調(diào)整為聚類的聚類中心點(diǎn)。
可以理解的是,當(dāng)分配好各個(gè)聚類后,每個(gè)聚類內(nèi)真正的聚類中心可能并不是步驟s203得到的聚類中心,故需要通過判斷該聚類中每個(gè)樣本點(diǎn)與除自身以外的其余各個(gè)樣本點(diǎn)的距離的平方和,平方和最小的,即為該聚類內(nèi)真正的聚類中心。該操作提高了選取的聚類中心的準(zhǔn)確性,進(jìn)而提高了定位的精度。
作為優(yōu)選地,步驟s201的過程具體為:
步驟s501:從數(shù)據(jù)集中隨機(jī)選取一個(gè)樣本點(diǎn),判斷樣本點(diǎn)是否為核心對(duì)象,若是,將其作為處理對(duì)象,并進(jìn)入步驟s502;若否,將樣本點(diǎn)加入結(jié)束列表內(nèi),并重復(fù)步驟s501;
步驟s502:從數(shù)據(jù)集內(nèi)選取未加入有序列表內(nèi)的處理對(duì)象的直接密度可達(dá)點(diǎn)加入有序列表內(nèi),并將有序隊(duì)列內(nèi)的各個(gè)樣本點(diǎn)按照到處理對(duì)象的可達(dá)距離從小到大的順序進(jìn)行排序,確定處理對(duì)象對(duì)應(yīng)的最小可達(dá)距離,并將處理對(duì)象加入結(jié)束列表內(nèi);其中,橫坐標(biāo)為核心對(duì)象加入結(jié)束列表的次序;直接密度可達(dá)點(diǎn)為處于對(duì)應(yīng)核心對(duì)象的預(yù)設(shè)半徑范圍內(nèi)的樣本點(diǎn);
步驟s503:判斷有序列表內(nèi)當(dāng)前位置最前的樣本點(diǎn)是否為核心對(duì)象,若是,將其作為處理對(duì)象,并重復(fù)步驟s502;若否,將樣本點(diǎn)加入結(jié)束列表內(nèi),并重復(fù)步驟s503;直至數(shù)據(jù)集內(nèi)的全部樣本點(diǎn)均加入結(jié)束列表內(nèi)。
其中,可達(dá)距離為核心對(duì)象的核心距離以及核心對(duì)象與對(duì)應(yīng)的直接密度可達(dá)點(diǎn)間的歐氏距離中的最大值;核心對(duì)象的核心距離為使自身成為核心對(duì)象的最小半徑閾值。
在一種優(yōu)選實(shí)施例中,步驟s102的過程具體為:
確定未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)與除自身以外的其余各個(gè)信標(biāo)節(jié)點(diǎn)之間的最小跳數(shù)值;
依據(jù)信標(biāo)節(jié)點(diǎn)間的最小跳數(shù)值、各個(gè)信標(biāo)節(jié)點(diǎn)的位置信息以及單跳距離關(guān)系式計(jì)算未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的平均單跳距離;單跳距離關(guān)系式具體為:
其中,ek為未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)與第k個(gè)信標(biāo)節(jié)點(diǎn)的單跳距離,(x0,y0)為未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的位置坐標(biāo),(xk,yk)為第k個(gè)信標(biāo)節(jié)點(diǎn)的位置坐標(biāo);hk為未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)與第k個(gè)信標(biāo)節(jié)點(diǎn)之間的最小跳數(shù)值;m為信標(biāo)節(jié)點(diǎn)的總數(shù);wk為第k個(gè)信標(biāo)節(jié)點(diǎn)對(duì)未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的影響程度值;Dk為未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)與第k個(gè)信標(biāo)節(jié)點(diǎn)的距離;e為平均單跳距離。
可以理解的是,由于節(jié)點(diǎn)分布的疏密不同,直接采用信標(biāo)節(jié)點(diǎn)之間的平均單跳距離誤差較大,故將信標(biāo)節(jié)點(diǎn)之間的影響程度值作為權(quán)值系數(shù)添加至平均單跳距離的計(jì)算關(guān)系式中,能夠盡可能減少由于節(jié)點(diǎn)疏密而對(duì)信標(biāo)節(jié)點(diǎn)的平均單跳距離的影響。
本發(fā)明提供了一種節(jié)點(diǎn)定位方法,確定未知節(jié)點(diǎn)與各個(gè)信標(biāo)節(jié)點(diǎn)之間的最小跳數(shù)值、未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的平均單跳距離以及各個(gè)信標(biāo)節(jié)點(diǎn)的位置信息后,采用多邊測(cè)量算法計(jì)算未知節(jié)點(diǎn)的位置樣本數(shù)據(jù)集,然后依據(jù)聚類算法確定數(shù)據(jù)集內(nèi)樣本點(diǎn)的聚類中心,進(jìn)而得到未知節(jié)點(diǎn)的位置信息。數(shù)據(jù)集中的每一個(gè)樣本點(diǎn)均代表一個(gè)未知節(jié)點(diǎn)可能的位置信息,聚類中心處于樣本點(diǎn)的密集處,而該未知節(jié)點(diǎn)準(zhǔn)確的位置信息即處于樣本點(diǎn)密集的區(qū)域,故依據(jù)這些聚類中心來計(jì)算未知節(jié)點(diǎn)的位置信息,能夠排除掉大部分準(zhǔn)確性較低的樣本點(diǎn),減少計(jì)算量,并提高定位精度。
本發(fā)明還提供了一種傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位裝置,參見圖4所示,圖4為本發(fā)明提供的一種傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)定位裝置的結(jié)構(gòu)示意圖。該裝置包括:
跳數(shù)確定模塊1,用于依據(jù)未知節(jié)點(diǎn)接收到的各個(gè)信標(biāo)節(jié)點(diǎn)的廣播,確定各個(gè)信標(biāo)節(jié)點(diǎn)的位置信息以及未知節(jié)點(diǎn)與各個(gè)信標(biāo)節(jié)點(diǎn)之間的最小跳數(shù)值;
單距確定模塊2,用于確定未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的平均單跳距離;
數(shù)據(jù)集計(jì)算模塊3,用于依據(jù)位置信息、最小跳數(shù)值以及平均單跳距離采用多邊測(cè)量算法計(jì)算得到未知節(jié)點(diǎn)的位置樣本數(shù)據(jù)集;數(shù)據(jù)集內(nèi)包括多個(gè)樣本點(diǎn);
位置計(jì)算模塊4,用于依據(jù)聚類算法確定數(shù)據(jù)集內(nèi)樣本點(diǎn)的聚類中心,依據(jù)各個(gè)聚類中心的位置信息得到未知節(jié)點(diǎn)的位置信息。
本發(fā)明提供了一種節(jié)點(diǎn)定位裝置,確定未知節(jié)點(diǎn)與各個(gè)信標(biāo)節(jié)點(diǎn)之間的最小跳數(shù)值、未知節(jié)點(diǎn)接收到的首個(gè)廣播對(duì)應(yīng)的信標(biāo)節(jié)點(diǎn)的平均單跳距離以及各個(gè)信標(biāo)節(jié)點(diǎn)的位置信息后,采用多邊測(cè)量算法計(jì)算未知節(jié)點(diǎn)的位置樣本數(shù)據(jù)集,然后依據(jù)聚類算法確定數(shù)據(jù)集內(nèi)樣本點(diǎn)的聚類中心,進(jìn)而得到未知節(jié)點(diǎn)的位置信息。數(shù)據(jù)集中的每一個(gè)樣本點(diǎn)均代表一個(gè)未知節(jié)點(diǎn)可能的位置信息,聚類中心處于樣本點(diǎn)的密集處,而該未知節(jié)點(diǎn)準(zhǔn)確的位置信息即處于樣本點(diǎn)密集的區(qū)域,故依據(jù)這些聚類中心來計(jì)算未知節(jié)點(diǎn)的位置信息,能夠排除掉大部分準(zhǔn)確性較低的樣本點(diǎn),減少計(jì)算量,并提高定位精度。
需要說明的是,在本說明書中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其他實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。