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