王爾申,張雙陽(yáng) ,曲萍萍,別玉霞,龐 濤,胡志明(沈陽(yáng)航空航天大學(xué) .電子信息工程學(xué)院,b.遼寧省通用航空重點(diǎn)實(shí)驗(yàn)室,沈陽(yáng) 110136)
北斗二代衛(wèi)星導(dǎo)航系統(tǒng)是我國(guó)獨(dú)立自主建設(shè),穩(wěn)定可靠,全球覆蓋的導(dǎo)航系統(tǒng),具有高精度、高可靠的定位、導(dǎo)航、授時(shí)服務(wù),并兼具短報(bào)文通信能力[1-2]。衛(wèi)星信號(hào)的捕獲是接收機(jī)設(shè)計(jì)的重要環(huán)節(jié),利用偽隨機(jī)碼良好的自相關(guān)特性,獲取所有可見衛(wèi)星信號(hào)的載波頻率和碼相位的粗略估計(jì)值。針對(duì)北斗B1信號(hào)的特點(diǎn),如今比較成熟的捕獲方法主要包括滑動(dòng)相關(guān)器、基于FFT的捕獲算法,基于快速傅里葉變換的頻域并行搜索捕獲算法根據(jù)時(shí)域相關(guān)等于頻域相乘的原理,將時(shí)域二維搜索轉(zhuǎn)換為頻域一維搜索,雖然提高了捕獲速度,但硬件資源消耗大,實(shí)現(xiàn)較困難,因此G.J.R.Povey等人最先提出了將匹配濾波與FFT結(jié)合的捕獲算法[3];Kong S描述了在較大的多普勒頻偏下的快速捕獲系統(tǒng),首次給出基于PMF-FFT結(jié)構(gòu)的捕獲算法[4],相較于之前的算法減少了傅里葉變換的次數(shù),從而降低運(yùn)算復(fù)雜度,降低硬件消耗,便于實(shí)現(xiàn)?;赑MF-FFT的并行搜索捕獲算法結(jié)合了匹配濾波和FFT的特點(diǎn),首先對(duì)接收的導(dǎo)航信號(hào)與本地偽碼序列相乘,得到相乘累加后的數(shù)據(jù),這是對(duì)輸入數(shù)據(jù)的部分匹配濾波過程,然后對(duì)其進(jìn)行FFT運(yùn)算,進(jìn)行頻譜分析,大于設(shè)定捕獲門限便可判定捕獲成功。在捕獲到碼相位的同時(shí)可以得到多普勒頻率值,真正實(shí)現(xiàn)了時(shí)域和頻域的并行捕獲[5-7],捕獲速度快但占用資源較大。所以文中首先介紹分析傳統(tǒng)捕獲算法的優(yōu)缺點(diǎn),以基于PMF-FFT算法為基礎(chǔ),提出了改進(jìn)的北斗信號(hào)捕獲算法,該算法通過部分匹配濾波器將接收到的信號(hào)與本地產(chǎn)生的偽隨機(jī)碼進(jìn)行部分相關(guān)運(yùn)算,再將結(jié)果送入FFT模塊,該方法是一種快速的偽碼捕獲方法,具有捕獲時(shí)間短,捕獲精度高等優(yōu)點(diǎn)。
在傳統(tǒng)的北斗衛(wèi)星接收機(jī)中為實(shí)現(xiàn)對(duì)接收信號(hào)的快速捕獲主要有兩種方案,一種是在時(shí)域上進(jìn)行滑動(dòng)相關(guān)法,另一種是利用變換域進(jìn)行快速傅里葉變換(FFT)和快速傅里葉逆變換(IFFT),計(jì)算得到多普勒頻移估計(jì)和碼相位估計(jì)。
時(shí)域串行捕獲是在一定的頻率范圍和碼相位范圍內(nèi)以一定的頻率步長(zhǎng)和碼相位步長(zhǎng)來進(jìn)行二維搜索,原理如圖1所示。輸入的信號(hào)首先與本地載波同向和正交分量相乘,得到I、Q兩條支路信號(hào),然后再分別和本地偽碼在某個(gè)偽碼相位處進(jìn)行相關(guān)運(yùn)算,最后由積分器給出積分結(jié)果[8-9]。對(duì)每滑動(dòng)一個(gè)載波頻率和偽碼相位都會(huì)得到一個(gè)I、Q相關(guān)器輸出的相關(guān)結(jié)果,當(dāng)完成所有可能的載波頻率和偽碼相位時(shí),通過判斷是否出現(xiàn)滿足要求的相關(guān)尖峰來判定捕獲是否成功,并得到對(duì)應(yīng)的衛(wèi)星號(hào)、多普勒頻率和初始碼相位的三維捕獲結(jié)果[10]。
圖1 時(shí)域串行捕獲算法原理
基于FFT的并行碼相位捕獲算法是采用快速傅里葉變換,將時(shí)域信號(hào)變換到頻域上進(jìn)行處理,時(shí)域卷積運(yùn)算變換為頻域相乘,算法實(shí)現(xiàn)如圖2所示。首先將輸入信號(hào)與本地載波信號(hào)相乘,得到I、Q支路的分量信號(hào),如果載波頻率與輸入信號(hào)的載波頻率一致,則輸入信號(hào)的偽隨機(jī)碼信號(hào)得到恢復(fù)。將恢復(fù)后的偽隨機(jī)碼信號(hào)經(jīng)過傅里葉變換,得到其頻域信號(hào),同時(shí)將本地產(chǎn)生的偽隨機(jī)碼進(jìn)行傅里葉變換并取其共軛,與輸入信號(hào)的頻域結(jié)果相乘后的值經(jīng)過傅里葉逆變換,取模后得到時(shí)域相關(guān)結(jié)果,可查找到最大的相關(guān)峰值,通過與捕獲門限比較,判定捕獲成功與否,峰值的索引值對(duì)應(yīng)了輸入信號(hào)的碼相位和多普勒頻率[11-13]。
圖2 基于FFT的并行碼相位捕獲算法原理
時(shí)域捕獲方法的優(yōu)點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,但由于捕獲碼相位與多普勒頻移的范圍較大導(dǎo)致其捕獲速度慢。而并行碼相位捕獲的優(yōu)點(diǎn)是捕獲速度快但要做多次的多點(diǎn)FFT和IFFT運(yùn)算,實(shí)現(xiàn)復(fù)雜度高、運(yùn)算量大[14]。為解決捕獲時(shí)間和實(shí)現(xiàn)復(fù)雜度二者之間的矛盾,文中對(duì)時(shí)域搜索和頻域搜索相結(jié)合的基于PMF-FFT的改進(jìn)捕獲方法進(jìn)行研究。
匹配濾波器是最佳線性濾波器,利用匹配濾波器進(jìn)行衛(wèi)星信號(hào)捕獲時(shí),當(dāng)接收到的衛(wèi)星信號(hào)等間隔的滑過本地偽碼序列時(shí),匹配濾波器在每一個(gè)時(shí)間點(diǎn)都會(huì)輸出一個(gè)相關(guān)值。在已知輸入信號(hào)的情況下,與其它線性濾波器相比匹配濾波器所得到的輸出信噪比最大。當(dāng)輸入端信號(hào)為
X(t)=s(t)+n(t)
(1)
其中是s(t)為輸入信號(hào),n(t)為功率譜密度是n0/2的高斯白噪聲,系統(tǒng)沖擊響應(yīng)為h(t),頻率響應(yīng)為H(ω)[15]。
輸入信號(hào)和輸出信號(hào)的頻譜函數(shù)分別為
(2)
So(ω)=S(ω)·H(ω)
(3)
所以輸入信號(hào)s(t)通過濾波器后的相應(yīng)so(t)為[16]
(4)
當(dāng)濾波器輸出功率信噪比SNR最大時(shí),匹配濾波器的系統(tǒng)函數(shù)為
H(ω)=kS*(ω)e-jωt0
(5)
h(t)=ks*(t0-t)
(6)
其中,k=1。輸出信號(hào)為
so(t)=s(t)*h(t)=kR(t-t0)
(7)
所以匹配濾波器的輸出波形是輸入信號(hào)自相關(guān)函數(shù)的k倍,因此匹配濾波器可以看成是一個(gè)計(jì)算輸入信號(hào)自相關(guān)函數(shù)的相關(guān)器[17],下變頻后的信號(hào)一路被送入寄存器中,另外一路寄存器中存有某一相位狀態(tài)的偽碼序列。每送入一個(gè)信號(hào),兩路寄存器對(duì)應(yīng)位置各自完成一次相乘運(yùn)算并將結(jié)果相加,相當(dāng)于完成一次相關(guān)運(yùn)算,這就是使用匹配濾波器要比利用串行搜索捕獲速度要快的原因。但是使用匹配濾波器,如果加長(zhǎng)相關(guān)長(zhǎng)度,會(huì)使得硬件資源需求增大,此外對(duì)多普勒頻率比較敏感。
利用PMF-FFT算法進(jìn)行信號(hào)捕獲,結(jié)合了匹配濾波和FFT的特點(diǎn),在捕獲到碼相位的同時(shí)就可以得到多普勒頻率值,實(shí)現(xiàn)了將碼相位、頻率的二維搜索轉(zhuǎn)換為碼相位的一維搜索。在捕獲過程中,接收信號(hào)經(jīng)正交下變頻后輸出為
S(t)=PN(t)ej(2πfdnTc+φ)+nI(t)+jnQ(t)
(8)
其中fd為頻偏,φ為初相,nI(t)和nQ(t)為相互獨(dú)立的高斯噪聲。
PMF-FFT的輸入信號(hào)
S(n)=PN(n)ej(2πfdnTc+φ)+nI(n)+jnQ(n)
(9)
本地偽碼與接收碼同步時(shí)
Sd(n)=S(n)×PN(n)=ej(2πfdnTc+φ)+[nI(n)+jnQ(n)]PN(n)
(10)
第i個(gè)部分匹配濾波器的輸出
(11)
基于PMF-FFT的捕獲算法原理如圖3所示,首先將讀取中頻數(shù)字信號(hào),設(shè)定共有s點(diǎn)的信號(hào),將其補(bǔ)1后分為存儲(chǔ)在x行N列的矩陣matrix中,每一行為一組中頻數(shù)據(jù),對(duì)本地的碼NCO同樣產(chǎn)生相同時(shí)間的本地偽碼,為提高FFT的頻率分辨率進(jìn)行補(bǔ)零后存儲(chǔ)到矩陣LoCAmatrix中,將兩個(gè)矩陣點(diǎn)乘后對(duì)每一行進(jìn)行求和,這個(gè)部分相關(guān)過程便為部分匹配濾波。然后將得到的數(shù)據(jù)做N點(diǎn)的FFT運(yùn)算,快速傅里葉變換的目的是進(jìn)行頻譜分析后糾正頻偏,求出相關(guān)峰最大值和相關(guān)峰平均值并得到比值,大于設(shè)定門限則表示信號(hào)被捕獲。這里的門限判決方法與上一節(jié)中研究的基于FFT的并行捕獲算法的判定方式類似,當(dāng)捕獲到信號(hào)后可根據(jù)滑動(dòng)的次數(shù)索引得到本地偽碼相位與實(shí)際信號(hào)相位差的粗略結(jié)果,由于采用大步進(jìn)搜索方案,所以此時(shí)的結(jié)果只是將搜索范圍縮小至步進(jìn)量之間,更加精確碼相位信息需要通過進(jìn)一步的精捕獲過程來獲得,這樣得到的碼相位誤差可以控制在0.5個(gè)碼片內(nèi)以,作為后續(xù)跟蹤環(huán)路的初始化參數(shù)。
利用PMF-FFT捕獲算法可以克服傳統(tǒng)捕獲算法速度較慢的缺點(diǎn),此外還可以避免單獨(dú)采用匹配濾波器捕獲方式中相關(guān)峰值衰減嚴(yán)重的缺點(diǎn)。當(dāng)每次滑動(dòng)的碼片數(shù)量較多時(shí),采用大步進(jìn)的PMF-FFT捕獲,利用相位上相差一個(gè)碼片的一段步進(jìn)量的偽碼之和作為本地偽碼,對(duì)疊加后的信號(hào)進(jìn)行捕獲,此時(shí)對(duì)于接收到的信號(hào),如果和本地偽碼錯(cuò)開1個(gè)碼片,會(huì)導(dǎo)致其不會(huì)出現(xiàn)相關(guān)峰值。由于對(duì)本地偽碼的疊加會(huì)造成信噪比的損失,導(dǎo)致捕獲的概率相對(duì)降低,所以PMF-FFT算法通過犧牲捕獲的靈敏度來?yè)Q取捕獲速度的提高。圖4可以看出捕獲概率與輸入信號(hào)信噪比的關(guān)系。
圖3 PMF-FFT捕獲算法
圖4 捕獲概率與信噪比的關(guān)系
PMF-FFT的輸入信號(hào)使用的數(shù)字中頻信號(hào)頻率為0.098 MHz,采樣頻率為10 MHz,經(jīng)過下變頻后,以碼片速率對(duì)其進(jìn)行采樣,得到2ms數(shù)據(jù),即4092點(diǎn),通過補(bǔ)零后將其變換為64*64的矩陣形式,實(shí)驗(yàn)設(shè)置PMF-FFT的分段數(shù)目為64段,F(xiàn)FT的點(diǎn)數(shù)為64點(diǎn)。首先利用相位上一次相差一個(gè)碼片的64段偽碼之和的本地偽碼做相關(guān)運(yùn)算,然后做FFT運(yùn)算找出粗略的碼相位,此時(shí)碼相位的模糊度為64,最后在這64個(gè)相位的范圍內(nèi)進(jìn)行PMF捕獲,找到精確的碼相位。利用偽碼分成64段,與基帶信號(hào)進(jìn)行相關(guān),對(duì)應(yīng)元素相乘之后求和,然后對(duì)矩陣的每一行數(shù)據(jù)求和,做64位FFT變換,每次移動(dòng)64位碼片,每一行為移動(dòng)一次的FFT結(jié)果,2 ms數(shù)據(jù)只需移動(dòng)64次,通過計(jì)算得到相關(guān)峰平均值,結(jié)果如圖5所示。
圖5 相關(guān)峰值對(duì)應(yīng)的碼字相位仿真圖
圖6是利用PMF-FFT算法對(duì)12號(hào)衛(wèi)星三維捕獲結(jié)果,X軸為多普勒頻移,Y軸為碼相位,Z軸為相關(guān)輸出。
圖6 捕獲到的12號(hào)衛(wèi)星三維結(jié)果
由圖6可知存在一個(gè)峰值為FFT輸出幅度,如式(12)所示
(12)
多普勒頻率的值為
(13)
式中,N表示累加后的數(shù)據(jù)的點(diǎn)數(shù),L表示CA碼碼片個(gè)數(shù),fd表示多普勒頻率,R表示FFT點(diǎn)數(shù),r表示出現(xiàn)最大值的位置,x表示進(jìn)行累加的數(shù)據(jù)的點(diǎn)數(shù),Tc表示CA碼的碼元寬度。通過PMF-FFT算法得到12號(hào)衛(wèi)星的初始碼相位為660,多普勒頻移約為1 400 Hz。
圖7是利用傳統(tǒng)的基于FFT的并行碼相位捕獲結(jié)果,通過二者對(duì)比分析,改進(jìn)算法可以正確有效的捕獲到衛(wèi)星信號(hào)。利用改進(jìn)后的PMF-FFT算法進(jìn)行粗捕獲和使用傳統(tǒng)的基于FFT的快速捕獲算法對(duì)2 ms 4096點(diǎn)的采樣數(shù)據(jù)進(jìn)行處理需要做的運(yùn)算量,對(duì)比如表1所示??梢钥闯龌赑MF-FFT的改進(jìn)捕獲算法在運(yùn)算復(fù)雜度和計(jì)算量上得到優(yōu)化,可以有效地提高捕獲效率,節(jié)約捕獲所消耗時(shí)間。
圖7 傳統(tǒng)算法捕獲到的12號(hào)衛(wèi)星結(jié)果
表1 兩種捕獲算法運(yùn)算量對(duì)比
接收機(jī)的首次定位時(shí)間是接收機(jī)從上電到實(shí)現(xiàn)有效定位所花費(fèi)的時(shí)間,是衡量一個(gè)接收機(jī)性能的重要指標(biāo),在北斗接收機(jī)中信號(hào)在捕獲上所用時(shí)間是所有環(huán)節(jié)耗時(shí)中最冗長(zhǎng)的一部分,所以提高信號(hào)的捕獲速度對(duì)縮短接收機(jī)定位時(shí)間意義重大。最短捕獲時(shí)間對(duì)應(yīng)于初始的本地碼剛好與接收信號(hào)的碼字對(duì)齊;最長(zhǎng)捕獲時(shí)間對(duì)應(yīng)將全部的碼相位搜索完畢所需時(shí)間,利用大步進(jìn)的PMF-FFT算法進(jìn)行捕獲,由于在粗捕獲后對(duì)64個(gè)模糊相位進(jìn)行精確捕獲所用時(shí)間遠(yuǎn)小于粗捕所用時(shí)間,所以相對(duì)于傳統(tǒng)捕獲方法捕獲時(shí)間提高了64倍,大大加快捕獲速度,縮短了首次定位時(shí)間。
文中通過分析PMF-FFT捕獲系統(tǒng)的數(shù)學(xué)模型以及性能,將部分匹配濾波器與FFT相結(jié)合實(shí)現(xiàn)快速捕獲的改進(jìn)算法,通過降低捕獲靈敏度來提高捕獲速度。通過對(duì)算法的理論分析和利用實(shí)驗(yàn)平臺(tái)采集衛(wèi)星導(dǎo)航中頻數(shù)據(jù)進(jìn)行算法驗(yàn)證,結(jié)果表明:研究的捕獲算法能夠準(zhǔn)確的得到可見衛(wèi)星的多普勒頻率和初始碼相位,相對(duì)于傳統(tǒng)捕獲算法降低了運(yùn)算量和復(fù)雜度,縮短了捕獲模塊在接收機(jī)信號(hào)處理中的運(yùn)算時(shí)間。
參考文獻(xiàn)(References):
[1] 王爾申,張述杰,雷虹,等.“北斗”導(dǎo)航系統(tǒng)和無線電臺(tái)在無人機(jī)監(jiān)控系統(tǒng)中的應(yīng)用[J].電訊技術(shù),2013,53(7):831-834.
[2] QI J,LUO F,SONG Q.Fast acquisition method of naviga-tion receiver based on folded PMF-FFT[C]//Proc.Com-puting,Communications and IT Applications Conference( Com Com Ap) .S.l:IEEE Press,2014:62-66.
[3] 任志玲,楊春燕,牛江龍.基于PMF-FFT的北斗B1I弱信號(hào)捕獲算法研究[J].測(cè)控技術(shù),2015,34(10):15-18.
[4] 馮小鵬.高動(dòng)態(tài)環(huán)境北斗衛(wèi)星信號(hào)捕獲算法研究[D].長(zhǎng)沙:中南大學(xué),2013.
[5] 章蘭英,袁嗣杰,劉海洋,等.基于加窗PMF-FFT的擴(kuò)頻信號(hào)捕獲算法研究[J].系統(tǒng)仿真學(xué)報(bào),2009,21(17):5536-5539.
[6] 廖偉,郭承軍.GNSS數(shù)字下變頻設(shè)計(jì)與分析[J].電光與控制,2017,24(01):72-75.
[7] LI J H,BA X H,SHERAZ A,et al.An adaptive algorithm for fast acquisition of GPS signals.Chinese Journals of Electron Devices,2007,30(3).
[8] 孟苑.北斗導(dǎo)航接收機(jī)B1信號(hào)捕獲算法研究及其FPGA驗(yàn)證[D].南京:東南大學(xué),2016.
[9] 劉艷華,趙剛.基于PMF-FFT的PN碼捕獲方法及性能[J].通信技術(shù),2009:42(1):24-26.
[10]鄭倫貴,尤政,張高飛,等.基于非相干積分的GNSS弱信號(hào)捕獲[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,54(6):794-798.
[11]LIU GAOHUI,CAO JIAKUN.Acquisition method and perfor-mance of high dynamic GPS signal [J].Computer Engineeringand Applications,2010,46(7):142-144.
[12]王爾申,胡志明,雷虹,等.北斗二代信號(hào)精頻捕獲算法研究[J].電光與控制,2016,23(12):14-17+22.
[13]王慶雷.北斗導(dǎo)航信號(hào)捕獲算法研究及北斗授時(shí)服務(wù)系統(tǒng)設(shè)計(jì)[D].西安:西安電子科技大學(xué),2014.
[14]洪冰清,覃新賢,劉聰聰,等.弱信號(hào)下“北斗”接收機(jī)NH碼的快速捕獲[J].電訊技術(shù),2017(11):1260-1265.
[15]李獻(xiàn)斌,王躍科,周永彬.導(dǎo)航星座星間鏈路信號(hào)自適應(yīng)捕獲方法[J].系統(tǒng)工程與電子技術(shù),2015,37(1):12-16.
[16]ZHU L F,ZHANG C X,MA Z Q.Fast fine acquisition algorithm of GPS receiver aided by INS information [J].Journal of System Engineering and Electronics,2011,22(2):300-305.
[17]辛富國(guó),李榮芳.GNSS信號(hào)捕獲與跟蹤算法的改進(jìn)與實(shí)現(xiàn)[J].電信科學(xué),2014,30(3):105-108.