1 引言 直接序列擴頻技術在通信、導航、測控等領域得到了廣泛的研究和應用。擴頻調制系統要求在收發兩端用完全相同的偽隨機碼進行擴頻和解擴,因此接收機本地參考偽碼序列與接收碼序列之間的精確同步是對期望信號實現解擴的關鍵,偽碼相位的跟蹤性能直接影響著擴頻測距的精度。碼相位跟蹤通常采用延遲鎖定環方法,即利用本地發生器產生相位超前、滯后碼信號,與輸入的擴頻信號相關,對相關結果進行比較,獲得碼相位誤差信號,以控制碼NCO產生與輸入碼相位一致的本地信號。常用延遲鎖定有相干型DLL、非相干型DLL。隨著大規模集成電路的快速發展,非相干型DLL在全數字偽碼跟蹤環中的應用日益廣泛。文獻中對非相干跟蹤環進行了深入的研究,提出了與常規方法相比更適合數字實現的偽碼跟蹤環,其結構如圖1所示。 ![]() 圖1 GPS信號接收的碼跟蹤環結構 在圖1所示跟蹤環路結構中,為了使碼跟蹤環同時具有大跟蹤范圍和高跟蹤精度,可以采用多個具有不同相關間距的DLL,初始跟蹤采用寬相關間距,穩定跟蹤后為了提高精度采用窄相關間距。上述改善碼跟蹤環性能的方法,都要求產生多個不同延時關系的偽碼序列。 2 常規方法 碼跟蹤環中使用的超前、滯后偽碼發生器多采用移位寄存器的方式產生不同延時的偽碼序列。不同偽碼序列的最小延時間隔由移位寄存器的最大工作時鐘決定。直擴信號接收機的一個基本準則就是采樣率不能是偽碼速率的整數倍,不同偽碼序列間的延時基本由采樣率決定。為了得到較窄的延時間隔,不得不對采樣頻率進行倍頻作為移位寄存器的工作時鐘。 采用移位寄存器生成偽碼序列的方式,延時問隔的修改、調整很不靈活。當偽碼速率較高(>80Mcps)時,移位寄存器的移位時鐘必然受列FPGA器件的最大一1:作能力(Virtex5最高時鐘頻率為550MHz)的限制,無法滿足0.1chip延時的窄相關的要求。 3 新的延時控制方法 3.1 算法原理 在實現數字鎖相環時。普遍運用數控振蕩器(NCO)代替模擬器件VCO,NCO易于在FPGA中實現。NCO采用DDS原理設計,其工作過程如下:相位累加器在NCO時鐘的作用下以頻率控制字為步長在N位累加器中作加法運算,其中,碼累加器的低L位對應著一個碼片,取結果相位碼的高位去尋址查找表,輸出查找表存儲的數據。借鑒數控NCO思想,本文提出一種新型全數字化偽碼序列產生方法,只需改變相位累加器中初始相位的設置即可完成任意精度的延時控制。降低了對工作時鐘頻率的要求,而且易于在FPGA、CPLD等數字器件中實現,為偽碼跟蹤算法的改進提供了有力保障。 遵循NCO算法原理,偽碼序列產生方法的邏輯框圖如圖2所示,主要由頻率字寄存器、相位累加器以及偽碼存儲表組成。 ![]() 圖2新型偽碼序列產生方法邏輯框圖 設碼跟蹤環濾波器輸入更新的碼頻率為fc,則輸出碼頻率字:fw=Kf x fc其中,轉換系數Kf=2L/f3,f3為相位累加器的參考時鐘。當設定所需的初始相位θ0后,在f3的上升沿以θ0為初值進行循環累加: ![]() 其中,θk為相位累加器進行第K次累加后輸出的偽碼相位。 假設偽碼序列長度為1023,則要查詢一個完整的偽碼周期,查表地址至少要取1O位(210=1024),因此取累加器的高10位作為碼表的地址。控制偽碼存儲表輸出偽碼序列。當相位累加器累加完一個周期,為保證前后兩周期的偽碼序列相位連續,可按式(3)進行取模運算。 ![]() 至此完成了偽碼序列產生的整個過程。下面著重介紹通過相位累加器中初始相位的不同來得到不同延時的偽碼序列 3.2 不同延時序列的產生 根據上述分析可知累加器的2L對應一個偽碼碼片,因此,通過對相位累加器設置不同的初值便可得到需要的偽碼延時序列。例如,為了提高碼跟蹤環的跟蹤范圍,在初始跟蹤時選擇1/2碼片的延時間隔;鎖定后為了提高跟蹤精度,采用1/4碼片的延時間隔,采用本文方法得到的再生偽碼發生器(取N=42)如圖3所示。 ![]() 圖3不同延時偽碼序列產生方法流程圖 圖3中,通過42位累加器模1023x232來實現對偽碼序列的輸出控制,232對應一個偽碼碼片。1023個偽碼碼片按順序存儲組成碼表。用42位累加器的高10位作為碼表的地址,查表輸出對應的偽碼序列。不同延時的偽碼序列通過對多個偽碼累加器設置不同的初值來區別。初值為0的是滯后1/2碼片的偽碼序列,即滯后碼片最大的偽碼序列;設置初值為230的是滯后1/4碼片的偽碼序列;設置初值為231的是即時偽碼序列;設置初值為231+230的是超前1/4碼片的偽碼序列;設置初值232為超前1/2碼片的偽碼序列。再生偽碼周期時鐘通過判斷偽碼序列的碼片來產生,對即時偽碼支路模1023x232的結果進行判斷,偽碼地址對應起始位時輸出高電平,其他時刻輸出低電平,如此產生再準偽碼周期時鐘。采用這種方法可以方便實現各種延時的偽碼序列.而且延時精度最高達到1/232碼片。可以靈活生成不同碼片延時的超前、滯后偽碼序列。 4 設計實現及仿真驗證 4.1 FPGA設計實現 依據圖4所示邏輯框圖的結構,利用Xilinx公司的ISE設計軟件,采用自頂向下的模塊化設計方法,用VHDL對偽碼序列產生方法中各部分分別進行編程設計,然后用ModelSim對該模塊做綜合仿真。最終得出如圖4所示結果。 ![]() 圖4基于VHDL的仿真波形圖 其中,1_1_2_phase、1_1_4_phase、pm_phase、e_1_4_phase、e_l_2_phaae分別表示滯后、即時和超前偽碼所對應的偽碼相位;l_l_2_code、l_1_4_code、pm_code、e_l_4_code、e_l_2_code分別表示生成的滯后、即時和超前的偽碼序列。 以在xc4vsx35—12ff668中的實現為例,經仿真發現,本模塊消耗Slice資源242,占整個FPGA全部Slice資源的2%,消耗4 input LuTs資源393,僅占l%,消耗較小,復雜度低,易于在FPGA、CPLD等數字器件中實現。 4.2 MATLAB仿真驗證 設置仿真參數如下:采樣率為55MHz,碼速率為10.23Mcps。在不同載噪比情況下,對二階碼跟蹤環分別采用常規移位寄存器方法和本文方法進行Matlab仿真。在不考慮多普勒頻率的情況下,統計碼跟蹤環的均方根誤差,結果如圖5所示。結果表明本文提出的方法能夠保證F碼跟蹤環的性能。 ![]() 圖5本文方法和常規方法的碼跟蹤環跟蹤誤差對比 5 結束語 本文提出的方法已應用于某空間測控系統,該方法采用類似NCO的方式控制輸出偽碼序列,通過初始相位的設置產生不同延時的偽碼序列,方便進行窄相關的調整;而且本方法對單個累加模塊和碼表進行復制即可得到多個偽碼延時序列,方便完成不同碼跟蹤環的算法。實踐證明,它可以實現任意精度的窄相關延R寸要求,適用范圍廣。 本文的創新點:提出一種新型基于FPGA的偽碼序列產生方法,可產生不同延時的偽碼序列。突破了采樣率的限制,可滿足不同碼跟蹤環算法的要求。通過設計實現,表明了該方法所耗資源較低,仿真驗證了采用該方法的偽碼跟蹤環路跟蹤性良好。 作者:徐穎 來源:《微計算機信息》(嵌入式與SOC)2009年第3-2期 |