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