999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種兼容的GNSS星歷實時解析方法

2016-09-22 03:11:08張建偉
無線電工程 2016年9期
關鍵詞:嵌入式信息方法

張建偉,謝 松

(1.衛星導航系統與裝備技術國家重點實驗室,河北 石家莊 050081;2.中國電子科技集團公司第五十四研究所,河北 石家莊 050081)

?

一種兼容的GNSS星歷實時解析方法

張建偉1,2,謝松1,2

(1.衛星導航系統與裝備技術國家重點實驗室,河北 石家莊 050081;2.中國電子科技集團公司第五十四研究所,河北 石家莊 050081)

全球衛星導航系統(GNSS)發展對用戶設備的信息兼容性提出了更高的要求,同時對設備存儲空間以及運算能力的需求增加,而受成本和功耗等因素影響,處理資源不可能無限制地擴充。針對該問題,在GNSS設備信息層設計了一種兼容的衛星星歷解析方法,并在微型嵌入式平臺上進行了驗證。該方法能夠提高嵌入式系統的RAM資源利用率,節省CPU的運算資源。便于GNSS接收機程序開發與后續升級,滿足兼容性要求。

GNSS;星歷解析;數據結構;位段;嵌入式

0 引言

當前,GNSS現代化進程逐漸深入,導航衛星數目不斷增加,信號類型也在逐漸完善。兼容性和互操作性成為GNSS系統現代化的主要考慮因素,它可以使GNSS接收機設計簡化,能夠讓用戶受益于接收機的低成本和高性能[1]。由于不同GNSS之間有著相近的信號結構層次和相同的定位原理,所以GNSS接收機在結構與設計上不存在很大差異[2]。由此,GNSS接收機設計的兼容性成為評估產品優劣的重要標準。這要求開發者能夠利用有限資源,實現更多的跟蹤衛星數以及更強的信息處理能力。本文基于兼容性思想,結合GNSS接收機開發的實際經驗,提出了一種新的GNSS星歷實時解析方法。該方法能充分利用微型嵌入式平臺,以C語言為程序載體,合理利用數據結構轉換,實現多通道GNSS衛星電文的快速解析并存儲,為后續衛星位置解算以及接口設計提供數據源。

1 GNSS電文及解析流程

GNSS衛星信號至少包括3個層次:載波、偽碼和導航電文數據碼[3]。接收機經過捕獲和跟蹤處理,實現對載波頻率的穩定估計以及對偽碼的解擴,從而剝離出數據碼,即GNSS衛星導航電文。

導航電文主要由同步標志、時間標志、即時軌道參數(星歷)、非即時軌道參數(歷書)以及校驗碼構成,以數據幀的格式進行播發[4]。同步標志用于接收機解析過程中數據同步,實現數據幀起始位置識別。若干數據幀信息組合拼接成完整的星歷或歷書信息。時間標志為用戶提供周期性時間信息。GNSS導航衛星電文雖然在幀結構方面存在一定的差異,但其處理方式基本相同。

以GPS衛星導航系統導航電文為例,說明GNSS電文的特點以及解析過程。GPS導航電文民碼子幀1的部分結構[4]如圖1所示。

圖1 GPS電文子幀1的基本結構

分析得出,GPS導航電文以字為基本單位,字內包含電文基本信息以及校驗信息。子幀由10個字組合而成,若干子幀組合即構成全部的導航電文。導航電文比特流是以位段數據連續拼接的形式提供給用戶。當導航電文數據碼由微處理器獲取時,又會將被分解到若干個CPU能夠識別并操作的存儲單元(字節或字)。這樣位段和存儲單元間就建立了某種固定的關系。電文的位段提取以及拼接就是基于這種固定關系執行的[5-6]。

針對上述單一的GPS電文解析,可采用編寫針對性的解析程序的方法,通過映射執行對各存儲單元的移位和比特提取,最終完成電文信息的有效輸出。完整的解析方法流程如圖2所示。

圖2 常規解析方法流程

圖2所示的方法邏輯簡單、容易理解,且通過滿足要求的程序設計即可提取出導航信息。該方法存在以下不足:

① 需要為所有信息建立位置關系映射,當進行多系統GNSS程序設計時,浪費較多存儲資源;

