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