隋 濤,朱威強(qiáng),馮 川
(沈陽理工大學(xué) a.自動(dòng)化與電氣工程學(xué)院;b.信息科學(xué)與工程學(xué)院,沈陽 110159)
新一代衛(wèi)星導(dǎo)航系統(tǒng)的多信號(hào)接收軟件
隋 濤a,朱威強(qiáng)b,馮 川b
(沈陽理工大學(xué) a.自動(dòng)化與電氣工程學(xué)院;b.信息科學(xué)與工程學(xué)院,沈陽 110159)
隨著全球衛(wèi)星導(dǎo)航系統(tǒng)的發(fā)展,衛(wèi)星導(dǎo)航接收信號(hào)向多元化方向邁進(jìn),為此對(duì)接收機(jī)接收信號(hào)的多樣性及其兼容性提出了更高的要求。設(shè)計(jì)了一種新一代衛(wèi)星導(dǎo)航系統(tǒng)的多信號(hào)接收軟件,該接收軟件采用對(duì)接收信號(hào)在導(dǎo)航系統(tǒng)類型、信號(hào)調(diào)制方式和信號(hào)頻段進(jìn)行模塊化處理的方式,實(shí)現(xiàn)了在不同的環(huán)境下對(duì)特定信號(hào)同步接收。同時(shí),該接收機(jī)利用VC平臺(tái)豐富的界面顯示效果和Matlab平臺(tái)強(qiáng)大的數(shù)學(xué)計(jì)算能力的特性,既能保持傳統(tǒng)硬件接收機(jī)高效的處理速率,又能發(fā)揮軟件接收機(jī)參數(shù)可變、快速靈活的特點(diǎn)。
全球衛(wèi)星導(dǎo)航;多信號(hào)軟件接收機(jī);VC;Matlab
全球衛(wèi)星導(dǎo)航系統(tǒng) GNSS(Global Navigation Satellite System)是上個(gè)世紀(jì)中葉發(fā)展起來的一種新型導(dǎo)航系統(tǒng)。如今,全世界的衛(wèi)星導(dǎo)航系統(tǒng)主要有美國的 GPS、俄羅斯的 GLONASS、歐盟的 Galileo和中國的BDS[1]。由于各種衛(wèi)星導(dǎo)航系統(tǒng)的接收頻段可能在設(shè)置上出現(xiàn)重疊,以及不同信號(hào)在調(diào)制方式上的多樣性,使得GNSS接收機(jī)在接收信號(hào)方式上必須實(shí)現(xiàn)多模態(tài)特性[2]。傳統(tǒng)的GNSS接收機(jī)大部分是基于硬件設(shè)計(jì),雖然接收靈敏度高,處理速度快,但靈活性較差,而且造價(jià)高。近些年來,國內(nèi)也出現(xiàn)了一些基于軟件實(shí)現(xiàn)的GNSS接收機(jī),但大多數(shù)平臺(tái)都只是實(shí)現(xiàn)了針對(duì)單個(gè)信號(hào)或者單一調(diào)制方式的信號(hào)。
Matlab是一款具有強(qiáng)大運(yùn)算能力的數(shù)學(xué)軟件,它擁有信號(hào)處理、數(shù)值分析、矩陣運(yùn)算、圖形繪制等功能,但由Matlab設(shè)計(jì)的軟件GUI可視性效果差。VC擁有可視化應(yīng)用程序開發(fā)平臺(tái),利用VC開發(fā)的軟件相較于Matlab的GUI具有明顯的界面友好性。但由于C++語言的邏輯復(fù)雜性,其對(duì)數(shù)據(jù)的運(yùn)算能力遠(yuǎn)不及Matlab。
綜合以上情況,通過分析衛(wèi)星導(dǎo)航系統(tǒng)在頻段和調(diào)制方式上的多模特性[3],同時(shí)結(jié)合Matlab和VC兩種工具,利用Matlab強(qiáng)大的數(shù)學(xué)計(jì)算特點(diǎn)以及VC優(yōu)良的可視化GUI特性,設(shè)計(jì)了一種基于軟件的GNSS接收機(jī)[4]。該接收機(jī)既有硬件接收機(jī)的快速靈活的處理速率,又能實(shí)現(xiàn)軟件接收機(jī)參數(shù)可變性的特點(diǎn),達(dá)到多種衛(wèi)星導(dǎo)航信號(hào)端到端的接收的目的[5]。同時(shí),其簡(jiǎn)潔的界面能夠適用于不同用戶的操作習(xí)慣。
多信號(hào)衛(wèi)星接收機(jī)總體由啟動(dòng)端、信號(hào)接收端、同步控制端和同步反饋端四部分組成[6]。
啟動(dòng)端:分為冷啟動(dòng)和熱啟動(dòng)兩種方式。冷啟動(dòng)在啟動(dòng)前需要清空接收機(jī)原有的星歷信息;熱啟動(dòng)則需要預(yù)先輸入需要的星歷信息。
信號(hào)接收端:GNSS信號(hào)主要由GPS、Galileo、GLONASS及BDS四種衛(wèi)星系統(tǒng)的信號(hào)組成。接收機(jī)需對(duì)接收的信號(hào)屬于哪種衛(wèi)星系統(tǒng)及該信號(hào)的調(diào)制方式、頻段等進(jìn)行偵別[7]。
同步控制端:根據(jù)用戶對(duì)信號(hào)接收的不同需求,如同步速度、同步復(fù)雜度、同步精度等對(duì)接收的參數(shù)進(jìn)行調(diào)整,以達(dá)到最佳的接收效果。
同步反饋端:接收機(jī)對(duì)捕獲的信號(hào)進(jìn)行門限判決,如果未達(dá)到門限閾值,則對(duì)捕獲信號(hào)實(shí)施可重構(gòu)策略,并將此信息反饋給用戶,用戶調(diào)整參數(shù),對(duì)信號(hào)重新捕獲。圖1為接收機(jī)仿真模型。
圖1 接收機(jī)仿真模型
根據(jù)多信號(hào)衛(wèi)星接收機(jī)的特性,在滿足用戶需求與適應(yīng)衛(wèi)星信號(hào)類別的前提下,將該接收機(jī)在同步算法上做細(xì)化處理??蓪⑼剿惴ú鸱殖啥嗄K、多步驟、多過程的形式。圖2為GNSS信號(hào)同步算法流程圖。
各模塊的實(shí)現(xiàn)順序及功能:
Step1 選擇控制是對(duì)接收信號(hào)進(jìn)行頻段檢測(cè),從而判斷其處于哪個(gè)接收頻段。
Step2 針對(duì)不同頻段的不同調(diào)制方式,有BPSK、TDDM、BOC等調(diào)制方式。
Step3 對(duì)信息符號(hào)進(jìn)行搜索,搜索到起始狀態(tài)“0狀態(tài)”,依次判斷下一狀態(tài)。
Step4 確定信號(hào)的參數(shù)類型,例如,載波頻率、副載波頻率、偽碼速率、信噪比等。
Step5 根據(jù)用戶的需求和當(dāng)前選擇信號(hào)的類型確定同步算法,相應(yīng)的同步算法有邊帶處理算法、子載波消除法、ASPeCT算法、BPSK-like算法等。
Step6 將最大比例峰值與門限判決,如果其值大于門限,則捕獲成功;否則返回重新捕獲。
Step7 捕獲成功,確定信號(hào)的碼偏偏移、多普勒補(bǔ)償、捕獲時(shí)間、載波相位等參數(shù)。
圖2 GNSS信號(hào)同步算法流程圖
2.1 Matcom方法及開發(fā)環(huán)境配置
仿真平臺(tái)開發(fā)在VC下調(diào)用Matlab實(shí)現(xiàn)。用Matlab調(diào)用Matcom的方法,該方法通過自身的編譯器將Matlab下的.m文件通過編譯器翻譯成VC環(huán)境能識(shí)別的C++語言,這樣能夠去掉通過Matlab動(dòng)態(tài)鏈接庫生成DLL的繁瑣過程,減少程序的編譯時(shí)間。具體開發(fā)環(huán)境配置如下:
1) 在VC對(duì)話框文件添加Matcom相關(guān)組件
打開對(duì)話框程序的文件夾“C:VS2010ProjectSatelliteSatellite”,在其中添加ago4501.dll、matlib.h、v4501v.dll、v4501v.lib四個(gè)Matcom相關(guān)組件。
2) Matcom靜態(tài)庫導(dǎo)入
打開VS2010菜單中的“Project”,選取“Opinion”中的“Configuration Opinion”選項(xiàng),在“Connector”選項(xiàng)卡中找到“Addittional dependency”添加v4501v.lib庫文件。
3) 在VC對(duì)話框程序中添加“matlib.h”頭文件。
2.2 VC結(jié)合Matlab編寫仿真平臺(tái)程序
通過分析多信號(hào)衛(wèi)星接收機(jī)的結(jié)構(gòu),分析其包含的功能如表1所示。
表1 多信號(hào)衛(wèi)星導(dǎo)航接收機(jī)功能設(shè)計(jì)
該程序在VS2010環(huán)境下,通過調(diào)用Matlab7.1生成的.m文件結(jié)合MFC生成的動(dòng)態(tài)界面共同編譯完成。具體編譯過程如下:
1) 打開VS2010,點(diǎn)擊“File”->“New File”->“Project”,選擇“Visual C++”->“MFC”應(yīng)用程序,命名為Satellite。
2) 在SatelliteDlg.cpp文件首部添加Matlab.h、Satellite.h、matrix.h等頭文件,并將SatelliteDlg類里OnInitDialog()函數(shù)中的靜態(tài)變量初始化。
3) 打開“Resource view”->“Dialog”中的“IDD_SATELLITE_DIALOG”對(duì)話框程序,添加相關(guān)按鈕及資源相應(yīng)控件。
3.1 GPS衛(wèi)星導(dǎo)航信號(hào)仿真結(jié)果
運(yùn)行VC程序,接收來自GPS衛(wèi)星導(dǎo)航系統(tǒng)的信號(hào),選擇的頻段為L(zhǎng)1,調(diào)制方式為BPSK。其中信號(hào)處理的中心頻率40.92MHz,采樣頻率163.68MHz,載波、擴(kuò)頻偽碼、數(shù)據(jù)碼等分量都是在基本始時(shí)鐘頻率1.023MHz控制下產(chǎn)生的,偽碼偏移830,信噪比為15dB,積累時(shí)間3ms,判決門限為11,點(diǎn)擊“仿真”按鈕開始仿真。圖3 為GPS衛(wèi)星導(dǎo)航信號(hào)仿真圖。
圖3 GPS衛(wèi)星導(dǎo)航信號(hào)仿真圖
圖3上方是信號(hào)接收端顯示界面,分別依照衛(wèi)星導(dǎo)航、頻段類型、調(diào)制方式選擇不同類型的接收信號(hào)。中上部為同步控制端,接收機(jī)根據(jù)用戶對(duì)衛(wèi)星導(dǎo)航類型、頻段類型和調(diào)制方式的要求選擇相應(yīng)的捕獲算法。右側(cè)是同步反饋端的相關(guān)參數(shù)界面,該參數(shù)包含接收信號(hào)相關(guān)參數(shù)和信號(hào)捕獲后的特征參數(shù)值。中部是信號(hào)同步算法的實(shí)現(xiàn)過程,其中包括從信號(hào)接收開始,到信號(hào)最終捕獲的具體流程。下方是同步算法運(yùn)行過程中各個(gè)時(shí)期信號(hào)的Matlab仿真圖,由此可以清晰地看出信號(hào)在捕獲后碼偏、多普勒偏移等具體參數(shù)。
3.2 BDS衛(wèi)星導(dǎo)航信號(hào)仿真結(jié)果
運(yùn)行VC程序,接收來自BDS衛(wèi)星導(dǎo)航系統(tǒng)的信號(hào),選擇的頻段為B2,調(diào)制方式為BPSK。其中信號(hào)處理的中心頻率40.92MHz,采樣頻率327.36MHz,載波、擴(kuò)頻偽碼、數(shù)據(jù)碼等分量都是在基本始時(shí)鐘頻率1.023MHz控制下產(chǎn)生的,偽碼偏移900,信噪比為20dB,積累時(shí)間3ms,判決門限為11,點(diǎn)擊“仿真”按鈕開始仿真。圖4為 BDS衛(wèi)星導(dǎo)航信號(hào)仿真圖。
圖4 BDS衛(wèi)星導(dǎo)航信號(hào)仿真圖
圖4中各部分功能及參數(shù)參見圖3說明。
3.3 Galileo衛(wèi)星導(dǎo)航信號(hào)仿真結(jié)果
運(yùn)行VC程序,接收來自Galileo衛(wèi)星導(dǎo)航系統(tǒng)的信號(hào),選擇的頻段為E1,調(diào)制方式為BPSK。其中信號(hào)處理的中心頻率40.92MHz,采樣頻率163.68MHz,載波、擴(kuò)頻偽碼、數(shù)據(jù)碼等分量都是在基本始時(shí)鐘頻率1.023MHz控制下產(chǎn)生的,偽碼偏移100,信噪比為15dB,積累時(shí)間3ms,判決門限為11,點(diǎn)擊“仿真”按鈕開始仿真。圖5 為Galileo衛(wèi)星導(dǎo)航信號(hào)仿真圖。
圖5 Galileo衛(wèi)星導(dǎo)航信號(hào)仿真圖
圖5中各部分功能及參數(shù)參見圖3說明。
通過對(duì)全球衛(wèi)星導(dǎo)航信號(hào)多元化特點(diǎn)的深入分析,得出了一種將接收信號(hào)在導(dǎo)航系統(tǒng)類型、信號(hào)調(diào)制方式和信號(hào)頻段這三部分進(jìn)行模塊化處理的方法。針對(duì)不同信號(hào)自動(dòng)選擇最優(yōu)的捕獲算法,同時(shí),結(jié)合VC和Matlab這兩種編程和圖形圖像工具,實(shí)現(xiàn)了在不同的環(huán)境下對(duì)特定信號(hào)的同步接收。仿真結(jié)果表明,該多信號(hào)衛(wèi)星接收機(jī)可有效判別出不同接收信號(hào)的衛(wèi)星導(dǎo)航類型、頻段類型及調(diào)制方式,選取針對(duì)該接收信號(hào)的同步方法,同時(shí)對(duì)該同步方法下的捕獲特征參數(shù)進(jìn)行有效提取。
[1]康向陽.中國的GPS-北斗導(dǎo)航系統(tǒng)[J].天津航海,2007,5(2):61-63.
[2]B Zahidu,H Salomon.Performance analysis of a multi-GNSS receiver in the presence of a commercial jammer [J].IEEE International Association of Institutes of Navigation World Congress,2015,32(15):215-218.
[3]Liu W,Du G Zhan.Assessment of Radio Frequency Compatibility Relevant to the Galileo E1/E6 and Compass B1/B3 Bands[J].The Journal of Navigation,2010,63(3):419-434.
[4]L Markus,T Gert F.Multi GNSS constellation deeply coupled GNSS/INS integration for automotive application using a software defined GNSS receiver [J].IEEE PLANS,Location and Navigation Symposium,2012,8(2):228-232.
[5]魏敬法.GNSS軟件接收機(jī)算法驗(yàn)證平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].通信技術(shù),2013,5(3):333-337.
[6]姚宜斌,謝鳴宇,牛文周.多模多頻衛(wèi)星導(dǎo)航系統(tǒng)組合研究[J].全球定位系統(tǒng),2010,7(2):157-160.
[7]吳娜.GNSS接收機(jī)捕獲算法的研究及實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2010.
(責(zé)任編輯:馬金發(fā))
A Multi-signal Software Receiver for New Satellite Navigation System
SUI Tao,ZHU Weiqiang,F(xiàn)ENG Chuan
(Shenyang Ligong University,Shenyang 110159,China)
With the development of global satellite navigation system,satellite navigation signals gradually develop into diversification,which has higher requirements for the receiver with its compatibility with multi-signal.A multi-signal software receiver is designed for new satellite navigation system.The software receiver uses a variety of methods to improve the reception signal like a modular processing of navigation type system,the modulation of signals and the band of signals,which meets the requirement of receiving particular signal in different circumstances.Meanwhile,abundant display effects of VC are adopted and Matlab’s powerful ability is applied in mathematical calculation.The software receiver can not only work like traditional hardware receiver with efficient processing rate,but also contain variable and flexible features of parameter.
global satellite navigation;multi-signal software receiver;VC;Matlab
2016-07-14
隋濤(1978—),男,副教授,研究方向:新體制通信技術(shù)。
1003-1251(2017)02-0044-05
TP967
A