郭 維,韓躍平,耿 璇
(中北大學(xué) 信息與通信工程學(xué)院,山西 太原 030051)
北斗衛(wèi)星導(dǎo)航系統(tǒng)是中國(guó)自主建設(shè)、 獨(dú)立運(yùn)行的衛(wèi)星導(dǎo)航系統(tǒng),為全球用戶提供全天候、 全天時(shí)、 高精度的定位、 導(dǎo)航和授時(shí)服務(wù). 實(shí)現(xiàn)定位、 導(dǎo)航和授時(shí)功能的前提是捕獲及跟蹤衛(wèi)星信號(hào),而它的第一步是捕獲信號(hào),即獲得衛(wèi)星信號(hào)的碼相位與載波頻率. 由高動(dòng)態(tài)造成的多普勒頻移導(dǎo)致用戶接收機(jī)接收到的信號(hào)的頻率與碼相位均發(fā)生了改變,因此,對(duì)在較短時(shí)間內(nèi)較為準(zhǔn)確地捕獲到衛(wèi)星提出了更高的要求.
目前,常用的衛(wèi)星捕獲算法主要有時(shí)域串行捕獲算法、 匹配濾波器算法、 基于FFT的并行碼相位捕獲算法等. 20世紀(jì)末,文獻(xiàn)[1]首先將匹配濾波器引入衛(wèi)星捕獲算法,接著將FFT用于捕獲算法; 隨后,C/A碼的捕獲開始采用基于FFT的循環(huán)相關(guān)捕獲算法[2],極大地提高了捕獲速度; G.J.R.Povey 等人在文獻(xiàn)[3]中首次提出了將匹配濾波器與FFT結(jié)合起來進(jìn)行快速捕獲,其在部分匹配濾波器的基礎(chǔ)上加入了FFT運(yùn)算,在較大多普勒頻移的條件下提高了檢測(cè)概率并減少了捕獲時(shí)間; 此后,Kong S在文獻(xiàn)[4]中正式提出了PMF-FFT算法. PMF-FFT算法是將匹配濾波器分成 P段部分匹配濾波器,使得偽隨機(jī)碼部分可以快速地進(jìn)行匹配運(yùn)算,極大地減少了碼相位求解的時(shí)間,然后將每段匹配濾波器的輸出相干累加求和,之后再進(jìn)行FFT,選擇出最大值進(jìn)行捕獲確定[5].
時(shí)域串行捕獲算法是按照一定的步長(zhǎng)依次搜索碼相位和載波頻率,缺點(diǎn)是捕獲時(shí)間較長(zhǎng),只適用于對(duì)于捕獲速度要求不高的環(huán)境,不適用于高動(dòng)態(tài)環(huán)境[6]. 在捕獲到碼相位的同時(shí)得到了多普勒頻移,極大地增加了捕獲效率,但同時(shí)也增加了算法的實(shí)現(xiàn)復(fù)雜度,并帶來扇貝損失,降低了檢測(cè)概率. 因此,本文提出了改進(jìn)的PMF-FFT算法,將經(jīng)過部分匹配濾波器的輸出求和之后加窗函數(shù),來減小FFT帶來的扇貝損失.
傳統(tǒng)的北斗衛(wèi)星信號(hào)快速捕獲算法主要分為兩種,一種是在時(shí)域上的串行捕獲算法,另一種是基于快速傅里葉變換的快速捕獲算法.
時(shí)域上的串行捕獲算法是在確定了頻率范圍和碼相位范圍后,以一定的頻率步長(zhǎng)和碼相位步長(zhǎng)依次對(duì)不同衛(wèi)星進(jìn)行二維搜索,直到出現(xiàn)相關(guān)峰值則認(rèn)為捕獲成功. 圖1 為串行捕獲算法的原理圖,由圖1 可知,串行捕獲算法的結(jié)構(gòu)主要由本地振蕩器、 偽碼發(fā)生器、 乘法器、 積分器等模塊組成. 經(jīng)過下變頻等處理后的接收信號(hào)首先與本地載波同向及正交分量分別相乘,得到I,Q兩條支路信號(hào),然后均與本地偽碼進(jìn)行相關(guān)運(yùn)算,I,Q兩條支路經(jīng)過積分器后的輸出結(jié)果相加后求模,將結(jié)果與門限值比較,高于門限值時(shí)捕獲成功,否則按照一定的步長(zhǎng)改變頻率后繼續(xù)之前的過程; 若未捕獲成功,按照一定的步長(zhǎng)改變偽碼相位進(jìn)行計(jì)算,如果依然沒有捕獲成功,則改變衛(wèi)星號(hào)繼續(xù)之前的過程,直至捕獲成功[7].
圖1 串行捕獲算法原理圖Fig.1 Schematic diagram of the serial capture algorithm
基于快速傅里葉變換的快速捕獲算法是利用快速傅里葉變換將時(shí)域的相關(guān)卷積運(yùn)算轉(zhuǎn)換為頻域的乘法運(yùn)算,實(shí)現(xiàn)原理如圖2 所示,首先下變頻信號(hào)與本地載波同向及正交分量相乘,得到I,Q兩條支路信號(hào)并進(jìn)行FFT變換,然后將變換的結(jié)果與本地偽碼的FFT變換后的結(jié)果進(jìn)行相乘,最后將進(jìn)行了IFFT變換的結(jié)果與門限值比較,如果超過門限值則捕獲成功,否則調(diào)整本地載波與偽碼的值并重復(fù)之前的過程,直到捕獲成功[8-10].
雖然串行捕獲算法實(shí)現(xiàn)起來簡(jiǎn)單,但是運(yùn)算繁瑣,消耗時(shí)間較長(zhǎng); 雖然基于快速傅里葉變換的算法捕獲速度快,但是運(yùn)算量很大. 因此,采用改進(jìn)的PMF-FFT來解決問題,可以更快地完成信號(hào)的捕獲.
圖2 基于FFT的快速捕獲算法原理圖Fig.2 Schematic diagram of fast acquisition algorithmbased on FFT
匹配濾波器是最佳線性濾波器,是一個(gè)計(jì)算輸入信號(hào)自相關(guān)函數(shù)的相關(guān)器[11]. 輸入信號(hào)經(jīng)過匹配濾波器的輸出結(jié)果信噪比最大,圖3 為匹配濾波器系統(tǒng)框圖.
圖3 匹配濾波器原理圖Fig.3 Schematic diagram of matched filter
輸入信號(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(ω).
輸入信號(hào)和輸出信號(hào)的頻譜函數(shù)分別為
(2)
so(ω)=S(ω)H(ω).
(3)
通過濾波器后的輸出信號(hào)為
(4)
當(dāng)信號(hào)通過匹配濾波器的輸出信噪比SNR最大時(shí),系統(tǒng)函數(shù)為
H(ω)=kS*(ω)e-jωt0,
(5)
h(t)=ks*(t0-t),
(6)
式中:k=1,輸出信號(hào)為
s0(t)=s(t)*h(t)=kR(t-t0).
(7)
由式(7)可知,匹配濾波器的輸出波形是輸入波形自相關(guān)函數(shù)的k倍,所以匹配濾波器可以看成是一個(gè)計(jì)算輸入信號(hào)自相關(guān)函數(shù)的相關(guān)器[11],下變頻后的信號(hào)被送入寄存器中,另外存在對(duì)應(yīng)的寄存器,該寄存器存放有某一相位的偽碼序列. 每送入一個(gè)信號(hào),對(duì)應(yīng)的兩路寄存器進(jìn)行一次相乘運(yùn)算并將結(jié)果相加,相當(dāng)于完成一次相關(guān)運(yùn)算[12,13].
PMF-FFT算法中含有P個(gè)X級(jí)部分匹配濾波器,每個(gè)部分匹配濾波器依次時(shí)延X,即XP=M,其中,M為偽碼的相位范圍. 第一個(gè)部分匹配濾波器與前X個(gè)碼片進(jìn)行匹配相關(guān)運(yùn)算,第二個(gè)處理下X個(gè)碼片,依次進(jìn)行處理; 然后將這些輸出結(jié)果直接送入一個(gè)N點(diǎn)FFT進(jìn)行補(bǔ)償運(yùn)算,將輸出的結(jié)果與門限值比較,完成多普勒頻移的估計(jì)[14],圖4 為PMF-FFT算法原理圖.
圖4 PMF-FFT算法原理圖Fig.4 Schematic diagram of PMF-FFT algorithm
而當(dāng)多普勒頻移落到兩個(gè)FFT的交點(diǎn)時(shí),由于FFT的引入,造成了較大的增益衰減,即扇貝損失,該衰減在第0點(diǎn)和第1點(diǎn)FFT交點(diǎn)處最為明顯[15],于是在PMF-FFT算法中的部分匹配濾波器輸出后加海明窗,海明窗的頻譜特性如圖5 所示. 在P個(gè)匹配濾波器后加海明窗函數(shù),改進(jìn)的PMF-FFT算法原理如圖6 所示.
圖5 海明窗頻率響應(yīng)
海明窗的數(shù)學(xué)表達(dá)式為
(8)
接收到的信號(hào)經(jīng)過下變頻與采樣之后的量化輸出信號(hào)為
r(k)=PN(k)ej(2πfdkTc+φ),
(9)
式中:PN(k)為偽碼序列;Tc為碼元寬度;fd為信號(hào)載波的多普勒頻移.
圖6 改進(jìn)的PMF-FFT算法原理圖
在本地序列與接收序列同步時(shí)有PN(k)PN(K+k)=1,其中K為本地序列與接收序列的偏移量. 信號(hào)經(jīng)過第一個(gè)部分匹配濾波器后,輸出為
(10)
同理,信號(hào)經(jīng)過第n個(gè)部分匹配濾波器,輸出為
(11)
將這P個(gè)部分匹配濾波器的輸出進(jìn)行N點(diǎn)FFT計(jì)算得到的歸一化增益
(12)
PMF-FFT的歸一化增益如圖7 所示.
圖7 PMF-FFT歸一化增益
式(11)可以寫為兩部分的乘積,即
G(fd,k)=G1(fd)·G2(fd,k),
(13)
由于偽噪聲碼的自相關(guān)特性,通過模擬信號(hào)發(fā)生器的原理,將接收到的信號(hào)下變頻后與本地產(chǎn)生的偽碼進(jìn)行相關(guān)運(yùn)算,當(dāng)最大值高于判決門限時(shí),捕獲成功. 本地偽碼產(chǎn)生原理如圖8 所示,碼速率為2.046 Mcps,碼長(zhǎng)為2 046,其由線性序列G1和G2進(jìn)行模二加運(yùn)算后產(chǎn)生平衡Gold碼,再截短最后一個(gè)碼片生成.G1序列和G2序列均由11級(jí)線性移位寄存器生成,生成多項(xiàng)式分別為
G1(X)=1+X+X7+X8+X9+X10+X11,
(14)
G2(X)=1+X+X2+X3+X4+X5+
X8+X9+X11.
(15)
圖8 CB1I碼發(fā)生器示意圖Fig.8 Schematic diagram of CB1I code generator
圖9 為產(chǎn)生的本地CA碼的前500位Gold碼.
圖9 17號(hào)衛(wèi)星的部分偽碼Fig.9 Partial pseudo code of satellite 17
圖10 捕獲到衛(wèi)星的位置Fig.10 Satellite’s position captured
利用基于PMF-FFT算法進(jìn)行加窗函數(shù)的改進(jìn)算法,對(duì)17號(hào)衛(wèi)星信號(hào)進(jìn)行捕獲,在仿真時(shí),對(duì)2 ms數(shù)據(jù)的末4位補(bǔ)4個(gè)1,得到4 096個(gè)點(diǎn),經(jīng)過變換得到64*64的矩陣,同時(shí),取本地的2周期CA碼,將其同樣變換為64*64的矩陣形式,然后將這兩個(gè)矩陣的對(duì)應(yīng)元素相乘,該過程即為數(shù)據(jù)經(jīng)過64段長(zhǎng)度為64的部分匹配濾波器,將這64個(gè)結(jié)果的模的和經(jīng)過海明窗后輸入64位FFT,最后將FFT的結(jié)果進(jìn)行IFFT變換,將結(jié)果的模與門限值比較,高于門限時(shí)捕獲成功,捕獲結(jié)果如圖10 所示.
經(jīng)過仿真,在矩陣的第10行、 50列捕獲到了17號(hào)衛(wèi)星,相比于傳統(tǒng)并行捕獲算法的運(yùn)算量73 728,加海明窗的改進(jìn)的PMF-FFT算法同樣對(duì)2 ms數(shù)據(jù)信號(hào)捕獲的運(yùn)算量為576,運(yùn)算量遠(yuǎn)少于傳統(tǒng)捕獲算法,捕獲時(shí)間大大減少了. 算法中FFT使得匹配濾波器的幅頻響應(yīng)在頻率上延伸,如圖11 所示; 使用海明窗對(duì)FFT帶來的扇貝損失進(jìn)行彌補(bǔ),由圖12 可看出,在原算法的基礎(chǔ)上增加海明窗后,匹配濾波器的增益衰減降低,捕獲概率提高.
圖11 匹配濾波器歸一化增益
針對(duì)傳統(tǒng)的時(shí)域串行捕獲算法與基于FFT的并行碼相位捕獲算法存在時(shí)間復(fù)雜度高而造成捕獲較慢的問題,本文采用了改進(jìn)的PMF-FFT捕獲算法. 捕獲信號(hào)時(shí),取2 ms輸入信號(hào),在4 092位數(shù)據(jù)末位補(bǔ)4個(gè)1后轉(zhuǎn)換成64*64的矩陣形式,與做了同樣變換的2個(gè)周期的本地偽碼對(duì)應(yīng)數(shù)據(jù)相乘實(shí)現(xiàn)部分匹配濾波器相關(guān)運(yùn)算,極大地減少了計(jì)算量,提高捕獲速率; 其次在匹配濾波器輸出的數(shù)據(jù)后加海明窗函數(shù),減小了匹配濾波器由FFT帶來的扇貝損失,而加入FFT增加了匹配濾波器的幅度響應(yīng)的頻率范圍,綜上所述,加海明窗后的PMF-FFT算法可以對(duì)衛(wèi)星實(shí)現(xiàn)準(zhǔn)確的捕獲,捕獲速度更快,捕獲概率更高.