② 信息關聯性較小,在獲取連續信息字段時,執行重復查找索引操作,浪費處理器運算資源;

③ 移位邏輯設計繁瑣,處理能力取決于所編寫程序的執行效率,浪費處理器運算資源;

④ 代碼量與信息提取量成正比,兼容性較差。

2 兼容的電文解析方法

本文提出的方法繼承了常規解析的處理流程,同時利用數據結構間的合理重構,直接定義與存儲單元相匹配的信息位段邏輯[7]。相對于建立索引,新方法能夠存儲單元內位段的物理意義明晰,運算更為簡易。

文獻[8-10]分別介紹了GLONASS、GALILEO以及BDS導航電文的詳細構成。分析得出,GNSS導航電文信息是以子幀或字符串為基本單位進行同步和處理的。考慮到嵌入式系統資源約束,本文提出的方法同樣以子幀或字符串為單位進行處理。

新方法充分考慮了GNSS導航信號數據碼的共性以及程序設計兼容性,利用C程序設計中位段以及共用體概念,實現多系統衛星電文信息的存儲并轉換。位段聲明和共用體聲明規則參照文獻[5]。

微處理器作為芯片或其他基帶設備的信息受體,首先要為電文接收開辟一定的存儲空間。因涉及多系統信息類型,需要定義子幀或字符串的最大占用資源空間為接收緩沖。假設嵌入式系統的存儲單位為1個字(32 bit),GPS/BDS/GALILEO子幀占用10個字存儲空間,GLONASS僅占用3個字存儲空間,同樣可將其分配在10個字的存儲空間內,以便于程序設計。

首先設計原始電文的接收緩沖BitNavMsg,定義如下:

typedef union

{

GPSSubFrame1Type gf1;

……

GPSSubFrame5Type gf5;

BDSubFrame1Type bf1;

……

BDSubFrame5Type bf5;

GLSString1Typegs1;

……

GLSString15Type gs15;

GALFnavFrame1Type ga1;

……

GALFnavFrame1Type ga12;

unsigned int data[10];

}BitNavMsg;

可以看出,BitNavMsg實體對象為一個共用體變量。內部各成員變量占用同一存儲空間。在明確輸入的條件下,data字段內數據,可被轉義成GPS的子幀,也可理解為BDS子幀,從而保證信息層兼容。假設BitNavMsg中的GNSS子幀和字符串的變量占用空間都不大于10個字,則實體對象最大占用空間是10個字,即data域的大小。

繼續定義公用體內出現的GNSS結構體變量,限于篇幅,本文僅列出GPSSubFrame1Type的相關定義,其他變量采用類似的設計方式。

typedef struct

{

unsigned int Pre1:6;

unsigned int :2;

unsigned int TLM:22;

unsigned int:0;

unsigned int Pre2:6;

unsigned int :2;

unsigned int Frmnum:3;

unsigned int :2;

unsigned int TOW:17;

……

unsigned int Pre10:6;

unsigned int :2;

unsigned int a_f0:22;

} GPSSubFrame1Type;

GPSSubFrame1Type變量的字段詳細含義請參照文獻[4]。這里強調,子幀結構體變量的定義采用特定位數的位段域,而不是以整字節或字為單位,方便地實現了結構體與電文信息的一一映射,意義更加清晰明確。

除定義電文接收緩沖外,在保存星歷時,可設計解析完整電文的結構體變量,定義所示。

typedef struct

{

BitNavMsg Frm1;

BitNavMsg Frm2;

BitNavMsg Frm3;

BitNavMsg Frm4;

BitNavMsg Frm5;

}GPSBitEphemeris;

GPSBitEphemeris結構體定義充分利用數據結構的特點,可將相應的單幀電文直接復制保存,便于后續軌道參數提取和轉換。

3 應用示例

本文提出的方法可充分利用GNSS導航電文子幀或字符串信息的一些共同特點,比如GPS/GLONASS/BDS/GALILEO的子幀號或字符串串號都位于子幀或字符串的固定位段,即該位段相對于幀頭位置不變。在明確衛星導航系統前提下,對子幀號或字符串號提取時可不區分接收到的信息類別。這些特性對正確解析星歷起到了很重要的作用。以GPS為例,當電文解析任務開始后,需要執行的操作如下。

