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