GPS系統(tǒng)中偽碼P碼基于FPGA的擴(kuò)展
摘要:針對(duì)GPS系統(tǒng)使用直接序列擴(kuò)頻調(diào)制所使用的精測(cè)距碼P碼,P碼具有定位精度高,長(zhǎng)周期,結(jié)構(gòu)復(fù)雜等的特性,以及其廣泛的軍事應(yīng)用。通過對(duì)P碼的產(chǎn)生原理進(jìn)行深入研究,采用在Xilinx ISE中使用Verilog HDL語言,對(duì)P碼產(chǎn)生電路進(jìn)行硬件實(shí)現(xiàn)的方法,產(chǎn)生指定PRN號(hào)衛(wèi)星的P碼,通過對(duì)生成結(jié)果進(jìn)行驗(yàn)證以及特性分析,以解決GPS中長(zhǎng)周期精測(cè)距碼(P碼)不借助導(dǎo)航信息中短周期測(cè)距碼的引導(dǎo),實(shí)現(xiàn)P碼的快速直接捕獲的問題。
全球定位系統(tǒng)(Global Positioning System,GPS)是美國從上世紀(jì)70年代開始規(guī)劃研制,歷時(shí)21年,于1994年全面建成,是美國繼阿波羅登月、航天飛機(jī)之后的第三大航天工程,利用GPS衛(wèi)星實(shí)現(xiàn)全球、全天候、實(shí)時(shí)、連續(xù)導(dǎo)航定位的,具有海、陸、空全方位實(shí)時(shí)三維(時(shí)間、速度、方位)導(dǎo)航與定位能力的第二代衛(wèi)星導(dǎo)航系統(tǒng),是目前全球應(yīng)用最為廣泛、最先進(jìn)的衛(wèi)星導(dǎo)航定位系統(tǒng)。
GPS系統(tǒng)采用典型的CDMA體制,這種擴(kuò)頻調(diào)制信號(hào)具有低截獲概率特性,系統(tǒng)利用直接序列擴(kuò)頻調(diào)制技術(shù),以碼分多址復(fù)用的形式區(qū)分各個(gè)衛(wèi)星信號(hào)。GPS衛(wèi)星信號(hào)導(dǎo)航電文為50bps的二進(jìn)制數(shù)據(jù)碼,利用偽隨機(jī)噪聲碼(PRN)對(duì)導(dǎo)航電文進(jìn)行擴(kuò)頻,碼片速率遠(yuǎn)高于其本身的數(shù)據(jù)碼速率,對(duì)信號(hào)的頻譜進(jìn)行擴(kuò)展,再使用擴(kuò)展的碼元去調(diào)制L波段載波,可以有效地將低速率導(dǎo)航電文發(fā)送到接收端。目前現(xiàn)代化的GPS信號(hào)有3種載波方式:載波L1頻段1 575.42 MHz,L2民用信號(hào)(L2C)頻段1 227.6 MHz,和一個(gè)位于1176.45 MHz成為L(zhǎng)5頻段的載波。
GPS系統(tǒng)測(cè)距偽碼有C/A碼和P碼(Y碼),以及新的軍用M碼疊加在L1和L2頻段上?;诖a分多址復(fù)用(CDMA)的GPS需要其信號(hào)中偽碼具有良好的自相關(guān)和互相關(guān)性能,PRN(Pseudo Random Noise Code偽隨機(jī)噪聲碼)碼序列不僅具有高斯噪聲所有的良好自相關(guān)特性,而且具有可預(yù)知性和周期性的規(guī)律,它與自身的相移序列相加,結(jié)果仍然為PRN碼序列,只是改變了其相位。P(Y)碼又稱為精確測(cè)距碼,它同時(shí)調(diào)制在L1和L2載波信號(hào)上,主要應(yīng)用于精測(cè)距、抗干擾及其保密性要求高的環(huán)境下。P碼是一種高精度定位碼,利用P碼進(jìn)行衛(wèi)星定位要比利用粗測(cè)距碼C /A碼定位精度提高10倍左右,加密后的P碼稱為Y碼,只有特許用戶才能破譯使用,多用于軍事應(yīng)用當(dāng)中。由于P碼的特點(diǎn)是長(zhǎng)周期,結(jié)構(gòu)復(fù)雜,因此對(duì)P碼的捕獲一直是備受關(guān)注,在P碼捕獲的過程中需要本地復(fù)現(xiàn)P碼,產(chǎn)生P碼周期內(nèi)指定PRN號(hào)衛(wèi)星任意時(shí)刻的P碼數(shù)據(jù),對(duì)提高P碼的捕獲研究有著非常重要的意義。
1 P碼的產(chǎn)生原理
GPS衛(wèi)星信號(hào)擴(kuò)頻使用的P碼,序列長(zhǎng)度2.35x1014,速率為10.23 MHz,序列周期為266.41天。在實(shí)際應(yīng)用中,GPS衛(wèi)星使用序列中的一個(gè)星期的碼元,作為衛(wèi)星使用的擴(kuò)頻偽碼序列,所以其長(zhǎng)度為6.287×1012,遠(yuǎn)大于C/A碼的1 023個(gè)碼元長(zhǎng)度。
依據(jù)ICD-GPS-200C,P碼的生成主要由4個(gè)稱為X1A,X1B,X2A和X2B的12位移位寄存器產(chǎn)生PRN序列。圖1中給出了這種寄存器方案的詳細(xì)框圖。GPS基于CDMA技術(shù)的直接序列擴(kuò)頻調(diào)制技術(shù),在P碼的情況下,延時(shí)的整碼片數(shù)與對(duì)應(yīng)的衛(wèi)星PRN號(hào)相同。X1A和X1B寄存器的輸出由一個(gè)異或電路形成X1碼發(fā)生器,X2A和X2B寄存器輸出異或形成X2碼發(fā)生器,X2結(jié)果饋送給一個(gè)移位寄存器,延遲衛(wèi)星PRN號(hào)的碼片數(shù),然后與X1結(jié)果異或合并產(chǎn)生P碼。
P碼的設(shè)計(jì)規(guī)范要求4個(gè)移位寄存器每一個(gè)都有一組反饋抽頭,這些抽頭用異或電路相互合并在一起,并反饋到各個(gè)寄存器的輸入級(jí)。描述這些反饋移位寄存器方案的多項(xiàng)式表達(dá)示在表1中。
這4個(gè)反饋移位寄存器產(chǎn)生的m序列的自然周期是經(jīng)過截短的,寄存器X1A和X2A都是在4092個(gè)碼片之后復(fù)位,去掉了它們自然的4 095個(gè)碼片序列的最后3個(gè)碼片;寄存器X1B和X2B是在4 093個(gè)碼片后復(fù)位,去掉了它們自然的4 095個(gè)碼片序列的最后2個(gè)碼片。這導(dǎo)致在每個(gè)X1A寄存器循環(huán),X1B序列相位相對(duì)于X1A序列都滯后一個(gè)碼片,結(jié)果在兩個(gè)寄存器之間有相對(duì)相位進(jìn)動(dòng),在X2組寄存器之間也發(fā)生同樣的相位進(jìn)動(dòng)。
P碼發(fā)生器4個(gè)反饋移位寄存器所用多項(xiàng)式和初始狀態(tài)如表1所示。
在GPS星期的起始點(diǎn),所有移位寄存器均置于初始狀態(tài),在每個(gè)移位寄存器歷元的末尾,移位寄存器也復(fù)位到其初始狀態(tài)。所謂“4092碼片截短”具體功能就是當(dāng)X1A寄存器的輸出序列等于第4 092個(gè)碼片的時(shí)候。輸出“1”將X1A復(fù)位到初始狀態(tài)。截?cái)啻a片狀態(tài)示于表2中。
X1歷元是由X1A的復(fù)位信號(hào)3750分頻得來的,已經(jīng)驗(yàn)證過X1A歷元的周期為4 092x3 750=15 345 000個(gè)碼片(1.5 s),而X1B的歷元時(shí)間為4093x3 749=15 344 657個(gè)碼片,滯后于X1歷元343個(gè)碼片。對(duì)于X1B的驅(qū)動(dòng)時(shí)鐘不是直接來自于P碼發(fā)生器模塊的輸入,而是經(jīng)過一個(gè)時(shí)鐘控制模塊。此模塊檢測(cè)來自于X1歷元的恢復(fù)信號(hào)和X1B歷元的暫停信號(hào)的上升沿來控制X1B工作狀態(tài)。由于X1B歷元快于X1歷元343個(gè)碼片,所以X1B經(jīng)過一個(gè)歷元之后就被自己產(chǎn)生的歷元信號(hào)掛停,然后等待343個(gè)碼片時(shí)間之后,被X1歷元恢復(fù)工作,從而達(dá)到同步進(jìn)動(dòng)的效果。
X1歷元的重要的功能是為GPS標(biāo)準(zhǔn)時(shí)間進(jìn)行計(jì)時(shí)和標(biāo)定。X1歷元為GPS系統(tǒng)中重要的所謂“Z計(jì)數(shù)器”提供計(jì)數(shù)時(shí)鐘,其中低19位(這個(gè)計(jì)數(shù)器又被稱為周時(shí)間計(jì)數(shù)器,即time-of-week,簡(jiǎn)稱TOW)是以403200為模來計(jì)數(shù)的??梢杂?jì)算有1.5x403 200÷60÷60÷24=7天。
X2A/X2B移位寄存器相對(duì)于X1A/X1B移位寄存器來說也有相位進(jìn)動(dòng),這表現(xiàn)在每一個(gè)X1周期在X2歷元和X1歷元之間有37個(gè)碼片的相位進(jìn)動(dòng),這是由將X2周期調(diào)整成比X1周期長(zhǎng)37個(gè)碼片而產(chǎn)生的??刂芚2A/X2B的原理基本上和控制X1A/X1B相同,但有2個(gè)區(qū)別:1)掛停信號(hào)不是像X1A/X1B一樣來自于X1歷元而是來自于周復(fù)位模塊,也就是說X2A/X2B每星期才暫停一次(發(fā)生在每個(gè)星期的結(jié)束時(shí)間段,即1.5 s的EOW時(shí)間段內(nèi)X2A/X2B歷元發(fā)生的時(shí)刻),而不是發(fā)生在每個(gè)歷元(即每個(gè)1.5 s)的時(shí)刻。2)恢復(fù)信號(hào)也是每星期一次(發(fā)生在每個(gè)星期的開始時(shí)間段,即1.5 s的SOW時(shí)間段內(nèi)),它發(fā)生在SOW時(shí)間段內(nèi)中的X2A歷元時(shí)刻之后的37個(gè)碼片。在這37個(gè)碼片時(shí)間段內(nèi),X2A/X2B均由暫停時(shí)鐘控制,使得它們?cè)谶@段時(shí)間內(nèi)保持不變。因此,X2移位寄存器的實(shí)際周期為15345037個(gè)碼片時(shí)間,比X1的要長(zhǎng)37個(gè)。在這里需要說明的是,EOW和SOW均來自周復(fù)位模塊。Z計(jì)數(shù)器的零狀態(tài)下的X1歷元被定義為當(dāng)前星期的開始(SOW),大約在星期六到星期天的午夜,這里午夜的定義是指調(diào)整宇宙時(shí)間(UTC)的零點(diǎn)也就是所謂的格林威治子午線時(shí)刻。而EOW則是SOW的前一個(gè)X1歷元。
P碼的發(fā)生是X1與X2的延時(shí)疊加而來,X2的延時(shí)不像C/A碼從移位寄存器上抽頭而來,而是直接經(jīng)過一個(gè)37位的移位寄存器,每位m序列的抽頭分別對(duì)應(yīng)37顆衛(wèi)星的PRN號(hào),因此每顆衛(wèi)星的X2碼延時(shí)輸出碼片時(shí)間就等于其PRN號(hào),使各個(gè)都能產(chǎn)生自己獨(dú)特的P碼序列。
2 P碼產(chǎn)生器設(shè)計(jì)
依據(jù)P碼產(chǎn)生方框圖,P碼產(chǎn)生模塊分為時(shí)鐘控制模塊、反饋移位寄存器組、譯碼截止模塊、3750/3749分頻模塊、Z計(jì)數(shù)器及周復(fù)位信號(hào)產(chǎn)生模塊、37位移位寄存器組。各個(gè)模塊功能如下:
1)時(shí)鐘控制模塊:依據(jù)控制信號(hào),定時(shí)控制X1B,X2A和X2B 3個(gè)移位寄存器工作,時(shí)鐘為系統(tǒng)時(shí)鐘10.23 MHz;
2)反饋移位寄存器組:分別實(shí)現(xiàn)4個(gè)12級(jí)線性反饋移位寄存器(X1A,X1B,X2A,X2B)的功能,根據(jù)反饋邏輯多項(xiàng)式各自生成輸出移位序列;實(shí)現(xiàn)過程中,直接設(shè)計(jì)觸發(fā)器的復(fù)位整合其初始化量,如初始化時(shí)該觸發(fā)器輸出為“1”,則直接設(shè)置其觸發(fā)器復(fù)位時(shí)輸出為“1”,省略初始化信號(hào)賦值模塊;
3)譯碼電路:根據(jù)各移位寄存器生成序列,對(duì)其輸出序列進(jìn)行截?cái)?,并產(chǎn)生復(fù)位信號(hào)使移位寄存器組復(fù)位到其初始狀態(tài);
4)Z計(jì)數(shù)器,周復(fù)位信號(hào)產(chǎn)生器:觸發(fā)為X1歷元,周時(shí)間計(jì)時(shí),并產(chǎn)生當(dāng)前星期的開始(SOW)和當(dāng)前星期的結(jié)束(EOW)信號(hào),供X2A和X2B兩個(gè)移位寄存器時(shí)鐘控制信號(hào)實(shí)現(xiàn)時(shí)鐘的暫停與恢復(fù)功能;
5)37位移位寄存器組:A和B移位寄存器的輸出(第12級(jí))由異或電路合并起來,形成X1序列,及C和D形成的X2序列,對(duì)X2組移位器寄存器產(chǎn)生序列進(jìn)行移位,移位與所需衛(wèi)星對(duì)應(yīng)的PRN號(hào)一致,輸出后與X1組序列再異或操作后,產(chǎn)生對(duì)應(yīng)PRN號(hào)的P碼。
3 P碼產(chǎn)生器仿真
依據(jù)表3中P碼的碼相位分配和碼序列初始段,得到衛(wèi)星PRN號(hào)為2的P碼數(shù)據(jù)前12個(gè)P碼片(八進(jìn)制)為4000,以此于仿真結(jié)果進(jìn)行驗(yàn)證。
如圖,為在Xilinx ISE 10.0中生成的PRN號(hào)為2號(hào)衛(wèi)星的P碼的仿真信號(hào)輸出圖,圖中P_code為P碼產(chǎn)生的序列,Select[5:0]為衛(wèi)星信號(hào)選擇輸入,在此為6’H02。
4 結(jié)論
通過對(duì)設(shè)計(jì)結(jié)果分析,可以看出P碼的長(zhǎng)周期,以及結(jié)構(gòu)復(fù)雜的特點(diǎn),也正是因此才保證其應(yīng)用在精測(cè)距、抗干擾及其保密性要求高的環(huán)境下,在P碼捕獲的過程中本地產(chǎn)生復(fù)現(xiàn)P碼,產(chǎn)生P碼周期內(nèi)指定PRN號(hào)衛(wèi)星任意時(shí)刻的P碼數(shù)據(jù),以解決在不借助短周期粗測(cè)距碼的引導(dǎo)下,對(duì)P碼實(shí)現(xiàn)直接快速捕獲。