BitNavMsg navmsg;//對象聲明

for(idx=0;idx<10;idx++)

{

nav_msg.data[idx]=*(int*)(ADDR_NAV+idx);

//ADDR_NAV為電文寄存器的基地址

}//從基帶中獲取GPS導航電文的子幀數據

//識別子幀號,同系統位段位置相同

switch(nav_msg.gf1.Frmnum)

{

case 1://對子幀1的處理

……x1=(nav_msg.gf1.a_f0);……

case 2://對子幀2的處理

……x2=(nav_msg.gf2.toe);……

case 3://對子幀3的處理

……x3=(nav_msg.gf3.idot);……

case 4:……//對子幀4的處理

case 5:……//對子幀5的處理

}

經過共用體變量的轉義功能,可方便地將電文信息按照一定的邏輯進行處理或者按照子幀結構定義直接提取相應的信息位段,無需再編寫針對性的移位操作函數。

同樣,在獲知系統類型和衛星號的通道信息前提下,可以方便地將程序移植至其他GNSS導航電文解析,BDS可利用nav_msg.bf1-bf5進行解析;GLONASS,則對nav_msg.gs1-gs15進行解析;而GALILEO用ga1-ga12進行解析處理,從根本上避免了繁復的移位和拼接操作,便于程序維護和狀態管理。

4 性能分析

根據本文提出的解析方法,編寫示例代碼,通過在TMS320C2000系列DSP嵌入式平臺上編譯運行,分析該方法在嵌入式系統應用中的優點。示例代碼經過TMS320C2000系列DSP編譯后的C代碼以及對應匯編語句如圖3所示。

圖3 微處理器的編譯結果示例

分析圖3匯編語句可知,嵌入式設計軟件編譯器能夠自動識別結構體的位段定義,并充分利用EXTU以及LDBU等位操作指令,進行歸并處理,指令執行簡單快捷,執行效率大大提高。

而位段作為數據結構的基本組成部分,使得本文提出的方法在GNSS導航電文解析層面具有普遍性意義,即嵌入式開發平臺編譯器均包含相應的庫函數操作,避免了開發者額外編寫代碼實現功能。通過與常規解析方法比較并統計程序優化量,本文提出的解析方法在運算代碼量和存儲空間占比均不超過常規方法的50%,從而大大節省了資源。

5 結束語

本文在分析了常規的GNSS電文解析方法基礎上,提出了一種兼容性更好的電文解析方法。通過對比本文方法與常規方法的優劣,證明了本文提出的方法可操作性好,對程序代碼簡化、存儲空間優化以及對多系統處理流程都具備很好的適應能力,便于系統擴展和升級,可直接應用于GNSS嵌入式系統的工程設計中。

[1]謝鋼.全球導航衛星系統原理-GPS、GLONASS和伽利略系統[M].北京:電子工業出版社,2013.

[2]段召亮,楊文津,魏亮.一種基于軟件仿真的GNSS信號性能評估技術[J].無線電工程,2014,44(10):39-42.

[3]黃智剛,王陸瀟,梁宵.導航電文設計與評估技術研究綜述[J].數據采集與處理,2015,30(4):747-759.

[4]The Navstar GPS Wing.IS-GPS-200,Navstar GPS Space Segment Navigation User Interfaces (Revision D) [S],2006.

[5]譚浩強.C語言程序設計(第3版)[M].北京:機械工業出版社,2009.

[6]方興,王步云.基于Bit Fields的AIS報文解析及實現[J].艦船電子工程,2014,34(7):125-129.

[7]孫偉杰,張曉欣,畢嘉鴻.C程序代碼結構審查算法的研究與實現[J].無線電通信技術,2013,39(3):89-92.

[8]Russian Space Agency.Glonass Interface Control Document(Ver 5.1)[S],2008.

[9]European GNSS (Galileo) Open Service Signal in Space Interface Control Document (Issue.1) [S],2010.

[10]中國衛星導航系統管理辦公室.北斗衛星導航系統空間信號接口控制文件公開服務信號(2.0版)[S],2013.

張建偉男,(1986—),碩士,工程師。主要研究方向:GNSS接收機設計。

