摘 要: 介紹了衛(wèi)星定位接收機(jī)載波跟蹤部分的設(shè)計(jì)和實(shí)現(xiàn)。在對比分析了載波頻率跟蹤(FLL)和載波相位跟蹤(PLL)各自優(yōu)點(diǎn)的基礎(chǔ)上,提出一種易于通過FPGA實(shí)現(xiàn)的二階FLL和三階PLL相結(jié)合的載波跟蹤方法。硬件實(shí)現(xiàn)采用Altera Cyclone II FPGA中的EP2C70。對該模塊的Verilog硬件描述語言編程方法也進(jìn)行了詳細(xì)說明。實(shí)驗(yàn)測試結(jié)果表明該設(shè)計(jì)可以很好地滿足動態(tài)性能和跟蹤精度的要求。
關(guān)鍵詞: 全球衛(wèi)星導(dǎo)航系統(tǒng);載波跟蹤;FPGA;硬件描述語言
載波跟蹤技術(shù)是各種衛(wèi)星導(dǎo)航定位系統(tǒng)中衛(wèi)星定位接收機(jī)基帶處理部分的關(guān)鍵技術(shù)之一。隨著FPGA器件規(guī)模的擴(kuò)大、處理速度的提高、成本的降低,研究設(shè)計(jì)適合于FPGA實(shí)現(xiàn)的載波跟蹤算法具有實(shí)際意義。
載波跟蹤又分為載波頻率跟蹤(FLL)和載波相位跟蹤(PLL)。常見的FLL是叉積自動頻率跟蹤,常見的PLL是科斯塔斯環(huán)。頻率跟蹤環(huán)的動態(tài)性能優(yōu)于相位跟蹤環(huán),所以一些典型的軍用高動態(tài)接收機(jī)均采用FLL環(huán)進(jìn)行載波跟蹤。但是在相同信噪比條件下,F(xiàn)LL的測量誤差要大于PLL。如何兼顧動態(tài)跟蹤性能和測量精度,是高動態(tài)衛(wèi)星定位接收機(jī)載波跟蹤設(shè)計(jì)的難點(diǎn)[1]。
1 載波跟蹤方案設(shè)計(jì)
設(shè)計(jì)采用FLL輔助PLL的載波跟蹤方式,首先采用動態(tài)性能好的FLL,消除大部分多普勒頻移的影響,然后進(jìn)入正常(高精度)跟蹤模式,即采用跟蹤精度高的PLL直接跟蹤相位變化,提高跟蹤精度。在容許預(yù)期動態(tài)影響的前提下,盡量采用窄濾波器噪聲帶寬以維持環(huán)路的高精度跟蹤狀態(tài)。當(dāng)動態(tài)增強(qiáng)時(shí),轉(zhuǎn)入FLL跟蹤,重復(fù)上述過程。即當(dāng)動態(tài)性變化時(shí),環(huán)路自動實(shí)現(xiàn)FLL與PLL跟蹤方式的切換。這樣既能保證動態(tài)性能,又能提高環(huán)路的跟蹤精度[2,3]。方案框圖如圖1所示。
FLL采用CDPAFC鑒頻算法,原理框圖如圖2所示。其輸入為解擴(kuò)后的值:
該鑒頻算法消除了數(shù)據(jù)位的影響,鑒頻器的鑒頻范圍為預(yù)檢測積分時(shí)間的一半,鑒頻曲線如圖3所示。本系統(tǒng)中取預(yù)檢測積分時(shí)間Tb=1 ms,鑒頻范圍為250 Hz。
由于FLL的跟蹤精度低,當(dāng)頻率牽引到一定范圍以內(nèi)后,采用屬于PLL的科斯塔斯環(huán)跟蹤載波??扑顾弓h(huán)原理框圖如圖4中虛線框所示。
科斯塔斯環(huán)的誤差控制量:
由式(4)可見,調(diào)制在載波上的數(shù)據(jù)位的正負(fù)對科斯塔斯環(huán)的鑒相特性沒有影響,環(huán)路呈正弦鑒相曲線。由于鎖相環(huán)存在0°和180°兩個(gè)相位穩(wěn)定點(diǎn),在載波跟蹤環(huán)解調(diào)載波時(shí)會有相位模糊度的問題,導(dǎo)致數(shù)據(jù)位相位出現(xiàn)180°的翻轉(zhuǎn),該問題可以通過巴克碼極性判斷來解決。
由于存在速度和加速度引起的多普勒頻移和多普勒頻移的變化率,為了使穩(wěn)態(tài)誤差為零,需要采用二階鎖頻環(huán)輔助三階鎖相環(huán)的方式[4]。
FLL與PLL切換的基本方法是判斷跟蹤后的頻差是否小于預(yù)置門限。當(dāng)E(k)連續(xù)N次小于某一門限時(shí),即認(rèn)為FLL已經(jīng)鎖定,PLL開始工作。具體算法如下:
在系統(tǒng)開始工作時(shí),設(shè)置計(jì)數(shù)器初值為0,PLLWork清0,表示FLL開始工作,PLL未工作。
FLL工作時(shí):
(1)當(dāng)E(k)小于預(yù)置門限時(shí),計(jì)數(shù)器開始計(jì)數(shù);
(2)如果計(jì)數(shù)器還沒有計(jì)數(shù)到N1時(shí),E(k)大于預(yù)置門限,則計(jì)數(shù)器清0;
(3)如果計(jì)數(shù)器計(jì)數(shù)到N1,則表明FLL環(huán)已經(jīng)鎖定,可以轉(zhuǎn)入PLL環(huán),PLLWork置1,計(jì)數(shù)器清0。
PLL工作時(shí):
(1)當(dāng)PLL開始工作時(shí),若E(k)大于預(yù)置門限,則計(jì)數(shù)器加1;
(2)如果計(jì)數(shù)器還沒有計(jì)數(shù)到N2,E(k)小于預(yù)置門限,則計(jì)數(shù)器清0;
(3)如果計(jì)數(shù)器計(jì)數(shù)到N2,則表明PLL環(huán)失鎖,此時(shí)切換到FLL環(huán),PLLWork清0,計(jì)數(shù)器清0。
圖5為雙環(huán)自動切換載波跟蹤的MATLAB仿真結(jié)果。初始頻差50 Hz,頻率變化率100 Hz/s。圖中的折線為切換指示信號。由圖可見切換前FLL工作,環(huán)路快速收斂;切換后PLL工作,環(huán)路進(jìn)入高精度跟蹤狀態(tài)。
2 FPGA數(shù)字實(shí)現(xiàn) 在設(shè)計(jì)時(shí)需要重點(diǎn)考慮以下兩點(diǎn):
實(shí)現(xiàn)選用的是Altera公司Cyclone II系列FPGA芯片EP2C70F672C7。為簡化硬件設(shè)計(jì),F(xiàn)LL和PLL可以共用同一個(gè)環(huán)路,見圖6。載波跟蹤模塊主要由乘法器﹑加法器、寄存器等組成。
(1)節(jié)省芯片資源。乘法是最耗費(fèi)芯片資源的數(shù)學(xué)運(yùn)算。一路信號載波跟蹤需要9個(gè)18×18的乘法器,則12路共需要108個(gè)18×18個(gè)乘法器,而EP2C70中一共才有150個(gè)18×18的乘法器;另外PN碼的捕獲跟蹤和下變頻還需要乘法器,顯然乘法器的資源不夠用。因此在設(shè)計(jì)中采用了分時(shí)復(fù)用乘法器技術(shù),節(jié)省芯片資源。
設(shè)計(jì)思想是:用一個(gè)比載波跟蹤模塊輸入數(shù)據(jù)時(shí)鐘高得多的時(shí)鐘(如32倍頻)去控制模塊中的乘法器做乘法運(yùn)算,這樣可以在一個(gè)輸入數(shù)據(jù)時(shí)鐘周期中很短的一段時(shí)間(1/32)內(nèi)完成1次乘法運(yùn)算, 9個(gè)乘法運(yùn)算可以分時(shí)進(jìn)行,共用同一個(gè)乘法器,既節(jié)省了資源又不會造成大的延時(shí)。
(2)截位。由于在FPGA中采用定點(diǎn)數(shù)進(jìn)行運(yùn)算,而位數(shù)的多少直接影響到資源使用、運(yùn)算速度以及運(yùn)算精度,因此需要對數(shù)據(jù)進(jìn)行截位處理。截位應(yīng)盡可能少地保留符號位多保留有效數(shù)據(jù)位,但又要注意防止數(shù)據(jù)溢出。在本系統(tǒng)中,各個(gè)節(jié)點(diǎn)的數(shù)據(jù)位寬是通過SPW仿真確定的,既考慮了結(jié)果的正確性,又考慮了系統(tǒng)的性能。
QuartusII中常用的輸入方式有文本輸入方式和圖形輸入方式。對于圖6這種具有清晰數(shù)據(jù)流的模塊結(jié)構(gòu),用硬件描述語言文本輸入方式實(shí)現(xiàn)比較好。Verilog HDL程序的寫法可采用case語句。具體方法是:把載波跟蹤模塊工作時(shí)鐘倍頻為高速時(shí)鐘,在case語句中判斷高速時(shí)鐘驅(qū)動的計(jì)數(shù)器的狀態(tài)值,按圖6中數(shù)據(jù)流一步一步地做數(shù)學(xué)運(yùn)算。例如:在計(jì)數(shù)器為5’b00001狀態(tài)時(shí)給乘法器的輸入端賦值,在下一時(shí)刻5’b00010時(shí)取出結(jié)果,得到乘積,作為下一級運(yùn)算的輸入,同時(shí)給乘法器輸入端賦新的乘數(shù)。下一時(shí)刻5’b00011取新的結(jié)果,做下級運(yùn)算的輸入。上述寫法數(shù)據(jù)流程清晰,易讀易懂,可以方便地實(shí)現(xiàn)資源分時(shí)復(fù)用。
3 硬件測試結(jié)果
用QUARTUS軟件對整個(gè)定位接收機(jī)基帶部分(包含載波跟蹤)程序進(jìn)行編譯后下載到目標(biāo)器件EP2C70F672C7,通過設(shè)置BD-2信號源來模擬接收機(jī)高速運(yùn)動情況下的接收信號,用定位接收機(jī)對該信號進(jìn)行載波跟蹤測試,實(shí)測的結(jié)果見圖7、圖8。圖7是在v=182 m/s、a=0 m/s^2、C/N=-133 dBm下,載波跟蹤穩(wěn)定后的I支路的數(shù)據(jù)。圖8是濾波器輸出的頻率誤差,穩(wěn)定后的抖動方差小于0.7 Hz。符合設(shè)計(jì)要求。硬件測試結(jié)果表明載波跟蹤部分工作正常,載波跟蹤的FPGA實(shí)現(xiàn)是成功的。
本文介紹了一種易于通過FPGA實(shí)現(xiàn)的二階FLL和三階PLL相結(jié)合的載波跟蹤設(shè)計(jì)方案。該方案的硬件實(shí)現(xiàn)采用Altera公司CycloneII系列FPGA中的EP2C70F672C7。文章對該模塊的硬件描述語言(Verilog HDL)編程方法做了詳細(xì)介紹,重點(diǎn)對節(jié)省芯片資源設(shè)計(jì)方法和截位處理做了說明,文章最后給出了實(shí)驗(yàn)測試結(jié)果。該設(shè)計(jì)目前已應(yīng)用于北斗、GPS定位系統(tǒng)接收機(jī)中,工作穩(wěn)定可靠。
參考文獻(xiàn)
[1] 沈鋒,徐定杰.基于FLL/PLL相結(jié)合的載波跟蹤在導(dǎo)航接收機(jī)中的應(yīng)用[J].中國航海,2004,59(2):51-54.
[2] 樂四海,楚恒林.基于DSP的高動態(tài)接收機(jī)載波捕獲跟蹤技術(shù)[J].電訊技術(shù),2007,47(3):136-140.
[3] 梁丹丹,張一.高動態(tài)直擴(kuò)接收機(jī)載波跟蹤技術(shù)研究[J].電子技術(shù)應(yīng)用,2005(9):51-53.
[4] 陳斌杰,陳敏鋒.高動態(tài)下GPS信號的捕獲和跟蹤技術(shù)研究[J].現(xiàn)代電子技術(shù),2006(3):13-15.