ADS-B綜合課程設(shè)計(jì)報(bào)告匯總_第1頁
ADS-B綜合課程設(shè)計(jì)報(bào)告匯總_第2頁
ADS-B綜合課程設(shè)計(jì)報(bào)告匯總_第3頁
ADS-B綜合課程設(shè)計(jì)報(bào)告匯總_第4頁
ADS-B綜合課程設(shè)計(jì)報(bào)告匯總_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、沈陽航空航天大學(xué)綜合課程設(shè)計(jì)ADS-B報(bào)文數(shù)據(jù)的解析研究班級(jí)學(xué)號(hào)學(xué)生姓名指導(dǎo)教師課程設(shè)計(jì)任務(wù)書課程設(shè)計(jì)的內(nèi)容及要求:一、設(shè)計(jì)說明對(duì)接收到的ADS-B數(shù)據(jù)進(jìn)行解析,就是要對(duì)航空?qǐng)?bào)文有較多了解,根據(jù)編 碼協(xié)議對(duì)報(bào)文進(jìn)行解碼,從里面提取出有用信息,能讓人直觀理解報(bào)文信息二、設(shè)計(jì)要求根據(jù)鏈路協(xié)議及編碼協(xié)議,對(duì)報(bào)文解析,要實(shí)現(xiàn):1能夠解析出速度,高度,經(jīng)緯度等重要信息;2. 界面盡量友好,誤差要??;3. 數(shù)據(jù)能夠?qū)崟r(shí)更新三、實(shí)驗(yàn)要求用VC+實(shí)現(xiàn)編程和解析四、推薦參考資料五、按照要求撰寫課程設(shè)計(jì)報(bào)告成績?cè)u(píng)定表評(píng)語、建議或需要說明的問題:指導(dǎo)教師簽字:日期:成績沈陽航空航天大學(xué)綜合課程設(shè)計(jì)一、概述空中交通管

2、理的根本目的是使航線上的飛機(jī)安全、有效和有計(jì)劃地在空域中飛行,管制員需要對(duì)管制空域內(nèi)飛機(jī)的飛行動(dòng)態(tài)進(jìn)行實(shí)時(shí)監(jiān)視。傳統(tǒng)的雷達(dá)監(jiān)視手段采用詢問/應(yīng)答方式對(duì)目標(biāo)探測(cè)。從長遠(yuǎn)來看,雷達(dá)系統(tǒng)自身具有很多局限 性:雷達(dá)波束的直線傳播形成了大量雷達(dá)盲區(qū);無法覆蓋海洋和荒漠等地區(qū); 雷達(dá)旋轉(zhuǎn)周期限制了數(shù)據(jù)更新率的提高,從而限制了監(jiān)視精度的提高;無法獲 得飛機(jī)的計(jì)劃航路、速度等態(tài)勢(shì)數(shù)據(jù),限制了跟蹤精度的提高和短期沖突告警 STCA ( Short TermConflict Alert )的能力。因此,需要發(fā)展新的監(jiān)視手段。廣播式自動(dòng)相關(guān)監(jiān)視 ADS- B( Automatic DependentSurveill

3、anceBroadcast )即航空器自動(dòng)廣播由機(jī)載星基導(dǎo)航和定位系統(tǒng)生成的精確定位信 息,地面設(shè)備和其他航空器通過航空數(shù)據(jù)鏈接收此信息,衛(wèi)星系統(tǒng)、飛機(jī)以及地 基系統(tǒng)通過高速數(shù)據(jù)鏈進(jìn)行空天地一體化協(xié)同監(jiān)視。ADS- B的精度和數(shù)據(jù)更新率比雷達(dá)高,除位置信息外,ADS- B還提供其他信息,包括速度和飛行意向等, 尤其適合于山區(qū)、荒漠、邊遠(yuǎn)機(jī)場(chǎng)等不宜建設(shè)雷達(dá)的區(qū)域,也適合于高密度機(jī)場(chǎng) 的監(jiān)視,是未來監(jiān)視系統(tǒng)的重要組成部分和發(fā)展方向。目前,ICAO(International Civil Aviation Organization,國際民用航空組織)高度重視ADS- B的發(fā)展與應(yīng)用,并制訂了相關(guān)的技

