摘 要:在擴頻通信系統(tǒng)中,長偽碼序列的快速捕獲是一個關(guān)鍵問題。針對傳統(tǒng)捕獲方法捕獲速度慢、消耗資源多的缺點,提出一種基于狀態(tài)機的新型偽碼快速捕獲方法,介紹了狀態(tài)機偽碼快速捕獲方法的原理并在FPGA上實現(xiàn)了快速捕獲。仿真結(jié)果表明,和傳統(tǒng)的串行捕獲方法相比,該算法在不降低捕獲速度的基礎(chǔ)上消耗更少的資源。 關(guān)鍵詞:擴頻通信; 快速捕獲; 狀態(tài)機; FPGA
中圖分類號:TN966文獻標識碼:A
文章編號:1004-373X(2010)15-0074-03
Research on Fast Acquisition Method Based on State Machine Pseudo Code
L Zhi-guo, REN bo
(Computer and Information Department, Luoyang Institute of Science and Technology, Luoyang 471023, China)
Abstract: The fast acquisition of long pseudo code sequence is a key problem in spread spectrum communication system. A new pseudo code fast acquisition method based on state machine is proposed for solving the slow acquisition speed and more resource consumption of the conventional acquisition method. The acquisition principle, the design and FPGA implementation of the new acquisition method are introduced. The experimental results show that the method has faster acquisition speed and less resource consumption.Keywords: spread spectrum communication; fast acquisition; state machine; FPGA
收稿日期:2010-03-12
擴頻通信是指用來傳輸信息的射頻帶寬遠大于信息本身帶寬的一種通信方式,窄帶寬的信號通過與寬帶寬的偽隨機碼進行作用而實現(xiàn)擴頻,擴頻系統(tǒng)能帶來30 dB以上的信噪比改善,使干擾的影響減少了1 000倍以上。它對抗干擾影響具有重要作用,而且擴頻通信還將帶來一系列革命性的影響。 最容易理解的擴頻通信方式就是直接序列擴頻,簡稱直擴(DS)。所傳送的信息符號經(jīng)偽隨機序列(或稱偽噪聲碼)編碼后對載波進行調(diào)制。偽隨機序列的速率遠大于要傳送信息的速率,因而調(diào)制后的信號頻譜寬度將遠大于所傳送信息的頻譜寬度。為了增強信息的保密性,通常要增加偽隨機碼的周期長度以增加被破解的難度,因此,偽隨機碼的周期長度不能太短。在直擴系統(tǒng)中,偽隨機碼快速準確的捕獲一直都是研究的重點和難點之一。常見的捕獲方法有串行和并行捕獲兩種[1-2]。
1 串行捕獲
串行捕獲的原理圖如圖1所示,首先在本地端產(chǎn)生一個與擴頻端相同的偽隨機碼,把收到信息序列與本地產(chǎn)生的偽隨機碼碼序列做相關(guān)運算,由于偽隨機碼有尖銳的自相關(guān)特性,因此只有兩個碼序列相位一致時才有高的相關(guān)值輸出。接收信號與本地偽隨機碼進行相關(guān)后的相關(guān)值送人門限比較器進行比較,若低于某一設(shè)定門限,就控制本地偽隨機碼發(fā)生器移動一個相位,再次讓本地擴頻序列與接收擴頻序列相關(guān)、比較,直至兩個相位保持一致,然后啟動跟蹤步驟使兩個序列保持相位一致[3-4]。這個過程要通過兩序列相關(guān)檢測與積分累加判決來完成。由于滑動相關(guān)法要做大量的相乘累加運算,滑動有可能遍歷整個周期長度,因此相位滑動搜索速度較慢,平均捕獲時間較長。如果偽隨機碼相位服從均勻分布,相位一次移動半個碼片,則采用串行捕獲的時間的數(shù)學期望是偽隨機碼的周期長度P。
圖1 串行捕獲原理圖
2 并行捕獲
并行捕獲的基本原理如圖2所示:假設(shè)偽隨機碼的周期長度為P。如果在接收端用2P個本地偽隨機碼,相鄰兩個偽隨機碼序列相位間隔為半個碼片,即Tc/2時間,其中Tc為一個碼元的時間。讓收到的信息序列和各個本地偽隨機碼分別同時做相關(guān)運算,哪個相關(guān)器的輸出最大,哪個相關(guān)處理器的本地序列與接收序列的相位最接近,也就找到了本地序列的同步相位,實現(xiàn)了信息序列的捕捉[5-6]。在并行捕獲中,只需要半個碼片的時間就可以得到信息序列的相位,捕獲時間大大縮短。如果想提高捕獲的精度,還可以設(shè)置更對的本地偽隨機碼,相鄰偽隨機碼序列的相位差更小,則捕獲的精度更高并且不增加捕獲時間。這種捕獲時間的縮短是靠增加設(shè)備的復雜性而獲得的。當偽隨機碼序列周期較大且捕獲精度要求較高時,電路設(shè)備量過大。
圖2 并行捕獲原理圖
3 FPGA串行捕獲實現(xiàn)
利用Altera公司的Quartus Ⅱ軟件,采用原理圖和VHDL語言相結(jié)合的方法來實現(xiàn)偽碼快速捕獲電路。整個過程中采用層次化設(shè)計,即先對各個模塊進行具體設(shè)計仿真,再由這些功能模塊組合成整個系統(tǒng)的設(shè)計方法。數(shù)字下變頻的功能是從輸入的高速數(shù)據(jù)流中去除載波,將其下變頻為數(shù)字基帶信號。假設(shè)要處理的信號就是經(jīng)過數(shù)字下變頻處理的數(shù)字基帶信號。首先設(shè)計一個m序列產(chǎn)生器來產(chǎn)生偽隨機碼,再用一個串行捕獲電路來檢查收到的偽隨機碼的相位,當本地碼序列的相位和收到的碼序列的相位比較一致時輸出捕獲成功信號表示捕獲成功[7]。該系統(tǒng)的頂層文件如圖3所示。
圖3 串行捕獲電路頂層文件構(gòu)成圖
圖3中左邊第一個模塊為m序列產(chǎn)生器,用來產(chǎn)生偽隨機碼,為了方便演示結(jié)果,采用階數(shù)較低的生成多項式為X4+X+1,生成的序列為000100110101111,周期為P=15。中間的模塊中有個固定相位的偽隨機碼序列,把收到信息序列與本地產(chǎn)生的偽隨機碼碼序列做異或運算并將異或結(jié)果輸出,右邊的模塊對異或結(jié)果進行判決,當異或結(jié)果中‘0’的個數(shù)大于門限值時就認為捕獲成功,輸出捕獲成功信號。仿真結(jié)果如圖4所示。
圖4 計數(shù)器捕獲結(jié)果仿真
從仿真圖中可以看出,經(jīng)過一段時間后輸出管腳gout輸出捕獲成功信號。圖中bus1是異或結(jié)果總線,clk是時鐘信號。該系統(tǒng)消耗資源如圖所示,從圖5中可以看出共消耗33個邏輯單元。
圖5 串行捕獲電路資源消耗圖
4 FPGA狀態(tài)機捕獲實現(xiàn)
文獻[8-10]分別介紹了大步進、匹配濾波器、雙層循環(huán)等新的捕獲方法,但這些方法實現(xiàn)都比傳統(tǒng)的捕獲方法復雜,這里介紹一種基于狀態(tài)機的捕獲方案。狀態(tài)機捕獲電路偽隨機碼仍采捕獲電路中的m序列,偽隨機碼序列周期為P,狀態(tài)機就有P個狀態(tài),一個狀態(tài)中碼元個數(shù)是由以下方法確定,相鄰N個碼元為一個狀態(tài),將整個碼序列遍歷一遍沒有重復狀態(tài)的最小的那個N即為一個狀態(tài)中碼元個數(shù)。本例中將具有15個碼元的序列中相鄰4個碼元作為一個狀態(tài)。每接收1個碼元,一個狀態(tài)就有可能跳向另一個狀態(tài)(特殊情況跳向本身),跳到某個固定狀態(tài)時輸出一個結(jié)束信號,由結(jié)束信號出現(xiàn)的早晚來確定輸入碼序列的相位。狀態(tài)機的仿真結(jié)果圖如圖6所示。
圖6中clk是時鐘信號,out1是捕獲結(jié)束信號,rst是重啟信號。從圖中可以看出,經(jīng)過幾個周期,輸出管腳out1輸出結(jié)束信號,由重啟信號和結(jié)束信號之間的時間決定輸入碼序列的相位。該系統(tǒng)消耗資源如圖7所示。
圖6 狀態(tài)機偽碼捕獲結(jié)果仿真圖
圖7 狀態(tài)機捕獲電路資源消耗圖
從圖7中可看出,狀態(tài)機捕獲電路共消耗19個邏輯單元,比串行捕獲電路消耗資源少。
5 結(jié) 語
提出基于狀態(tài)機的偽碼快速捕獲方案,介紹了捕獲的原理,利用 Altera公司的QuartusⅡ軟件,采用原理圖和VHDL語言相結(jié)合的方法來實現(xiàn)偽碼快速捕獲系統(tǒng)。同時還實現(xiàn)了傳統(tǒng)的串行捕獲系統(tǒng)。通過兩個系統(tǒng)的仿真比較,驗證了狀態(tài)機捕獲電路的正確性。仿真結(jié)果表明,狀態(tài)機捕獲電路捕獲速度與串行捕獲電路相差無幾,但消耗資源比串行捕獲電路要少。系統(tǒng)軟件都下載到康芯公司的EP2C5T144C8硬件開發(fā)板中,實驗結(jié)果和仿真結(jié)果完全相符,證明了該方法的可行性。
參考文獻
[1]王鳳宇.擴頻碼快速捕獲算法的研究[D].哈爾濱:哈爾濱工業(yè)大學,2006.
[2]曾海彬,王天寶.一種低信噪比下PN碼的快速捕獲技術(shù)[J].成都信息工程學院學報,2009,24(2):126-128.
[3]周先軍,胡修林,張?zhí)N玉,等.一種基于二分試探法的相干擴頻快捕系統(tǒng)[J].信號處理,2007,23(1):116-119.
[4]張野,盧哲.短波突發(fā)通信快速同步技術(shù)研究[J].山西電子技術(shù),2007(6):70-73.
[5]王鵬宇,呂善偉,董勝波.基于多偽碼周期的直擴快速捕獲新方法[J].宇航計測技術(shù),2008,28(1):4-8.
[6]張樹勇,曹永剛,郭巖.一種新型數(shù)字高精度偽碼快速捕獲延遲鎖定環(huán)的設(shè)計與實現(xiàn)[J].飛機設(shè)計,2007,27(5):76-80.
[7]王偉,焦健,蔡鶴皋.基于FPGA的擴頻信號快速捕獲電路設(shè)計與實現(xiàn)[J].彈箭與制導學報,2009,29(5):227-231.
[8]陳超,田紅心.一種快速直接的長碼捕獲方法[J].導彈與航天運載技術(shù),2008(5):53-56.
[9]廉保旺,劉慧紅,毛得明.基于匹配濾波器與FFT的偽碼快速捕獲方法及性能分析[J].測控技術(shù),2009,28(1):20-23.
[10]李志軍,史健婷,隋曉紅,等.通信測距復合系統(tǒng)中的擴頻碼捕獲研究[J].信息技術(shù),2007(11):23-24.
[11]張臘明,佟宇.狀態(tài)機技術(shù)在數(shù)據(jù)通訊協(xié)議棧中的編程應(yīng)用[J].現(xiàn)代電子技術(shù),2008,31(3):146-148.