賈穎燾等
摘 要: 研究基于FPGA和DSP的線性調頻信號脈沖壓縮的一種實現方法,FPGA負責信號的預處理,主要包括FIR濾波和正交解調,DSP負責脈沖壓縮的實現,給出了FPGA各部分的功能框圖和DSP的算法流程圖,對比了匹配濾波器加窗前后脈沖壓縮結果的第一距離旁瓣的變化。結果表明,加窗后匹配濾波器輸出的旁瓣距峰值衰減由13 dB增加至32 dB。
關鍵詞: 脈沖壓縮; 線性調頻信號; 匹配濾波; FIR濾波; 正交解調
中圖分類號: TN957.51?34 文獻標識碼: A 文章編號: 1004?373X(2015)17?0013?04
Pulse compression of radar signal based on FPGA and DSP
JIA Yingtao1, GU Zhaoyu2, FU Qixiang2, WANG Wei2
(1. Research Institute of Electronic Science and Engineering, National University of Defense Technology, Changsha 410073, China;
2. Key Laboratory of National Complex Electromagnetic Environment Effects, School of Electronic Science and Engineering,
National University of Defense Technology, Changsha 410073, China)
Abstract: The implementation method for pulse compression of linear frequency modulation (LFM) signal based on FPGA and DSP is researched, in which FPGA is responsible for signal preprocessing, and DSP is responsible for the implementation of pulse compression. Function block diagrams of each FPGA module and the algorithm flow chart of DSP are given. The change of the first distance side?lobe of pulse compression results before and after adding the window of the matched filter is compared. The result shows that after adding the window, the side?lobe peak attenuation output by the matched filter is increased from 13 dB to 32 dB.
Keywords: pulse compression; LFM signal; matched filtering; FIR filtering; quadrature demodulation
0 引 言
脈沖壓縮(簡稱脈壓)技術能有效解決雷達作用距離與距離分辨率之間的矛盾,能同時獲得較大的作用距離和較高的距離分辨率[1]。相比于簡單脈沖的時寬帶寬積為1,脈沖壓縮信號能獲得遠大于1的時寬帶寬積,通過對簡單脈沖增加頻率或相位調制可以得到脈沖壓縮信號[2],其中線性調頻信號是常見的脈沖壓縮信號。線性調頻脈沖壓縮技術被廣泛應用于雷達、聲納等系統(tǒng)。目前,雷達信號處理系統(tǒng)主要采用FPGA或DSP等器件實現。本文研究的基于FPGA和DSP的雷達信號處理模塊實現了對線性調頻信號的采集、存儲、濾波、正交解調和脈沖壓縮等過程,達到了實時脈壓處理的效果。
1 系統(tǒng)設計
本系統(tǒng)接收到的雷達中頻回波信號為線性調頻信號,調頻類型為正調頻,中心頻率[f0=20 ]MHz,帶寬[B=]10 MHz,脈寬[τ=8 ]μs,重復周期為200 μs。
本模塊主要包括A/D采集模塊、時鐘產生模塊、基于FPGA的信號預處理模塊、基于DSP的信號處理模塊和大容量存儲模塊,系統(tǒng)框圖如圖1所示。待采集的雷達中頻回波信號經A/D采樣轉換為數字信號送入FPGA內,FPGA在觸發(fā)信號的控制下將采集的數據存儲到內部的塊RAM中,存儲完畢后,FPGA對信號進行FIR濾波,之后再對濾波器輸出進行正交解調,將信號搬移到基帶。解調完畢后,FPGA通過系統(tǒng)控制模塊向DSP發(fā)出中斷申請,DSP響應中斷后,開始從FPGA讀取解調后的數據進行格式轉換并歸一化后存入外部SDRAM芯片中,之后開始對基帶數據進行脈沖壓縮處理。
本設計中,ADC芯片采用AD公司的10位采樣芯片AD9211,根據信號的帶寬和最高頻率將A/D采樣速率設定為60 MSPS。采樣時鐘由時鐘產生模塊提供LVDS電平60 MHz的穩(wěn)定時鐘,參考電壓默認使用內部1.25 V參考。
2 基于FPGA的信號預處理
本設計中的FPGA芯片采用XILINX公司的45 nm工藝Spartan?6系列的XC6SLX150T,該芯片具有豐富的內部資源,具有低成本、低功耗的特點。FPGA中對信號的處理主要包括FIR濾波和正交解調兩部分,另外,FPGA要完成對A/D采樣信號、FIR濾波結果和正交解調結果的存儲以及最終和DSP之間的數據交換。
2.1 數據緩存和數據交換
FPGA中的數據緩存需要存儲的數據有A/D采樣數據、FIR濾波輸出和正交解調輸出。解調完畢的數據要送入DSP內,FPGA和DSP的數據交換需要由傳輸控制模塊完成。
在A/D采樣時,利用外部觸發(fā)信號即可實現對信號的有效存儲。觸發(fā)信號的起始邊沿對應于脈沖的起始處,A/D采集信號存儲到FPGA的雙口RAM1中。雙口RAM1存儲完畢后,FIR濾波器讀取數據完成FIR濾波并將濾波結果存入雙口RAM2中,再經正交解調后將解調結果存入雙口RAM3中。
雙口RAM3中的數據存儲完畢后,FPGA向DSP發(fā)送外部中斷,DSP響應中斷并開始從FPGA讀取數據。DSP與FPGA的數據交換遵循TS201的數據傳輸協(xié)議[3],FPGA通過傳輸控制模塊接收DSP的讀信號(RD)和存儲器選擇信號(MS),并將DSP發(fā)出的地址信號(ADDR)解碼為雙口RAM3對應的地址(AddrB),最終將數據從FPGA送入DSP。
FPGA的數據緩存以及與DSP的數據交換框圖如圖2所示。
2.2 FIR濾波
線性調頻信號的頻帶限制在15~25 MHz以內,A/D得到的采樣數據可先通過帶通濾波器濾除帶外噪聲,也可使數據變得平滑。基于FPGA的帶通濾波器采用FIR濾波器。FIR濾波器的顯著優(yōu)點是可以做到線性相位,并且總是穩(wěn)定的。當濾波器系數滿足奇對稱或偶對稱條件時,FIR濾波器就會具有線性相位特性[4]。FIR濾波器的實現框圖如圖3所示。
由于線性相位FIR濾波器的系數是鏡像對稱的,所以[N]階FIR濾波器只需要[N2]個存儲單元。對于32階的FIR濾波器,只需取前16個系數存入深度為16的系數ROM中即可。在FIR濾波器的對稱結構中,每一個乘加單元都是將鏡像對稱的兩個輸入數據相加再和相應的濾波器系數相乘。在對輸入[x(n)]取連續(xù)32個數據緩沖時可設置鏡像對稱的兩個緩沖器,即兩個深度均為16的雙口RAM,并且按鏡像對稱的方式排列,這樣兩個RAM只需要一個地址指針[5],指針從15順次減至0,對應的輸入數據相加并和相應的系數相乘最終完成累加就得到了一個輸出。
利用Matlab的FDATool工具,響應類型選擇帶通,采樣頻率為60 MHz,通帶起始頻率和截止頻率分別設為15 MHz和25 MHz,兩個阻帶的截止頻率分別設為12 MHz和28 MHz,通帶起伏0.5 dB,阻帶衰減40 dB,指定階數32,可生成32階FIR濾波器的系數。
抽頭系數存儲在FPGA中的ROM中,由于濾波器抽頭系數均為小于1的浮點數,且有符號,所以必須采用一定的編碼方式存儲[6]。本文采用縮放法,即先將抽頭系數放大取整,再以二進制補碼方式量化,最后得到結果后按同樣的比例縮小。每個抽頭系數均放大32 768倍,即左移15位,采用16 b數據以二進制補碼方式編碼,將編碼完畢的抽頭系數存放在FPGA的系數ROM中。
FIR濾波器的輸出經過正交解調得到基帶信號,解調時需要兩路本振信號,分別為I路[cos(2πf0t)]和Q路[sin(-2πf0t)],它們分別與線性調頻信號相乘,可得到兩路基帶信號和中心頻率為[2f0]的高頻線性調頻信號。
2.3 系統(tǒng)控制
系統(tǒng)控制模塊完成對FPGA內各部分子模塊的全局控制和有效調度,控制方式采用有限狀態(tài)機方式,狀態(tài)轉移圖如圖4所示。系統(tǒng)上電后,控制器進入初始化狀態(tài),完成對芯片的初始化,并且通過SPI接口對時鐘芯片下發(fā)時鐘配置參數。控制器檢測到外部觸發(fā)信號的起始邊沿時,轉移狀態(tài)至采樣存儲,在此狀態(tài)下,連續(xù)存儲所需個數的采樣點,存儲完畢后,轉移狀態(tài)至FIR濾波,濾波結果存儲完畢后轉移狀態(tài)至正交解調,解調結束后控制器向DSP輸出外部中斷信號并回到空閑狀態(tài)??刂破鹘邮盏紻SP讀取數據的控制信號后,通過傳輸控制模塊完成數據傳輸并返回空閑狀態(tài)。
3 基于DSP的脈沖壓縮
脈壓處理主要在DSP內實現,本設計中DSP芯片采用AD公司的ADSP?TS201,該芯片最高工作頻率達600 MHz,具有24 MB內部DRAM存儲器,集成SDRAM控制器,可方便控制外部SDRAM大容量存儲器。
脈沖壓縮技術的實現是指發(fā)射機發(fā)射具有大時寬帶寬積(遠大于1)的寬脈沖調頻信號,目標反射回波經匹配濾波處理后獲得窄脈沖的過程。在對回波信號正交解調之后,得到的I,Q兩路信號在DSP內可以合并為一個復信號,將此復信號經過匹配濾波器濾波即可實現脈沖壓縮。本文采用FFT的方法進行快速卷積以實現匹配濾波器對信號的濾波。
信號進入DSP后,I路信號為[cos(πkt2)],Q路信號為[sin(πkt2),]所以匹配濾波器的輸入信號為[cos(πkt2)+][jsin(πkt2),]其中,[k=Bτ。]由匹配濾波理論可知,匹配濾波器的頻譜是輸入信號頻譜的共軛,由此生成的匹配濾波器的結構和脈沖壓縮的實現框圖如圖5所示。
DSP內FFT的實現利用AD公司的庫函數,庫函數中有實數FFT函數和復數FFT函數,這里FFT的輸入是由兩路信號組合成的復信號,因此選用復數FFT函數。在調用FFT函數之前,需要生成用于計算FFT的旋轉因子。實部旋轉因子為[twid_re(k)=cos(2πkN),]虛部旋轉因子為[twid_im(k)=sin(2πkN),]其中[N]為FFT點數。為了提高計算效率,旋轉因子只需計算cos和sin函數的前[34]周期的數據。旋轉因子作為DSP程序的初始化部分,只計算一次并存儲于DSP的RAM中,之后所有的FFT和IFFT計算均可直接調用。
在進行FFT運算時,需要指定FFT的點數,為了提高FFT的效率,FFT的點數應該是2的整次冪。脈沖的長度為[N1]=480,匹配濾波器的點數為[N2]=480,由信號理論可知,只有把兩信號分別補零至[N]點,且當[N≥][N1+N2-1]時,匹配濾波器輸出結果才是二者的線性卷積,所以FFT點數選取1 024。
線性調頻信號匹配濾波器的輸出會產生距離向(即時延)旁瓣。這是由于線性調頻信號的頻譜近似為矩形,從而會產生類似sinc函數狀的距離響應。為了減小匹配濾波器輸出信號的時域旁瓣,可以考慮在頻域對匹配濾波器的響應加窗。本文選用漢明窗,窗的寬度應該覆蓋線性調頻信號的有效帶寬,則窗的長度可由下式確定:
[Nw=BfsNFFT]
本文中,[B=10 ]MHz,[fs=60 ]MHz,[NFFT=1 024,]計算可得[Nw=170,]根據公式計算得到長度為170的漢明窗。
DSP進行脈沖壓縮的計算流程如圖6所示。
經DSP計算得到的匹配濾波器的頻譜如圖7所示。在未加窗的情況下,對匹配濾波器輸出后的脈壓結果取對數所得結果如圖8所示,從圖中不難看出,第一距離旁瓣大約比輸出峰值低13 dB。
對照圖7所示的匹配濾波器的頻譜,由于頻譜的有效帶寬分布在兩邊,所以應將漢明窗上下翻轉,如圖9所示,并將翻轉后的窗函數從中間拆成左右兩半,左右各85個點,左半部分乘到匹配濾波器頻譜的前85個點,右半部分乘到匹配濾波器頻譜的后85個點,匹配濾波器的中間部分全部乘以0,這些0作為窗函數展寬到1 024點時補0所得。
加窗后匹配濾波器輸出的脈壓結果如圖10所示,從圖中可以看出,第一距離旁瓣大約比輸出峰值低32 dB。
4 結 語
本文詳細介紹了基于FPGA和DSP的線性調頻雷達信號脈沖壓縮的一種實現方法。首先在FPGA中對信號進行FIR濾波和正交解調,然后在DSP中進行脈沖壓縮,達到了實時處理的效果,并討論了匹配濾波器加窗后脈沖壓縮結果的變化。該設計已成功應用于某雷達信號處理機中,并取得了非常好的處理效果。
參考文獻
[1] 王遠模,馬君國,李保國,等.浮點脈壓處理器的FPGA實現研究[J].現代雷達,2005,27(10):41?44.
[2] RICHARDS M A.雷達信號處理基礎[M].北京:電子工業(yè)出版社,2012.
[3] Analog Devices. ADSP?TS201 TigerSHARC processor hardware reference [R]. US: Analog Devices, 2004.
[4] 謝海霞,孫志雄.可編程FIR濾波器的FPGA實現[J].電子器件,2012,35(2):232?235.
[5] 李玉林.基于FPGA的直接型FIR濾波器實現[J].現代電子技術,2006,29(10):1?3.
[6] 栗晶晶,趙巖,李富華.基于FPGA的FIR濾波器的設計與實現[J].聲學技術,2011,30(4):471?474.
[7] 邱兆坤,馬云,王偉,等.基于FPGA的數字化正交解調接收機最優(yōu)設計[J].電子與信息學報,2006,28(1):41?44.