李松林,曹可勁,李 豹,朱銀兵
(海軍工程大學(xué) 導(dǎo)航工程系,武漢 430033)
北斗B1信號(hào)捕獲跟蹤算法的軟件仿真研究
李松林,曹可勁,李 豹,朱銀兵
(海軍工程大學(xué) 導(dǎo)航工程系,武漢 430033)
針對(duì)北斗B1頻率的I支路信號(hào),設(shè)計(jì)并實(shí)現(xiàn)了北斗軟件接收機(jī)的基帶處理部分;闡述了北斗B1頻點(diǎn)信號(hào)的擴(kuò)頻體制和產(chǎn)生過(guò)程,并行碼相位搜索捕獲策略以及鑒相輔助跟蹤環(huán)路,并設(shè)計(jì)了二階數(shù)字環(huán)路濾波器;同時(shí)采用Matlab軟件,仿真北斗中頻數(shù)字信號(hào),編碼實(shí)現(xiàn)捕獲跟蹤算法,并分別通過(guò)對(duì)仿真信號(hào)和真實(shí)衛(wèi)星信號(hào)的捕獲跟蹤,驗(yàn)證捕獲跟蹤算法的可行性,并提出鎖頻環(huán)輔助鎖相環(huán)算法的改進(jìn)思路;為進(jìn)一步開(kāi)展北斗軟件接收機(jī)相關(guān)技術(shù)研究打下了基礎(chǔ)。
并行碼相位算法;鑒相器;數(shù)字環(huán)路濾波器;軟件仿真
當(dāng)前我國(guó)北斗衛(wèi)星導(dǎo)航系統(tǒng)建設(shè)已經(jīng)取得了巨大的突破,可以向各類用戶提供連續(xù)、穩(wěn)定和高精度的定位、導(dǎo)航和授時(shí)服務(wù)。作為北斗用戶端,設(shè)計(jì)開(kāi)發(fā)基于MATLAB的軟件接收機(jī)平臺(tái)對(duì)開(kāi)展北斗衛(wèi)星導(dǎo)航相關(guān)技術(shù)研究有重大意義。北斗信號(hào)在信號(hào)結(jié)構(gòu)上與GPS信號(hào)具有相似性,借鑒典型的GPS信號(hào)捕獲跟蹤算法,可實(shí)現(xiàn)對(duì)北斗B1信號(hào)的捕獲跟蹤和導(dǎo)航電文的解調(diào)。軟件接收機(jī)在跟蹤某顆衛(wèi)星信號(hào)之前,通過(guò)捕獲階段獲得該衛(wèi)星信號(hào)的載波頻率和碼相位的粗略估計(jì)值。跟蹤過(guò)程中再逐步精細(xì)這兩個(gè)信號(hào)參量的估計(jì),并不斷復(fù)制產(chǎn)生與該衛(wèi)星接收信號(hào)載波頻率和碼相位相近的本地信號(hào),與接收的衛(wèi)星中頻信號(hào)進(jìn)行混頻實(shí)現(xiàn)載波剝離和信號(hào)解擴(kuò),同時(shí)解調(diào)出信號(hào)中的導(dǎo)航電文[1]。
1.1 北斗B1I信號(hào)的產(chǎn)生
北斗B1信號(hào)由I、Q兩個(gè)支路的“測(cè)距碼+導(dǎo)航電文”正交調(diào)制在載波上構(gòu)成,然后由衛(wèi)星天線發(fā)射。信號(hào)表達(dá)式如下:
(1)
其中:A表示B1信號(hào)振幅,C(t)表示B1信號(hào)測(cè)距碼,D(t)表示調(diào)制在測(cè)距碼上的數(shù)據(jù)碼,I和Q分別表示I支路和Q支路。為了改善原序列的相關(guān)性并提高窄帶抗干擾能力,MEO衛(wèi)星和IGSO衛(wèi)星播發(fā)的衛(wèi)星信號(hào)在I支路上對(duì)D1導(dǎo)航信息碼進(jìn)行擴(kuò)頻處理的同時(shí),同步調(diào)制碼速率為1 kbps,碼寬為1 毫秒的二次編碼,即NH碼。而GEO衛(wèi)星播發(fā)的衛(wèi)星信號(hào)沒(méi)有加載NH碼。二次編碼(NH碼)調(diào)制過(guò)程如圖1所示。
圖1 NH碼調(diào)制示意圖
擴(kuò)頻碼(以下稱CB1I碼)屬于稱為Gold碼的偽隨機(jī)噪聲(PRN)碼序列。信號(hào)由兩個(gè)2046位的PRN序列G1和G2產(chǎn)生,G1和G2都是由11位最大長(zhǎng)度線性移位寄存器產(chǎn)生的,其生成多項(xiàng)式為:
G1(X)=1+X+X7+X8+X9+X10+X11
G2(X)=1+X+X2+X3+X4+X5+X8+X9+X11
G1和G2均由2.046 MHz的時(shí)鐘來(lái)驅(qū)動(dòng),G1序列初始相位為:01010101010,G2序列初始相位為:01010101010。CB1I碼發(fā)生器如圖2所示。
圖2 CB1I碼發(fā)生器
通過(guò)對(duì)產(chǎn)生G2 序列的移位寄存器不同抽頭的模二和可以實(shí)現(xiàn)G2 序列相位的不同偏移,與G1 序列模二和后可生成不同衛(wèi)星的測(cè)距碼。
1.2 捕獲算法
跟蹤B1I信號(hào)并進(jìn)行信息解碼之前需要先捕獲衛(wèi)星信號(hào),進(jìn)而測(cè)出CB1I碼周期的起始位置和信號(hào)的載波頻率這兩個(gè)參數(shù)。并將兩個(gè)參數(shù)傳遞給跟蹤程序。
B1I衛(wèi)星信號(hào)的捕獲是一個(gè)搜索過(guò)程,即執(zhí)行一個(gè)二維的載波頻率偏移和碼相位的搜索,得到粗略估計(jì)的碼相位和載波多普勒頻移。為了捕獲衛(wèi)星信號(hào),需要同時(shí)復(fù)現(xiàn)衛(wèi)星的碼和載波(兩維匹配),其中距離維是與復(fù)現(xiàn)碼相關(guān)聯(lián)的,而多普勒維則與復(fù)現(xiàn)載波相關(guān)聯(lián)[2]。北斗CB1I碼二維搜索如圖3所示。
圖3 北斗CB1I碼二維搜索圖
根據(jù)衛(wèi)星發(fā)射PRN碼的相關(guān)特性,即接收機(jī)復(fù)現(xiàn)的碼與衛(wèi)星碼相匹配時(shí)有最大的相關(guān),采用常用的并行碼相位捕獲算法。并行碼相位捕獲算法流程圖如圖4。
圖4 并行碼相位捕獲算法流程圖
每個(gè)衛(wèi)星信號(hào)的CB1I碼不同,開(kāi)始時(shí)間不同,多普勒頻移也不同。由于CB1I碼信號(hào)具有良好的自相關(guān)性,于是產(chǎn)生不同衛(wèi)星的CB1I本地碼信號(hào),通過(guò)輪流與輸入信號(hào)做相關(guān)運(yùn)算,找到輸入信號(hào)的衛(wèi)星號(hào)以及CB1I的起始位置。并用這個(gè)信息對(duì)頻譜解擴(kuò),輸出一個(gè)連續(xù)波信號(hào),然后得到它的載波頻率。
將捕獲階段獲得載波頻率和碼相位的粗略估計(jì)值傳遞給跟蹤程序,跟蹤過(guò)程中再逐步精細(xì)這兩個(gè)信號(hào)參量的估計(jì),并不斷復(fù)制產(chǎn)生與該衛(wèi)星接收信號(hào)載波頻率和碼相位相近的本地信號(hào),與接收信號(hào)進(jìn)行混頻實(shí)現(xiàn)載波剝離和信號(hào)解擴(kuò)。
由于接收機(jī)與衛(wèi)星之間的相對(duì)運(yùn)動(dòng)以及衛(wèi)星時(shí)鐘與接收機(jī)晶體振蕩器的頻率漂移等原因,接收信號(hào)的載波頻率和碼相位會(huì)隨時(shí)間變化,為了持續(xù)穩(wěn)定跟蹤該衛(wèi)星信號(hào),跟蹤環(huán)路一般是閉環(huán)反饋的控制系統(tǒng)[3]。
實(shí)際上,信號(hào)跟蹤環(huán)路由載波環(huán)和碼環(huán)兩部分組成,前者用來(lái)跟蹤信號(hào)中的載波,后者用來(lái)跟蹤信號(hào)中的偽碼。常用載波跟蹤環(huán)分為鎖相環(huán)PLL和鎖頻環(huán)FLL,前者通過(guò)跟蹤本地載波和輸入信號(hào)的頻差來(lái)控制振蕩器NCO輸出,后者是通過(guò)跟蹤本地載波和輸入信號(hào)的相差來(lái)控制振蕩器NCO輸出。鎖相環(huán)跟蹤精度高,但跟蹤帶寬較窄;鎖頻環(huán)跟蹤精度低,但跟蹤帶寬較寬。本文選用跟蹤精度高,跟蹤性能穩(wěn)定,且易設(shè)計(jì)實(shí)現(xiàn)的二階鎖相環(huán)來(lái)對(duì)衛(wèi)星信號(hào)進(jìn)行跟蹤。下面介紹二階鎖相環(huán)的數(shù)學(xué)模型:
一個(gè)典型的數(shù)字化鎖相環(huán)主要由鑒相器(PD)、環(huán)路濾波器(LF)和數(shù)控振蕩器(NCO)3個(gè)部分組成?;緲?gòu)成圖如圖5。
圖5 數(shù)字化鎖相環(huán)
實(shí)質(zhì)上,數(shù)字鎖相環(huán)是一個(gè)時(shí)間離散的的模擬鎖相環(huán),常見(jiàn)二階鎖相環(huán)的s域模型如圖6所示。
圖6 二階鎖相環(huán)的s域模型
其閉環(huán)傳遞函數(shù)為
(2)
采用雙線性變化法將模擬鎖相環(huán)變?yōu)閿?shù)字鎖相環(huán),變換的表達(dá)式為
(3)
式中,T為采樣時(shí)間間隔。根據(jù)雙線性變換法可得:
環(huán)路濾波器:
(4)
數(shù)控振蕩器:
(5)
在實(shí)際應(yīng)用中的的二階鎖相環(huán),常用阻尼因子ζ和振蕩頻率ωn來(lái)表示,其中τ1、τ2、K與ζ、ωn的對(duì)應(yīng)關(guān)系如下:
(6)
可求出噪聲帶寬為:
(7)
采用上述表達(dá)式進(jìn)行等效變換可得二階數(shù)字鎖相環(huán)的線性相位z域模型[4],如圖7所示。
圖7 二階數(shù)字鎖相環(huán)的z域模型
現(xiàn)在討論鎖相環(huán)中數(shù)字鑒相器DPD,數(shù)字環(huán)路濾波器LF,數(shù)控振蕩器NCO的實(shí)現(xiàn)方法。
1)數(shù)字鑒相器:
載波環(huán)鑒相器是鎖相環(huán)的核心部分,常用的鑒相器及輸出的相位誤差如表1所示。
表1 鑒相器及輸出的相位誤差
其中,反正切鑒相器tan-1(Ip/Qp)可以消除輸入信號(hào)的幅度對(duì)鑒相精度的影響,有利于提高鑒相的精度和捕獲速度,在低動(dòng)態(tài)高信噪比狀況下性能最佳,因此使用反正切鑒相器[5]。鑒相器模型圖8所示。
圖8 鑒相器模型
假設(shè)鎖相環(huán)的輸入信號(hào)為
(8)
鑒相器的z域模型為:
(9)
根據(jù)圖8可得:
(10)
式中,LPF表示低通濾波器,執(zhí)行該運(yùn)算表示取信號(hào)的低頻分量。
輸人信號(hào)與數(shù)控振蕩器產(chǎn)生的兩路正交信號(hào)相乘,經(jīng)低通濾波后得到差頻信號(hào),然后求反正切可以得到相位差信號(hào),完成鑒相功能。
2)數(shù)字環(huán)路濾波器:
二階鎖相環(huán)中的環(huán)路濾波器是一個(gè)單極點(diǎn)的無(wú)限沖擊激響應(yīng)(IIR)濾波器,它將鑒相器輸出的角誤差量轉(zhuǎn)化為控制輸出頻率的電壓分量。數(shù)字環(huán)路濾波器的Z域模型為:
(11)
經(jīng)過(guò)Z反變換得到數(shù)字環(huán)路濾波器的時(shí)域表達(dá)式為:
(12)
仿真的系統(tǒng)是采用相位調(diào)制,鑒相器的輸出是輸人信號(hào)與本地載波的相位差和調(diào)相信號(hào)之和,因此在保證鎖相環(huán)能正常鎖定的基礎(chǔ)上,調(diào)相信號(hào)不影響鎖相環(huán)。
3)數(shù)控振蕩器:
數(shù)控振蕩器的Z域模型為:
(13)
通過(guò)Z反變換得到數(shù)控振蕩器的時(shí)域表達(dá)式:
(14)
上式還可表示為:
(15)
當(dāng)鎖相環(huán)處于跟蹤狀態(tài)時(shí),變量uc(nT)數(shù)值較小且變化不會(huì)太快,因此式 可以簡(jiǎn)化為:
(16)
因此,鎖相環(huán)數(shù)控振蕩器的輸出為:
(17)
下面是模擬壓控振蕩器的輸出正弦信號(hào):
(18)
4)參數(shù)設(shè)計(jì):
根據(jù)鎖相環(huán)的基本理論可知,鎖相環(huán)的各種性能對(duì)ωn和ζ的要求存在矛盾和統(tǒng)一。增大ωn和ζ,可以增大捕獲帶,減小捕獲時(shí)間,加強(qiáng)對(duì)VCO噪聲的濾除,減小穩(wěn)態(tài)相關(guān),增大同步帶,增大同步掃描速率;減小ωn和ζ,可以加強(qiáng)對(duì)輸入噪聲的濾除,提高跟蹤精度,延長(zhǎng)平均跳周時(shí)間。因此,參數(shù)的設(shè)計(jì)是在一個(gè)合理的范圍內(nèi)實(shí)現(xiàn)鎖相環(huán)性能的優(yōu)化。
首先,確定阻尼系數(shù)ζ。根據(jù)環(huán)路對(duì)輸入噪聲的抑制性能,選擇ζ=0.5時(shí)等效噪聲帶寬最小??紤]到環(huán)路暫態(tài)響應(yīng)不應(yīng)太長(zhǎng),應(yīng)在0.6<ζ<1內(nèi)選擇一個(gè)ζ值。實(shí)際中一般取ζ=0.707。然后,確定自然諧振頻率ωn。假設(shè)輸入信號(hào)的最大頻偏為Δωmax或稱多普勒頻偏的最大值),為了提高環(huán)路的捕獲性能,要確保最大頻偏落在快捕帶內(nèi),即Δωmax≤2ζωn,可知ωn>>Δωmax/1.414=0.707Δωmax又根據(jù)式(7)求出二階鎖相環(huán)噪聲帶寬為Bn[4]。
但在實(shí)際應(yīng)用中,一般先確定阻尼系數(shù)ζ和Bn噪聲帶寬,再根據(jù)相關(guān)關(guān)系式確定其他參數(shù)。綜合上述分析,參數(shù)設(shè)計(jì)為ζ=0.707,Bn=25(Hz)。
假設(shè)衛(wèi)星號(hào)為6號(hào),屬于MEO/IGSO衛(wèi)星,仿真產(chǎn)生一段200 ms的衛(wèi)星模擬信號(hào):D1導(dǎo)航數(shù)據(jù)碼是二相碼,速率為50 Hz,即每個(gè)導(dǎo)航數(shù)據(jù)位長(zhǎng)20 ms,而CB1I碼周期為1 ms,所以一個(gè)D1導(dǎo)航數(shù)據(jù)位中有20個(gè)CB1I碼。采樣率設(shè)為16e6,產(chǎn)生200 ms的數(shù)據(jù)碼,并調(diào)制同樣長(zhǎng)度的NH碼。再通過(guò)CB1I碼發(fā)生器產(chǎn)生200 ms采樣CB1I碼。載波中頻頻率設(shè)為6121346,初始相位設(shè)為pi*2/3,產(chǎn)生200 ms采樣載波。
對(duì)D1導(dǎo)航數(shù)據(jù)碼,CB1I碼,模擬中頻載波進(jìn)行連續(xù)點(diǎn)乘運(yùn)算,該過(guò)程視為兩級(jí)調(diào)制,最終產(chǎn)生北斗B1I信號(hào)并保存數(shù)據(jù),在頻域內(nèi)畫出擴(kuò)頻后的導(dǎo)航數(shù)據(jù)碼和調(diào)制載波后的衛(wèi)星信號(hào)如圖9所示。
圖9 仿真北斗B1I信號(hào)頻譜
將模擬產(chǎn)生的北斗B1I信號(hào)作為輸入信號(hào),采用捕獲算法對(duì)其搜索,搜索到6號(hào)衛(wèi)星,結(jié)果如圖10所示。
圖10 捕獲結(jié)果圖
捕獲得到的載波頻率估計(jì)值為6121370。再對(duì)6號(hào)衛(wèi)星信號(hào)進(jìn)行跟蹤解調(diào)得到輸出的導(dǎo)航電文如圖11所示。
圖11 模擬6號(hào)衛(wèi)星輸出導(dǎo)航電文
再利用相關(guān)法剝離NH碼得到輸出導(dǎo)航電文如圖12所示。
圖12 剝離NH碼后的導(dǎo)航電文
利用衛(wèi)星中頻信號(hào)采樣器采集一段500 ms的真實(shí)的衛(wèi)星信號(hào)進(jìn)行捕獲跟蹤,成功獲得3號(hào)星的導(dǎo)航電文如圖13所示。
圖13 真實(shí)3號(hào)衛(wèi)星導(dǎo)航電文
3號(hào)衛(wèi)星屬于GEO衛(wèi)星,播發(fā)的衛(wèi)星信號(hào)沒(méi)有加載NH碼,因此不用剝離。
本文設(shè)計(jì)開(kāi)發(fā)了基于經(jīng)典的并行碼相位捕獲算法和典型的二階鎖相跟蹤環(huán)路的MATLAB軟件接收機(jī),分別對(duì)仿真產(chǎn)生的200 ms的北斗B1I信號(hào)和采集到的500 ms的真實(shí)衛(wèi)星信號(hào)進(jìn)行捕獲跟蹤解調(diào),均解調(diào)出導(dǎo)航電文。但在真實(shí)衛(wèi)星信號(hào)的實(shí)時(shí)動(dòng)態(tài)跟蹤過(guò)程中,載波產(chǎn)生較大的多普勒頻移和頻移變化率,并使偽隨機(jī)碼產(chǎn)生時(shí)延和頻移,鎖相環(huán)跟蹤時(shí)必須增加帶寬,引入更多噪聲,會(huì)造成失鎖,故一般采用鎖頻環(huán)和鎖相環(huán)結(jié)合的方式提高跟蹤性能[6]。鎖相環(huán)PLL和鎖頻環(huán)FLL結(jié)合的方式有兩種。一種是FLL切換PLL方式,該方式在環(huán)內(nèi)設(shè)計(jì)一個(gè)頻率判決器,當(dāng)頻差大于某一閾值時(shí)使用FLL縮小頻差,當(dāng)頻差小于該閾值時(shí)使用PLL進(jìn)行精準(zhǔn)的跟蹤。該閾值可以隨意選取,但選取更為科學(xué)合理的閾值有待進(jìn)一步研究。另一種方式是FLL輔助PLL,該方式將FLL和PLL同時(shí)使用,吸收了各自的優(yōu)點(diǎn),具有穩(wěn)定良好的跟蹤性能。常用的模型有二階FLL輔助三階PLL,這是本文下一步努力的方向。
[1] 竺小松,張 頌.一種數(shù)字鑒相器的設(shè)計(jì)[J].Design & Research,2007,11:26.
[2] 馮 瑞.北斗二代接收機(jī)基帶信號(hào)處理算法研究[D].武漢:武漢理工大學(xué),2013.
[3] 劉俊成.GPS軟件接收機(jī)關(guān)鍵技術(shù)研究[D].長(zhǎng)沙:國(guó)防科技大學(xué),2006.
[4] 屈 強(qiáng),劉東華等.軟件接收機(jī)的設(shè)計(jì)與應(yīng)用[J].遙測(cè)遙控,2007,28(1):11-14.
[5] 許志鵬,余 劍.鎖相環(huán)中鑒相器的設(shè)計(jì)與仿真[J].電子測(cè)量技術(shù),2011,34(11):32-35.
[6] 吳華明,蘇雁泳,劉愛(ài)軍.鎖相環(huán)與鎖頻環(huán)在數(shù)字Costas環(huán)中的應(yīng)用[J].科學(xué)技術(shù)與工程,2010,10(19):4645-4650.
Software Simulation Study of Acquisition and Tracking Algorithms on Big Dipper B1 Signal
Li Songlin,Cao Kejin,Li Bao,Zhu Yinbing
(Naval University of Engineering,Wuhan 430033, China)
In our software receiver design,the focus is on the baseband signal processing of Big Dipper’s B1 band Branch I signals. In the paper,we introduce the theory of the Spread-spectrum System and process of Big Dipper’s B1 signal,the algorithms for parallel code phase search acquisition,and phase discrimination aided tracking loop. We also present a second-order digital loop filter of which parameters are ,(Hz). Meanwhile,Adopting Matlab software to simulate Big Dipper signals and realized the acquisition and tracking algorithm. And verifying the algorithm by processing simulation signal and the real satellite signal separately.We also put forward the improved method of frequency-locked loop(FLL)aided phase-locked loop(DLL).Then provide a basis for further study of Big Dipper software receiver.
parallel code phase search acquisition method;phase discriminator;digital loop filter;software simulation
2015-08-27;
2015-09-25。
海軍工程大學(xué)自然科學(xué)基金項(xiàng)目(HGDQNJJ15021)。
李松林(1991-),男,陜西旬陽(yáng)人,碩士研究生,主要從事衛(wèi)星無(wú)線電導(dǎo)航技術(shù)及應(yīng)用方向的研究。
1671-4598(2016)07-0152-04
10.16526/j.cnki.11-4762/tp.2016.07.040
TN961 文獻(xiàn)標(biāo)識(shí)碼:B