謝松男,(1982—),碩士,工程師。主要研究方向:GNSS接收機設計。

A Compatible Method of GNSS Ephemeris Real-time Decoding

ZHANG Jian-wei1,2,XIE Song1,2

(1.StateKeyLaboratoryofSatelliteNavigationSystemandEquipmentTechnology,ShijiazhuangHebei050081,China;2.The54thResearchInstituteofCETC,ShijiazhuangHebei050081,China)

The development of GNSS requires more compatibility for popular facilities.And more demanding requirement on memory and computing velocity has been needed for various applications.Limited by factors such as cost and power consumption,resources would never be expanded for all time.Therefore,a novel realization method is designed for GNSS ephemeris real-time decoding.And it is validated on embedded platform.The method can enhance the utilization of RAM and save the time resource of CPU in embedded system.Users can conveniently achieve the GNSS receiver program and expand interface and satisfy the compatibility of GNSS receivers.

GNSS;ephemeris decoding;data framework;bit field;union

10.3969/j.issn.1003-3106.2016.09.14

2016-05-16

國家高技術研究發展計劃(“863”計劃)基金資助項目(2015AA124001)。

TP391.4

A

1003-3106(2016)09-0055-04

引用格式:張建偉,謝松.一種兼容的GNSS星歷實時解析方法[J].無線電工程,2016,46(9):55-58.

猜你喜歡
嵌入式信息方法
搭建基于Qt的嵌入式開發平臺
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
Altera加入嵌入式視覺聯盟
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 精品无码一区二区三区电影| 欧美精品1区2区| 久久永久免费人妻精品| 91精品国产自产91精品资源| 精品福利视频导航| 国产一二三区在线| 久久久久久国产精品mv| 欧美亚洲国产日韩电影在线| 91丝袜美腿高跟国产极品老师| 久久综合色天堂av| 中文字幕丝袜一区二区| 97久久超碰极品视觉盛宴| 国产午夜无码片在线观看网站| 自慰网址在线观看| 亚洲一区二区在线无码| 国产91麻豆免费观看| 在线观看免费AV网| 天天摸天天操免费播放小视频| 国产精品一区二区无码免费看片| 毛片免费高清免费| 丁香五月激情图片| 丰满人妻一区二区三区视频| 国产白浆在线| 午夜毛片免费观看视频 | 国产精品女主播| 婷婷亚洲最大| 国内精品一区二区在线观看| 91精品最新国内在线播放| 国产精品成人观看视频国产| 91无码视频在线观看| 精品少妇人妻av无码久久| 国产成人1024精品下载| 亚洲视频欧美不卡| 伊人久久综在合线亚洲91| 日本亚洲欧美在线| 久久性视频| 在线精品欧美日韩| 国产一级一级毛片永久| 91美女视频在线观看| 精品夜恋影院亚洲欧洲| 亚洲一区二区三区中文字幕5566| 国产一级视频在线观看网站| 亚洲精品桃花岛av在线| 国产精品人莉莉成在线播放| 漂亮人妻被中出中文字幕久久| 日韩国产亚洲一区二区在线观看| 四虎永久免费网站| 一级毛片高清| 在线无码av一区二区三区| 亚洲欧美日韩动漫| 热这里只有精品国产热门精品| 久久综合色视频| 国产精品自在线天天看片| 国产成人综合亚洲欧美在| 国产97视频在线观看| 中国国语毛片免费观看视频| 亚洲成人网在线观看| 亚洲婷婷在线视频| 国产人前露出系列视频| 久久国产香蕉| 米奇精品一区二区三区| 国产综合在线观看视频| 青青极品在线| 国产欧美日韩视频怡春院| 成人无码区免费视频网站蜜臀| 成人av专区精品无码国产| 免费无码网站| 波多野结衣一二三| 亚洲福利视频网址| 女人一级毛片| 最新无码专区超级碰碰碰| 國產尤物AV尤物在線觀看| 亚洲va精品中文字幕| 精品亚洲国产成人AV| 五月天福利视频| 亚洲日产2021三区在线| 久久黄色影院| 老司机久久99久久精品播放| 国产高清不卡视频| 亚洲人成色在线观看| 国产波多野结衣中文在线播放| 日韩天堂网|