摘 要: 介紹了衛(wèi)星定位接收機(jī)載波跟蹤部分的設(shè)計和實現(xiàn)。在對比分析了載波頻率跟蹤(FLL)和載波相位跟蹤(PLL)各自優(yōu)點(diǎn)的基礎(chǔ)上,,提出一種易于通過FPGA實現(xiàn)的二階FLL和三階PLL相結(jié)合的載波跟蹤方法,。硬件實現(xiàn)采用Altera Cyclone II FPGA中的EP2C70。對該模塊的Verilog硬件描述語言編程方法也進(jìn)行了詳細(xì)說明,。實驗測試結(jié)果表明該設(shè)計可以很好地滿足動態(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è)計適合于FPGA實現(xiàn)的載波跟蹤算法具有實際意義,。
載波跟蹤又分為載波頻率跟蹤(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è)計的難點(diǎn)[1]。
1 載波跟蹤方案設(shè)計
設(shè)計采用FLL輔助PLL的載波跟蹤方式,,首先采用動態(tài)性能好的FLL,,消除大部分多普勒頻移的影響,然后進(jìn)入正常(高精度)跟蹤模式,,即采用跟蹤精度高的PLL直接跟蹤相位變化,,提高跟蹤精度。在容許預(yù)期動態(tài)影響的前提下,,盡量采用窄濾波器噪聲帶寬以維持環(huán)路的高精度跟蹤狀態(tài),。當(dāng)動態(tài)增強(qiáng)時,轉(zhuǎn)入FLL跟蹤,,重復(fù)上述過程,。即當(dāng)動態(tài)性變化時,環(huán)路自動實現(xiàn)FLL與PLL跟蹤方式的切換,。這樣既能保證動態(tài)性能,又能提高環(huán)路的跟蹤精度[2,,3],。方案框圖如圖1所示。
FLL采用CDPAFC鑒頻算法,,原理框圖如圖2所示,。其輸入為解擴(kuò)后的值:
該鑒頻算法消除了數(shù)據(jù)位的影響,鑒頻器的鑒頻范圍為預(yù)檢測積分時間的一半,,鑒頻曲線如圖3所示,。本系統(tǒng)中取預(yù)檢測積分時間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°兩個相位穩(wěn)定點(diǎn),,在載波跟蹤環(huán)解調(diào)載波時會有相位模糊度的問題,,導(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次小于某一門限時,,即認(rèn)為FLL已經(jīng)鎖定,PLL開始工作,。具體算法如下:
在系統(tǒng)開始工作時,,設(shè)置計數(shù)器初值為0,PLLWork清0,,表示FLL開始工作,,PLL未工作。
FLL工作時:
(1)當(dāng)E(k)小于預(yù)置門限時,,計數(shù)器開始計數(shù),;
(2)如果計數(shù)器還沒有計數(shù)到N1時,E(k)大于預(yù)置門限,,則計數(shù)器清0,;
(3)如果計數(shù)器計數(shù)到N1,則表明FLL環(huán)已經(jīng)鎖定,,可以轉(zhuǎn)入PLL環(huán),,PLLWork置1,計數(shù)器清0,。
PLL工作時:
(1)當(dāng)PLL開始工作時,,若E(k)大于預(yù)置門限,則計數(shù)器加1,;
(2)如果計數(shù)器還沒有計數(shù)到N2,,E(k)小于預(yù)置門限,則計數(shù)器清0,;
(3)如果計數(shù)器計數(shù)到N2,,則表明PLL環(huán)失鎖,此時切換到FLL環(huán),,PLLWork清0,,計數(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ù)字實現(xiàn) 在設(shè)計時需要重點(diǎn)考慮以下兩點(diǎn):
實現(xiàn)選用的是Altera公司Cyclone II系列FPGA芯片EP2C70F672C7,。為簡化硬件設(shè)計,F(xiàn)LL和PLL可以共用同一個環(huán)路,,見圖6,。載波跟蹤模塊主要由乘法器﹑加法器、寄存器等組成,。
(1)節(jié)省芯片資源,。乘法是最耗費(fèi)芯片資源的數(shù)學(xué)運(yùn)算。一路信號載波跟蹤需要9個18×18的乘法器,,則12路共需要108個18×18個乘法器,,而EP2C70中一共才有150個18×18的乘法器;另外PN碼的捕獲跟蹤和下變頻還需要乘法器,,顯然乘法器的資源不夠用,。因此在設(shè)計中采用了分時復(fù)用乘法器技術(shù),節(jié)省芯片資源,。
設(shè)計思想是:用一個比載波跟蹤模塊輸入數(shù)據(jù)時鐘高得多的時鐘(如32倍頻)去控制模塊中的乘法器做乘法運(yùn)算,,這樣可以在一個輸入數(shù)據(jù)時鐘周期中很短的一段時間(1/32)內(nèi)完成1次乘法運(yùn)算, 9個乘法運(yùn)算可以分時進(jìn)行,共用同一個乘法器,,既節(jié)省了資源又不會造成大的延時,。
(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)中,,各個節(jié)點(diǎn)的數(shù)據(jù)位寬是通過SPW仿真確定的,既考慮了結(jié)果的正確性,,又考慮了系統(tǒng)的性能,。
QuartusII中常用的輸入方式有文本輸入方式和圖形輸入方式。對于圖6這種具有清晰數(shù)據(jù)流的模塊結(jié)構(gòu),,用硬件描述語言文本輸入方式實現(xiàn)比較好,。Verilog HDL程序的寫法可采用case語句。具體方法是:把載波跟蹤模塊工作時鐘倍頻為高速時鐘,,在case語句中判斷高速時鐘驅(qū)動的計數(shù)器的狀態(tài)值,,按圖6中數(shù)據(jù)流一步一步地做數(shù)學(xué)運(yùn)算。例如:在計數(shù)器為5’b00001狀態(tài)時給乘法器的輸入端賦值,,在下一時刻5’b00010時取出結(jié)果,,得到乘積,作為下一級運(yùn)算的輸入,同時給乘法器輸入端賦新的乘數(shù),。下一時刻5’b00011取新的結(jié)果,,做下級運(yùn)算的輸入。上述寫法數(shù)據(jù)流程清晰,,易讀易懂,,可以方便地實現(xiàn)資源分時復(fù)用。
3 硬件測試結(jié)果
用QUARTUS軟件對整個定位接收機(jī)基帶部分(包含載波跟蹤)程序進(jìn)行編譯后下載到目標(biāo)器件EP2C70F672C7,,通過設(shè)置BD-2信號源來模擬接收機(jī)高速運(yùn)動情況下的接收信號,,用定位接收機(jī)對該信號進(jìn)行載波跟蹤測試,實測的結(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è)計要求。硬件測試結(jié)果表明載波跟蹤部分工作正常,,載波跟蹤的FPGA實現(xiàn)是成功的,。
本文介紹了一種易于通過FPGA實現(xiàn)的二階FLL和三階PLL相結(jié)合的載波跟蹤設(shè)計方案。該方案的硬件實現(xiàn)采用Altera公司CycloneII系列FPGA中的EP2C70F672C7,。文章對該模塊的硬件描述語言(Verilog HDL)編程方法做了詳細(xì)介紹,,重點(diǎn)對節(jié)省芯片資源設(shè)計方法和截位處理做了說明,文章最后給出了實驗測試結(jié)果,。該設(shè)計目前已應(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.