直擴系統PN碼捕獲和跟蹤的FPGA實現
3 捕獲和跟蹤環在FPGA上的實現
本系統采用Altera公司的系列芯片,用VHDL語言編程,在Quartus 8.0中建模仿真。按照如下步驟完成擴頻碼的捕獲和跟蹤,并給出了仿真波形圖,進行了結果分析。
接收信號經過A/D變換之后進入FPGA,首先進入捕獲模塊,每一個PN碼片時刻都有一個相關值輸出,當相關值大于門限表示捕獲成功,轉入跟蹤階段。在跟蹤階段,PN碼發生模塊根據碼時鐘產生模塊的時鐘信號產生三路PN碼(超前、中間、滯后),接收信號與三路PN碼在鑒相模塊分別進行相關,中間一路產生解擴碼輸出,超前、滯后兩路的相關值作差并將結果輸出至碼時鐘產生模塊,來調整PN碼時鐘,從而控制PN碼的相位,每次調整1/8個碼片周期。當連續三次中間一路的相關值小于門限時表示已經失步,需要重新捕獲,接下來將轉入捕獲階段。沿此環路即可實現本地PN碼與接收擴頻碼的捕獲和跟蹤,進而完成信號的解擴輸出。
3.1 碼時鐘發生模塊仿真結果分析
圖5給出了碼時鐘發生模塊的仿真結果。其中cyclk是系統輸入時鐘;e_clk為超前指示,l_clk為滯后指示,pnclk為輸出PN碼時鐘。當e_clk為高電平時,在左側黑實線處可看到該模塊輸出的pnclk滯后了1/8個PN碼元;當l_clk為高電平時,在右側黑實線處可看到輸出的pnclk會提前1/8個PN碼元。本文引用地址:http://www.104case.com/article/190998.htm
3.2 捕獲仿真結果分析
圖6(a)是捕獲階段的仿真結果圖。其中cyclk是系統輸入時鐘;pnclk是捕獲階段產生本地:PN碼的PN時鐘;reset是復位信號;sigin是輸入擴頻信號,jiekuo是輸出解擴信號;shibuj是捕獲模塊的啟動使能信號,高電平有效;genzong是跟蹤環路的啟動使能信號,高電平有效;xiangguangzhi是接收信號與本地PN碼的相關值累加和。圖6(b)中將xiangguanzhi信號放大,門限設置為1 760。在圖中右側黑實線處,此時相關值已經大于門限,表示捕獲成功,置genzong信號為高電平,shibuj信號為低電平,啟動跟蹤環路,終止捕獲環路。同時產生三路PN碼。
3.3 跟蹤環路仿真結果分析
圖7是跟蹤仿真結果圖。其各信號代表的意思同上。人為調整sigin的相位,跟蹤環路總是可以跟蹤輸入擴頻信號的變化,并準確解擴輸出,上述解擴輸出結果為01000010。其中黑色實線處是解擴毛刺,不影響結果的輸出。
3.4 連續三次失步之后轉入重新捕獲仿真結果及分析
圖8中cyclk是系統時鐘信號,pnclk是捕獲模塊產生PN碼的PN時鐘;reset是系統復位信號;sigin是輸入擴頻信號,genzong是跟蹤環路的使能信號,高電平有效;shibuj是捕獲的啟動使能信號,高電平有效;圖中每個黑色實線處是一個PN碼周期的結束處,即兩道黑色實線之間是一個PN碼周期。在第三道黑色實線后genzong信號變為低電平,shibuj信號變為高電平,即跟蹤環路終止,捕獲環路重新啟動。
4 結語
本文介紹了直擴系統中PN碼同步捕獲和跟蹤的方法,用VHDL語言完成了電路各個模塊的編程實現,在Quartus 8.0中進行了仿真,并給出了仿真波形,證明電路工作正確可靠,滿足設計要求。
評論