劉舒豪, 尹 露, 鄧中亮, 林開欽
(1.中興通訊股份有限公司,南山 518057;2.北京郵電大學(xué)電子工程學(xué)院,北京 100876)
北斗衛(wèi)星導(dǎo)航系統(tǒng)是中國著眼于國家安全和經(jīng)濟(jì)社會發(fā)展需要,自主建設(shè)并且獨(dú)立運(yùn)行的全球衛(wèi)星導(dǎo)航系統(tǒng)。北斗衛(wèi)星導(dǎo)航系統(tǒng)的空間星座部包括35顆衛(wèi)星,主要是5顆地球靜止軌道(Geostationary Orbit,GEO)衛(wèi)星、27顆中圓地球軌道(Medium Earth Orbit,MEO)衛(wèi)星和3顆傾斜地球同步軌道(Inclined GeoSynchronous Orbit,IGSO)衛(wèi)星組成[1]。目前為止實(shí)現(xiàn)了中國國土及周邊區(qū)域的導(dǎo)航定位、授時、雙向報文通信服務(wù)能力。計(jì)劃于2020年實(shí)現(xiàn)全球組網(wǎng),向全球提供服務(wù)。隨著北斗系統(tǒng)組網(wǎng)以及覆蓋能力的不斷發(fā)展更新,北斗系統(tǒng)的相關(guān)產(chǎn)品已逐漸應(yīng)用于通信系統(tǒng)、天氣預(yù)報、車輛導(dǎo)航、地域測量等領(lǐng)域,并且在社會生產(chǎn)和人類生活方面,對北斗相關(guān)產(chǎn)品的需求也越來越大。同時在國家安全越來越重要的今天,為了減少對全球定位系統(tǒng)(Global Positioning System,GPS)的依賴,獨(dú)立發(fā)展自己國家的全球衛(wèi)星定位系統(tǒng)尤為重要[2-3]。
北斗系統(tǒng)的設(shè)計(jì)為B1、B2、B3三頻信號完整服務(wù),在此方面優(yōu)于GPS,三頻導(dǎo)航的能力確保了信號在復(fù)雜電磁環(huán)境下的健壯性,在高精度測量方面更具優(yōu)勢,高程精度定位能夠達(dá)到10m;在偽距和載波相位精度測量方面,北斗系統(tǒng)已經(jīng)達(dá)到GPS的水平,偽距測量精度可達(dá)到33cm,載波精度可達(dá)到2mm[4]。
我國的北斗系統(tǒng)才開始起步,北斗信號的測距碼與GPS的C/A碼的結(jié)構(gòu)有所不同,同時北斗采取的正交相移鍵控(Quadrature Phase-Shift Key-ing,QPSK)、二進(jìn)制偏移載波(Binary Offset Carri-er,BOC)、正交復(fù)用二進(jìn)制偏移載波(Quadrature Multiplexed BOC,QMBOC)等多種不同的調(diào)制方式。捕獲信號作為衛(wèi)星信號接收的關(guān)鍵,北斗接收機(jī)用到的許多關(guān)鍵技術(shù)都是借鑒的GPS接收機(jī)的,北斗捕獲算法與GPS和伽利略系統(tǒng)的捕獲算法基本是一致的[5]。
通用軟件無線電外圍設(shè)備(Universal Software Radio Peripheral,USRP)是一種低成本并且充分吸收了軟件無線電思想的軟件無線電設(shè)備,能夠方便靈活地對信號的頻率、帶寬、采樣速率等特性進(jìn)行變更。它的設(shè)計(jì)目的是想讓計(jì)算機(jī)具有和高帶寬的無線電設(shè)備一樣的功能。它可以充當(dāng)一個射頻前端,將產(chǎn)生的北斗仿真信號從基帶調(diào)制到固定的高頻點(diǎn)發(fā)射[6]。
本文主要根據(jù)北斗信號的結(jié)構(gòu),通過Matlab的編碼產(chǎn)生北斗二號衛(wèi)星的B1I信號和北斗三號衛(wèi)星的B1C信號,最后用接收機(jī)對產(chǎn)生的仿真信號進(jìn)行接收驗(yàn)證,實(shí)現(xiàn)北斗信號仿真系統(tǒng)的設(shè)計(jì)與驗(yàn)證。
北斗衛(wèi)星的信號為三頻信號,包括B1、B2、B3這3個頻段的信號,本文主要對B1信號進(jìn)行研究,B1信號的I、Q兩路都采取將測距碼和導(dǎo)航電文正交擴(kuò)頻調(diào)制在載波上的調(diào)制方式。
衛(wèi)星的基準(zhǔn)時鐘源可產(chǎn)生不同的信號載波頻率,B1信號的載波頻率為1561.09MHz,調(diào)制方式為QPSK,右旋圓極化,CDMA的復(fù)用方式。
B1信號的表達(dá)式如下[7]:
(1)
式中,j表示衛(wèi)星編號;A表示信號幅度;C表示信號測距碼;D表示數(shù)據(jù)碼;f表示載波頻率;φ表示載波初始相位。I、Q分別表示同相、正交支路,I支路內(nèi)容為開放服務(wù);Q支路內(nèi)容為授權(quán)服務(wù),暫未公開。
測距碼本質(zhì)上是一種偽隨機(jī)噪聲(Pseudo Random Noise,PRN)碼,它具有良好的自相關(guān)和互相關(guān)特性。北斗信號采取擴(kuò)頻通信,所有衛(wèi)星的發(fā)射頻段都是同一頻點(diǎn),如果不加以區(qū)別,接收機(jī)將無法分辨不同編號的衛(wèi)星。因此,接收機(jī)根據(jù)導(dǎo)航電文上調(diào)制的獨(dú)特的測距碼便能準(zhǔn)確區(qū)分出各顆衛(wèi)星的編號。CB1I、CB2I分別為B1I、B2I信號的測距碼,碼速率為2.046Mchip/s,碼長為2046[8]。
具有工程量小、施工方便、節(jié)約勞動力的特點(diǎn),在電力條件不能滿足的情況下,該方法具有明顯優(yōu)勢。但該方法抽水高程有限,排水能力有限,可配合其他方法使用。虹吸排水包括注水式和抽真空式。
2個線性序列G1、G2模二加產(chǎn)生Gold碼后,截短一碼片即可組成CB1I、CB2I,G1、G2序列本質(zhì)上是一種m序列,它們都是由11級線性移位寄存器生成的。兩者生成的多項(xiàng)式分別為:
G1(x)=1+x+x7+x8+x9+x10+x11
(2)
G2(x)= 1+x+x2+x3+x4+x5+
x8+x9+x11
(3)
其中,G1序列初始相位為01010101010;G2序列初始相位為01010101010。
CB1I和CB2I測距碼的發(fā)生器如圖1所示。
圖1 CB1I和CB2I測距碼發(fā)生器Fig.1 CB1I and CB2I ranging code generators
為了區(qū)分不同的衛(wèi)星編號,根據(jù)圖1可以對G2序列不同的抽頭進(jìn)行模二加操作,可達(dá)到實(shí)現(xiàn)G2序列不同相位偏移的目的。然后與G1序列模二加可以生成不同衛(wèi)星的測距碼,通過上述操作該生成器可生成37種不同的測距碼來區(qū)分每一顆北斗導(dǎo)航衛(wèi)星。
因?yàn)镻RN碼有良好的自相關(guān)特性和互相關(guān)特性,因此接收機(jī)能有效地剝離測距碼以獲得有用的衛(wèi)星信息。不同衛(wèi)星的測距碼的互相關(guān)特性很小,可以說幾乎沒有,但測距碼的自相關(guān)特性幾乎為1。所以接收機(jī)可以先預(yù)產(chǎn)生所有衛(wèi)星對應(yīng)的測距碼,保存在本地接收機(jī),當(dāng)接收到衛(wèi)星信號后,將該衛(wèi)星信號和所有測距碼一一進(jìn)行相關(guān)運(yùn)算,得到碼相關(guān)運(yùn)算結(jié)果的自相關(guān)特性幾乎為1的測距碼,此測距碼對應(yīng)的衛(wèi)星編號即對應(yīng)發(fā)送該衛(wèi)星信號的衛(wèi)星編號。
MEO/IGSO衛(wèi)星的B1I和B2I信號負(fù)責(zé)播發(fā)D1導(dǎo)航電文,而GEO衛(wèi)星的B1I和B2I信號負(fù)責(zé)播發(fā)D2導(dǎo)航電文。
北斗衛(wèi)星發(fā)射的導(dǎo)航信號由載波、偽隨機(jī)碼和數(shù)據(jù)碼共同組成。發(fā)射的時候,首先用數(shù)據(jù)碼去調(diào)制偽隨機(jī)碼,展寬數(shù)據(jù)碼的頻譜,再用新生成的數(shù)據(jù)碼去調(diào)制載波,讓導(dǎo)航信號以頻率較高的載波信號發(fā)射出去。在接收機(jī)部分,先從信號中剝離載波,再將偽隨機(jī)碼剝離,即先將高頻信號下變頻到中頻,再用本地預(yù)先產(chǎn)生并保存的測距碼去解擴(kuò)中頻衛(wèi)星信號,得到衛(wèi)星發(fā)送的數(shù)據(jù)碼。最后根據(jù)星歷參數(shù)表,將解擴(kuò)得到的數(shù)據(jù)碼轉(zhuǎn)換為定位參數(shù),完成定位,北斗信號組成結(jié)構(gòu)框圖如圖2所示。
圖2 北斗信號結(jié)構(gòu)框圖Fig.2 Schematic of Beidou signal structure block
在對整體信號模塊進(jìn)行編輯前,先進(jìn)行參數(shù)初始化模塊,讀取參數(shù)。首先將中頻、采樣頻率等參數(shù)進(jìn)行初始化設(shè)置。包括獲取星上設(shè)備時延差,表示基準(zhǔn)設(shè)備時延和信號時延的差值;讀取北斗衛(wèi)星星歷參數(shù),用于導(dǎo)航定位時坐標(biāo)等參數(shù)的計(jì)算;然后進(jìn)行CRC循環(huán)冗余校驗(yàn)以及BCH(15,11,1)糾錯編碼加交織。
初始化模塊準(zhǔn)備就緒后,對測距碼模塊進(jìn)行設(shè)計(jì),根據(jù)中國導(dǎo)航衛(wèi)星辦公室發(fā)布的空間信號接口控制文件,對測距碼進(jìn)行編碼產(chǎn)生G1、G2序列。將G1序列和G2序列抽頭模二加之后生成北斗信號的測距碼。
接下來對北斗信號的導(dǎo)航電文進(jìn)行編碼,根據(jù)控制文件公布的D1、D2導(dǎo)航電文的結(jié)構(gòu),對D1、D2導(dǎo)航電文的幀結(jié)構(gòu)及每一幀對應(yīng)的數(shù)據(jù)信息進(jìn)行定義編碼。
最后將信號調(diào)制到高頻點(diǎn),并構(gòu)建多普勒頻移計(jì)算模塊,對多普勒頻移進(jìn)行計(jì)算,最終生成B1I和B1C信號,生成的部分信號展示如圖3所示。
圖3 北斗信號生成圖Fig.3 Beidou signal generation diagram
圖3中,生成300s的衛(wèi)星信號,B1I信號、B1C信號兩者載波頻率分別為1561.098MHz和1575.42MHz,采樣頻率取為5714280Hz,顯示了星載參考時鐘、方位角、海拔高度等星歷參數(shù),后續(xù)會對該模擬信號進(jìn)行發(fā)射,利用接收機(jī)對仿真信號進(jìn)行驗(yàn)證。
SDR程序?yàn)樵诠P記本電腦上利用高級編程語言來編輯的通信模塊,C語言編寫的SDR程序能夠較好地滿足SDR系統(tǒng)要求的實(shí)時性。因?yàn)椴煌耐庠O(shè)會用到不同的驅(qū)動模塊,采用UHD來驅(qū)動USRP外設(shè),并且調(diào)用系統(tǒng)接口和內(nèi)核。GPP和USRP是通過高速接口USB3.0連接的,它的理論傳輸速度為500Mbit/s,能夠很好地滿足系統(tǒng)吞吐量的需求,不會因?yàn)榻涌谒俣榷拗普麄€系統(tǒng)的性能[10-11]。USRP中首先工作的是FPGA模塊,F(xiàn)PGA包括了數(shù)字上變頻(DUC)和發(fā)送控制2個模塊,并且FPGA具有較快的處理速度,發(fā)送控制模塊是用來控制整個USRP的接發(fā)行為的,DUC模塊的主要任務(wù)是將電腦傳輸過來的基帶數(shù)據(jù)上變頻到中頻。接著經(jīng)過數(shù)模轉(zhuǎn)換器DAC,將數(shù)字域信號轉(zhuǎn)換為模擬域信號,再經(jīng)過低通濾波器使得信號變得平滑。最后用得到的中頻模擬域數(shù)據(jù)和晶振產(chǎn)生的信號相乘,則可以將中頻信號調(diào)制到固定的頻點(diǎn),并使用功率放大器放大后發(fā)射。使用USRP設(shè)備將電腦產(chǎn)生的北斗信號二進(jìn)制基帶數(shù)據(jù)當(dāng)作衛(wèi)星信號發(fā)射,USRP硬件與電腦的連接圖和發(fā)射示意圖分別如圖4和圖5所示。
圖4 USRP實(shí)際連接圖Fig.4 Schematic of USRP actual connection
圖5 北斗信號發(fā)射圖Fig.5 Schematic of Beidou signal transmission
整個系統(tǒng)的設(shè)備組成圖如圖6所示。
圖6 系統(tǒng)設(shè)備組成圖
Fig.6 Schematic of system equipment
首先在電腦端通過Matlab對信號進(jìn)行編碼,產(chǎn)生預(yù)期的北斗B1I信號,接下來將產(chǎn)生的北斗信號以二進(jìn)制文件的形式在USRP上進(jìn)行調(diào)制后,通過USRP的天線將射頻信號發(fā)射出去,最后通過北斗接收機(jī)接收該仿真信號并進(jìn)行驗(yàn)證。
分別對北斗系統(tǒng)的衛(wèi)星進(jìn)行了多普勒頻移仿真,其中PRN#2衛(wèi)星信號多普勒頻移如圖7所示。
圖7 PRN#2衛(wèi)星信號多普勒頻移Fig.7 PRN#2 satellite signal Doppler shift
GNSS接收機(jī)對仿真系統(tǒng)生成并發(fā)射的信號進(jìn)行接收,仿真時間設(shè)定為2018年5月3日5:59:42,實(shí)際測量時間為2018年6月7日10:52:38開始,根據(jù)經(jīng)緯度選取一個點(diǎn)為初始位置,以該初始位置為參考,仿真信號運(yùn)動軌跡半徑設(shè)置為10km,時間為接收機(jī)位置的TTR時間減去自動參考時間,仿真信號沿著圓周做運(yùn)動,速度可由時間和運(yùn)動距離決定,信號設(shè)定的運(yùn)動方式如圖8所示。
圖8 仿真信號設(shè)定運(yùn)動軌跡Fig.8 Setting trajectory of the simulated signal
在實(shí)際情況下,用USRP發(fā)射仿真系統(tǒng)生成的信號,用接收機(jī)接收并顯示信號的運(yùn)動軌跡。從圖中可以看到,仿真信號能良好地按照設(shè)定的軌跡運(yùn)動,但是由于接收機(jī)從開機(jī)啟動時搜索衛(wèi)星會經(jīng)過一段時間,這段時間內(nèi),根據(jù)設(shè)定的速度,仿真信號已經(jīng)沿著圓周走過了62.8km,而開始時接收機(jī)沒有收到仿真信號。故當(dāng)接收機(jī)收到仿真信號后,軌跡會呈現(xiàn)為從初始的位置沿著直線到達(dá)初次接收到仿真信號的位置,所以開始階段的軌跡有所偏差(見圖9)。后續(xù)仿真接收結(jié)果基本符合設(shè)定的運(yùn)動軌跡,由此可見仿真系統(tǒng)產(chǎn)生了良好的仿真信號。
圖9 仿真信號實(shí)際運(yùn)動軌跡Fig.9 Actual trajectory of the simulated signal
本文分析了北斗衛(wèi)星信號的結(jié)構(gòu)與特點(diǎn),設(shè)計(jì)和介紹了信號的各部分結(jié)構(gòu),使用Matlab定義并編碼產(chǎn)生了研究較多的北斗二號的B1I信號和研究較少的北斗三號的B1C信號。基于USRP對信號進(jìn)行了發(fā)射,最終通過接收信號來驗(yàn)證仿真系統(tǒng)是否產(chǎn)生了可用的仿真信號,由此完成一套完整的仿真系統(tǒng)設(shè)計(jì)。