徐 浩, 曾芳玲
(國(guó)防科技大學(xué)電子對(duì)抗學(xué)院,合肥 230037)
全球定位系統(tǒng)簡(jiǎn)稱GPS,提供的定位服務(wù)分為兩種,分別是由C/A碼調(diào)制的信號(hào)提供的標(biāo)準(zhǔn)定位服務(wù)(SPS),以及由P碼調(diào)制的信號(hào)提供的高精度定位服務(wù)(PPS)[1]。無(wú)論是通過(guò)C/A碼還是通過(guò)P碼進(jìn)行定位等服務(wù),首先必不可少的環(huán)節(jié)便是完成對(duì)碼的捕獲。C/A碼捕獲相對(duì)簡(jiǎn)單,而P碼因?yàn)橹芷陂L(zhǎng),捕獲較為困難,捕獲的時(shí)間也比較長(zhǎng),難以滿足實(shí)時(shí)性的要求。所以GPS接收機(jī)P碼捕獲技術(shù)的研究成為一直以來(lái)的研究重點(diǎn),目前也取得了一定的研究成果。
傳統(tǒng)的P碼捕獲方法,一般是通過(guò)首先捕獲C/A碼,然后根據(jù)接收到的C/A碼中包含的有效信息,進(jìn)行P碼的捕獲[2]。但是由于C/A碼容易受到外來(lái)干擾,一旦被干擾便無(wú)法再進(jìn)行P碼的捕獲,因此研究P碼的直接捕獲技術(shù)在GPS應(yīng)用特別是軍事應(yīng)用中是十分迫切的。目前,P碼的直接捕獲方法主要包括時(shí)域方法和頻域方法。時(shí)域捕獲方法包括不借助C/A碼而進(jìn)行P碼直接并行多通道捕獲的方法,雖然不會(huì)受C/A碼干擾的影響,但捕獲時(shí)間較長(zhǎng),捕獲速度很慢,難以滿足實(shí)時(shí)性的要求,并且時(shí)域相關(guān)要進(jìn)行大量的相關(guān)運(yùn)算,需要相當(dāng)多的硬件資源。
因此,從捕獲速度、資源利用等方面綜合考慮,P碼的直接捕獲方法研究主要集中在頻域。目前頻域的方法主要包括基于FFT的循環(huán)相關(guān)捕獲法、擴(kuò)展復(fù)制重疊法(XFAST)、均值法等方法[3]。頻域捕獲方法基本上均以FFT為基礎(chǔ),從根本上講都是基于FFT捕獲算法的優(yōu)化。
本文以上述均值捕獲方法和XFAST方法為基礎(chǔ),提出一種時(shí)頻融合的捕獲算法,其基本思想是對(duì)本地序列進(jìn)行擴(kuò)展復(fù)制重疊處理,在不影響相關(guān)度的基礎(chǔ)上擴(kuò)大搜索范圍,并對(duì)處理后的本地序列和接收序列進(jìn)行均值處理,以提高捕獲速度,同時(shí)在時(shí)域上對(duì)載波多普勒頻移進(jìn)行并行搜索。另外,對(duì)這種方法進(jìn)行了進(jìn)一步的優(yōu)化,并通過(guò)仿真分析證實(shí)優(yōu)化后的方法在捕獲時(shí)間上有了一定進(jìn)步。
P碼的碼周期很長(zhǎng),相關(guān)捕獲的時(shí)間也比較長(zhǎng),難以滿足實(shí)時(shí)性的要求[4]。所以P碼的快速直接捕獲方法主要集中在頻域,主要是采用頻域相乘代替時(shí)域的相關(guān)運(yùn)算,減少了運(yùn)算量,提高了捕獲速度。其主要的原理是基于信號(hào)的互相關(guān)、線性卷積以及循環(huán)卷積之間的關(guān)系[5]。對(duì)于兩個(gè)信號(hào)x(n)和h(n),它們之間的信號(hào)相關(guān)和信號(hào)FFT之間存在如下的關(guān)系
(1)
根據(jù)上述關(guān)系,現(xiàn)只需要進(jìn)行2次FFT和一次IFFT運(yùn)算,就能得到與信號(hào)相關(guān)同樣的結(jié)果,明顯地減少了運(yùn)算量、縮短了運(yùn)算時(shí)間。雖然采用FFT捕獲P碼相對(duì)于頻域相關(guān)捕獲來(lái)說(shuō)減少了運(yùn)算量,提高了捕獲的速度,但是P碼的長(zhǎng)周期使得直接采用FFT捕獲用時(shí)依然較長(zhǎng),因此在FFT的基礎(chǔ)上進(jìn)行一些處理,來(lái)進(jìn)一步提高捕獲速度。
擴(kuò)展復(fù)制重疊捕獲算法以FFT變換為基礎(chǔ)[6],其主要思想是將本地偽碼分成M段,每一段的長(zhǎng)度包含L個(gè)碼元,然后將這M段子碼段對(duì)應(yīng)位置進(jìn)行算術(shù)相加,得到1個(gè)新的重疊的碼段,這個(gè)碼段的長(zhǎng)度為L(zhǎng),但包含了原來(lái)長(zhǎng)為M×L的碼段的信息。圖1以M=4,L=4對(duì)主要原理進(jìn)行了解釋。
圖1 擴(kuò)展復(fù)制原理Fig.1 Extended replication principle
根據(jù)上述原理,將本地P碼分成M段,每段對(duì)應(yīng)位置相加得到新的重疊碼段,然后根據(jù)頻域捕獲原理進(jìn)行循環(huán)相關(guān),找到這個(gè)新的重疊碼和接收碼的最大相關(guān)結(jié)果G1。若相關(guān)結(jié)果大于門限值,便得到了接收碼在本地重疊偽碼中相對(duì)于段首的相對(duì)位置m,但此時(shí)并不確定是在哪段子碼段中。再將接收信號(hào)和每段子碼段在相對(duì)m的位置分別進(jìn)行頻域相關(guān)運(yùn)算,得到m個(gè)相關(guān)結(jié)果,找出最大相關(guān)峰值G2出現(xiàn)在哪個(gè)子碼段中,記為d,那么偽碼偏移的位置為(d-1)L+m。
擴(kuò)展復(fù)制重疊減少了FFT的點(diǎn)數(shù)和運(yùn)算量,相對(duì)于直接FFT方法,捕獲時(shí)間增加了很多。但是由于子碼段之間的疊加,增加了背景噪聲,而且可能產(chǎn)生峰值的多值性,因此,重疊子段數(shù)不能無(wú)限制增加。表1給出了該算法的仿真測(cè)試結(jié)果,其中,接收信號(hào)的參數(shù):信噪比為-12 dB,中頻頻率為20.46 MHz,l(l=2L)為每次FFT的點(diǎn)數(shù),M為擴(kuò)展段數(shù)。G1和G2分別表示上述過(guò)程的兩個(gè)相關(guān)峰值,不同之處在于采用的是最高峰值和平均峰值比例,以便于直觀地表示峰值的分辨能力;T1和T2分別表示1次搜索到和無(wú)峰值條件下搜索1 000 000碼片所用時(shí)間。
表1 XFAST捕獲算法處理結(jié)果
統(tǒng)計(jì)分析表明,M值越大,峰值不存在的情況下搜索時(shí)間相對(duì)越短,但峰值也越模糊,碼片誤差越大,捕獲越不準(zhǔn)確,因此XFAST在提高捕獲速度上能力也是有限的。
均值捕獲算法以循環(huán)相關(guān)理論為基礎(chǔ),它不僅使用循環(huán)相關(guān)的方法使搜索時(shí)間的覆蓋域擴(kuò)大,而且通過(guò)分段補(bǔ)零的方法很好地實(shí)現(xiàn)了頻域的碼多普勒頻移的補(bǔ)償[7]。其原理如圖2所示。
圖2 均值算法原理Fig.2 Principle of the mean algorithm
均值算法減少了FFT運(yùn)算的點(diǎn)數(shù),提高了處理的速度,但是平均的碼段越長(zhǎng),其碼相位偏移越大,峰值捕獲的性能越差,因此平均的碼段長(zhǎng)度不能過(guò)長(zhǎng),這就在時(shí)間域上限制了檢索范圍。表2給出了相同仿真參數(shù)下的分析結(jié)果,其中,i為均值的點(diǎn)數(shù),G1,G2,T1和T2表示的意義與表1相同。
表2 均值捕獲算法處理結(jié)果
經(jīng)統(tǒng)計(jì)分析,i值越大,單次運(yùn)行時(shí)間越長(zhǎng),峰值不存在的情況下搜索時(shí)間相對(duì)越短,但峰值也越模糊,碼片誤差越大,捕獲越不準(zhǔn)確。因此均值點(diǎn)數(shù)受到限制,捕獲速度提高的水平也受到限制。
擴(kuò)展復(fù)制重疊捕獲算法可以擴(kuò)大搜索的范圍,理論上重疊的段數(shù)越多,捕獲速度越快,但是由于背景噪聲對(duì)峰值的影響,段數(shù)過(guò)多又會(huì)影響捕獲成功率[8]。而均值捕獲方法可以提高相關(guān)處理速度,理論上均值的點(diǎn)數(shù)越多捕獲速度越快,但點(diǎn)數(shù)過(guò)多同樣會(huì)使峰值模糊,捕獲成功率下降。為此,本文提出一種時(shí)頻融合捕獲法,結(jié)合以上兩種方法的優(yōu)勢(shì),以達(dá)到更優(yōu)更快的捕獲效果。其基本思想是對(duì)本地序列進(jìn)行擴(kuò)展復(fù)制重疊處理,目的是在不影響相關(guān)度的基礎(chǔ)上擴(kuò)大搜索范圍,然后對(duì)處理之后的本地信號(hào)以及接收信號(hào)進(jìn)行均值處理,以提高捕獲速度,同時(shí)在時(shí)域上進(jìn)行載波的多普勒頻移的并行搜索。其捕獲主要過(guò)程如圖3所示。
圖3 時(shí)頻融合捕獲流程Fig.3 Time-frequency fusion capture process
該算法的原理可行性分析如下。
將一個(gè)長(zhǎng)為L(zhǎng)的接收P碼序列表示為A={a1,a2,…,aL},對(duì)該序列補(bǔ)L個(gè)零,并且每i個(gè)碼元取均值,得到序列
(2)
相應(yīng)地,取長(zhǎng)為2L×M的本地偽碼樣本記為B={b1,b2,…,b2L×M},將其分成M段,每段長(zhǎng)為2L,然后將這M段對(duì)應(yīng)位置相加后,每i個(gè)碼元取均值,可得到序列
(3)
假定偽碼的偏移量為0,即假設(shè)接收的序列A和序列B在起始位置就達(dá)到同步,根據(jù)P碼良好的自相關(guān)特性,只有碼元對(duì)齊的情況下兩個(gè)碼元{a1b1,a2b2,…,aLbL}的相關(guān)值不為0,其余相關(guān)值均為無(wú)窮小量。那么將序列A′和B′進(jìn)行相關(guān)運(yùn)算,也只有在偏移量為0的情況下存在{a1b1,a2b2,…,aLbL}項(xiàng),才存在最大峰值,這和原序列的運(yùn)算一致,是尋找碼片偏移的原理。然后根據(jù)展開后每段本地樣本和接收信號(hào)的相關(guān)值,找到具體的碼元頻偏段數(shù),從而最終確定碼片偏移位置。
具體的處理過(guò)程如下。
1) 將接收信號(hào)中頻處理后,以適當(dāng)?shù)乃俾?、載波頻率進(jìn)行A/D采樣和緩存,生成一個(gè)長(zhǎng)為L(zhǎng)的樣本G′={g1,g2,…,gL}(L=i×k)。
2) 取L長(zhǎng)的接收信號(hào),并對(duì)其進(jìn)行補(bǔ)L個(gè)零操作,這樣得到一個(gè)長(zhǎng)為2L的樣本,將其記為G″={g1,g2,…,g2L}(gL+1,gL+2,…,g2L=0),對(duì)該樣本每i個(gè)碼元求均值,得到一個(gè)新的2K長(zhǎng)的樣本,記為
G=gq[p]{gq=(g(p-1)i+1+g(p-1)i+2+…+gpi)÷i,p=1,…,2k}2L=i×2k。
(4)
3) 取一定偏移量的長(zhǎng)為2L×M的本地?cái)U(kuò)頻偽碼樣本,將其分成M段,并且將這M段碼元對(duì)應(yīng)位置相加,得到一個(gè)長(zhǎng)為2L的樣本。然后再對(duì)這個(gè)樣本進(jìn)行類似第2)步中的均值運(yùn)算處理,得到長(zhǎng)為2k的樣本
(5)
4) 對(duì)G進(jìn)行FFT運(yùn)算,并取共軛;對(duì)F進(jìn)行FFT運(yùn)算;將兩者處理后的結(jié)果相乘,然后進(jìn)行FFT反變換,對(duì)結(jié)果取絕對(duì)值,即得到相關(guān)結(jié)果。對(duì)相關(guān)結(jié)果進(jìn)行采樣,并對(duì)2k長(zhǎng)度內(nèi)的各峰值進(jìn)行比較,若超過(guò)門限則繼續(xù)執(zhí)行,否則,返回重新產(chǎn)生后的本地偽碼序列。
5) 去除模糊度,主要包括去除重疊模糊度和均值模糊度。
時(shí)頻融合捕獲算法結(jié)合了均值法和擴(kuò)展復(fù)制重疊兩種方法的優(yōu)點(diǎn),進(jìn)一步提高了捕獲速度和捕獲精度。但在對(duì)多普勒頻移的搜索過(guò)程中,采用在不同的本地載波偏移下分別進(jìn)行捕獲的驗(yàn)證方法,獲得最小相關(guān)峰值衰減時(shí)的頻移,完成多普勒補(bǔ)償。但是這種方法增加了捕獲的搜索量,尤其在高動(dòng)態(tài)的情況下使捕獲的速度變得很慢,因此需要做進(jìn)一步的優(yōu)化。
為了進(jìn)一步提高捕獲速度,根據(jù)時(shí)域復(fù)指數(shù)相乘等于頻域偏移的原理,通過(guò)移動(dòng)頻域數(shù)據(jù)序列對(duì)多普勒的搜索進(jìn)行補(bǔ)償。這種方法不需要在各個(gè)本地載波頻率偏移下分別進(jìn)行FFT變換,簡(jiǎn)化了計(jì)算過(guò)程,減小了頻域變換的計(jì)算量,提高了捕獲速度,具體的捕獲過(guò)程如圖4所示。
圖4 優(yōu)化算法的捕獲過(guò)程Fig.4 Capture process of the optimization algorithm
其主要處理方法是將2.1節(jié)中的接收序列G進(jìn)行FFT變換,然后根據(jù)多普勒搜索的范圍,按照頻率搜索精度,將接收信號(hào)的FFT變換序列進(jìn)行N次移位,這樣就可以產(chǎn)生N個(gè)不同的多普勒補(bǔ)償后的接收信號(hào)的FFT變換序列。之后將補(bǔ)償后的序列取共軛后同本地處理后的序列相乘,并對(duì)其乘積進(jìn)行IFFT變換,最后進(jìn)行相關(guān)峰值的比較,判定捕獲的結(jié)果,直到完成捕獲。
對(duì)算法的捕獲結(jié)果以及效能的分析是利用Matlab平臺(tái),對(duì)優(yōu)化后P碼的直接捕獲算法的捕獲結(jié)果進(jìn)行仿真,并根據(jù)不同捕獲方法多次捕獲過(guò)程的統(tǒng)計(jì)分析。仿真參數(shù)設(shè)定:信噪比為-12 dB,中頻頻率為20.46 MHz,截短碼長(zhǎng)為2048。其優(yōu)化算法的捕獲結(jié)果如圖5所示。
圖5 捕獲的相關(guān)峰值和歸一化峰值Fig.5 Captured correlation peaks and normalized peaks
表3、表4分別是時(shí)頻融合算法及其優(yōu)化算法捕獲結(jié)果的統(tǒng)計(jì)分析。
表3 時(shí)頻融合算法捕獲結(jié)果
表4 優(yōu)化算法捕獲結(jié)果
表5是擴(kuò)展復(fù)制重疊捕獲算法、均值捕獲算法、時(shí)頻融合算法以及時(shí)頻融合優(yōu)化后的捕獲算法在同等參數(shù)設(shè)置情況下的捕獲結(jié)果。
表5 不同捕獲方法在同等參數(shù)下的性能比較
根據(jù)捕獲性能的統(tǒng)計(jì)分析,時(shí)頻融合算法雖然單次運(yùn)行時(shí)間T1相對(duì)擴(kuò)展復(fù)制重疊算法和均值算法較長(zhǎng),但是這種相差很小,只是幾秒的差別。然而就總體的捕獲時(shí)間T2來(lái)看,時(shí)頻融合算法較擴(kuò)展復(fù)制重疊算法捕獲時(shí)間縮短了一個(gè)數(shù)量級(jí),較均值算法也縮短了50%左右,捕獲速度有了很大的提高。從多普勒誤差來(lái)看,時(shí)頻融合算法較擴(kuò)展復(fù)制重疊算法誤差要小一個(gè)數(shù)量級(jí),精度有了很大提高。并且通過(guò)對(duì)優(yōu)化算法和時(shí)頻融合算法的對(duì)比可以發(fā)現(xiàn),優(yōu)化算法的單次運(yùn)行時(shí)間T1和總體捕獲時(shí)間T2較時(shí)頻融合算法有一定進(jìn)步,取得了優(yōu)化效果,達(dá)到快捕的目的。
本文主要對(duì)P碼的直接捕獲算法進(jìn)行研究和分析,提出了一種結(jié)合均值法和擴(kuò)展復(fù)制重疊法兩種方法的時(shí)頻融合捕獲算法,對(duì)其進(jìn)行了Matlab模擬仿真試驗(yàn),并且對(duì)算法進(jìn)行了進(jìn)一步的優(yōu)化,通過(guò)對(duì)模擬實(shí)驗(yàn)結(jié)果的統(tǒng)計(jì)分析,證實(shí)了優(yōu)化后的算法在捕獲速度和精度上都有很大的提高,滿足現(xiàn)在P碼直接捕獲的快速性要求。