連 潔,伍蔡倫
(河北省衛(wèi)星導(dǎo)航技術(shù)與裝備工程技術(shù)研究中心,河北石家莊050081)
由于電離層折射引起的偽碼群延遲與載頻的平方成反比,利用GSP衛(wèi)星在主頻率L1(1575.42MHz)和次頻率L2(1227.6MHz)2個(gè)載波頻率上發(fā)射導(dǎo)航信號(hào)之間的群延遲的不同,可以精確地估算出L1信號(hào)群延遲的大小,加以消除從而提高其偽距測(cè)量精度。為了測(cè)量信號(hào)的群延遲差,必須同時(shí)跟蹤2個(gè)載頻的PRN碼。L1頻率信號(hào)由C/A碼和P(Y)碼2個(gè)PRN碼調(diào)制。L2頻率信號(hào)均有P(Y)碼調(diào)制,只有少數(shù)衛(wèi)星L2頻率信號(hào)有C/A碼調(diào)制。軍用P(Y)碼是保密的,這就是只有軍用用戶與才能消除電離層誤差的原因。因此,對(duì)GPS L2頻率P(Y)碼的載波跟蹤顯得尤為重要。本文提供了P碼復(fù)現(xiàn),L1輔助L2進(jìn)行P碼載波跟蹤等關(guān)鍵技術(shù)的解決方案,并在FPGA中進(jìn)行了實(shí)現(xiàn)和驗(yàn)證。
P(Y)碼是由P碼和W碼模2加而成。P碼是公開(kāi)已知的,W碼未知,其速率約為500kHz。P(Y)碼信號(hào)的接收,通常有2種方法:無(wú)碼和半無(wú)碼技術(shù)。無(wú)碼技術(shù)是指在對(duì)P碼未知條件下利用平方法恢復(fù)L2載波信號(hào)。無(wú)碼技術(shù)的平方損耗較大,增加了接收機(jī)環(huán)路的均方根相位誤差,從而使L2載頻連續(xù)波信號(hào)的跳周概率上升,不適于做一般定位使用。而半無(wú)碼技術(shù)是利用一些P碼特性以恢復(fù)L2載波信號(hào)。平方損耗相較于無(wú)碼技術(shù)可降低3~20dB以上,半無(wú)碼技術(shù)是主流雙頻接收機(jī)常采用的方法。
GPS C/A碼序列長(zhǎng)度為1023bit,碼片速率為1.023mHz,是粗精度民用碼。C/A碼的生成方式也是公開(kāi)的。GPS L1頻率的C/A碼是可以跟蹤并解調(diào)出電文信息。對(duì)于同一顆衛(wèi)星中L1和L2頻率使用的P碼序列是相同的。利用L1 C/A碼已知的時(shí)間信息和載波跟蹤環(huán)調(diào)整量等信息可以有效地輔助L2頻率的P(Y)碼的捕獲跟蹤。由于電離層延遲的影響,L2頻率的P(Y)碼序列與L1的P(Y)碼序列有一定的時(shí)間延遲。由文獻(xiàn)[1]可知,電離層延遲不超過(guò)150m,即延遲不超過(guò)P碼的6個(gè)碼片。在W碼的間隔內(nèi)進(jìn)行相關(guān)積累,利用L1的P(Y)碼的積累進(jìn)行W碼的消除,延長(zhǎng)積分時(shí)間。即可獲得L2頻率P(Y)碼的相關(guān)積累最大值。利用載波跟蹤環(huán)路進(jìn)行跟蹤,即可獲得載波跟蹤的相位信息,實(shí)現(xiàn)P(Y)碼的載波跟蹤。在此之中,復(fù)現(xiàn)任意時(shí)刻的P碼序列、消除W碼和捕獲跟蹤流程是其中的關(guān)鍵技術(shù)。
P碼是復(fù)雜的偽隨機(jī)噪聲(PRN)碼,序列長(zhǎng)度為2.354 695 927 65 ×1014,碼速率為10.23mHz,碼周期為266.41天,即38.058星期。在實(shí)際應(yīng)用中,每顆衛(wèi)星使用P碼的一星期長(zhǎng)的碼元作為自己的擴(kuò)頻序列,故每個(gè)序列長(zhǎng)度是6.187 104×1012。
P碼的生成可參考ICD-GPS-200C[2],在此簡(jiǎn)述一下P碼的產(chǎn)生原理。P碼生成主要由4個(gè)12級(jí)線性反饋移位寄存器(X1A,X1B,X2A,X2B)構(gòu)成,系統(tǒng)時(shí)鐘為10.23mHz。
P碼的4個(gè)移位寄存器其自然周期為4095,均做截?cái)嗖凑找欢ǖ囊?guī)律周期運(yùn)行。X1A和X1B被截短為4092個(gè)碼片(chip)一個(gè)周期(cycle),X2A和X2B被截短為4093個(gè)碼片一個(gè)周期。X1序列按如下規(guī)律運(yùn)行。X1A按其4092個(gè)碼片為1cycle,運(yùn)行整3750個(gè)cycle。X1B按4093個(gè)碼片為1cycle,運(yùn)行完成其自身的3749個(gè)cycle,然后停止推送待X1A運(yùn)行完結(jié)后一同復(fù)位重新開(kāi)始。X1B在完成其3749個(gè)cycle后,需停止推送343個(gè)碼鐘(3750×4092-3749×4093=343),便載入初相重新運(yùn)轉(zhuǎn)。
同樣,X2序列中X2A和X2B的時(shí)序關(guān)系與X1序列中X1A和X1B的規(guī)律一樣,只是X2A到一個(gè)3750cyle結(jié)束時(shí),X2A和X2B同時(shí)停止推送,待37個(gè)碼片時(shí)鐘后重新開(kāi)始啟動(dòng)。即X2A需停止推送37個(gè)碼鐘,X2B需停止343+37個(gè)碼鐘,再重新載入各自的初相重新運(yùn)轉(zhuǎn)。X2由X2A和X2B異或而得,X1由X1A和X1B異或而得。X1和X2序列異或得出P碼序列。每顆衛(wèi)星只用該序列的一個(gè)星期。在X2序列的輸出位置使用移位寄存器來(lái)對(duì)X2序列進(jìn)行i個(gè)碼片(i的范圍從1~37)的延遲,就形成了37種不同的P碼序列。
要想復(fù)現(xiàn)任意時(shí)刻的P碼,必須知道該時(shí)刻4個(gè)寄存器的初相。然而任意時(shí)刻初相的推算較為復(fù)雜。為了滿足接收機(jī)的需要并且簡(jiǎn)化設(shè)計(jì),利用復(fù)位時(shí)的初相和序列的相對(duì)關(guān)系,把P碼產(chǎn)生器簡(jiǎn)化為給定一周(7天)內(nèi)任意第N個(gè)1.5s(第N個(gè)Zcnt),生成該時(shí)刻的P碼。
由P碼的生成原理可知,X1和X2序列中,只有X1A序列以固定周期連續(xù)運(yùn)轉(zhuǎn),沒(méi)有被停止推送。X1B、X2A和X2B以X1A為基準(zhǔn),均有相應(yīng)的停止推送、等待復(fù)位的時(shí)序。
將X1A的3750個(gè)cycle的計(jì)數(shù)為1個(gè)Z計(jì)數(shù)(Zcnt),以X1A作為時(shí)序的標(biāo)尺,有如下關(guān)系:
即X1A正常運(yùn)行,得出Zcnt同步標(biāo)志和整周復(fù)位標(biāo)志;X1B在每一個(gè)Zcnt的起始與X1A同步一次(X1為主序列,一直維持自同步);X2序列在一個(gè)整周的起始與X1A同步一次(X2被X1序列同步);X2B在每個(gè)X2 Zcnt(1個(gè)Zcnt+37chips)與X2A同步一次(X2序列自同步)。
FPGA實(shí)現(xiàn)任意時(shí)刻P碼的生成時(shí),為避免復(fù)雜的運(yùn)算,均以4個(gè)序列的相對(duì)時(shí)序來(lái)推送碼生成。設(shè)計(jì)主要分為4個(gè)模塊,即引導(dǎo)時(shí)刻換算模塊、X1序列時(shí)序產(chǎn)生模塊、X2序列時(shí)序產(chǎn)生模塊和P碼多項(xiàng)式偽碼產(chǎn)生器。
引導(dǎo)時(shí)刻換算模塊,將Zcnt計(jì)數(shù)換算為X1序列和X2序列的啟動(dòng)順序脈沖。X2序列比X1序列延時(shí)(Zcnt-1)*37個(gè)碼鐘。令2個(gè)序列均從初相開(kāi)始運(yùn)行。X1序列時(shí)序產(chǎn)生模塊,從啟動(dòng)開(kāi)始,X1A按規(guī)律運(yùn)轉(zhuǎn),X1B按照X1A的對(duì)應(yīng)時(shí)序運(yùn)轉(zhuǎn)。輸出兩序列的置入初相和X1B的停止等待信號(hào)。X2序列時(shí)序產(chǎn)生模塊中,X2A和X2B也同時(shí)從啟動(dòng)脈沖開(kāi)始計(jì)數(shù)運(yùn)轉(zhuǎn),生成相應(yīng)的重置初相和停止等待信號(hào)。全部信號(hào)時(shí)序具備,輸入P碼產(chǎn)生器中,按生成多項(xiàng)式移位運(yùn)算,重置信號(hào)到來(lái)時(shí),置入對(duì)應(yīng)序列的初相;停止等待信號(hào)到來(lái)時(shí),對(duì)應(yīng)的移位寄存器停止運(yùn)轉(zhuǎn)。該P(yáng)碼產(chǎn)生器,已在FPGA中實(shí)現(xiàn)并經(jīng)過(guò)驗(yàn)證,圖1為GPS1號(hào)衛(wèi)星,在Zcnt=40313時(shí)刻,生成的P碼。X1_pn為X1序列偽碼,X2_pn為X2序列偽碼。
圖1 硬件設(shè)計(jì)及系統(tǒng)連接框圖
跟蹤處理流程如圖2所示。
圖2L2 P(Y)跟蹤處理流程圖
用本地復(fù)現(xiàn)的載波進(jìn)行下變頻后,形成同相I和正交相Q兩條支路。I和Q信號(hào)分別與并行的超前、即時(shí)、滯后的復(fù)現(xiàn)碼進(jìn)行相關(guān)。由于L2頻率P碼延遲不超過(guò)6個(gè)碼片。L2頻率P碼的并行支路需覆蓋整個(gè)延遲范圍。產(chǎn)生超前L1頻率的P碼2個(gè)碼片的L2頻率P碼。以半碼片作為相關(guān)間隔,向后搜索8個(gè)碼片的范圍。在文獻(xiàn)[3]中,給出了W碼的周期。W碼頻度為0.511MHz和0.465MHz交替發(fā)生,20個(gè)P碼為一個(gè)W碼,持續(xù)11個(gè)W碼,后面為22個(gè)P碼為一個(gè)W碼,持續(xù)21個(gè)此周期的W碼。兩個(gè)周期的W碼合并為一個(gè)H周期,15個(gè)H周期為1ms。由此可知,P碼的相關(guān)積累可在一個(gè)W碼內(nèi)進(jìn)行。L1信號(hào)的處理與L2信號(hào)的處理相同,均做W碼內(nèi)的P碼相關(guān)積累。取L1的W碼的符號(hào)位,與L2的相關(guān)積累值相乘,消除W碼,擴(kuò)大P碼的相關(guān)積累范圍,有效延長(zhǎng)了預(yù)檢測(cè)積分的時(shí)間。在此基礎(chǔ)上進(jìn)行了時(shí)長(zhǎng)1ms的相關(guān)積累。搜索到相關(guān)峰值,判斷門(mén)限。將相關(guān)積累值,送入跟蹤環(huán)路。捕獲跟蹤環(huán)路的處理可以復(fù)用L1信號(hào)的處理流程。碼發(fā)生器由碼環(huán)NCO,由接收機(jī)的碼跟蹤環(huán)控制。使用載波跟蹤環(huán)路控制。當(dāng)相位鎖定時(shí),I信號(hào)最大,而Q支路只含有噪聲。由于L2 P(Y)本身比L1 P(Y)信號(hào)弱3dB,再加上平方損失,L2 P(Y)環(huán)路的跟蹤比較脆弱,所以加入了失鎖重捕機(jī)制。若載噪比低于一定門(mén)限,認(rèn)為L(zhǎng)2 P(Y)碼跟蹤失鎖。由L1的C/A碼重新進(jìn)行時(shí)間引導(dǎo),并將當(dāng)前Doppler頻偏信息,置入L2 P(Y)跟蹤支路。
將P碼生成模塊嵌入GPS L1和L2雙頻接收機(jī)中,用思博倫信號(hào)模擬器模擬GPS衛(wèi)星的發(fā)射信號(hào)。將雙頻信號(hào)接入雙頻接收機(jī)中。從L1的C/A碼電文中可以解出當(dāng)前P碼的時(shí)刻。將時(shí)間置入P碼生成模塊,已知固定延時(shí)關(guān)系,P碼生成模塊可以生成出與L1頻率C/A碼碼片級(jí)對(duì)齊的P碼。在環(huán)路跟蹤程序段中,存取I和Q支路的相關(guān)積累值做圖,如圖3所示。環(huán)路穩(wěn)定后,上一條曲線為I支路積累值,下面為Q支路積累值。I支路為信號(hào)能量,Q支路為噪聲能量,表明FPGA實(shí)現(xiàn)的L2 P(Y)碼可以跟蹤鎖定。此時(shí),L2 P(Y)載噪比為34.27dBHz,L1載噪比為43.12dBHz。兩者相差8.85dBHz。
圖3 I和Q支路各自的相關(guān)積累值
基于半無(wú)碼技術(shù)跟蹤L2 P(Y)碼的方法,研究并解決了P碼復(fù)現(xiàn)和消除W碼延長(zhǎng)積分時(shí)間等關(guān)鍵技術(shù)。以跟蹤L1頻率中C/A碼和P(Y)碼得出的相關(guān)量輔助L2 P(Y)碼的捕獲跟蹤。為了增加環(huán)路的工作穩(wěn)定性,加入了失鎖重捕機(jī)制。階段性成果均在FPGA中實(shí)現(xiàn)并進(jìn)行了試驗(yàn)驗(yàn)證。結(jié)果表明,在工程中實(shí)現(xiàn)了跟蹤L2頻率P(Y)碼。
[1]劉基余,李征航,王躍虎,等.全球定位系統(tǒng)原理及其應(yīng)用[M].北京:測(cè)繪出版社,1993.
[2]IS-GPS-200 Revision D IRN-200D-001 7March 2006.Navstar GPS Space Seg-ment/Navigation User Interface[S].
[3]GARY L.Method and Apparatus for Improved L2 Performance in Dual Frequency Semi-codeless GPS Receivers[P].CA(US):US 2007/0230545 A1,2005.9.27.
[4]秦明峰,王興剛,張國(guó)強(qiáng).基于MATLAB集成環(huán)境的GPS接收機(jī)設(shè)計(jì)[J].無(wú)線電工程,2009,39(02):61-64.
[5]潘申富,張麗娜.一種低信噪比解調(diào)的實(shí)現(xiàn)方案及性能仿真[J].無(wú)線電通信技術(shù),2011,37(02):55-58.
[6]劉偉,鐘子發(fā).OFDM信號(hào)碼片時(shí)寬與符號(hào)長(zhǎng)度估計(jì)[J].無(wú)線電通信技術(shù),2011,37(02):23-25.
[7]羅顯志.基于定向天線的導(dǎo)航信號(hào)參數(shù)估計(jì)方法研究[J].無(wú)線電工程.2011,41(03):30-33.
[8]董立橋,周雪娟.基于PXI架構(gòu)的導(dǎo)航信號(hào)模擬器設(shè)計(jì)[J].無(wú)線電工程.2011,41(03):34-37.
[9]姚勇.低軌衛(wèi)星自跟蹤技術(shù)分析[J].無(wú)線電工程,2011,41(10):17-20.
[10]劉會(huì)紅,林春霞.基于帶通采樣QPSK高速解調(diào)器的技術(shù)分析[J].無(wú)線電通信技術(shù),2011,37(01):59-61.