4、術(shù)標(biāo)準(zhǔn)和發(fā)展規(guī)劃, 并一直在努力倡導(dǎo)在全球統(tǒng)一部署相同標(biāo)準(zhǔn)ADS - B體系,實(shí)現(xiàn)全球范圍內(nèi)的飛行監(jiān)控與數(shù)據(jù)共享。我國的民用航空業(yè)目前正處于成長期,飛機(jī)的數(shù)量、飛行的規(guī)模和空域的范圍都在不斷擴(kuò)大, 需要引進(jìn)并吸收ADS - B技術(shù),以豐富和改 進(jìn)我們自己的空中交通管制系統(tǒng)和體系,并實(shí)現(xiàn)與國際最新技術(shù)的接軌。在ADS發(fā)送導(dǎo)航衛(wèi)星發(fā)送-B技術(shù)的吸收和應(yīng)用中,需要不斷地研究其基本原理,掌握其技術(shù)核心,促進(jìn) 實(shí)現(xiàn)國際先進(jìn)技術(shù)與中國本地情況的不斷融合。13飛機(jī)B飛機(jī)A地面基站圖1 ADS-B技術(shù)在航空中的應(yīng)用示意圖二、ADS-B系統(tǒng)工作原理ADS-BOUT系統(tǒng)中,主要的功能由S模式應(yīng)答機(jī)實(shí)現(xiàn),在其正常工

5、作期間, 周期性的將DF17格式的擴(kuò)展斷續(xù)振蕩信號(hào)廣播出去,為飛機(jī)和地面站提供相關(guān) 信息包括飛機(jī)的經(jīng)緯度信息、高度信息、航行速度信息等。在系統(tǒng)正常工作時(shí), 應(yīng)答機(jī)接收來自GPS接收機(jī)的導(dǎo)航消息,通過對(duì)數(shù)據(jù)的分析,提取有有用的信 息部分組合成為使用于S模式傳輸?shù)膱?bào)文格式,然后以特定的速率通過應(yīng)答機(jī) 天線發(fā)送出去,當(dāng)?shù)孛嬲竞推渌w機(jī)接收到這些信息后, 通過對(duì)信息的解碼、檢 錯(cuò)、糾錯(cuò)、報(bào)文生成過程獲取這架飛機(jī)的飛行參數(shù),高度速度等有效的信息,這 些信息將非常有效的幫助完成空中管理以及飛機(jī)間的相關(guān)監(jiān)視過程。與應(yīng)答機(jī)應(yīng)答二次雷達(dá)的詢問一樣,DF17格式的擴(kuò)展斷續(xù)振蕩信號(hào)用一個(gè) 1090MHz的載波頻率進(jìn)

