顧建華,嚴(yán)國(guó)軍,楊久東
(1.鹽城工業(yè)職業(yè)技術(shù)學(xué)院,江蘇 鹽城 224000;2.華北理工大學(xué)礦業(yè)工程學(xué)院,河北 唐山 063210)
全球定位系統(tǒng)(Global Positioning System,GPS)實(shí)現(xiàn)了在地球任何地方都可以享用實(shí)時(shí)、可靠、精確的定位服務(wù),而GPS接收機(jī)是其實(shí)現(xiàn)精確快速定位的關(guān)鍵,相比硬件接收機(jī),軟件接收機(jī)將所有信號(hào)處理過程都移植到可編程的微處理器中實(shí)現(xiàn),具有靈活性高、可擴(kuò)展性強(qiáng)和升級(jí)方便等顯著優(yōu)勢(shì)[1]。
通常情況下,GPS軟件接收機(jī)包括射頻前端模塊、ADC模塊、捕獲模塊、跟蹤模塊和導(dǎo)航電文解算模塊。其中捕獲模塊是后續(xù)跟蹤模塊和電文解算模塊的基礎(chǔ),直接影響GPS軟件接收機(jī)性能。捕獲模塊的功能是確定可見衛(wèi)星并粗略估計(jì)可見衛(wèi)星GPS信號(hào)的C/A碼相位和多普勒頻偏,為后續(xù)信號(hào)跟蹤和位置解算提供支持。隨著GPS技術(shù)應(yīng)用范圍的不斷擴(kuò)展,弱信號(hào)條件下(隧道、森林以及室內(nèi)等)的GPS定位技術(shù)得到了廣泛的關(guān)注,具有高靈敏度的GPS信號(hào)捕獲成為了熱點(diǎn)研究問題[2-4]。
對(duì)于一個(gè)特定可見的衛(wèi)星而言,GPS信號(hào)捕獲問題就是一個(gè)在信號(hào)多普勒頻率域和C/A碼相位域的二維搜索問題。早期GPS接收機(jī)通常采用滑動(dòng)相關(guān)捕獲算法,運(yùn)算量很大,捕獲時(shí)間較長(zhǎng)[5]。為提高捕獲速度,基于FFT的并行快速捕獲框架被提出,這包括碼相位域并行捕獲算法和載波域并行捕獲算法。并行捕獲算法的捕獲速度得到很大提升,但這并沒有解決弱信號(hào)條件下的信號(hào)捕獲問題[6-10]。為此相干累積、非相干累積和差分相干累積相繼被應(yīng)用到GPS信號(hào)捕獲中[11]。相干累積就是將連續(xù)多個(gè)相關(guān)量進(jìn)行疊加,以改善信號(hào)質(zhì)量、提高處理增益,但由于導(dǎo)航信號(hào)相位跳變相干累積時(shí)間不能超過20 ms,且會(huì)受到頻率偏差的影響。非相干累積平方運(yùn)算帶來了正比于累積次數(shù)的增益損耗,在弱信號(hào)環(huán)境下性能不佳[12-13]。差分相干累積將相鄰段的相關(guān)量進(jìn)行內(nèi)積運(yùn)算后再進(jìn)行累積,不受累積時(shí)間限制,不存在平方損耗,且已經(jīng)證明差分相干累積能夠適應(yīng)很大的頻率偏差,但差分相干累積對(duì)信噪比的改善效果不佳。
在已有研究基礎(chǔ)上,文中在不增加運(yùn)算量的基礎(chǔ)上實(shí)現(xiàn)高靈敏度GPS信號(hào)捕獲,并采用實(shí)際數(shù)據(jù)和仿真數(shù)據(jù)對(duì)捕獲算法進(jìn)行驗(yàn)證。
進(jìn)入GPS軟件接收機(jī)的衛(wèi)星信號(hào)經(jīng)RF前端混頻處理和AD采樣處理后,數(shù)字基帶信號(hào)表示為[3]
其中,A表示信號(hào)幅度;tn表示采樣后的時(shí)間序列;Dk(tn)表示GPS導(dǎo)航電文數(shù)據(jù)序列,間隔20 ms在±1中隨機(jī)取值;C(ktn)代表衛(wèi)星的偽隨機(jī)編碼,即要捕獲的C/A碼;代表C/A碼的起始碼相位;η代表多普勒頻偏C/A碼相位的影響因子;ωIF為混頻后輸出的中頻頻率;ωD為GPS接收機(jī)與衛(wèi)星之間相對(duì)運(yùn)動(dòng)產(chǎn)生的多普勒頻偏;φ0代表初始相位;v(tn)代表加性高斯白噪聲。忽略電離層的影響,影響因子與多普勒頻偏之間存在以下關(guān)系[3]
C/A碼捕獲即為根據(jù)采樣后的數(shù)字基帶信號(hào)估計(jì)出碼起始碼相位和多普勒頻偏ωD,支持后續(xù)信號(hào)跟蹤和導(dǎo)航電文解算。例如要捕獲第k顆衛(wèi)星信號(hào),首先在軟件接收機(jī)中分別復(fù)制出該衛(wèi)星C/A碼中頻信號(hào)的同向分量和正交分量
將本地復(fù)制的同向載波與正交載波分別與GPS軟件接收機(jī)的中頻信號(hào)進(jìn)行相關(guān)運(yùn)算后可得
將相關(guān)后的兩路信號(hào)組成復(fù)信號(hào)
忽略影響因子η的影響,可以化簡(jiǎn)為
為減小運(yùn)算復(fù)雜度,可以基于FFT并行實(shí)現(xiàn)快速捕獲,接收信號(hào)與本地復(fù)制信號(hào)間的自相關(guān)為[6]
FFT并行捕獲的模值峰值大于給定門限,則捕獲成功,并輸出峰值對(duì)應(yīng)的碼相位和多普勒頻偏;反之,按設(shè)定的頻率間隔對(duì)多普勒頻率進(jìn)行移位操作,繼續(xù)提取峰值、捕獲信號(hào)。
由式(8)可知,要提高GPS信號(hào)捕獲靈敏度,就要減少C/A碼相位的自相關(guān)損耗,即的損耗。根據(jù)C/A碼自相關(guān)函數(shù)特性可知,越小,碼相位的估計(jì)值越接近真實(shí)值,的損耗就越小。因此,高靈敏度捕獲要求以很小的時(shí)間步進(jìn)行碼相位域搜索,即采用很高的采樣頻率,這將導(dǎo)致捕獲過程的計(jì)算量呈現(xiàn)指數(shù)增長(zhǎng)。
采用平均相關(guān)技術(shù)降低自相關(guān)損耗。首先對(duì)高速采樣的接收信號(hào)進(jìn)行分組,然后將分組信號(hào)分別與本地分組信號(hào)進(jìn)行相關(guān)運(yùn)算完成捕獲。信號(hào)分組示意圖如圖1所示,采樣后每個(gè)碼片內(nèi)包含M個(gè)采樣點(diǎn),將M個(gè)采樣點(diǎn)作為一個(gè)預(yù)設(shè)碼片,提取各個(gè)預(yù)設(shè)碼片的第1個(gè)采樣點(diǎn)構(gòu)成第1組信號(hào),依次提各個(gè)預(yù)設(shè)碼片內(nèi)后續(xù)采樣點(diǎn),形成M組接收信號(hào)。
圖1 平均分組示意圖
將本地復(fù)制信號(hào)進(jìn)行同樣分組處理后,經(jīng)過FFT和IFFT獲得M組相關(guān)結(jié)果,在M組結(jié)果中提取峰值進(jìn)行信號(hào)捕獲。
平均相關(guān)既實(shí)現(xiàn)了對(duì)高采樣頻率下信號(hào)的高靈敏度捕獲,又兼顧了運(yùn)算量。下面定量分析一下平均相關(guān)與傳統(tǒng)相關(guān)在信號(hào)捕獲時(shí)的自相關(guān)損耗,假設(shè)C/A碼為矩形碼片,碼片寬度為T,當(dāng)時(shí),C/A碼的自相關(guān)函數(shù)可以表示為
傳統(tǒng)相關(guān)捕獲算法的碼搜索步長(zhǎng)通常為碼片寬度的一半,此時(shí)碼片誤差,C/A碼自相關(guān)函數(shù)損耗為
當(dāng)采用平均相關(guān)捕獲時(shí),假設(shè)經(jīng)過高精度采樣后,碼搜索步長(zhǎng)是Tc/32,此時(shí)碼片誤差,則C/A碼自相關(guān)函數(shù)的損耗為
可見,相比傳統(tǒng)捕獲算法,平均相關(guān)的自相關(guān)損耗大約改善了約2.4 dB。
GPS接收信號(hào)的多普勒頻偏,不但要求接收機(jī)對(duì)載頻進(jìn)行步進(jìn)搜索捕獲,而且還會(huì)影響C/A碼的周期,影響關(guān)系如式(2)所示。多普勒頻偏就會(huì)使得C/A碼疊加結(jié)果存在誤差,影響捕獲性能,必須對(duì)多普勒頻偏進(jìn)行補(bǔ)償??梢园凑帐剑?3)對(duì)本地復(fù)制的GPS信號(hào)進(jìn)行線性插值,矯正多普勒頻偏對(duì)C/A碼相位的影響。
此外,頻率的影響還體現(xiàn)在本地復(fù)制信號(hào)的頻點(diǎn)搜索步長(zhǎng)中
自相關(guān)峰值與載頻誤差呈現(xiàn)辛格函數(shù)關(guān)系,頻點(diǎn)搜索步長(zhǎng)越小,自相關(guān)峰值的誤差就越小,但搜索步長(zhǎng)越小,搜索次數(shù)增加,計(jì)算量增加。因此,實(shí)際應(yīng)用中,要綜合考慮捕獲靈敏度與捕獲速度的關(guān)系,根據(jù)需要合理選擇頻率搜索步長(zhǎng)。
相關(guān)運(yùn)算采用FFT完成,顯著降低了相關(guān)運(yùn)算的耗時(shí),但是當(dāng)進(jìn)行高采樣速度和小頻率步進(jìn)的高靈敏度信號(hào)捕獲時(shí),基于FFT的運(yùn)算量也是相當(dāng)可觀的,需要進(jìn)一步降低捕獲過程的耗時(shí)。
通過前文的分析,減少相關(guān)運(yùn)算的計(jì)算量可以降低整個(gè)GPS信號(hào)捕獲的計(jì)算量。為此采用一種疊加相關(guān)運(yùn)算方法。疊加相關(guān)運(yùn)算的基本思想是,首先對(duì)需要相關(guān)運(yùn)算的信號(hào)進(jìn)行疊加處理,然后再利用FFT完成相關(guān)運(yùn)算。設(shè)xp(tn)為平均分組后的某一組需要進(jìn)行相關(guān)運(yùn)算的GPS接收信號(hào),信號(hào)時(shí)長(zhǎng)為1 ms,y(tn)為本地復(fù)制的包含同向載波和正交載波的C/A碼信號(hào),則此次相關(guān)運(yùn)算可以表示為[10]
其中,Xp(k)、Y(k)分別表示xp(tn)、y(tn)的FFT。
設(shè)信號(hào)的相關(guān)累積長(zhǎng)度為P ms,則共需要進(jìn)行P次相關(guān)累加
先對(duì)需要累加的C/A碼周期信號(hào)進(jìn)行疊加,然后基于FFT實(shí)現(xiàn)相關(guān)累加,只需一次相關(guān)運(yùn)算和少量累加運(yùn)算就可以取得多次相關(guān)運(yùn)算所取得的結(jié)果,顯著降低了相關(guān)累加的計(jì)算復(fù)雜度。
如果降低頻率搜索計(jì)算復(fù)雜度,將會(huì)進(jìn)一步降低捕獲時(shí)間。為此,本文采用頻域循環(huán)移位代替時(shí)域頻率步進(jìn)補(bǔ)償?shù)姆椒?,降低頻率搜索過程耗時(shí)。
由于接收信號(hào)中含有多普勒頻偏,因此,需要對(duì)接收信號(hào)進(jìn)行頻率步進(jìn)補(bǔ)償搜索,每個(gè)步進(jìn)補(bǔ)償頻率均需要與本地復(fù)制信號(hào)進(jìn)行自相關(guān),頻率補(bǔ)償?shù)慕邮招盘?hào)可以表示為[3]
式中,q 為補(bǔ)償?shù)亩嗥绽疹l偏,x(tn,q)與本地復(fù)制信號(hào)自相關(guān)的FFT形式可以表示為
式中,X(k+q)表示信號(hào) FFT 的循環(huán)移位。式(18)表明,對(duì)接收信號(hào)進(jìn)行頻率補(bǔ)償?shù)葍r(jià)于信號(hào)FFT的循環(huán)移位。因此,只需在計(jì)算出接收信號(hào)的FFT后,對(duì)FFT結(jié)果進(jìn)行循環(huán)移位就能實(shí)現(xiàn)頻率步進(jìn)補(bǔ)償搜索,可以頻率搜索過程的時(shí)間消耗。
為了進(jìn)一步提高捕獲靈敏度,還需對(duì)相關(guān)后的結(jié)果進(jìn)行再次疊加,通??梢圆捎孟喔衫鄯e、非相干累積和差分相干累積方法對(duì)多個(gè)相關(guān)結(jié)果進(jìn)行累積,提高捕獲靈敏度。
綜合考慮3種累積方式的性能,本文采用相干非相干累積方法[9],該方法首先進(jìn)行一段相干累積,然后對(duì)相干累積結(jié)果進(jìn)行非相干累積,捕獲算法的總體原理圖如圖2所示。
圖2 算法總體原理圖
首先采用實(shí)際GPS信號(hào)進(jìn)行算法測(cè)試。利用SiGe半導(dǎo)體公司的SE4120L射頻前端,混頻后輸出的頻率為4.092 MHz,采樣頻率為16.368 MHz信號(hào)。捕獲過程中,碼相位搜索步長(zhǎng)Tc/64,相干累積12次,基于Matlab2016a進(jìn)行算法的捕獲測(cè)試。圖3為本文算法對(duì)2017年8月18日15時(shí)左右10號(hào)GPS衛(wèi)星的捕獲結(jié)果。結(jié)果表明,本文算法能夠?qū)崿F(xiàn)GPS信號(hào)的有效捕獲。
在同一臺(tái)計(jì)算中,對(duì)本文算法和傳統(tǒng)并行捕獲算法的時(shí)間消耗進(jìn)行對(duì)比測(cè)試,傳統(tǒng)算法碼相位搜索步長(zhǎng)同樣設(shè)為Tc/64,且采用相同的相干非相干累加方法,測(cè)試結(jié)果如表1所示。
圖3 實(shí)際信號(hào)捕獲結(jié)果
表1 時(shí)間消耗比較
時(shí)間消耗的測(cè)試結(jié)果表明,本文算法的時(shí)間消耗遠(yuǎn)遠(yuǎn)小于傳統(tǒng)并行捕獲算法。由于時(shí)間消耗,傳統(tǒng)并行算法無法應(yīng)用于碼相位精細(xì)搜索。而文中算法的疊加相關(guān)作用于相干累積階段,能夠有效降低相干累積的時(shí)間消耗,而循環(huán)移位能夠有效降低頻率步進(jìn)搜索過程中的時(shí)間消耗,從而滿足碼相位精細(xì)搜索的時(shí)間要求。
為了驗(yàn)證捕獲算法的靈敏度,需要對(duì)不同信噪比下的信號(hào)進(jìn)行捕獲測(cè)試,而實(shí)際采集數(shù)據(jù)不能實(shí)現(xiàn)信噪比的靈活控制,因此,采用Matlab生成仿真的GPS信號(hào)作為測(cè)試信號(hào)。仿真生成8號(hào)GPS衛(wèi)星信號(hào),數(shù)據(jù)長(zhǎng)度為200 ms,導(dǎo)航電文數(shù)據(jù)隨機(jī)取值,信號(hào)頻率為4.092 MHz,采樣頻率為16.368 MHz,信號(hào)初始相位為0。信號(hào)中混入加性零均值高斯白噪聲,噪聲方差,則信號(hào)幅度可以表示為
SNR為信噪比,單位為dB。GPS信號(hào)捕獲要求能夠捕獲到信號(hào)強(qiáng)度在-174 dBW~-188 dBW之間的弱信號(hào),換算為信噪比約為-47 dB~-33 dB之間。
采用本文方法和傳統(tǒng)并行捕獲算法對(duì)不同強(qiáng)度的信號(hào)進(jìn)行捕獲測(cè)試,考慮到傳統(tǒng)并行捕獲算法的時(shí)間消耗,設(shè)定碼相位搜索步長(zhǎng)為Tc/2,測(cè)試結(jié)果如圖4所示??梢钥闯?,隨著信噪比的增加,兩種算法正確捕獲的概率均逐漸增加,但本文算法在各個(gè)信噪比下的捕獲性能均優(yōu)于傳統(tǒng)的并行捕獲算法。傳統(tǒng)并行捕獲算法對(duì)要達(dá)到90%的正確捕獲概率,要求信噪比為-41 dB以上,而本文算法在信噪比約為-44 dB時(shí)即可實(shí)現(xiàn)90%的正確捕獲要求,對(duì)弱信號(hào)的捕獲性能優(yōu)于傳統(tǒng)并行捕獲算法。
圖4 與傳統(tǒng)并行捕獲算法的性能比較
相比傳統(tǒng)并行捕獲方案,本文算法對(duì)弱信號(hào)捕獲的性能提升是因?yàn)椴捎昧似骄嚓P(guān)技術(shù)和多普勒補(bǔ)償方法。首先,平均相關(guān)技術(shù)可以在高采樣頻率下以很小的碼相位搜索步長(zhǎng)實(shí)施信號(hào)捕獲,雖然傳統(tǒng)并行捕獲方案也可以提高采樣頻率、減小碼相位搜索步長(zhǎng),但由此帶來的時(shí)間消耗問題會(huì)使得傳統(tǒng)并行捕獲方案難以實(shí)現(xiàn)。其次,多普勒補(bǔ)償方法可以降低多普勒頻偏對(duì)C/A碼在相干累積的影響,提高信號(hào)處理增益,捕獲弱信號(hào)。
研究了GPS軟件接收機(jī)的C/A碼高靈敏度快速捕獲問題,提出了一種并行快速捕獲算法。算法采用平均相關(guān)和載頻誤差補(bǔ)償提高捕獲靈敏度,基于疊加相關(guān)和循環(huán)移位降低相干累積和頻率步進(jìn)搜素的時(shí)間消耗。實(shí)驗(yàn)結(jié)果表明算法能夠有效捕獲微弱GPS信號(hào),且運(yùn)算量適中,具有工程應(yīng)用價(jià)值。