劉 寧,劉雪瑞
(61365部隊(duì),天津300142)
隨著軟件無線電技術(shù)的發(fā)展,基于軟件結(jié)構(gòu)的GPS接收機(jī)正越來越受到人們的重視。與硬件接收機(jī)相比,軟件接收機(jī)成本低,靈活性好,開發(fā)周期短,具有高度的可配置性。要利用GPS衛(wèi)星信號進(jìn)行導(dǎo)航定位,接收機(jī)首先要捕獲GPS衛(wèi)星信號。本文討論了GPS軟件接收機(jī)數(shù)字中頻信號的快速捕獲原理,分析了初始捕獲后精確載波頻率的獲取方法,并對該方法進(jìn)行了改進(jìn),提高了軟件接收機(jī)捕獲模塊中載波頻率的精度。
GPS信號的捕獲是一個(gè)二維的搜索過程,需要復(fù)現(xiàn)本地C/A碼和載波,然后和輸入信號作相關(guān)獲取最大值[1-2]。基于快速傅里葉變換(FFT)的并行碼相位搜索捕獲方法是對碼相位進(jìn)行并行搜索。首先通過傅立葉變換使處理過程由時(shí)域變?yōu)轭l域,使時(shí)域中的相關(guān)運(yùn)算變換到頻域中的乘法運(yùn)算,然后再通過逆傅立葉變換得到時(shí)域的相關(guān)運(yùn)算結(jié)果。此方法稱之為循環(huán)相關(guān)法,其數(shù)學(xué)模型如式(1)所示:
式中:y[m]表示接收的信號數(shù)據(jù);CA[m]表示本地復(fù)現(xiàn)的信號;DFT和IDFT分別表示快速傅里葉變換及逆變換;*表示取復(fù)數(shù)的共軛;R[m]表示相應(yīng)的接收信號與本地復(fù)現(xiàn)信號間的相關(guān)值。找出所有R[m]幅值中的最大值,如果這個(gè)最大值大于預(yù)先設(shè)定的門限值,那么信號就捕獲成功。
由1 ms數(shù)據(jù)捕獲得到的頻率分辨率大約是1 kHz,這對于跟蹤環(huán)來說過于粗糙,需要的頻率分辨率應(yīng)當(dāng)在幾十赫茲以內(nèi)[3]。采用長的數(shù)據(jù)進(jìn)行捕獲,可以提高頻率分辨率,但長數(shù)據(jù)的FFT運(yùn)算量大,非常耗時(shí),而且長數(shù)據(jù)段內(nèi)C/A碼發(fā)生相移的可能性相對要高。
通過相位關(guān)系可以得到精確載波頻率[4]。為了將C/A碼從輸入信號中剝離掉,根據(jù)捕獲得到的C/A碼初始相位和載波頻率(1 kHz分辨率)生成本地復(fù)現(xiàn)信號,并與輸入信號相乘(即作DFT運(yùn)算),輸出信號可以表示為
式中:M為累加的采樣值點(diǎn)數(shù);A為信號的幅度;R(?)為PRN碼的自相關(guān)函數(shù);Δ τ為輸入信號與本地復(fù)現(xiàn)信號C/A碼相位偏差;T為積分累加時(shí)間;Δ f為輸入信號與本地復(fù)現(xiàn)信號的頻差;Δ φ為初始相位差。此時(shí),C/A碼已從輸入信號中剝離掉,輸出信號r(t)為cw信號,通過相位關(guān)系就可以求得精確頻差 Δ f.
如果m時(shí)刻的輸入信號與本地復(fù)現(xiàn)信號相乘,輸出信號r(t)在m時(shí)刻的初始相位可由式(3)得到
式中,Im和Re分別表示復(fù)數(shù)的虛部和實(shí)部。因?yàn)樵诙虝r(shí)間內(nèi)輸入信號的頻率變化不大,忽略短時(shí)間內(nèi)的頻率變化,相同的初始捕獲頻率,對應(yīng)的頻差Δ f可以看作是定值。在m時(shí)刻之后間隔不長的n時(shí)刻,輸出信號r(t)在n時(shí)刻的初始相位為
利用這兩個(gè)相位角可得到精確的頻差[5]
由此式得到的頻率分辨率比DFT得到的要精確得多。為了保證得到的頻差不模糊,相位差θnθm必須小于2π,即相位差不能存在整周模糊度。如果用間隔1 ms的兩段數(shù)據(jù)求取精確頻差,捕獲得到的載波頻率與輸入信號的頻率之差就應(yīng)小于1 kHz。
但是,實(shí)際問題要復(fù)雜一些。因?yàn)樵趦山M相鄰數(shù)據(jù)中,導(dǎo)航數(shù)據(jù)可能會(huì)引起180°的相移,這時(shí)就不能把輸出信號看作cw信號。這就會(huì)將1 ms時(shí)延數(shù)據(jù)的模糊帶寬限制在 250 Hz。如果頻偏±250 Hz,1 ms時(shí)延對應(yīng)的相位差是±π/2。如果頻偏+250 Hz,對應(yīng)的相位差是+π/2,然而,由導(dǎo)航數(shù)據(jù)產(chǎn)生的π相移將把相位角變?yōu)?π/2(+π/2-π),這對應(yīng)于頻偏-250 Hz的情形。如果在確定精確頻率時(shí)不考慮相位跳變的話,結(jié)果會(huì)有500 Hz的頻偏。為了避免這種情況,最大頻差必須小于250Hz.如果最大頻差限制在±200 Hz,相應(yīng)的相位差就是±2π/5,若存在 180°相移,相差就是3π/5,大于2π/5。因此,相差可用來在不產(chǎn)生誤差頻移的情況下,確定精確頻率[1]。
從以上分析可以看出,要獲得精確載波頻率,首先要將載波頻率的分辨率從1 kHz提高到400 Hz,即使頻率精度保持在200 Hz以內(nèi)。文獻(xiàn)[1]中的方法是對同1 ms數(shù)據(jù)進(jìn)行兩個(gè)DFT操作(信號相乘),一個(gè)比初始捕獲頻率值低400 Hz,另一個(gè)高400 Hz.然后將三個(gè)輸出幅值中最大值所對應(yīng)的頻率作為新的載波頻率。由于噪聲的影響,三個(gè)幅值中的最大值很可能并不對應(yīng)頻差最小的頻率,此時(shí)的頻率偏差將大于400 Hz,得到的相位差大于2π/5,并且越修正越大。為了使頻率精度精確地保持在200 Hz以內(nèi),本文采用對同一連續(xù)5 ms的數(shù)據(jù)進(jìn)行相干積分,然后取累加后的三個(gè)幅值中的最大值所對應(yīng)的頻率作為新的載波頻率。由于采用了相干積分,消弱了噪聲的影響,使得載波頻率能夠精確地保持在200 Hz以內(nèi)。
實(shí)驗(yàn)首先用模擬的兩組GPS信號來實(shí)現(xiàn)基于FFT的并行碼相位搜索捕獲,并用上述算法進(jìn)行頻率精化。仿真產(chǎn)生GPS中頻數(shù)據(jù)的主要參數(shù)為:衛(wèi)星號為21,采樣率5 MHz,中頻1.25 MHz,多普勒頻移-1455 Hz,C/A碼初始相位為2151。為了分析算法性能,模擬產(chǎn)生兩組GPS信號,一組為加高斯白噪聲的弱信號;一組為不加噪聲的強(qiáng)信號。捕獲采用的數(shù)據(jù)長度為1 ms,圖1為捕獲結(jié)果。
圖1(a)為弱信號得到的捕獲結(jié)果,噪聲很大,效果不明顯;圖1(b)為強(qiáng)信號得到的捕獲結(jié)果,噪聲很小,峰值高出圖1(a)很多,效果明顯。
模擬信號采樣率為5 MHz,1 ms對應(yīng)5000個(gè)數(shù)據(jù)點(diǎn)??紤]到接收機(jī)的實(shí)時(shí)性,為了減少捕獲過程中的運(yùn)算量和實(shí)現(xiàn)的復(fù)雜度,采用的捕獲方案不直接對5 MHz的數(shù)據(jù)點(diǎn)做FFT,而是先以2.048 MHz對數(shù)據(jù)進(jìn)行二次采樣,變成一個(gè)點(diǎn)數(shù)較少的,為2的n次冪的點(diǎn)序列,以便于進(jìn)行基2的FFT運(yùn)算。此時(shí),1 ms對應(yīng)2048個(gè)數(shù)據(jù)點(diǎn)。二次采樣后,C/A碼仍然具有良好的自相關(guān)性,保證了捕獲的順利進(jìn)行[2],但捕獲靈敏度會(huì)有所降低。在圖1中,捕獲的C/A碼初始碼相位為881,對應(yīng)于 5 MHz的原始數(shù)據(jù)為2151(881×5/2.048)。表1列出了捕獲過程得到的初始載波頻率和頻率精化后的載波頻率:
表1 模擬信號捕獲及頻率精化結(jié)果
從表1中可以看出,捕獲得到的初始載波頻率與精確載波頻率(1248545 Hz)差-455 Hz.對于弱信號,經(jīng)頻率精化后的載波頻率與精確頻率差19.8 Hz;對于強(qiáng)信號,頻差為0 Hz,得到了精確的載波頻率。由此可見,根據(jù)相位關(guān)系的頻率精化方法可以將捕獲的載波頻率精度提高到幾十個(gè)赫茲以內(nèi),符合一般信號的跟蹤需求。
圖1 模擬GPS信號捕獲結(jié)果對比
本實(shí)驗(yàn)處理的數(shù)據(jù)來自于由前端硬件采集的實(shí)測數(shù)據(jù),采樣頻率為38.192 MHz,中頻(IF)為9.548 MHz,總共有8顆可見衛(wèi)星。下面以其中的兩顆衛(wèi)星來進(jìn)行捕獲實(shí)驗(yàn),分別為18號星和21號星。捕獲采用的數(shù)據(jù)長度為1 ms.同樣,捕獲過程中對中頻信號進(jìn)行了二次采樣,由每毫秒38192個(gè)數(shù)據(jù)點(diǎn)重采樣成2048個(gè)數(shù)據(jù)點(diǎn)進(jìn)行捕獲。圖2為兩顆星的捕獲結(jié)果:
從圖2的對比中可以看出,21號星受到噪聲的影響比18號星大一些,信噪比要比18號星低。表2列出了初始捕獲后得到的C/A碼初始碼相位和初始載波頻率以及進(jìn)行頻率精化后得到的載波頻率:
圖2 實(shí)測數(shù)據(jù)捕獲結(jié)果對比
表2 實(shí)測數(shù)據(jù)捕獲及頻率精化結(jié)果
從表2中可以很直觀地看到精確的載波頻率和初始的載波頻率相差多達(dá)幾百赫茲,可見初始捕獲得到的載波頻率是不滿足后續(xù)跟蹤模塊要求的。
為了檢測經(jīng)頻率精化后得到的載波頻率是否符合信號跟蹤模塊的需求,本文以精化后的載波頻率作為跟蹤模塊的輸入,分別對18號星和21號星進(jìn)行了跟蹤實(shí)驗(yàn),圖3為起始600 ms的跟蹤輸出結(jié)果:
圖3 實(shí)測數(shù)據(jù)跟蹤輸出對比
從圖3中可以看出,跟蹤模塊以頻率精化后得到的頻率作為輸入,成功地跟蹤上了18號星和21號星的信號,說明經(jīng)頻率精化后得到的精確頻率滿足跟蹤模塊的需求,以上述方法對初始捕獲后得到的載波頻率進(jìn)行精化的方法是可行的。圖3中18號星和21號星跟蹤輸出的差異在于18號星從一開始就平穩(wěn)地跟蹤上了,而21號星雖然開始也跟蹤上了,但跟蹤輸出有些波動(dòng),隨后才趨于平穩(wěn)。這是因?yàn)?1號星信號噪聲比18號星要大些,在噪聲的影響下,頻率精化得到的載波頻率精度沒有18號星的載波頻率精度高。
基于FFT的并行碼相位搜索捕獲算法可以快速地捕獲到GPS信號。在獲得C/A碼初始相位和載波頻率后,通過相位關(guān)系可以得到精細(xì)頻偏,從而獲得更精確的載波頻率,可以滿足GPS跟蹤模塊對一般信號的跟蹤需求。
[1] James Bao-Yen T.Fundamentals of global positioning system receivers:A software approach[M].2 ed.John Wiley&Sons.Inc,2005.
[2] 唐 斌.衛(wèi)星導(dǎo)航軟件接收機(jī)關(guān)鍵技術(shù)研究[D].北京:裝備指揮技術(shù)學(xué)院,2007.
[3] 李作虎.GPS軟件接收機(jī)技術(shù)仿真實(shí)驗(yàn)研究[D].鄭州:信息工程大學(xué),2008.
[4] 徐衛(wèi)明,劉雁春,朱穆華.GPS中頻信號快速捕獲技術(shù)分析[J].測繪科學(xué),2007,32(5):98-100.
[5] 高潔雯,柳林濤,楊 光.基于軟件實(shí)現(xiàn)GPS信號捕獲以及獲取精確載波頻率[J].測繪科學(xué),2007,32(5):14-16.