文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.182461
中文引用格式: 侯凱強,施君南,許彥章,等. 高速運動平臺彈速補償的FPGA實現方法[J].電子技術應用,2019,45(2):93-96,104.
英文引用格式: Hou Kaiqiang,Shi Junnan,Xu Yanzhang,et al. An implementation method of missile speed compensation with FPGA on high speed moving platform[J]. Application of Electronic Technique,2019,45(2):93-96,104.
0 引言
高速飛行器具有重要的戰略意義和極高的應用價值,其具有全球攻擊、機動作戰等特點,特別是在遠程打擊、快速突防、電子壓制、對地偵察和預警等方面極具發展潛力[1]。目標檢測性能優劣是實現高速運動飛行器對目標精確打擊的關鍵。對于高速運動飛行器而言,雷達導引頭接收到的各脈沖回波間,由于平臺速度引入了不可忽略的距離走動,嚴重降低相干積累后的檢測前信噪比,從而直接影響整個雷達導引頭的探測性能,因此必須對彈速產生的距離徙動進行補償。
近年來,現場可編程邏輯門陣列(Field Programmable Gate Array,FPGA)技術飛速發展,集成度越來越高,功耗、成本不斷降低,特別是在并行處理、流水線設計、可重構等方面具有獨一無二的優勢,使其逐漸在雷達信號處理領域中占據重要地位。本文使用FPGA對距離徙動校正算法進行了硬件實現,具有實時性高,處理速度快,精度高等特點[2-3]。
1 RCMC算法
彈載雷達彈速補償方法采用了RCMC的思想,本節將從信號模型的角度對RCMC原理簡要地闡述[4]。
假設一彈載雷達發射一串載頻為f0,帶寬為B,脈沖持續時間為Tp的線性調頻信號,發射的脈沖串信號可表示為:
距離徙動校正(RCMC)是通過補償各次脈沖的時間延遲Δti,使得第i(i=2,3,…,N)個脈壓輸出時域信號峰值位置按第一個脈沖對齊。第i次脈沖的RCMC補償因子的頻域形式可表示為:
綜上,只需對距離壓縮后的回波信號在頻域乘以一個距離徙動校正因子Hi(f),就可以去掉距離走動效應。所以彈速補償的實現方法的核心問題就是讓硬件來運算式(11)。
2 算法的FPGA實現
由于FPGA在并行處理、流水線設計、可重構等方面的優勢,使其相對于DSP等處理器更適合來運算式(11)。具體的實現方法按流程上可分為三步來做,第一步是將時域信號變為頻域信號;第二步在頻域下乘以Hi(f);第三步將運算結果逆變為時域信號。顯然,第一步和第三步使用FFT和IFFT即可實現,并且FFT和IFFT算法的FPGA實現已很成熟,所以實現方法的核心問題就是實現第二步。
在做RCMC之前首先要在FPGA內做數字下變頻和脈沖壓縮,由于距離徙動校正和脈壓有緊密的互聯結構,在硬件設計中,特別是同步設計上,往往要將這兩者綜合考慮,所以本設計中將脈壓和距離徙動校正封裝在一個模塊內。
接下來按照功能來介紹,先對脈沖壓縮進行簡要介紹,再對距離徙動校正作詳細介紹。圖1為距離徙動校正模塊的系統框圖。RCMC模塊的頂層的輸入輸出很簡潔,輸入輸出端口與式(11)、式(16)中的參數的映射關系如表1所示。
2.1 脈沖壓縮的FPGA實現
脈沖壓縮在時域下是回波信號與匹配濾波器的沖擊響應的卷積,而在頻域下為乘積運算,便于硬件實現。所以本設計中采用頻域下相乘的方法來實現時序脈沖壓縮。
將輸入的兩路正交回波信號DIN_RE和DIN_IM進行FFT運算,XILINX提供了免費的FFT IP核,所以這里直接在FPGA工程中調用一個FFT IP。將DVIN與FFT的start引腳連接,將輸入數據DIN_RE、DIN_IM與FFT的xn_re,xn_im連接。然后將經過FFT運算后的兩路頻域數據與量化后的匹配濾波系數復乘。匹配濾波系數由MATLAB生成導入FPGA的ROM內。如圖1所示,ROM的使能引腳與FFT的輸出有效引腳dv連接,ROM使能之后地址累加1開始輸出系數,與FFT輸出的數據作同步處理之后輸入給復數乘法器,若不作距離徙動校正將復數乘法器的結果進行逆FFT運算之后便完成了脈沖壓縮。
2.2 距離徙動校正的FPGA實現
由式(10),可令:
其中,i為脈沖序列數,初始值為1;Tr為慢時間域下的脈沖重復周期(單位:s);v為導彈速度(單位:m/s);c為光速(單位:m/s);f為單一頻點的頻率(單位:Hz);B為脈沖寬度(單位:Hz),這里取40 MHz;nfft為FFT的字長,這里取16 384;n為量化后的序列數,初始值為0。
對于FPGA來說,它無法直接計算ejω,而根據歐拉公式可得:
所以為便于FPGA實現可以通過正余弦函數來計算ejω。正余弦函數本文采用查表法的方式來實現,首先由MATLAB生成兩組數據,數據值為round(G·cos(k))和round(G·sin(k)),G=8 192,k的取值范圍為1:1:1024。G與k的取值與精度要求有關。將生成的這兩組數據分別存在兩個coe文件中。在FPGA工程中調用兩個ROM,將存儲深度定為1 024,位寬定為15,將MATLAB生成的兩個coe文件導入ROM。如圖1所示,再將ROM的使能與FFT IP核的dv引腳連接,通過計算ROM的地址即可計算得出的ejω的數值。具體計算方法如下。
式中,addr為ROM的地址,ROM的存儲深度為1 024,所以sin與cos函數每1 024個數據為一個周期,所以要計算得出cosω與sinω,只要通過乘法器計算出addr,再將addr對1 024取余,即截取addr的低10位,然后接入兩個ROM的地址總線引腳,接著把兩個ROM輸出的數據除以8 192,即截掉低15位,得到cosω與sinω的計算結果。
對式(15)的參數進行整理,將B、c、nfft等常數合并為系數coe,并取整得:
如圖1所示,將兩個正余弦ROM的輸出與脈壓之后頻域下的數據作復乘(數據同步之后輸入復數乘法器)即可完成ejω的運算,最后再對復乘結果進行逆FFT運算(IFFT IP核的設置與上文的FFT IP核的設置相同),即可得到脈壓和距離徙動校正之后的數據。
3 仿真結果
本節將通過測試和仿真等手段來驗證本方法的正確性和硬件系統的性能。
3.1 測試數據
為驗證本方法的正確性和可行性,將一組(10個脈沖)下變頻之后的回波數據輸入FPGA進行運算,在復數乘法器1的輸出口和整個系統的輸出口設了兩個測試點,將這兩個測試點的數據保存至txt文件,導入MATLAB,與直接用MATLAB作距離徙動校正后的數據進行對比。
輸入的初始回波數據如圖2所示。
第一個測試點數據作折線圖,如圖3所示。MATLAB的仿真結果如圖4所示。
第二個測試點數據作折線圖,如圖5所示。MATLAB的仿真結果如圖6所示。
由上面兩圖可以看出FPGA運行結果與MATLAB仿真結果非常一致,將測試點2的兩個數據做差可以看出誤差,如圖7所示,可以估算出最大誤差為1.5/1 100=0.14%。
3.2 仿真波形
圖8是MODELSIM仿真波形,以一個脈沖數據為例,可以看出,從第一個回波數據輸入到系統處理結束后最后一個數據輸出,整個系統的處理時間為493.355 μs,扣除數據傳輸時間16 384×5 ns=81.92 μs,系統處理時間為411.435 μs。
在FFT處理出第一個數據的瞬間,使能信號就會傳遞給ROM_MATCH和乘法器模塊,這些模塊便開始進行運算,并且FFT每輸出一個數據,這些模塊便計算一次,當16 384個數據全部FFT運算結束,其他模塊也幾乎同時運算結束,數據從FFT輸出到復數乘法器輸出結果延時時間小于20個時鐘周期,本系統的主時鐘頻率為200 MHz,所以延時時間小于100 ns,很好地體現了FPGA并行處理和流水線運算的優勢,總延時493 ?滋s絕大部分都消耗在了FFT和IFFT運算以及數據傳輸時間上。
4 結論
將距離徙動校正的思想用于彈速補償,提高了相參積累后的信噪比,使用FPGA實現距離徙動校正算法具有實時性高、處理速度快、精度高等特點,為雷達導引頭提供了很好的軟硬件支持,提高了雷達導引頭的探測性能。
參考文獻
[1] 尚煒.某相參末制導雷達信號處理機的理論分析及實現[D].西安:西安電子科技大學,2009.
[2] 宋萬均,張安堂.雙基地雷達目標速度計算的FPGA實現[J].電子技術應用,2014(1).47-49.
[3] 王龍,楊承志,吳宏超,等.基于FPGA的數字基帶多模雷達信號源設計[J].電子技術應用,2016(8):87-90.
[4] CUMMING I G,WONG F H.合成孔徑雷達成像算法與實現[M].洪文,等,譯.北京:電子工業出版,2012.
作者信息:
侯凱強,施君南,許彥章,邱曉燕
(上海無線電設備研究所,上海200090)