6、行調(diào)制并以1Mbps數(shù)據(jù)速率廣播脈沖位置,擴(kuò)展斷續(xù)振 蕩脈沖的長度為112比特。ADS-B消息結(jié)構(gòu)Bit15689-3233-8889-112DF=17DF=10001CAAA(ICAO)ME字段PI圖2 ADS-B消息結(jié)構(gòu)在接收的數(shù)據(jù)部分中,以 DF17格式的擴(kuò)展斷續(xù)振蕩信號(hào)為例,共有 5個(gè) 主要的飛行任務(wù)字段。其中,第一個(gè)字段為DF位格式字段,長度為 5比特,主要作用在于識(shí)別擴(kuò)展斷續(xù)振蕩的內(nèi)容,此字段設(shè)置為固定值17 (十進(jìn)制數(shù)),本項(xiàng)目工作的研究也主要針對(duì)此類信號(hào)。接下來則是3比特的應(yīng)答機(jī)能力(CA)字段,該字段描述了飛機(jī)的 S模式數(shù)據(jù)鏈通信能力,如是否裝載了ADS系統(tǒng)等。廣播地址(AA

7、)字段是消息中最重要的一個(gè)字段,該字段唯一的識(shí)別了每個(gè) 飛機(jī)獨(dú)一無二的24比特的S模式地址,用來表明飛機(jī)的身份。接下來是機(jī)載 設(shè)備采集整合的信息 ME字段,56比特的擴(kuò)展型斷續(xù)振蕩報(bào)文是主要的 ADS-B消息,該消息主要包括飛機(jī)的參數(shù)信息如高度、速度、經(jīng)度、緯度等信 息,它為飛機(jī)參數(shù)如 GPS位置和速度提供報(bào)文有效信息。最后,24比特的奇 偶性(PI)字段,該字段為前88位數(shù)據(jù)信息的CRC校驗(yàn)余數(shù),用于實(shí)現(xiàn)CRC檢 錯(cuò)糾錯(cuò)。三相關(guān)技術(shù)1. 1090 ES數(shù)據(jù)鏈1090 ES(Extended Squitter,擴(kuò)展電文)的命名中包含兩層含義。 1090指 的是該數(shù)據(jù)鏈的下行傳輸頻帶是1090M

8、Hz ES指的是對(duì)原有ADS-B報(bào)文長度的 擴(kuò)展。原有的報(bào)文長度一般為 56-112比特。1090 ES 是由ICAO推薦的、唯個(gè)可以在全球范圍內(nèi)使用的數(shù)據(jù)鏈技 術(shù),得到了美國、歐洲、亞洲等大部分國家的承認(rèn)和應(yīng)用。在第11次國際航空 會(huì)議上,已經(jīng)將1090 ES作為ADS-B主要數(shù)據(jù)鏈技術(shù),并制定了相關(guān)的協(xié)議和 標(biāo)準(zhǔn)。1090 ES是一種S模式的數(shù)據(jù)鏈,支持一對(duì)一的詢問-應(yīng)答機(jī)制。S是 Selective 的意思,指的是可以對(duì)航空器進(jìn)行選擇通信。1090 ES 采用PPM(脈沖位置調(diào)制)編碼。2. ADS-B IN設(shè)備報(bào)文系統(tǒng)采用的ADS-B IN 設(shè)備,在收到ADS-B報(bào)文后,對(duì)ADS-B報(bào)

9、文進(jìn)行了 二次封裝,增加了報(bào)文頭,將ADS-B報(bào)文作為它的載荷。封裝后的報(bào)文被ADS-B IN設(shè)備通過網(wǎng)絡(luò)轉(zhuǎn)發(fā)給其它設(shè)備。除此之外,ADS-B IN設(shè)備還發(fā)送一些狀報(bào)文,描述設(shè)備時(shí)間和位置等信息。ADS-B IN設(shè)備可以發(fā)出的報(bào)文一共有三類:1)Message Report2)Time Report3)Position Report我們用的接收設(shè)備是SBS-3接收機(jī),主要分析Message Report,即DF17數(shù)據(jù), 所以其他兩種Report不多做介紹。表 1 Message report 的格式字段長度(字節(jié))含義STX1報(bào)文頭標(biāo)識(shí),其固定值為0x20LEN1報(bào)文長度,不包括報(bào)文頭標(biāo)識(shí)和

10、結(jié)尾標(biāo)識(shí)type1報(bào)文類型,用于區(qū)分三種類型time6報(bào)文到達(dá)的時(shí)間message14報(bào)文內(nèi)容flags1報(bào)文標(biāo)識(shí)amp1信號(hào)強(qiáng)度crc2CRC校驗(yàn)值,從LEN至U ampETX1報(bào)文結(jié)尾標(biāo)識(shí)Message Report的報(bào)文長度共28個(gè)字節(jié)。一些關(guān)鍵字段的說明如下:vtype字段,取值范圍是 0-4, 0-3 代表 Message Report 或 Time Report, 兩者的區(qū)分可以通過vmessage字段的內(nèi)容來辨別。0-3的不同之處在于time 時(shí)間標(biāo)準(zhǔn)的不同。0是本地時(shí)間,1是NOT COUPLED類型的UTC時(shí)間,2 是COASTING 類型的UTC時(shí)間,3是COUPLED類型

