許 睿,唐瑞琪,羅 凱,曾慶化,劉建業(yè)
(南京航空航天大學(xué) 自動化學(xué)院,南京 211106)
我國北斗衛(wèi)星導(dǎo)航系統(tǒng)(BeiDou Navigation Satellite System,BDS)第三代民用信號新增B1C 信號[1],該信號采用二進制偏移載波(Binary Offset Carrier,BOC)調(diào)制方式[2],偽隨機碼周期為10 ms[3],能夠與現(xiàn)存導(dǎo)航信號共享頻點,又能提高信號跟蹤精度與定位精度。
然而與傳統(tǒng)的采用相移鍵控調(diào)制方式的導(dǎo)航信號(如,GPS L1 C/A 信號)相比,BOC 調(diào)制信號自相關(guān)函數(shù)具有多峰特性,會在接收機信號捕獲和跟蹤階段帶來模糊性問題[4],即信號自相關(guān)主峰旁存在若干副峰,接收機有可能捕獲或跟蹤在副峰上,造成誤捕和誤鎖,若不進行處理會進一步導(dǎo)致定位結(jié)果不穩(wěn)定或出現(xiàn)較大偏差。自2002年Betz.J.W[4]系統(tǒng)地提出BOC 調(diào)制以來,典型的BOC 調(diào)制信號多峰消除去模糊算法可分為三類。第一類是邊帶濾波法,也稱為BPSK-Like 算法[5],通過頻域濾波將BOC 調(diào)制信號頻譜上兩個主波瓣提出,再作為類BPSK 信號頻譜處理,這種方法會降低BOC 調(diào)制帶來性能優(yōu)勢,且需要額外的濾波器資源。第二類為峰跳法,即Bump-Jump(BJ)方法[6],該方法需要額外的相關(guān)器通過對比第一副峰與主峰的大小來判定捕獲的點是否在主峰上,需要經(jīng)過多次采樣計算,新增的相關(guān)器涉及大量的加乘運算增加硬件開銷,且在信噪比較低的情況下會出現(xiàn)判決錯誤的現(xiàn)象。第三類是自相關(guān)副峰消除技術(shù)[7,8],通過設(shè)計不同的相關(guān)函數(shù)并按照一定的組合方式進行合成,從而消除主峰之外的所有副峰實現(xiàn)無模糊捕獲,不需增加大量運算和新的硬件,靈活性更大。
除多峰性問題,北斗B1C 信號采用10 ms 周期的偽隨機碼,碼周期的增加對應(yīng)信號跟蹤階段的積分時間的增長,這有助于減少噪聲,提高跟蹤精度和偽距估計精度,但同時跟蹤環(huán)路的帶寬需要相應(yīng)地降低,這又會導(dǎo)致跟蹤環(huán)路牽引范圍變窄,因此,跟蹤環(huán)路初始值就需要更準確,這對提供跟蹤環(huán)路初值的捕獲階段提出了更高精度的要求。此外,較長的碼周期也增加了捕獲運算量與耗時。對于北斗三號B1C 接收機而言,要實現(xiàn)信號的快速準確跟蹤與定位,就必須先進行快速捕獲,并得到精度足夠高的載波頻率與碼相位初值。接收機通常采用先粗捕獲再精捕獲的方法[9]平衡捕獲的精度與速度,粗捕利用FFT 算法實現(xiàn)對頻率和碼相位搜索的并行計算得到粗略的多普勒頻率與碼相位,精捕則可通過對FFT 輸出序列進行SINC 擬合來獲得更精確的多普勒頻率估值[10]。但對于采用BOC 調(diào)制的信號來說,由于副載波的存在會影響SINC 擬合的效果,導(dǎo)致精捕獲得到的頻率誤差較大,從而會使得信號跟蹤失敗。鑒于此,本文針對北斗B1C信號設(shè)計了一種快速高精度捕獲算法,先是基于降采樣和多級搜索的方式,通過減少數(shù)據(jù)點,快速實現(xiàn)了對信號的粗捕獲并將對多普勒頻移的估計誤差縮小到一定范圍,大大減少了信號捕獲的計算量,有效提高了B1C 信號的捕獲速度;再通過多項式曲線擬合來估計頻率相對于相關(guān)值的峰值點,實現(xiàn)了多普勒頻移的高精度捕獲,并有效避免了副載波對精捕獲的影響。最后基于真實信號的實驗結(jié)果驗證了該算法對捕獲精度和速度的提升。
北斗B1C 信號的載波頻率為1575.42 MHz,與GPS L1 和Galileo E1 共享頻點,帶寬為32.736 MHz,包含兩個正交分量:數(shù)據(jù)分量與導(dǎo)頻分量。數(shù)據(jù)分量由導(dǎo)航電文和測距碼經(jīng)副載波調(diào)制產(chǎn)生,調(diào)制方式為正弦BOC(1,1)調(diào)制;導(dǎo)頻分量由測距碼經(jīng)副載波調(diào)制產(chǎn)生,采用QMBOC(6,1,4/33)調(diào)制,其功率是數(shù)據(jù)分量功率的3 倍。除使用子載波外,導(dǎo)頻分量還使用周期為18 s、碼長度為1800 碼片的子碼來調(diào)制測距主碼,每個子碼碼元持續(xù)時間為10 ms,與測距主碼的周期相等,也與數(shù)據(jù)分量中導(dǎo)航電文的一位(bit)所持續(xù)時間相同。導(dǎo)頻分量采用的QMBOC 調(diào)制方式將BOC(1,1)分量和BOC(6,1)分量按照29:4 的功率比調(diào)制在相互正交的副載波上加以實現(xiàn)。整個B1C信號實際包含了三個實分量[4],如式(1)所示。
B1C 信號的BOC(1,1)為低頻分量,是信號的窄帶部分;BOC(6,1)為高頻分量,是信號的寬帶部分。BOC(1,1)分量包含完整的信號結(jié)構(gòu),功率也較BOC(6,1)分量更大,因此常規(guī)處理GPS L1 C/A 的窄帶接收設(shè)備也可以接收到北斗B1C 信號。以一顆星信號為例,北斗B1C 信號在窄帶接收機中的中頻信號可寫為:
根據(jù)式(2),窄帶接收機接收到的北斗B1C 信號可近似認為僅包含BOC(1,1)調(diào)制信號部分。其自相關(guān)函數(shù)表示為:
式中:τ表示以碼片為單位的碼延時,代表相關(guān)函數(shù),代表三角函數(shù)。如圖1所示,其自相關(guān)峰主峰較為尖銳,具有良好的測距性能,但存在副峰,會導(dǎo)致誤捕和誤鎖,需要對副峰進行處理以消除其不利影響。
圖1 BOC(1,1)調(diào)制方式下的自相關(guān)函數(shù)Fig.1 Autocorrelation function in BOC(1,1)modulation
對于BOC(n,n)類調(diào)制信號可以使用自相關(guān)側(cè)峰消除( Autocorrelation Side-Peak Cancellation Technique,ASPeCT)算法消除副峰,其原理是:首先將本地生成的PRN 碼(測距碼)分成兩組,一組使用副載波進行調(diào)制得到BOC 信號,另一組不作處理為原始PRN 信號,然后將這兩組本地碼分別與經(jīng)過混頻器處理后的信號作相關(guān)運算,對于BOC(1,1)調(diào)制信號而言,得到的信號自相關(guān)函數(shù)如式(3)所示,其與測距碼的互相關(guān)函數(shù)表示為:
再將兩個相關(guān)函數(shù)進一步組合,使用二者的平方差構(gòu)建出一個新的相關(guān)函數(shù),即:
圖2 BOC(1,1)信號的ASPeCT 算法捕獲原理Fig.2 Acquisition principle of ASPeCT algorithm for BOC(1,1)signal
當接收的中頻信號分別與i支路和q支路上的正弦和余弦載波信號混頻后,將得到的復(fù)數(shù)形式的混頻結(jié)果進行FFT 變換,然后將其分別與BOC(1,1)和PRN本地碼FFT 變換的共軛值相乘,再分別作IFFT 變換后取平方差,得到的值即為ASPeCT 算法所構(gòu)造的相關(guān)值,若峰值超過捕獲門限值,則接收機捕獲到了信號,并得到該信號的頻率和碼相位兩個參數(shù)值。
基于ASPeCT 算法可以解決BOC 信號自相關(guān)多峰特性帶來的誤捕問題,從而能順利實現(xiàn)北斗B1C 信號的粗捕獲過程。但粗捕得到的多普勒頻移估計誤差較大。若要使得接收機能夠?qū)崿F(xiàn)信號的快速穩(wěn)定跟蹤,則需要對載波頻率進行較為精確的估計,即進行精捕獲。由于B1C 信號中副載波調(diào)制的存在,影響了傳統(tǒng)精捕獲算法中SINC 曲線擬合的效果,導(dǎo)致精捕獲得到的頻率誤差較大,從而可能會導(dǎo)致跟蹤失敗。此外,北斗B1C 信號的一個偽碼周期為10 ms,包含10230個碼片,與傳統(tǒng)GPS 中C/A 碼每周期1 ms 對應(yīng)1023個碼片相比,從周期長度和序列長度上都增加到10倍。這給信號捕獲帶來了更高的計算量,相同條件下完成衛(wèi)星信號捕獲勢必要花費更多時間。因此,需要在捕獲算法的精度與效率上同時改進。
鑒于此,本文設(shè)計了一種快速高精度捕獲算法,首先基于多級搜索和降采樣策略快速將信號的頻率捕獲縮小到一個較小的范圍,再通過多項式曲線擬合算法,實現(xiàn)對B1C 信號多普勒頻移的高精度捕獲。該算法的整體邏輯思路如圖3所示。
圖3 針對B1C 信號的快速高精度捕獲算法框圖Fig.3 Block diagram of fast and high-precision acquisition algorithm for B1C signal
多級搜索的目的是將對信號頻率的搜索快速縮小到一個較小的范圍之內(nèi),以便于使用曲線擬合的方法對頻率進行更加精確地估計。多級搜索的思路如圖4所示。
圖4 頻率多級搜索示意圖Fig.4 Schematic diagram of frequency multilevel search
多級搜索的級數(shù)與每級搜索的步長共同影響捕獲算法的運算量,為了達到更好的曲線擬合效果,最終搜索步長設(shè)為5 Hz,以達到更為精確的頻率估計值。而一級搜索步長則需要在確保頻率估計值落在正確范圍之內(nèi)的基礎(chǔ)上盡量選擇較大的值,以此減少一級搜索的次數(shù)。為了降低漏警發(fā)生的概率,接收機通常應(yīng)當對于頻率誤差絕對值的設(shè)置不得超過表示相干積分時間,從而得到頻率搜索步長的取值范圍為:
北斗B1C 信號的偽碼周期為10 ms,這就意味著該信號在接收機捕獲環(huán)節(jié)的相干積分時間最少應(yīng)為偽碼單周期的10 ms,從而得到應(yīng)當不超過88.6 Hz,即當頻率誤差大于44.3 Hz 時,漏警事件的概率將會逐漸提升。故可設(shè)置為80 Hz,相應(yīng)的級數(shù)與搜索次數(shù)對應(yīng)關(guān)系如表1所示,搜索范圍為7.4 kHz。
表1 不同步長下的搜索次數(shù)統(tǒng)計Tab.1 Statistics of search times under different step size
由表1 可得,三級搜索且二級搜索步長在30 Hz和20 Hz 時的總搜索次數(shù)分別為105 次和104 次,而20 Hz 時三級搜索的搜索次數(shù)只有5 次,考慮到精捕階段希望有較多數(shù)據(jù)點以供多項式擬合使用,則30 Hz 的二級搜索步長更為合適,故三級搜索的步長應(yīng)該分別設(shè)置為80 Hz、30 Hz 和5 Hz。
基于此多級搜索策略,可以進一步使用時頻域結(jié)合搜索的方法優(yōu)化算法的結(jié)構(gòu)??紤]到三級搜索每一次均進行了頻率與碼相位在頻域的并行搜索,而三次搜索的碼相位基本一致,即一級搜索的碼相位已較為精確,之后的碼相位搜索工作是重復(fù)的,所以理論上可以省去后兩次的碼相位搜索來減少計算量。在具體實現(xiàn)上,將初次搜索得到的碼相位作為后兩次搜索讀入信號的起始點,將后兩次的頻域并行搜索改為時域的頻率單獨搜索,以便極大地減少了后兩次搜索的計算量。
基于降采樣的信號快速捕獲算法的思路是使用數(shù)據(jù)預(yù)處理的方法,通過縮短輸入數(shù)據(jù)與本地碼的長度來減少計算量,從而使得信號捕獲速度加快。首先在本地偽碼生成環(huán)節(jié),按照前端設(shè)備的采樣頻率生成偽碼數(shù)據(jù)后以固定倍數(shù)進行降采樣,即按照每隔固定長度數(shù)據(jù)量取一個數(shù)據(jù)點的規(guī)律,利用取出的數(shù)據(jù)點生成新的序列,從而實現(xiàn)偽碼數(shù)據(jù)的降采樣處理。同樣地,在中頻數(shù)據(jù)讀入環(huán)節(jié)也要按照相同的規(guī)律進行數(shù)據(jù)處理,從而保證中頻數(shù)據(jù)和本地碼的對應(yīng)關(guān)系,再利用降采樣后的數(shù)據(jù)進行信號捕獲時就可以節(jié)省大量的計算。
降采樣實質(zhì)是對已采集信號的二次抽樣,抽樣后不僅信號的采樣頻率降低,實際中頻頻率也對應(yīng)改變。研究中所采用的前端設(shè)備,采樣頻率16.368 MHz,中頻頻率4.092 MHz,非正交采樣。當二次抽樣倍數(shù)為偶數(shù)倍時,降采樣后的數(shù)據(jù)中頻降至零中頻,非正交采樣導(dǎo)致頻譜混疊,則捕獲算法無法獲得正確的多普勒頻率。實驗也表明,在對數(shù)據(jù)進行二倍降采樣或者四倍降采樣之后,由于偶數(shù)倍降采樣處理后數(shù)據(jù)的固定特征點損失,捕獲結(jié)果中會出現(xiàn)兩個可能的峰值,且二者的載波頻率關(guān)于中心頻率對稱,即多普勒互為相反數(shù)。這就帶來了很大的誤捕風(fēng)險。因此需要采用奇數(shù)倍的降采樣倍數(shù),再考慮到采樣頻率過低會出現(xiàn)信號失真的問題,故使用三倍降采樣進行數(shù)據(jù)預(yù)處理較為合適。圖5 展示的就是對本地偽碼進行三倍降采樣的思路。相應(yīng)地,接收機讀入的中頻數(shù)據(jù)也要進行相同規(guī)律的處理。
圖5 中,變量N 代表的是在前端采樣頻率下測距碼一個完整周期的采樣點數(shù)。式(2)中的中頻信號離散化后得到處理,新的中頻信號為其中通過三倍降采樣 其中m=1,2,3...N/3。降采樣后的數(shù)據(jù)序列長度縮短到原始長度的三分之一。
圖5 偽碼降采樣示意圖Fig.5 Schematic diagram of PRN code downsampling
結(jié)合2.1 節(jié)的多級與時頻域切換搜索策略,接收機輸入的中頻信號和本地偽碼經(jīng)過同樣的降采樣處理后,首先是粗捕獲通過FFT 在頻域中對頻率和碼相位進行并行搜索,然后控制器記錄一級搜索得到的碼相位并將相關(guān)器切換到時域,同時控制本地載波的頻率搜索范圍和輸入信號的起點,只進行二級與三級的頻率搜索。這樣使得整個捕獲過程中的計算量大大減少,可將捕獲速度提高到三倍左右。具體思路如圖3所示。
在整個捕獲過程中,最耗費時間的是搜索過程中的FFT 運算。假設(shè)中頻數(shù)據(jù)一個完整偽碼周期的采樣點數(shù)為N,一個數(shù)據(jù)點的FFT 運算量為M,精捕獲算法和快速精捕獲算法的FFT 運算量如表2所示。
表2 運算量對比Tab.2 Comparison of calculation quantity
由表2 可以得到,與單獨的精捕獲算法相比,使用降采樣與時頻域切換操作的快速精捕獲算法將占據(jù)主要計算量的FFT 運算相對減少了70.16%,考慮到算法中的其他運算,整體計算量減少比例會略低于該值。需要指出的是,降采樣處理可以有效降低運算量,但也使得信號能量有少量損失,使得捕獲靈敏度略有下降。
為增加后續(xù)跟蹤環(huán)路的跟蹤成功率,可以進一步提高多普勒頻率估計精度。2.2 節(jié)中的多級搜索策略可以將載波頻率估計縮小到一個較為精確的范圍,而由于相關(guān)結(jié)果包含SINC 項,在小范圍頻率區(qū)域內(nèi)可簡化近似于拋物線,因此可采用一個二階多項式曲線擬合,以提高頻率估計精度,在擬合式選取擬合點數(shù)不易過多,以避免邊界效應(yīng),本文中選取5 個點。
其中,
最后根據(jù)獲得的擬合拋物線方程,求最大相關(guān)積分值,即曲線頂點所對應(yīng)的頻率f,該頻率即為捕獲獲得的載波頻率。以一組PRN40 通道的數(shù)據(jù)為例,繪制擬合前后的相關(guān)曲線如圖6所示。
圖6 二次多項式擬合多普勒Fig.6 Doppler frequency estimated by second-order polynomial fitting
由圖6 可以看到擬合曲線與數(shù)據(jù)點連線較為貼切,很好地反映了相關(guān)值的變化趨勢,圖中標注的拋物線頂點相對應(yīng)的頻點即為多普勒頻移的估計值。
為測試所提方法,使用前端采集器(iP-Solutions E2 GPS/Galileo L1 Front end)采集北斗B1C 真實信號進行測試,數(shù)據(jù)采集地點在無遮擋的樓頂,前端與采集數(shù)據(jù)主要參數(shù)如表3所示。
表3 采集的B1C 信號主要參數(shù)Tab.3 Main parameters of collected B1C signal
圖7所示為ASPeCT 捕獲算法解算B1C 真實信號( PRN40 ) 獲得的碼延時-多普勒頻率圖(Delay-Doppler Map,DDM),以及多普勒頻率為-219 Hz 時的相關(guān)值變化曲線。
圖7 BOC(1,1)信號ASPeCT 算法捕獲結(jié)果(PRN40)Fig.7 Acquisition result of ASPeCT algorithm for BOC(1,1)signal(PRN40)
圖7(a)顯示該算法可以完成真實信號的捕獲,與不使用ASPeCT 算法結(jié)果對比,如圖7(b),副峰得到了很大程度上的削減,能夠更有效地避免誤捕。
表4 展示了采用ASPeCT 算法前后,從該數(shù)據(jù)中捕獲到的6 顆衛(wèi)星DDM 中的副峰主峰比。
表4 采用ASPeCT 算法前后峰值對比Tab.4 Comparison of peak values before and after using ASPeCT algorithm
數(shù)據(jù)表明,北斗B1C 真實信號自相關(guān)曲線的副峰與主峰的平均比值約為69.30%,經(jīng)過ASPeCT 算法處理之后該比值約降至9.22%,整體的副峰消除效果可以達到86.70%,消除了信號誤捕的風(fēng)險。
表5所示為采用本文所提快速精捕獲算法和普通精捕獲算法耗時對比表,捕獲耗時使用MATLAB 統(tǒng)計,由于北斗衛(wèi)星數(shù)量較多,僅列出捕獲到衛(wèi)星信號的通道耗時。
表5 快速精捕獲算法速度對比表Tab.5 Speed comparison of fast fine acquisition algorithm
從表5 可以看出快速捕獲算法耗時顯著降低,普通精捕獲算法單通道平均捕獲用時8.68 s,而使用快速捕獲算法后單通道平均用時3.11 s,實際捕獲時間相對縮短了64.17%,較2.2 節(jié)分析的減少70.16%,F(xiàn)FT計算量略有降低,但考慮捕獲還包含擬合等其他運算量,實際改進近2/3,仍然顯著。
為分析快速精捕獲算法獲得的多普勒頻率精度,利用鎖相環(huán)輸出的載波多頻率頻率擬合多普勒頻率曲線,根據(jù)多普勒近似線性的變化規(guī)律,可以通過直線擬合來近似得到多普勒頻率實際曲線,如圖8所示。再根據(jù)擬合多普勒頻率曲線獲得的跟蹤初始時刻多普勒頻率值,即0 s 時刻的多普勒頻率,作為捕獲時刻的精確多普勒頻率估計,則多頻率頻率的捕獲誤差即為捕獲的多頻率頻率與跟蹤初始時刻多普勒頻率之差。圖8所示為PRN40通道衛(wèi)星多普勒頻率跟蹤結(jié)果,通過上述方法可得信號初始時刻的多普勒頻率估計誤差為0.63 Hz。
圖8 多普勒直線擬合Fig.8 Doppler line fitting
根據(jù)該方法,獲得精捕獲前后各衛(wèi)星信號多普勒頻率誤差,結(jié)果如表6所示。
表6 快速精捕獲算法精度對比表Tab.6 Precision comparison of fast fine acquisition algorithm
從表6 可以看出,當僅進行粗捕獲時,頻率搜索步長為80 Hz,以滿足捕獲最大步長要求,可以正確捕獲對應(yīng)的衛(wèi)星信號,但由于捕獲得到的多普勒誤差范圍相對較大,雖然滿足捕獲步長的最低要求,卻無法確保跟蹤環(huán)路的初值精度,發(fā)生跟蹤失敗的可能性較高;當使用本文提出的快速精捕獲算法時,上述測試用例均實現(xiàn)了成功跟蹤,且多普勒頻率的捕獲誤差約0.46 Hz。
本文針對北斗B1C 信號,在基于ASPeCT 算法消除副峰影響的基礎(chǔ)上,設(shè)計了一種快速精捕獲算法策略,該算法通過多級搜索和降采樣策略實現(xiàn)了B1C 信號的快速捕獲,大大減少了捕獲過程中的FFT 計算量,并快速將頻率估計縮小到一個較小范圍,再結(jié)合多項式曲線擬合算法,實現(xiàn)了對多普勒的高精度捕獲。經(jīng)過真實信號測試,該快速精捕獲算法將平均捕獲時間相對縮短了近2/3,多普勒頻率的平均估計誤差在1Hz以內(nèi),保證了后續(xù)信號跟蹤的成功率。