基于FPGA滑動相關法偽碼捕獲的研究與實現(xiàn)
實現(xiàn)結(jié)果
通過以上的分析,再結(jié)合擴頻通信的有關理論,可以知道要實現(xiàn)信號的捕獲,必須通過載波和偽碼相位的二維搜索。首先,對接收的信號進行數(shù)字下變頻,變?yōu)榱阒蓄lI、Q兩路信號,再與本地PN碼進行解擴運算。結(jié)果與門限值比較,如果小于門限則按照前面分析的方法順序移動半個碼片,直到包絡的平方大于門限轉(zhuǎn)入跟蹤狀態(tài)。捕獲電路如圖1所示。
采用上述方法,在實際中對某一擴頻信號進行捕獲
信號參數(shù)
- 中頻40MHz ;
- 調(diào)制樣式為DS-BPSK;
- 偽碼長度為1024;
- 數(shù)據(jù)率5Kb/s;
- 采樣時鐘60MHz;
各個模塊功能描述
數(shù)字下變頻:
載波NCO的輸出與輸入信號在乘法器中進行數(shù)字下變頻,功能是去除輸入信號載頻而保留了用于基帶相關的碼。
數(shù)字相關器:
累加清除器的作用是對經(jīng)過數(shù)字正交下變頻后的I、Q兩路信號與本地再生偽碼相乘的結(jié)果進行積分累加。采用的是一個累加器對數(shù)字混頻后輸入信號與本地碼相乘的每一位結(jié)果進行累加。經(jīng)過一定時間(本方案為12000次)的積分累積后,得到一個數(shù)據(jù)位的相關值。此相關值與預設門限比較,進行捕獲判決。如果小于門限,則認為捕獲失敗,清除累加結(jié),滑動半個碼片后,重新進行累加積分。累加清洗器進行一個碼周期的數(shù)據(jù)累加,輸出一次相關累加值。最大的捕獲時間為0.4094秒(0.2mS*2047)。
載波NCO:
載波NCO是載波跟蹤環(huán)的重要組成部分,它的主要功能是產(chǎn)生本地復制載波信號。載波NCO模塊設置有頻率控制字輸入接口,模塊內(nèi)部通過32位相位累加其對輸入控制字進行累加,獲得相位值的映射地址,通過查表獲得正余弦兩路信號。載波環(huán)路通過不斷調(diào)整載波NCO的頻率字來保持對接收信號載波頻率和相位的跟蹤。
碼NCO:
碼NCO是碼跟蹤環(huán)的核心。它的主要功能是為再生偽碼發(fā)生器提供精確的時鐘信號,保證實現(xiàn)對接收信號的碼捕獲和跟蹤。碼NCO設置有頻率控制字,頻率控制字負責碼率的調(diào)整和碼相位延時。
實現(xiàn)結(jié)果
A/D采用AD9288-100,是8位的轉(zhuǎn)換結(jié)果,最高工作頻率可達到100M,數(shù)字下變頻和捕獲電路在EP1C12Q240C8(Cyclong)中實現(xiàn),運算的中間測試結(jié)果如圖8所示,圖中pn2_clk為NCO輸出時鐘,x_pn為偽碼,c1_data和s1_data為載波NCO產(chǎn)生的用于下變頻的I、Q路載波信號。pn_e、pn_p、pn_l分別為移位寄存器輸出的超前、即時和滯后碼,它們相差半個碼片。
最后的捕獲結(jié)果如圖9所示。圖中ad_data為接收的數(shù)字中頻信號,last_data為最后捕獲的結(jié)果。
保存數(shù)據(jù),在Matlab中的相關結(jié)果如圖10所示。
結(jié)束語
加脈沖法可以使本地碼相位超前半個碼片相位,實現(xiàn)非連續(xù)相位滑動相關,電路結(jié)構(gòu)簡單,在FPGA中容易實現(xiàn),是一種簡單實用的方法,在實際系統(tǒng)設計中已被采用并獲得了理想的結(jié)果。
評論