11、的UTC時(shí)間。4代 表 Position Reportoflag字段是一個(gè)按位解析的字段,第0位指示了接收的天線,其值為0 表示從A天線接收;值為1表示從B天線接收。第3位指示了 amp字段的 單位和范圍,其值為0表示信號(hào)強(qiáng)度的單位是 ADC的LSB,范圍是0到255; 值為1表示信號(hào)強(qiáng)度的單位是d Bm,范圍是-127到127。其它位目前都沒有 使用,缺省設(shè)置為0。字段的計(jì)算采用了常用的 CRC-16,其生成多項(xiàng)式是 X16+X15+X2+1, 對(duì)應(yīng)的二進(jìn)制位列為 11000 0000 00000101,因?yàn)槠?MSB必然為1,可以省略 MSB,簡寫為 1000000000000101。3.

12、 ADS-B基本報(bào)文ADS-B報(bào)文由業(yè)務(wù)數(shù)據(jù)和附加數(shù)據(jù)兩部分組成。ADS-B基本報(bào)文指的是從宏觀的角度,將業(yè)務(wù)數(shù)據(jù)作為一個(gè)整體而不考慮其細(xì)節(jié),所展現(xiàn)出來的ADS-B報(bào)文。ADS-B基本報(bào)文對(duì) ADS-B業(yè)務(wù)數(shù)據(jù)進(jìn)行了封裝,作為 ADS-B基本報(bào) 文的一個(gè)獨(dú)立字段存在。在ADS-B的業(yè)務(wù)數(shù)據(jù)中,包含了不同類型的業(yè)務(wù)數(shù)據(jù), 它們具有不同的結(jié)構(gòu)。本節(jié)將這些不同格式的業(yè)務(wù)數(shù)據(jù)稱之為ADS-B業(yè)務(wù)報(bào)文。ADS-B報(bào)文的長度共112位,是按位進(jìn)行格式設(shè)計(jì)的結(jié)構(gòu)。下表是1090ES的報(bào)文結(jié)構(gòu)定義,ADS-B的報(bào)文基本結(jié)構(gòu)包含在其中表2 1090ES報(bào)文結(jié)構(gòu)Bits 1-5Bits 6-8Bits 9-32B

13、its 33-88Bits8 9-112DF=17CAAAICAO地址ADS-BME字段PIDF=18CF=0AAICAO地址ADS-BME字段PICF=1AA非ICAO地址ADS-BME字段PICF=2 to 3AATIS-B ME 字段PICF=4TIS-B和ADS-B管理報(bào)文PICF=5AATIS-B ME 字段PI四.信息處理ADS-B數(shù)據(jù)的信息處理包括數(shù)據(jù)的接收與解析兩大部分,其中包括循環(huán)冗余 校驗(yàn),LSB與MSB數(shù)據(jù)的打包與解包,多線程操作,CPR解碼算法等技術(shù), 由于側(cè)重點(diǎn)不同,這里主要講一下數(shù)據(jù)的發(fā)送和接收及解析算法。1.數(shù)據(jù)的發(fā)送和接收ADS-B報(bào)文從發(fā)送從網(wǎng)絡(luò)上接收最初始的

