陳亮 張紅敏
(河北省衛星導航技術與裝備工程技術研究中心河北石家莊050081)
通用導航接收機概念為:能夠配置選擇接收不同導航頻點的信號;能夠通過修改配置參數接收各種新型信號體制;能夠通過模塊的替代實現各種高性能接收機的要求;進一步可以配合模擬器、中心控制設備設計通用化的導航系統開發與實驗驗證平臺。通用接收機軟件系統則具備處理目前所有導航系統信息數據處理的能力。通過采用采用面向對象設計對該軟件的結構進行詳細設計,為衛星導航接收機軟件的設計與開發以及擴展奠定了基礎。
衛星導航接收機根據功能分類可以分為導航型接收機、授時型接收機、測地型接收機、高精度型接收機等。根據所跟蹤系統的不同可分為全球定位系統(G lobalPositioning System,GPS)接收機,北斗系統(BeiDou,BD)接收機,格洛納斯系統(GLONASS)接收機、伽利略系統(Galileo)接收機、按頻點又可分為單頻接收機、雙頻接收機、多頻接收機、多模接收機等[1]。
綜上所述,衛星導航接收機軟件需要面對復雜的處理方法和種類繁多的數據,所以結合目前的導航數據處理技術和軟件工程技術來盡可能提高軟件效率成為了必須,在通過對導航數據類型和數據處理流程分析,通用衛星導航接收機軟件系統具有以下特點:
①通用性:通用性主要體現在能靈活配置并處理一個或多個導航系統的能力,無論底層板卡如何分配系統頻點,軟件系統都能兼容并處理[2],所以良好的通用性可以很好的滿足科研或者生產等各方面需求;
②可擴展性:可擴展性主要體現在2個方面,一個處理頻點的可擴展性,軟件系統可擴展到能處理民用和軍用導航信號的能力[3],其次是處理數據模型的多樣化。隨著處理方法的不斷發展,需要軟件系統能升級新的模型來豐富數據處理流程;
③集成性:為支持與其他數據處理系統的數據交互集成,需要提供支持網絡、串口等多種接口。并能輸出NMEA0183、RTCM、R INEX等標準數據格式。
根據通用衛星導航接收機的特點分析,可知該軟件系統是一個復雜和數據處理多樣化的軟件系統。某一種軟件體系架構并不能滿足設計全部需求,通過結合衛星導航接收機軟件的本身特點和已有的軟件體系結構模型。在架構設計過程中采面向對象設計方法。
面向對象設計方法是建立在數據抽象和面向對象的基礎上。這種風格的構件是對象,對象是通過函數和過程的調用來交互的。在通用衛星導航接收機軟件體系結構設計中將各個通用的功能模塊進行數據抽象,把各個算法的參數和相應的操作封裝在類中。接收機軟件系統劃分為5個模塊:數據通信模塊、觀測數據處理模塊、導航電文處理模塊、定位解算模塊、數據存儲模塊[4]。這5個模塊結構如圖1所示。對于各處理模塊而言,它們分別被封裝成獨立的類,每個類的接口固定。其算法實現函數都封裝在類的內部,修改算法的影響被限制在類的內部,而不會影響到類外[5]。通過采用這種設計提高了系統結構的穩定性,便于分工合作和軟件的后續開發。

圖1 面向對象設計圖
對需要擴展的模塊采用面向對象設計方法中的繼承方式來實現。例如在導航電文處理模塊的功能包括處理GPS、BD、Galileo、GLONSS等不同導航系統所播發的導航電文。所以各個系統的電文處理模塊都繼承導航電文處理模塊父類,其輸入和輸出都通過父類來實現。具體設計如圖2所示。

圖2 導航電文設計圖
在設計這些處理模塊時,不僅需要對類內的數據和各算法函數進行統籌分配,把每個人開發的算法程序封裝成一個有機的整體。還需要確定這些模塊之間的接口,例如:①各模塊參數輸入、輸出問題;②各模塊算法的選擇及調用問題;③各算法函數的管理問題。
通過對通用導航接收機特點的分析并結合對該軟件的擴展、集成、以及如何進行后續開發等工作可知。通用導航接收機軟件是一個以導航數據為核心的軟件系統,根據這個特點選取了訪問者設計模式。
訪問者設計模式屬于行為模式,它把數據結構和作用于結構上的操作解耦合,使得操作可相對自由演化。訪問者設計模式適用于數據結構相對穩定、算法又易變化的系統。因為訪問者設計模式使得算法操作改變變得容易,其缺點是如果經常有新的數據對象增加進來,則對系統影響較大[6]。
通過標準化數據儲存結構,并以數據存儲模塊為中心建立訪問者設計模式。設計模式如圖3所示。其他模塊通過接口訪問數據存儲模塊進行交互,這些模塊之間不存在交互。在需要進行功能擴展時,該功能模塊的輸入參數可從標準數據結構中提取,所要做的工作只需要按定義好輸出標準化結構輸出結果[7]。通過這種模式設計,很好的解決了通用接收機軟件的通用性、可擴展性和集成性等特點。
在某型號衛星導航接收機研制過程中,采用這種軟件設計方法開發了界面簡潔友好、操作簡單、功能齊全、算法配置靈活、可擴展性強衛星導航接收機軟件系統。該軟件可接收目前所有正式運營的導航系統中的民用信號,并具有輸出各種國際通用標準協議的功能。在擴展中僅需要把符合標準格式的模塊集成進來就可正常工作。該軟件系統具有模塊化可配置的軟件架構,導航數據處理算法模塊以及參數可在線配置;具有靈活的軟件接口擴展功能,支持用戶應用軟件開發使用;提供標準的軟件擴展接口,包括導航處理算法擴展接口、接收機應用擴展接口等,支持用戶對上述模塊的應用擴展。
針對通用衛星導航接收機軟件架構進行了設計與開發,通過采用面向對象設計方法提出了一個適合通用衛星導航接收機軟件架構解決方案。該設計方案使得軟件系統具有高可靠性、可擴展性、可集成性等優勢。解決普通接收機軟件在進行擴展時難以進行后續開發等問題,通過結合實際需求可快速的研究或開發各種類型導航接收機,推動導航理論研究的深入開展。并在實際工程運用該設計方法開發了導航接收機軟件系統。
[1]Kaplan E D,Hegarty C J.Understanding GPS:Principles and Applications,Second Edition[M].ARTECH HOUSE,2006.
[2]Jonkman N F.Integer GPS- BD estimation w ithout the receiver- satellite geometry[J].Delft Geodetic Computing Centre LGR Series.2011(18):91- 95.
[3]Tsujii T,R izos C,W ang J,et al.A navigation/positioning service based on pseudolites installed on stratospheric airships,The 5th International Symposium on Satellite Navigation Technology&Applications[C].Australia,2001,24- 27.
[4]W ang J.Applications in Positioning and Navigation:Progress and Problems[J].Journalof Global Positioning,2002,1(1):48- 56.
[5]Tsujii T,R izos C,W ang J,et al.A navigation/positioning service,The 5th International Symposium on Satellite Navigation Technology&Applications[C].Australia,2001,24- 27.
[6]W ang J,Lee H K.Impact of software architecture on positioning[C].Australasia,2002,81- 94.
[7]Shuichi Suga,Hiroto Tsunoda,Naoki Fujii,Sonosuke Fukushima&Shinji Saitoh.navigation architecture Experiments,Proceedings of the Institute of Navigation GPS- 2002 Conference[C].Portland,2002,60- 68.