国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      可控精度的地理位置信息壓縮傳輸方法與流程

      文檔序號(hào):11879164閱讀:372來(lái)源:國(guó)知局
      可控精度的地理位置信息壓縮傳輸方法與流程

      本發(fā)明屬于通信技術(shù)領(lǐng)域,具體涉及用于傳感器網(wǎng)絡(luò)傳輸過(guò)程中的地理位置信息壓縮編碼方法。



      背景技術(shù):

      傳感器網(wǎng)絡(luò)的地理位置信息,對(duì)于標(biāo)記數(shù)據(jù)產(chǎn)生和事件發(fā)生的位置是很有必要的,傳感器網(wǎng)絡(luò)中的很多服務(wù)是基于地理位置信息的,比如水污染監(jiān)測(cè)、生態(tài)環(huán)境監(jiān)測(cè)以及災(zāi)害預(yù)警等。參照常用的WGS84:World Geodetic System 1984標(biāo)準(zhǔn),GPS中地理位置信息由<經(jīng)度,緯度,高度>表示。其中經(jīng)度表示方式為23°21′23″E這種格式,其中度的區(qū)間為[0°,180°],分和秒是60進(jìn)位的,E表示的是東經(jīng)。其中也可以用符號(hào)位表示東西經(jīng),+號(hào)表示東經(jīng)、-號(hào)表示西經(jīng),則區(qū)間為[+180°,-180°],表示南北緯時(shí),+號(hào)表示北緯、-號(hào)表示南緯,此時(shí)的區(qū)間為[+90°,-90°],海拔則一般以[-11000,8000]為區(qū)間,本發(fā)明為統(tǒng)一經(jīng)緯度和高度的精度要求,采用[-11000,C-11000]為區(qū)間,其中C為赤道周長(zhǎng)。

      地理位置信息編碼,是以二進(jìn)制的方式表示地理位置的三維坐標(biāo),用于傳輸。在WGS84規(guī)定中,GPS的經(jīng)度、緯度和高度都是實(shí)數(shù),分別用32位表示,則單個(gè)位置數(shù)據(jù)需要用12個(gè)字節(jié)表示,這對(duì)于大多數(shù)網(wǎng)絡(luò)應(yīng)用來(lái)說(shuō)并沒(méi)有占整個(gè)傳輸幀的很大比例,但是對(duì)于傳感器網(wǎng)絡(luò)和其他低能耗網(wǎng)絡(luò)來(lái)說(shuō),特別是MTU比較小的情況下,用12個(gè)字節(jié)來(lái)表示位置信息會(huì)占用較大比例的傳輸位,造成傳輸次數(shù)的增多和能耗的增加,所以利用不同的方法對(duì)地理位置信息的進(jìn)行壓縮編碼以減小占用的位數(shù)還是很有必要的。而且大多數(shù)傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)都是電池供電,能耗的增加會(huì)減少該節(jié)點(diǎn)的使用壽命。特別是一些低能耗網(wǎng)絡(luò)技術(shù),對(duì)帶寬消耗非常敏感,如IEEE 802.15.4-2003定義的報(bào)文尺寸只有127字節(jié),刨去鏈路層和安全機(jī)制占用的部分,只有不到81個(gè)字節(jié)可用于信息傳輸。本發(fā)明利用相近區(qū)域位置信息相關(guān)的特點(diǎn),能夠?qū)鬏數(shù)奈恢眯畔⑦M(jìn)行可控精度的壓縮和解碼,從而減少地址位置信息的傳輸開(kāi)銷(xiāo)。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明的目的是對(duì)傳輸?shù)奈恢眯畔⑦M(jìn)行可控精度的壓縮和解碼,從而減少地理位置信息在通信傳輸過(guò)程中對(duì)帶寬的消耗。

      本發(fā)明的技術(shù)方案是:可控精度的地理位置信息壓縮傳輸方法,根據(jù)定義的精度d,在發(fā)送端對(duì)地理位置信息Loc進(jìn)行壓縮編碼,并在接收端對(duì)地理位置信息進(jìn)行解碼操作;包括以下步驟:

      S1、根據(jù)精度d確定傳輸節(jié)點(diǎn)地理位置信息編碼的粒度參數(shù)m,通過(guò)下公式計(jì)算滿足精度d的最小位數(shù)m;

      <mrow> <mfrac> <mi>C</mi> <msup> <mn>2</mn> <mi>m</mi> </msup> </mfrac> <mo>&le;</mo> <mi>d</mi> <mo>;</mo> </mrow>

      其中,C為地球赤道周長(zhǎng),d表示用m位二進(jìn)制對(duì)赤道上的位置坐標(biāo)編碼所能達(dá)到的精度;

      所述傳輸節(jié)點(diǎn)包括:發(fā)送端源節(jié)點(diǎn)、中間節(jié)點(diǎn)以及目的節(jié)點(diǎn);

      S2、在發(fā)送端對(duì)源節(jié)點(diǎn)地理位置信息Loc編碼;所述發(fā)送端源節(jié)點(diǎn)地理位置信息Loc編碼的k位后綴對(duì)于接收端傳輸節(jié)點(diǎn)是唯一識(shí)別碼;且所述k滿足下式:

      <mrow> <mi>k</mi> <mo>&GreaterEqual;</mo> <msub> <mi>log</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mrow> <mfrac> <msup> <mn>2</mn> <mi>m</mi> </msup> <mi>C</mi> </mfrac> <mo>&times;</mo> <mi>L</mi> <mo>+</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> <mo>;</mo> </mrow>

      其中,C為地球赤道周長(zhǎng),L為接收端與Loc最大距離;

      并且通過(guò)公式確定傳輸信息中經(jīng)度、緯度和高度分別所占的位數(shù)K的值;

      S3、在接收端對(duì)源節(jié)點(diǎn)地理位置信息Loc解碼。

      進(jìn)一步地,當(dāng)傳感器網(wǎng)絡(luò)為端到端結(jié)構(gòu)時(shí),所述步驟S2還包括:根據(jù)第一編碼算法計(jì)算m位表示的位置的二進(jìn)制信息<Bx,By,Bh>,并得到最終位置信息msg。

      更進(jìn)一步地,所述第一編碼算法為:根據(jù)下式計(jì)算<Bx,By,Bh>;

      bx=Bxmod2k

      by=Bymod2k

      bh=Bhmod2k

      計(jì)算得到最終位置信息:msg=<bx,by,bh>。

      進(jìn)一步地,當(dāng)傳感器網(wǎng)絡(luò)為逐跳結(jié)構(gòu)時(shí),且各傳輸節(jié)點(diǎn)的地理位置信息精度d相同,所述步驟S2還包括:根據(jù)第二編碼算法計(jì)算m位表示的位置的二進(jìn)制信息<Bx,By,Bh>,并得到最終位置信息msg。

      更進(jìn)一步地,所述第二編碼算法為:根據(jù)下式計(jì)算<Bx,By,Bh>;

      bk=(K/3)mod23

      bx=Bxmod2k

      by=Bymod2k

      bh=Bhmod2k

      計(jì)算得到最終位置信息:msg=<bk,bx,by,bh>。

      更進(jìn)一步地,當(dāng)傳感器網(wǎng)絡(luò)為逐跳結(jié)構(gòu)時(shí),且傳輸節(jié)點(diǎn)既非發(fā)送端的源節(jié)點(diǎn),也非目的節(jié)點(diǎn)時(shí),在該傳輸節(jié)點(diǎn)處,首先計(jì)算該傳輸節(jié)點(diǎn)處的K值,并對(duì)來(lái)自上一傳輸節(jié)點(diǎn)的編碼信息進(jìn)行解碼,然后根據(jù)第二編碼算法編碼后發(fā)送至下一傳輸節(jié)點(diǎn)。

      進(jìn)一步地,當(dāng)傳感器網(wǎng)絡(luò)為逐跳結(jié)構(gòu)時(shí),且各傳輸節(jié)點(diǎn)的地理位置信息精度d不相同,所述步驟S2還包括:根據(jù)第三編碼算法計(jì)算m位表示的位置的二進(jìn)制信息<Bx,By,Bh>,并得到最終位置信息msg。

      更進(jìn)一步地,所述第三編碼算法為:根據(jù)下式計(jì)算<Bx,By,Bh>;

      由:

      bm=m

      bk=(K/3)mod23

      bx=Bxmod2k

      by=Bymod2k

      bh=Bhmod2k

      計(jì)算得到最終位置信息:msg=<bm,bk,bx,by,bh>。

      進(jìn)一步地,當(dāng)傳感器網(wǎng)絡(luò)為端到端結(jié)構(gòu)時(shí),所述步驟S3包括:采用第一解碼算法對(duì)經(jīng)第一編碼算法編碼得到的msg=<bx,by,bh>進(jìn)行解碼,得到源節(jié)點(diǎn)地理位置信息。

      更進(jìn)一步地,所述第一解碼算法為:根據(jù)下式計(jì)算目的節(jié)點(diǎn)D的位置信息<Dx,Dy,Dh>:

      目的節(jié)點(diǎn)D處的位置編碼信息為<dx,dy,dh>,

      其中:

      dx=Dxmod2K

      dy=Dymod2K

      dh=Dhmod2K

      通過(guò)比較<bx,by,bh>和<dx,dy,dh>,判斷得到解碼結(jié)果未發(fā)生進(jìn)位或者退位時(shí),則解碼結(jié)果計(jì)算式為:

      Bx=Dx-dx+bx

      By=Dy-dy+by

      Bh=Dh-dh+bh

      否則解碼結(jié)果計(jì)算式為:

      Bx=Dx-dx+bx+2k×sgn(dx-bx)

      By=Dy-dy+by+2k×sgn(dy-by)

      Bh=Dh-dh+bh+2k×sgn(dh-bh)

      則<Bx,By,Bh>即為源節(jié)點(diǎn)地理位置信息。

      進(jìn)一步地,當(dāng)傳感器網(wǎng)絡(luò)為逐跳結(jié)構(gòu)時(shí),且各傳輸節(jié)點(diǎn)的地理位置信息精度相同,所述步驟S3包括:采用第二解碼算法對(duì)經(jīng)第二編碼算法編碼得到的msg=<bk,bx,by,bh>進(jìn)行解碼,得到源節(jié)點(diǎn)地理位置信息。

      更進(jìn)一步地,所述第二解碼算法為:根據(jù)下式計(jì)算傳輸節(jié)點(diǎn)R1的位置信息<R1x,R1y,R1h>

      根據(jù)下式計(jì)算傳輸節(jié)點(diǎn)R1處的位置編碼信息為<r1x,r1y,r1h>,其中:

      r1x=R1xmod2k

      r1y=R1ymod2k

      r1h=R1hmod2k

      通過(guò)比較<bx,by,bh>和<r1x,r1y,r1h>,判斷得到解碼結(jié)果未發(fā)生進(jìn)位或者退位時(shí),則解碼結(jié)果計(jì)算式為:

      Bx=R1x-r1x+bx

      By=R1y-r1y+by

      Bh=R1h-r1h+bh

      若是發(fā)生進(jìn)位或者退位,則解碼結(jié)果計(jì)算式為:

      Bx=R1x-r1x+bx+2k×sgn(r1x-bx)

      By=R1y-r1y+by+2k×sgn(r1y-by)

      Bh=R1h-r1h+bh+2k×sgn(r1h-bh)

      則<Bx,By,Bh>即為源節(jié)點(diǎn)地理位置信息。

      進(jìn)一步地,當(dāng)傳感器網(wǎng)絡(luò)為逐跳結(jié)構(gòu)時(shí),且各傳輸節(jié)點(diǎn)的地理位置信息精度d不相同,所述步驟S3包括:采用第三解碼算法對(duì)經(jīng)第三編碼算法編碼得到的msg=<bm,bk,bx,by,bh進(jìn)行解碼,得到源節(jié)點(diǎn)地理位置信息。

      更進(jìn)一步地,所述第三解碼算法為:根據(jù)源節(jié)點(diǎn)的粒度參數(shù)m,計(jì)算傳輸節(jié)點(diǎn)R1的位置信息<R1x,R1y,R1h>:

      然后通過(guò)下式計(jì)算傳輸節(jié)點(diǎn)R1處的位置編碼信息<r1x,r1y,r1h>,

      其中:

      r1x=R1xmod2k

      r1y=R1ymod2k

      r1h=R1hmod2k

      通過(guò)比較<bx,by,bh>和<r1x,r1y,r1h>,判斷得到解碼結(jié)果未發(fā)生進(jìn)位或者退位時(shí),則解碼結(jié)果計(jì)算式為:

      Bx=R1x-r1x+bx

      By=R1y-r1y+by

      Bh=R1h-r1h+bh

      若是發(fā)生進(jìn)位或者退位,則解碼結(jié)果表達(dá)式為:

      Bx=R1x-r1x+bx+2k×sgn(r1x-bx)

      By=R1y-r1y+by+2k×sgn(r1y-by)

      Bh=R1h-r1h+bh+2k×sgn(r1h-bh)

      則<Bx,By,Bh>即為源節(jié)點(diǎn)地理位置信息。

      本發(fā)明的有益效果是:本發(fā)明的可控精度的地理位置信息壓縮傳輸方法,利用相鄰區(qū)域的地理位置信息相關(guān)性,能夠減少地理位置信息的編碼長(zhǎng)度,發(fā)送端通過(guò)估計(jì)接收端的大致范圍即可實(shí)現(xiàn)編碼過(guò)程,接收端則能根據(jù)自身的位置和收到的信息獨(dú)立實(shí)現(xiàn)編碼,通過(guò)減少每個(gè)傳輸幀中位置信息所占的位數(shù),使得每次傳輸?shù)钠渌畔⒌奈粩?shù)增加,從而節(jié)省了有效帶寬。

      附圖說(shuō)明

      圖1表明沿經(jīng)度方向或者緯度方向的二進(jìn)制編碼的后綴具有周期性。

      圖2是一個(gè)確定范圍的傳感器網(wǎng)絡(luò)示意圖,該圖所示的情況可以根據(jù)覆蓋范圍來(lái)統(tǒng)一確定編碼位數(shù)。

      圖3是一個(gè)不確定范圍的多跳的傳感網(wǎng)絡(luò)示意圖。

      具體實(shí)施方式

      為便于本領(lǐng)域技術(shù)人員理解本發(fā)明的技術(shù)內(nèi)容,下面結(jié)合附圖對(duì)本發(fā)明內(nèi)容進(jìn)一步闡釋。

      本發(fā)明的技術(shù)方案:可控精度的地理位置信息壓縮傳輸方法,根據(jù)定義的精度d,在發(fā)送端對(duì)地理位置信息Loc進(jìn)行壓縮編碼,并在接收端對(duì)地理位置信息進(jìn)行解碼操作;包括以下步驟:

      S1、根據(jù)精度d確定地理位置信息編碼的粒度參數(shù)m,通過(guò)下公式計(jì)算滿足精度d的最小位數(shù)m;

      <mrow> <mfrac> <mi>C</mi> <msup> <mn>2</mn> <mi>m</mi> </msup> </mfrac> <mo>&le;</mo> <mi>d</mi> <mo>;</mo> </mrow>

      其中,C為地球赤道周長(zhǎng),d表示用m位二進(jìn)制對(duì)赤道上的位置坐標(biāo)編碼所能達(dá)到的精度;

      S2、在發(fā)送端對(duì)地理位置信息Loc編碼;所述地理位置信息Loc編碼的k位后綴對(duì)于接收端是唯一識(shí)別碼;且所述k滿足下式:

      <mrow> <mi>k</mi> <mo>&GreaterEqual;</mo> <msub> <mi>log</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mfrac> <msup> <mn>2</mn> <mi>m</mi> </msup> <mi>C</mi> </mfrac> <mo>&times;</mo> <mi>L</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> <mo>;</mo> </mrow>

      其中,C為地球赤道周長(zhǎng),L為接收端與Loc最大距離;

      并且通過(guò)公式確定傳輸信息中經(jīng)度、緯度和高度分別所占的位數(shù)K的值。

      如圖1所示,只取3位后綴時(shí),對(duì)于在1202的節(jié)點(diǎn)來(lái)說(shuō),1199是唯一的,1198是不唯一的,[1199,1205]對(duì)應(yīng)位于1202節(jié)點(diǎn)的GTM range表示對(duì)于接收節(jié)點(diǎn)可以唯一解碼的空間范圍,GTM:地理位置拓?fù)溆成洹?梢栽诮o定K的情況下,用K位表示的二進(jìn)制的地理位置信息壓縮編碼具有唯一性,由于其具有周期性所以可以在解碼時(shí)判斷是否需要進(jìn)位。以K=3為例:假設(shè)某節(jié)點(diǎn)的經(jīng)度編碼為00001000,其覆蓋半徑范圍為3m,唯一性很明顯由于二進(jìn)制編碼是周期性的,則后三位一直以000到111為循環(huán),且是連續(xù)的,所以能唯一確定本節(jié)點(diǎn)周?chē)?jié)點(diǎn)的編碼后綴。本例中,由于節(jié)點(diǎn)的半徑為4m,以本節(jié)點(diǎn)為中心的節(jié)點(diǎn)周?chē)慕?jīng)度編碼則為101、110、111、000、001、010、011。

      以本節(jié)點(diǎn)為中心的覆蓋范圍內(nèi)的節(jié)點(diǎn)的與其在經(jīng)度方向上地理位置的差值小于4m,即2K-1m,如果傳輸?shù)膲嚎s編碼差值大于等于4,則說(shuō)明高位上有進(jìn)位。設(shè)其周?chē)墓?jié)點(diǎn)經(jīng)度為000000101、00000110、00000111、00001001、00001010、00001011。

      假設(shè)目的節(jié)點(diǎn)經(jīng)度為00000111,則其接收到的3位地理位置信息編碼為bx=000,計(jì)算其本身的dx=111,很明顯如果直接替換后三位的相對(duì)位置信息是有問(wèn)題的。由于|dx-bx|=7>2K-1=4,所以可以判斷有進(jìn)位,在計(jì)算時(shí)加上進(jìn)位或者減除進(jìn)位得到源節(jié)點(diǎn)的正確地理位置信息編碼。

      S3、在接收端對(duì)地理位置信息解碼。

      具體通過(guò)以下兩個(gè)實(shí)施例來(lái)進(jìn)行闡述本發(fā)明的內(nèi)容:

      實(shí)施例一

      端到端的地理位置信息編碼解碼。傳感器網(wǎng)絡(luò),節(jié)點(diǎn)相對(duì)靜止的情況下。根據(jù)傳感器網(wǎng)絡(luò)的覆蓋范圍靜態(tài)確定K值,根據(jù)m值和覆蓋范圍根據(jù)公式計(jì)算這個(gè)節(jié)點(diǎn)覆蓋范圍內(nèi)能唯一確定的表示每個(gè)節(jié)點(diǎn)的位置的k;

      如圖2所示,假定S要把自身的地理位置信息發(fā)送給D,在S處進(jìn)行壓縮編碼:

      假定該傳感器網(wǎng)絡(luò)的范圍直徑為400米。

      1.精度要求為精確到1米,根據(jù)步驟一中的公式計(jì)算得出即m=26。

      S和D的坐標(biāo)分別是:

      S=<118°22′00.69″,0°59′57.76″,95>

      D=<118°22′08.09″,0°59′57.27″,91>

      S和D的坐標(biāo)轉(zhuǎn)化為度數(shù)表示為:

      S=<118.36686°,0.99938°,95>

      D=<118.36891°,0.99924°,91>

      2.按照步驟S2所述確定能唯一表示在該范圍內(nèi)的某一位置的編碼位數(shù)K。首先根據(jù)公式:計(jì)算k=11,再根據(jù)公式當(dāng)e取值為3時(shí),計(jì)算得出K=12。

      根據(jù)第一編碼算法計(jì)算用m位表示的位置的二進(jìn)制信息<Bx,By,Bh>:

      最終的位置信息msg為:

      msg=<bx,by,bh>

      bx=Bxmod2k=000000011101B

      by=Bymod2k=011110111001B

      bh=Bhmod2k=100010010011B

      即msg=000000011101011110111001100010010011B

      3.根據(jù)步驟S3所述,在目的節(jié)點(diǎn)D處對(duì)位置信息進(jìn)行解碼。首先計(jì)算K值,因?yàn)榇_定范圍的情況下該范圍內(nèi)的K值是統(tǒng)一的,所以此處省略計(jì)算過(guò)程,得K=12。D節(jié)點(diǎn)首先計(jì)算自己的位置信息<Dx,Dy,Dh>

      D節(jié)點(diǎn)處的位置編碼信息為<dx,dy,dh>,其中:

      dx=Dxmod2K=000110011100B

      dy=Dymod2K=011110011111B

      dh=Dhmod2K=100010001100B

      通過(guò)比較<bx,by,bh>和<dx,dy,dh>判斷是否需要進(jìn)位或者退位:

      2K-1=211=2048

      |dx-bx|=|412-29|=383<2048

      |dy-by|=|1951-1977|=26<2048

      |dh-bh|=|2188-2195|=7<2048

      比較結(jié)果表明沒(méi)有發(fā)生進(jìn)位或者退位,則解碼結(jié)果為:

      Bx=Dx-dx+bx

      =11010100001011000110011100B-000110011100B+000000011101B

      =110101000011011000000011101B

      By=Dy-dy+by

      =1000000101101011110011111B-011110011111B+011110111001B

      =1000000101101011110111001B

      Bh=Dh-dh+bh

      =100100010001100B-100010001100B+100010010011B

      =100100010010011B

      若是發(fā)生進(jìn)位或者退位,則解碼結(jié)果表達(dá)式為:

      Bx=Dx-dx+bx+2k×sgn(dx-bx)

      By=Dy-dy+by+2k×sgn(dy-by)

      Bh=Dh-dh+bh+2k×sgn(dh-bh)

      則<Bx,By,Bh>即為源節(jié)點(diǎn)地理位置信息。

      實(shí)施例二

      逐跳的地理位置信息編碼解碼。適用于各種傳感器網(wǎng)絡(luò)。根據(jù)源節(jié)點(diǎn)和目的節(jié)點(diǎn)距離動(dòng)態(tài)確定k值,根據(jù)m值以及源節(jié)點(diǎn)和目的節(jié)點(diǎn)的距離ls,d,代入公式計(jì)算能唯一確定源節(jié)點(diǎn)的位置對(duì)應(yīng)的k。

      如圖3所示,是一個(gè)不確定邊界的多跳的傳感器網(wǎng)絡(luò),該圖所示情況采用根據(jù)傳輸跳數(shù)及每個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)的覆蓋范圍動(dòng)態(tài)確定編碼位數(shù)。其中根據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)與源節(jié)點(diǎn)之間的距離以及轉(zhuǎn)發(fā)節(jié)點(diǎn)的覆蓋范圍動(dòng)態(tài)確定傳輸?shù)奈恢眯畔⒕幋a位數(shù)??紤]編碼解碼過(guò)程在每個(gè)中間節(jié)點(diǎn)的過(guò)程是一致的,本示例中只計(jì)算一個(gè)兩跳地理位置信息的編碼和解碼過(guò)程,實(shí)際的傳感器網(wǎng)絡(luò)的多跳的地理位置信息的編碼解碼過(guò)程參照本示例。

      S、R1以及D的坐標(biāo)分別是:

      S=<118°22′00.69″,0°59′57.76″,95>

      R1=<118°22′08.09″,0°59′57.27″,91>

      D=<118°22′12.10″,0°59′53.70″,93>

      S和R1距離為229m,R1和D之間的距離為157m,S和D之間的距離為379m,S的覆蓋半徑為250m,R1的覆蓋半徑為200m,坐標(biāo)轉(zhuǎn)化為度數(shù)表示為:

      S=<118.36686°,0.99938°,95>

      R1=<118.36891°,0.99924°,91>

      D=<118.37003°,0.99825°,93>

      1.精度要求為精確到1米,根據(jù)步驟一中的公式計(jì)算得出即m=26。

      2.按照步驟S2所述,確定能唯一表示在該范圍內(nèi)的某一位置的編碼位數(shù)K。首先根據(jù)公式:

      <mrow> <mi>k</mi> <mo>&GreaterEqual;</mo> <msub> <mi>log</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mfrac> <msup> <mn>2</mn> <mi>m</mi> </msup> <mi>C</mi> </mfrac> <mo>&times;</mo> <mi>L</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> <mo>=</mo> <msub> <mi>log</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mfrac> <msup> <mn>2</mn> <mn>26</mn> </msup> <mn>40076000</mn> </mfrac> <mo>&times;</mo> <mn>250</mn> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> <mo>=</mo> <mn>9.7130</mn> </mrow>

      其中,L為S的覆蓋半徑,計(jì)算k=10,再根據(jù)公式計(jì)算得出K=12

      根據(jù)第二編碼算法計(jì)算用m位表示的位置的二進(jìn)制信息<Bx,By,Bh>:

      最終的位置信息msg為:

      msg=<bk,bx,by,bh>

      bk=(K/3)mod23=100B

      bx=Bxmod2k=000000011101B

      by=Bymod2k=011110111001B

      bh=Bhmod2k=100010010011B

      即msg=100000000011101011110111001100010010011B

      3.根據(jù)步驟S3所述,

      首先,在節(jié)點(diǎn)R1處對(duì)位置信息進(jìn)行解碼。首先計(jì)算K=bk×3=12。R1節(jié)點(diǎn)首先計(jì)算自己的位置信息<R1x,R1y,R1h

      R1節(jié)點(diǎn)處的位置編碼信息為<r1x,r1y,r1h>,其中:

      r1x=R1xmod2k=000110011100B

      r1y=R1ymod2k=011110011111B

      r1h=R1hmod2k=100010001100B

      通過(guò)比較<bx,by,bh<和<r1x,r1y,r1h>判斷是否需要進(jìn)位或者退位:

      2K-1=211=2048

      |r1x-bx|=|412-29|=383<2048

      |r1y-by|=|1951-1977|=26<2048

      |r1h-bh|=|2188-2195|=7<2048

      比較結(jié)果表明沒(méi)有發(fā)生進(jìn)位或者退位,則解碼結(jié)果為:

      Bx=R1x-r1x+bx

      =11010100001011000110011100B-000110011100B+000000011101B

      =110101000011011000000011101B

      By=R1y-r1y+by

      =1000000101101011110011111B-011110011111B+011110111001B

      =1000000101101011110111001B

      Bh=R1h-r1h+bh

      =100100010001100B-100010001100B+100010010011B

      =100100010010011B

      若是發(fā)生進(jìn)位或者退位,則解碼結(jié)果表達(dá)式為:

      Bx=R1x-r1x+bx+2k×sgn(r1x-bx)

      By=R1y-r1y+by+2k×sgn(r1y-by)

      Bh=R1h-r1h+bh+2k×sgn(r1h-bh)

      則<Bx,By,Bh>即為源節(jié)點(diǎn)地理位置信息。

      然后,由于R1不是目的節(jié)點(diǎn),所以R1要將S節(jié)點(diǎn)的位置信息進(jìn)行二次壓縮,轉(zhuǎn)發(fā)給下個(gè)節(jié)點(diǎn)D。但是由于S和D之間相對(duì)位置與S和R1之間的相對(duì)位置不一樣所以要重新計(jì)算K值,計(jì)算k值的公式為

      <mrow> <mi>k</mi> <mo>&GreaterEqual;</mo> <msub> <mi>log</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mfrac> <msup> <mn>2</mn> <mi>m</mi> </msup> <mi>C</mi> </mfrac> <mo>&times;</mo> <mi>L</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> <mo>=</mo> <msub> <mi>log</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mfrac> <msup> <mn>2</mn> <mn>26</mn> </msup> <mn>40076000</mn> </mfrac> <mo>&times;</mo> <mo>(</mo> <mrow> <mn>229</mn> <mo>+</mo> <mn>200</mn> </mrow> <mo>)</mo> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> <mo>=</mo> <mn>10.4906</mn> </mrow>

      其中,L為S與R1之間的距離(由坐標(biāo)差計(jì)算得出)與R1的覆蓋半徑之和。計(jì)算得k=11。根據(jù)公式計(jì)算得出K=12。求得轉(zhuǎn)發(fā)的地理位置編碼信息為:

      msg=<bk,bx,by,bh>

      bk=(K/3)mod23=100B

      bx=Bxmod2k=000000011101B

      by=Bymod2k=011110111001B

      bh=Bhmod2k=100010010011B

      即msg=100000000011101011110111001100010010011B

      再將該地理位置信息轉(zhuǎn)發(fā)給本示例中的目的節(jié)點(diǎn)D。

      最后,在目的節(jié)點(diǎn)D處對(duì)位置信息進(jìn)行解碼。首先計(jì)算K=bk×3=12。D節(jié)點(diǎn)首先計(jì)算自己的位置信息<Dx,Dy,Dh

      D節(jié)點(diǎn)處的位置編碼信息為<dx,dy,dh>,其中:

      dx=Dxmod2K=001001101100B

      dy=Dymod2K=011011100111B

      dh=Dhmod2K=100010001111B

      通過(guò)比較<bx,by,bh>和<dx,dy,dh>判斷是否需要進(jìn)位或者退位:

      2K-1=211=2048

      |dx-bx|=|620-29|=591<2048

      |dy-by|=|1767-1977|=210<2048

      |dh-bh|=|2191-2195|=4<2048

      比較結(jié)果表明沒(méi)有發(fā)生進(jìn)位或者退位,

      則解碼結(jié)果為:

      Bx=Dx-dx+bx

      =11010100001011001001101100B-001001101100B+000000011101B

      =11010100001011000000011101B

      By=Dy-dy+by

      =1000000101101011011100111B-011011100111B+011110111001B

      =1000000101101011110111001B

      Bh=Dh-dh+bh

      =100100010001111B-100010001111B+100010010011B

      =100100010010011B

      若是發(fā)生進(jìn)位或者退位,則解碼結(jié)果表達(dá)式為:

      Bx=Dx-dx+bx+2k×sgn(dx-bx)

      By=Dy-dy+by+2k×sgn(dy-by)

      Bh=Dh-dh+bh+2k×sgn(dh-bh)

      則<Bx,By,Bh>即為源節(jié)點(diǎn)地理位置信息。

      實(shí)施例三

      如圖3所示,是一個(gè)不確定邊界的多跳的傳感器網(wǎng)絡(luò),逐跳的地理位置信息編碼解碼。適用于各種傳感器網(wǎng)絡(luò),而且此時(shí)每個(gè)傳輸節(jié)點(diǎn)的地理位置信息精度要求不一樣。根據(jù)源節(jié)點(diǎn)和目的節(jié)點(diǎn)距離動(dòng)態(tài)確定k值,根據(jù)傳輸節(jié)點(diǎn)傳輸?shù)牡乩砦恢眯畔⒅械谋硎揪鹊膍值以及源節(jié)點(diǎn)和目的節(jié)點(diǎn)的距離ls,d,代入公式計(jì)算能唯一確定源節(jié)點(diǎn)的位置對(duì)應(yīng)的k。

      具體編碼解碼過(guò)程如下:

      S、R1以及D的坐標(biāo)分別是:

      S=<118°22′00.69″,0°59′57.76″,95>

      R1=<118°22′08.09″,0°59′57.27″,91>

      D=<118°22′12.10″,0°59′53.70″,93>

      S和R1距離為229m,R1和D之間的距離為157m,S和D之間的距離為379m,S的覆蓋半徑為250m,R1的覆蓋半徑為200m,坐標(biāo)轉(zhuǎn)化為度數(shù)表示為:

      S=<118.36686°,0.99938°,95>

      R1=<118.36891°,0.99924°,91>

      D=<118.37003°,0.99825°,93>

      1.S節(jié)點(diǎn)計(jì)算的地理位置信息精確到1米(每個(gè)節(jié)點(diǎn)的精度要求可能不一致,所以要源節(jié)點(diǎn)傳輸),根據(jù)步驟一中的公式計(jì)算得出即m=26。

      2.按照步驟S2所述,確定能唯一表示在該范圍內(nèi)的某一位置的編碼位數(shù)K。首先根據(jù)公式:

      <mrow> <mi>k</mi> <mo>&GreaterEqual;</mo> <msub> <mi>log</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mfrac> <msup> <mn>2</mn> <mi>m</mi> </msup> <mi>C</mi> </mfrac> <mo>&times;</mo> <mi>L</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> <mo>=</mo> <msub> <mi>log</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mfrac> <msup> <mn>2</mn> <mn>26</mn> </msup> <mn>40076000</mn> </mfrac> <mo>&times;</mo> <mn>250</mn> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> <mo>=</mo> <mn>9.7130</mn> </mrow>

      其中L為S的覆蓋半徑,計(jì)算k=10,再根據(jù)公式計(jì)算得出K=12。根據(jù)第三編碼算法方法計(jì)算用m位表示的位置的二進(jìn)制信息<Bx,By,Bh>:

      最終的位置信息msg為:

      msg=<bk,bx,by,bh>

      bm=m=11010B

      bk=(K/3)mod23=100B

      bx=Bxmod2k=000000011101B

      by=Bymod2k=011110111001B

      bh=Bhmod2k=100010010011B

      即msg=11010100000000011101011110111001100010010011B

      3.根據(jù)步驟S3所述,在節(jié)點(diǎn)R1處對(duì)位置信息進(jìn)行解碼。首先計(jì)算K=bk×3=12,再得出S節(jié)點(diǎn)的精度信息m=26。R1節(jié)點(diǎn)首先根據(jù)S節(jié)點(diǎn)的精度信息m計(jì)算對(duì)應(yīng)該精度的自己的位置信息<R1x,R1y,R1h>,以確保地理位置信息二進(jìn)制編碼前綴的一致性:

      R1節(jié)點(diǎn)處的m=26時(shí)的位置編碼信息為<r1x,r1y,r1h>,其中:

      r1x=R1xmod2k=000110011100B

      r1y=R1ymod2k=011110011111B

      r1h=R1hmod2k=100010001100B

      通過(guò)比較<bx,by,bh>和<r1x,r1y,r1h>判斷是否需要進(jìn)位或者退位:

      2K-1=211=2048

      |r1x-bx|=|412-29|=383<2048

      |r1y-by|=|1951-1977|=26<2048

      |r1h-bh|=|2188-2195|=7<2048

      比較結(jié)果表明沒(méi)有發(fā)生進(jìn)位或者退位,則解碼結(jié)果為:

      Bx=R1x-r1x+bx

      =11010100001011000110011100B-000110011100B+000000011101B

      =110101000011011000000011101B

      By=R1y-r1y+by

      =1000000101101011110011111B-011110011111B+011110111001B

      =1000000101101011110111001B

      Bh=R1h-r1h+bh

      =100100010001100B-100010001100B+100010010011B

      =100100010010011B

      若是發(fā)生進(jìn)位或者退位,則解碼結(jié)果表達(dá)式為:

      Bx=R1x-r1x+bx+2k×sgn(r1x-bx)

      By=R1y-r1y+by+2k×sgn(r1y-by)

      Bh=R1h-r1h+bh+2k×sgn(r1h-bh)

      則<Bx,By,Bh>即為源節(jié)點(diǎn)地理位置信息。

      4.由于R1不是目的節(jié)點(diǎn),所以R1要將S節(jié)點(diǎn)的位置信息進(jìn)行二次壓縮,轉(zhuǎn)發(fā)給下個(gè)節(jié)點(diǎn)D。但是由于S和D之間相對(duì)位置與S和R1之間的相對(duì)位置不一樣所以要重新計(jì)算K值,計(jì)算k值的公式為

      <mrow> <mi>k</mi> <mo>&GreaterEqual;</mo> <msub> <mi>log</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mfrac> <msup> <mn>2</mn> <mi>m</mi> </msup> <mi>C</mi> </mfrac> <mo>&times;</mo> <mi>L</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> <mo>=</mo> <msub> <mi>log</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mfrac> <msup> <mn>2</mn> <mn>26</mn> </msup> <mn>40076000</mn> </mfrac> <mo>&times;</mo> <mo>(</mo> <mrow> <mn>229</mn> <mo>+</mo> <mn>200</mn> </mrow> <mo>)</mo> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> <mo>=</mo> <mn>10.4906</mn> </mrow>

      其中,L為S與R1之間的距離(由坐標(biāo)差計(jì)算得出)與R1的覆蓋半徑之和。計(jì)算得k=11。根據(jù)公式計(jì)算得出K=12。求得轉(zhuǎn)發(fā)的地理位置編碼信息為:

      msg=<bk,bx,by,bh>

      bm=m=11010B

      bk=(K/3)mod23=100B

      bx=Bxmod2k=000000011101B

      by=Bymod2k=011110111001B

      bh=Bhmod2k=100010010011B

      即msg=11010100000000011101011110111001100010010011B

      再將該地理位置信息轉(zhuǎn)發(fā)給本示例中的目的節(jié)點(diǎn)D。

      5.根據(jù)步驟S3所述,在目的節(jié)點(diǎn)D處對(duì)位置信息進(jìn)行解碼。

      首先從轉(zhuǎn)發(fā)的信息中獲取m=26,再計(jì)算K=bk×3=12。D節(jié)點(diǎn)首先根據(jù)m值計(jì)算自己的位置信息<Dx,Dy,Dh>:

      D節(jié)點(diǎn)處的m=26時(shí)的位置編碼信息為<dx,dy,dh>,其中:

      dx=Dxmod2K=001001101100B

      dy=Dymod2K=011011100111B

      dh=Dhmod2K=100010001111B

      通過(guò)比較<bx,by,bh>和<dx,dy,dh>判斷是否需要進(jìn)位或者退位:

      2K-1=211=2048

      |dx-bx|=|620-29|=591<2048

      |dy-by|=|1767-1977|=210<2048

      |dh-bh|=|2191-2195|=4<2048

      比較結(jié)果表明沒(méi)有發(fā)生進(jìn)位或者退位,則解碼結(jié)果為:

      Bx=Dx-dx+bx

      =11010100001011001001101100B-001001101100B+000000011101B

      =11010100001011000000011101B

      By=Dy-dy+by

      =1000000101101011011100111B-011011100111B+011110111001B

      =1000000101101011110111001B

      Bh=Dh-dh+bh

      =100100010001111B-100010001111B+100010010011B

      =100100010010011B

      若是發(fā)生進(jìn)位或者退位,則解碼結(jié)果表達(dá)式為:

      Bx=Dx-dx+bx+2k×sgn(dx-bx)

      By=Dy-dy+by+2k×sgn(dy-by)

      Bh=Dh-dh+bh+2k×sgn(dh-bh)

      則<Bx,By,Bh>即為源節(jié)點(diǎn)地理位置信息。

      本領(lǐng)域的普通技術(shù)人員將會(huì)意識(shí)到,這里所述的實(shí)施例是為了幫助讀者理解本發(fā)明的原理,應(yīng)被理解為本發(fā)明的保護(hù)范圍并不局限于這樣的特別陳述和實(shí)施例。對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1