14、數(shù)據(jù), 到轉(zhuǎn)換成ME報(bào)文,其過程如下圖所示ADS-B業(yè)務(wù)數(shù)據(jù)Message ReportMessage Repoii圖3收發(fā),解析數(shù)據(jù)示意圖數(shù)據(jù)的發(fā)送和接收遵循TCP通信協(xié)議,按照協(xié)議編碼就行,這里不再贅述。2.數(shù)據(jù)的解析數(shù)據(jù)的解析是重中之重,這是決定你能否得到想要的結(jié)果的至關(guān)重要的一 步,也是本次課設(shè)所重點(diǎn)研究的方面。 數(shù)據(jù)的編碼與解析是按照協(xié)議進(jìn)行的, 對(duì) 飛機(jī)的身份,編號(hào),高度,速度,經(jīng)緯度等信息進(jìn)行編碼,其中除了經(jīng)緯度,其 他信息大多按照進(jìn)制數(shù)進(jìn)行編碼, 不需要太復(fù)雜的算法,因此,這里只講經(jīng)緯度 的算法解析。CPR解碼分為全球解碼和本地解碼兩種情況。如果同時(shí)接收到奇編碼和偶編碼兩個(gè)消息

15、,那么進(jìn)行全球解碼。如果只接收到一個(gè)奇編碼或偶編碼消息,那么進(jìn)行本地解碼。不論是全球解碼還是本地解碼,又分為空中位置和地面位 置兩類情況 全球明確的空中位置和地面位置的解碼步驟為:1) 計(jì)算緯度Zone的尺寸DlatiDlati = 360 /( 4NL - i ) 空中位置 i = 0( 偶編碼)90 /( 4NL - i ) 地面位置i = 0( 偶編碼)2) 計(jì)算緯度索引j j = floor ( 59 X YZ0 - 60 X YZ1 ) /217 + 1/2 )當(dāng)j v0時(shí),j = 偶緯度Zone的編號(hào)-60 , j = 奇緯度Zone的編號(hào)-59 ;當(dāng)j 0時(shí),j=偶緯度Zone的

16、編號(hào),j =奇緯度Zone的編號(hào)。3) 計(jì)算偶形式的緯度Rlat0和奇形式的緯度RlatlRlati = Dlati X MOD( j , 60 - i ) + YZi /217若求出的緯度絕對(duì)值大于90,則應(yīng)減去360 。因?yàn)榫暥鹊娜≈捣秶鸀?90。 +90。4) 計(jì)算緯度數(shù) NL ( Rlat0 ) 和 NL ( Rlat1 )。判斷NL ( Rlat0 )是否與NL ( Rlat1 )相等。若相等,則計(jì)算經(jīng)度 Zone的 尺寸Dloni。否則,繼續(xù)等待下一個(gè)位置消息。5) 計(jì)算經(jīng)度Zone的尺寸Dloni。根據(jù)剛接收到的空中位置消息是偶編碼(i = 0 )還是奇編碼(i = 1 ),按

17、式(12)計(jì)算Dloni = 360 /ni空中位置 i = 0( 偶編碼)90 /ni地面位置i = 1( 奇編碼)式中 ni = maxNL ( Rlati ) - i , 1。6) 采用緯度數(shù)NL,計(jì)算經(jīng)度索引mm =floor XZ0 X( NL ( Rlati ) - 1 ) - XZ1 X NL ( Rlati ) /217 +12 當(dāng)mv0時(shí),m =偶緯度Zone的編號(hào)-n0,m =奇緯度Zone的編號(hào)-n1 ; 當(dāng) m0時(shí),m =偶緯度Zone的編號(hào),m =奇緯度Zone的編號(hào)。7) 計(jì)算全球的經(jīng)度Rlon0和Rlon1。根據(jù)接收到的ADS- B位置消息是偶編碼(i = 0 )

18、還是奇編碼(i = 1),按式 計(jì)算 Rloni = DloniX MOD( m,ni) + XZi /2若求出的經(jīng)度絕對(duì)值大于180,則應(yīng)減去360 。因?yàn)榻?jīng)度的取值范圍為 -180。+180 。如何實(shí)現(xiàn)飛機(jī)的經(jīng)度和緯度消息的 CPR格式的編碼和解碼,是1090ESADS- B系統(tǒng)中有效提高ADS- B位置消息傳輸效率的關(guān)鍵。本文針對(duì)全球位置和本地 位置兩種情況,闡明了飛機(jī)在空中位置和地面位置時(shí)經(jīng)度和緯度的編解碼算法的 基本原理和詳細(xì)的實(shí)現(xiàn)步驟,有助于從事ADS- B技術(shù)的科技人員掌握CPR編解碼的原理和進(jìn)行相關(guān)的軟件開發(fā)。存儲(chǔ)CPR編碼數(shù)據(jù),設(shè)置Target_TTL,ODD_TTLADS-

19、B消息提取提取CPR數(shù)據(jù)奇編碼否EVEN TTL 為 0否存儲(chǔ)CPR編碼數(shù)據(jù),設(shè)置Target_TTL,EVEN_TTL,否ODD TTL 為 0計(jì)算 NL(RlatO) 和 NL ( Rlatl) NL( Rlatl)否是計(jì)算Rlat1*f存儲(chǔ)解碼位 置信息是否相等卜提取其他信息結(jié)束計(jì)算NL(RlatO)和 NL( Rlatl否是否相等是4 CPR消息解碼流程圖計(jì)算Rlat0存儲(chǔ)解碼位置信 息結(jié)束圖4解析數(shù)據(jù)界面四.課程設(shè)計(jì)體會(huì)不知不覺這次課程已經(jīng)結(jié)束,這個(gè)學(xué)期接觸了它我了解了很多。 從剛開始的一無所知到 逐漸熟悉,這個(gè)過程是令人充實(shí)的。 每做一個(gè)實(shí)驗(yàn),我感覺我收獲不少。做實(shí)驗(yàn)是讓我們對(duì) 平

20、時(shí)的理論知識(shí)與實(shí)際操作相結(jié)合,在理論和實(shí)驗(yàn)中更進(jìn)一步去掌握自己學(xué)到的知識(shí)比加以掌握和提高,學(xué)會(huì)將知識(shí)應(yīng)用與實(shí)際的方法,提高分析和解決問題的能力。在實(shí)驗(yàn)過程中, 我感到自己的實(shí)力有限。 有些東西沒見過,不是在我的能力范圍內(nèi)。 經(jīng)過我自己慢慢的學(xué)習(xí) 與探討我終于有了些眉目。通過這次的課程設(shè)計(jì),我充分認(rèn)識(shí)到理論與實(shí)際相結(jié)合的重要性,理論知識(shí)再豐富,沒有實(shí)際的操作經(jīng)驗(yàn),自身的能力是不會(huì)有所提高的。我認(rèn)為,在學(xué)習(xí)中要學(xué)以致用,不能過分的盲目的學(xué)習(xí)理論知識(shí),我們必須要將理論與實(shí)踐結(jié)合。應(yīng)該側(cè)重于基本方法和使用實(shí)例。從軟件的應(yīng)用環(huán)境和特點(diǎn)來看,培養(yǎng)一定的應(yīng)用系統(tǒng)的分析能力和初 步設(shè)計(jì)能力而為以后的學(xué)習(xí)以及設(shè)

21、計(jì)才是最終目的。社會(huì)的競爭是激烈的,我們應(yīng)該把握大學(xué)學(xué)習(xí)的時(shí)間,充分利用好自己的價(jià)值,充實(shí)自己,完善自我,全面發(fā)展,做一名優(yōu)秀的大 學(xué)生,努力做好自己的事,讓自己成為有用之才。衛(wèi)星導(dǎo)航行業(yè)是一個(gè)朝陽行業(yè),我國的北斗導(dǎo)航目前正處于全球組網(wǎng)的快速發(fā)展時(shí)期,我這次的課設(shè)乃至以后的畢設(shè)正是這方面的研究,我相信經(jīng)過課設(shè)和畢設(shè),我的水平一定會(huì)再上一個(gè)臺(tái)階,為今后的工作和生活提供不小的助力。參考文獻(xiàn):1 顧春平空中交通管制新技術(shù)監(jiān)視新技術(shù)簡介J.現(xiàn)代雷達(dá),2010,32(9): 1-7.2 1090兆赫擴(kuò)展電文廣播式自動(dòng)相關(guān)監(jiān)視地面站(接收)設(shè)備測(cè)試要求S.民航局空管局技術(shù)中心(0207版),2011.3

22、呂小平.ADS B應(yīng)用中UAT技術(shù)介紹J,空中交通管理,2007,(8), 19-214 丁立平.基于VDL-4技術(shù)的機(jī)場(chǎng)場(chǎng)面車輛管理系統(tǒng)研究J.指揮信息系統(tǒng)與技術(shù)2010, (6), 55-605 邱偉杰.ADSB廣播式自動(dòng)相關(guān)監(jiān)視系統(tǒng)多數(shù)據(jù)鏈路融合方案探索J.肖飛;余子寒;隋天宇;劉文.LTE中CRC算法的研究與實(shí)現(xiàn)J.電子測(cè)量技術(shù).2014, (7), 36-397 李耀.基于模式 S的ADS-B系統(tǒng)研究D.武漢:電子科技大學(xué)碩士論文,20088 李自俊.ADS-B廣播式自動(dòng)關(guān)監(jiān)視原理及未來的發(fā)展和應(yīng)用J 中國民航飛行學(xué)院學(xué)報(bào),2008(5):11-14.9 蘇英振.積極推進(jìn)空中交通管制

23、一體化建設(shè)J.國防,2008(6):59-6010 中國民航科學(xué)技術(shù)研究指南(2005-2010) M.中國民航總局,2005.11 ICAO. Comparative An alysis of ADS-B data Li nksR.AN-Co nf/11-IP/1 2.M on treal,CANADA:ICA0,2003.CPR部分算法#include stdio.h#include stdlib.h#include #include cpr.h# define M_PI 3.14159265358979323846#define LATZ 15#define MAX(x, y) (x)

24、(y) ? (x) : (y) int nz(int type) return 4 * LATZ - type; float nl( float lat) if (abs(lat) = 87.0)return 1.0;return floor(2.0 * M_PI) *pow(acos(1.0 - (1.0 - cos(M_PI / (2.0 * LATZ) / pow(cos(M_PI / 180.0) * abs(lat), 2), -1); float dlat(int type, int surface) float res = surface ? 90.0 : 360.0;int n

25、z_val = nz(type);if (nz_val)return res / nz_val;elsereturn res; float dlng(float dec_lat, int type, int surface) float res = surface ? 90.0 : 360.0;float nl_val = MAX(nl(dec_lat) - type, 1); return res / nl_val; float decode_lat(int enc_lat, int type, int surface, float recv_lat) float t1 = dlat(typ

26、e, surface);float t2 = (float) enc_lat) / pow(2, 17);float j = floor(recv_lat / t1) +floor(0.5 + (fmod(recv_lat, t1) / t1) - t2);return t1 * (j + t2); float decode_lng(float dec_lat, int enc_lon, int type, int surface, float recv_lng) float t1 = dlng(dec_lat, type, surface);float t2 = (float) enc_lo

27、n) / pow(2, 17);float m = floor(recv_lng / t1) +floor(0.5 + (fmod(recv_lng, t1) / t1) - t2);return t1 * (m + t2); struct dec_location *cpr_resolve_local( struct dec_location *recv,struct enc_location *loc, int type, int surface) float dec_lat = decode_lat(loc-lat, type, surface, recv-lat);float dec_lng = decode_lng(dec_lat, loc-lng, type, surface, recv-lng); struct dec_location *dec_loc = (dec_location *)malloc( sizeof(*dec_loc); dec_loc-lat = dec_lat;dec_loc-lng = dec_lng;return dec_loc;struct dec_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論