曹曉荷,朱 斌*,尚建蓉,王升哲,鄭 杰,范文瑞
(1.西南技術物理研究所,成都 610041;2.火箭軍裝備部駐成都地區第四軍事代表室,成都 610000)
半主動激光制導技術具有命中精度高、結構簡單、作戰費效比低、戰場靈活性好等特點,廣泛應用于激光制導炸彈、低成本迫擊炮彈及多模復合制導導彈中,是精確制導武器中常用的制導體制之一[1]。隨著角度欺騙式干擾、高重頻激光干擾等有源干擾技術的發展,半主動激光制導武器通常采用較復雜的編碼技術和窄時間波門技術,以提高其抗干擾能力[2]。與周期型脈沖編碼(包括精確頻率碼、脈沖調制編碼、有限位隨機周期碼)、等差序列碼相比,偽隨機編碼具有類似于隨機信號的特征,在單次制導過程中(6s~30s時間)周期幾乎不會重復,使得敵方較難精確識別與有效對抗,是激光制導系統常用的編碼方式。
在同一戰區內對多個目標進行攻擊時多個目標指示器互相干擾,以及存在敵方有源干擾的作戰環境下,采用激光編解碼可有效提高激光制導武器系統的抗干擾能力和作戰效能[3]。為保證激光制導武器的命中精度和可靠性,考慮編碼方式抗干擾性的同時,還需保證解碼的實時性和準確性。解碼器需快速識別出激光制導編碼信號,為控制系統提供準確的目標位置信息,才能實現對目標的快速精確捕獲跟蹤。因此,解碼算法對碼型類別、骨架周期、子序列脈沖間隔等參量的識別效果和解碼時間是考量解碼器的兩個關鍵指標。常用的解碼算法有:序列搜索法[4]原理相對簡單,但運算量大、效率低且容錯率?。籐I等人提出的基于時間差分自相關矩陣的編碼解算方法可確定循環幀周期、脈沖個數及分布參量[5],但解碼時間較長,且易受干擾脈沖和漏脈沖的影響;SHAO等人[6]采用基于最小周期識別方法進行編碼識別,可準確識別編碼類型和骨架周期,但對不存在最小周期的偽隨機碼識別效果不佳;參考文獻[7]~參考文獻[9]中采用的基于自相關函數的解碼方法只能識別周期型編碼的幀周期,無法識別偽隨機編碼;參考文獻[10]中提出的滑動匹配相關解碼法,將接收到的子序列在預設編碼脈沖中遍歷進行滑動匹配,解碼時間較長且易受干擾脈沖影響。
針對半主動激光導引頭制導需求,本文中提出一種基于現場可編程門陣列(field-programmable gate array,FPGA)的激光偽隨機編碼信號解碼器設計方案。解碼過程中,在搜索識別階段采用基于數字匹配濾波器的識別方法,對預設編碼抽樣序列和實時信號抽樣序列計算互相關函數,計算結果為1,則匹配識別成功;鎖定跟蹤階段,采用自適應擴展實時波門技術,根據上一波門中檢測到的脈沖情況自適應設置下一實時波門的時刻和寬度,對目標持續跟蹤?;贔PGA芯片實現解碼器硬件設計,采用“數據鏈”的方式實現超大容量的數據存儲和傳輸,采用狀態機轉換保證識別和跟蹤的時序穩定性。
偽隨機編碼通常采用線性反饋移位寄存器(linear feedback shift register,LFSR)生成,一種是根據線性反饋移位寄存器輸出值(0或1)確定是否發射激光,稱為LFSR調制碼;一種根據線性移位寄存器當前狀態值(0-1序列)確定脈沖間隔進行編碼,稱為LFSR狀態碼[11]。LFSR調制碼存在最小脈沖間隔ΔTmin,用以ΔTmin為周期的干擾脈沖即可對其產生有效干擾。LFSR狀態碼不存在最小脈沖間隔,抗干擾能力更強[12],其編碼方式為:

(1)
式中,ΔTi為第i(1≤i≤M-1)和i+1個脈沖之間的時間間隔;ΔT0為基準時間間隔;ΔTd為脈沖間隔增量;Tr為隨機擾碼;ki為脈沖間隔跳變數,由二進制序列[a1…as]的十進制值確定,序列由s級LFSR產生。
按照(1)式所述編碼方式,在MATLAB軟件中仿真生成LFSR狀態碼,設定線性反饋移位寄存器級數s=8,初始種子為[a1…a8]=01001001,反饋系數為[c1…c8]=11111110,ΔT0=50ms,ΔTd=0.1ms,結果如圖1所示。以單次制導過程時間為10s,激光目標指示器發射指示激光頻率為20Hz計算,共需200個激光脈沖用于導引頭制導,LFSR狀態碼可滿足制導過程中脈沖時間間隔不重復的需求。

Fig.1 Pulse intervals of LFSR status code
在制導過程中,四象限探測器接收目標反射的激光回波,經放大電路、模數轉換為方波脈沖序列送至信息處理單元;搜索識別階段,解碼器接收到綜合控制器發送的碼型參量后,采用基于數字匹配濾波器的識別方法,根據預設編碼碼字設置抽樣窗口,對預設編碼抽樣序列和實時信號抽樣序列計算互相關函數,計算結果為1,則匹配識別成功;捕獲到導引信號后,進入鎖定跟蹤階段,采用自適應擴展實時波門技術,根據導引信號匹配時刻及解析得到的編碼參量設置時間波門,利用波門內截獲的信號對目標進行持續跟蹤[13]。
數字匹配濾波器(digital matched filter,DMF)多用于擴頻通信中對高速偽隨機碼的快速捕獲,以實現信道同步[14-15]?;跀底制ヅ錇V波器的編碼識別方法具有搜索速度快、受干擾脈沖影響小的特點,在一個編碼周期即可完成搜索。借鑒其解碼原理,將其應用于激光制導LFSR狀態碼脈沖序列的解碼識別過程中。
數字匹配濾波器主要由移位寄存器、與門組、多輸入加法器和除法器組成,其基本結構如圖2所示[14]。其中移位寄存器(shift register)A用于存儲實時接收到的激光脈沖信號序列,移位寄存器B用于存儲預設激光偽隨機編碼序列;與門組用于求取實時信號序列和預設編碼序列的互相關性;然后將各與門的結果輸入加法器及除法器中得到最終的互相關函數值rxy,計算公式如下:

(2)

Fig.2 Block diagram of digital matching filter
式中,x(n)為預設偽隨機編碼序列;y(n)為導引頭接收到的實時脈沖信號序列;n為脈沖序列中離散化信號的編號;N為序列長度,即移位寄存器的長度;M為序列中存在的編碼信號個數。若上式計算結果為rxy=1時,則表明匹配成功,捕獲到導引信號。
為減小運算復雜度,對實時信號序列和預設編碼序列進行抽樣,考慮大氣傳輸、編碼晶體振蕩器頻率穩定度等因素,抽樣窗口設定為脈沖時間間隔ΔTi±iδ的范圍,對抽樣序列計算互相關函數值如下:
(Ri∈[ΔTi-iδ,ΔTi+iδ])
(3)
式中,xR(n)為預設編碼的抽樣序列;yR(n)為實時信號的抽樣序列;Ri為第i個抽樣窗口范圍;ΔTi為預設編碼序列第i(i=1,2,…,M-1)個脈沖時間間隔;δ為脈沖到達時間不確定度。
2.2.1 時間波門技術原理 時間波門技術是激光解碼鎖定跟蹤階段常用的抗干擾手段,對特定頻率的干擾脈沖,在保證制導信號進入波門的概率最大化前提下,波門寬度越窄,干擾脈沖進入波門的幾率越小,則激光制導抗干擾能力越強。時間波門技術的原理為:根據預設編碼序列和搜索識別階段中導引信號匹配成功時刻,預測下一制導信號脈沖到達時刻,以該時刻為波門中心位置,以脈沖到達時間不確定度為最小波門半徑設置波門,解碼器只對波門內截獲的信號進行處理[16]。時間波門技術主要分為固定波門和實時波門兩類。


(4)
實時波門是以前一波門內檢測到的制導脈沖時刻為時間同步點設置下一波門,波門寬度選取范圍通常為5μs~20μs。以導引信號匹配成功時刻tm為第1個波門的時間同步點設置寬度為2δ的波門Tg,1′,然后以第1個波門內檢測到的脈沖信號時刻tm+1為第2個波門的時間同步點設置寬度為2δ的波門Tg,2′,以此類推,以第k-1個波門內檢測到的脈沖信號時刻tm+k-1為第k個波門的時間同步點設置寬度為2δ的波門Tg,k′,即:

(5)
固定波門采用一個時間同步點,具有累計誤差,且波門寬度隨時間成等差數列增長,導致隨時間推移抗干擾性能下降,因此激光制導解碼通常采用實時波門方案。在實時波門技術中,若采用首脈沖認定準則,當干擾脈沖P2′先于制導脈沖P2進入波門Tg,2,以干擾脈沖為時間同步點設置下一波門Tg,3,可能會導致下一制導脈沖P3落在實時波門之外,如圖3所示。因此需對實時波門進行修正[18]。

Fig.3 Interference pulse’s effects on real-time gates
2.2.2 自適應擴展實時波門 針對實時波門受干擾脈沖影響出現漏檢制導脈沖的情況,采用自適應擴展時間波門的方法避免存在干擾時導引頭無法鎖定跟蹤目標。自適應擴展實時波門的基本原理如圖4所示。常規波門寬度為2δ,不同情況下波門的設置準則為:(1)前一波門中只檢測到一個脈沖信號Pk-1,則認定其為制導信號,以該脈沖時刻tm+k-1為同步點,在下一個編碼脈沖時間間隔ΔTi+k處設置寬度為2δ的時間波門;(2)前一波門中檢測到多個脈沖Pk,1,Pk,2,…Pk,l時,則分別以波門內的首脈沖時刻tm+k,1和末脈沖時刻tm+k,l為同步點,在下一個編碼脈沖時間間隔ΔTi+k+1處設置兩個寬度為2δ的時間波門,最終形成的波門寬度為2δ+ε,ε為前一波門中首末脈沖的時間差;(3)前一波門中未檢測到脈沖信號時,則以最近一次檢測到的脈沖時刻tm+k+1為同步點,在累計兩個編碼脈沖時間間隔ΔTi+k+2+ΔTi+k+3處設置寬度為4δ的時間波門。若連續兩次在波門內未檢測到脈沖信號,則回到搜索識別階段重新進行匹配識別。

Fig.4 Adaptive extended real-time gate
激光導引頭信息處理單元多采用數字信號處理器(digital signal processor,DSP)結合FPGA及相關外設電路的架構,難以實現小型化設計,其中FPGA主要用于對接口電路和時序的控制,信號處理算法則在DSP中實現[19]。隨著大規模集成電路設計和工藝水平的提高,FPGA的內部資源日益豐富,信號處理功能更強大,并且具有并行計算實時性好、便于二次開發靈活性好等特點,基于單片FPGA芯片即可完成整個信息處理單元的功能設計。
基于FPGA的解碼器總體框架如圖5所示。由復位模塊(reset)、時鐘分頻模塊(phase locked loop,PLL)、串口通信模塊(universal asynchronous receiver/transmitter,UART)、數據緩存模塊(shift register)、編碼識別模塊(code matching)及波門跟蹤模塊(time-gate tracking)組成。系統主芯片選用Altera公司的Cyclone III系列EP3C120F484I7型FPGA,采用Verilog HDL語言進行開發設計。外設電路包括EPCS64 FLASH存儲器、60MHz晶振、RS232串口收發器、模數(analog-to-digital,A/D)轉換器等。

Fig.5 Block diagram of the decoder system
復位模塊根據系統運行時間標志位“time_flag”、輸入信號無效標志位“data_invalid”及編碼碼字更新標志位“T_change”,對系統進行復位及初始化。時鐘分頻模塊調用鎖相環IP核“ALTPLL”,將晶振時鐘分頻得到1MHz的系統主時鐘、串口通信時鐘等,在1MHz主時鐘下對輸入的導引信號和隨機干擾脈沖進行采樣,即脈沖寬度為1μs。串口通信模塊負責與綜合控制器的通信,接收碼型參量,并將其轉換為脈沖時間間隔。數據緩存模塊調用雙口RAM IP核實現超長移位寄存器,滿足基于數字匹配濾波器的識別算法的數據存儲量需求。編碼識別模塊和波門跟蹤模塊首先根據碼型參量和識別算法完成碼型匹配,判斷是否接收到導引信號,匹配成功后進入開波門流程。
數據緩存模塊的設計有兩個關鍵點:超大數據存儲量和可變長度。
3.1.1 超長移位寄存器的設計 在1MHz主時鐘下,以導引信號采用4位編碼、基準時間間隔為50ms計算,至少需要緩存150000個數據。自行編寫的超長移位寄存器可能出現時序紊亂的問題,故調用雙口RAM IP核“RAM:2-PORT”,讀寫操作均在主時鐘上升沿進行。
3.1.2 可變長度的實現 按照LFSR狀態碼編碼方式,級數s=8時導引信號的脈沖時間間隔變化范圍為±(0.1ms~12.7ms),串口通信模塊接收到LFSR狀態碼編碼碼字參量后,解析出子序列脈沖間隔跳變數提供給數據緩存模塊。設ki為8位脈沖間隔跳變數,其最高位為符號位,其余7位為跳變的絕對值;基準時間間隔ΔT0=50000,則子序列脈沖時間間隔為:

(6)
然后由ΔTi來控制相應隨機存取存儲器(random access memory,RAM)的讀寫地址范圍,每個clk上升沿讀寫地址+1,當讀寫地址等于ΔTi時,將讀寫地址清零。
3.1.3 數據傳輸方式 采用“數據鏈”的方式實現移位寄存器中的數據傳輸,整個移位寄存器由隨機存取存儲器(random access memory,RAM)和window拼接而成,數據鏈中數據的傳輸方式如圖6所示。將window 0~window 3中數據輸出,即完成(3)式中對脈沖信號序列的抽樣。

Fig.6 Data link transmission method
編碼識別及波門跟蹤模塊使用狀態機來實現,狀態機分為5個狀態:(1)初始狀態(s0);(2)編碼識別狀態(s1);(3)正常波門狀態(s2);(4)擴展波門狀態(s3);(5)兩倍波門狀態(s4)。狀態機轉換具體流程如圖7所示。
初始狀態(s0):等待移位寄存器中數據存滿,則進入編碼識別狀態。
編碼識別狀態(s1):檢測抽樣窗口window 0~window 3中是否同時有脈沖,即對每個窗口中的數據按位求“或”運算,再將“或”運算的結果求“與”,最終結果為1則表示檢測到導引信號,將解碼標志位flag_decode置高,并用計數器timer 0記錄匹配成功時刻,進入正常波門狀態,否則繼續編碼識別狀態。
正常波門狀態(s2):以導引信號匹配成功時刻timer 0為同步點,在其后[ΔTi+k-δ,ΔTi+k+δ]時刻處將波門信號gate置高,波門寬度為5μs;首先判斷波門內是否檢測到脈沖信號,若未檢測到脈沖,則進入兩倍波門狀態(s4);若檢測到脈沖,則將脈沖標志位flag_pulse置高,進一步判斷脈沖個數:若檢測到脈沖個數為1,則用計數器timer 1記錄脈沖時刻,作為下一波門同步點,繼續正常波門狀態;若檢測到脈沖個數大于1,則分別用timer 1和timer 2記錄首、末脈沖時刻,轉至擴寬波門狀態(s3)。

Fig.7 Flow chart of the state machine transition
擴寬波門狀態(s3):以上一波門內記錄的首脈沖時刻timer 1為同步點,在其后[ΔTi+k+1-δ,ΔTi+k+1+δ+ε]時刻處將波門信號gate置高,波門寬度為(5+ε)μs。
兩倍波門狀態(s4):以最近一次記錄的脈沖時刻timer 1為同步點,在其后[ΔTi+k+ΔTi+k+1-2δ,ΔTi+k+ΔTi+k+1+2δ]時刻處將波門信號gate置高,波門寬度為9μs;若在波門內檢測到目標信號脈沖,則將flag_pulse置高并記錄脈沖時刻,返回正常波門狀態;否則返回編碼識別狀態(s1),對編碼重新識別。
在ModelSim軟件中進行仿真測試,編寫Test bench測試文件作為激勵輸入,對解碼器功能進行驗證,設定ΔT1=500,ΔT2=700,ΔT3=400,仿真測試結果如圖8所示。圖8a為制導信號編碼匹配成功時刻波形,圖8b為下一脈沖時間間隔開波門時刻波形。數字匹配濾波器基于并行運算對脈沖序列進行識別,在接收到一組編碼序列的當前周期即完成一次匹配濾波運算,且每接收到一個新的輸入信號進行一次匹配運算,即最小在1個周期內即可實現碼型參量解算,解碼實時性較好。而采用基于自相關函數+序列搜索法、基于滑動匹配相關法等串行方法進行解碼,至少需要接收到2~4個周期脈沖序列后才能有效解碼。

Fig.8 Simulation test results in ModelSim
利用信號發生器產生寬度1μs、周期50ms±(0.1ms~10ms)的制導脈沖和100kHz的高重頻干擾脈沖信號作為系統輸入信號,采用實時信號分析工具SignalTap Ⅱ對FPGA的輸入輸出管腳及任意內部信號進行邏輯分析,信號采樣時鐘設置為2MHz,測試結果如圖9所示。由參考文獻[13]中的干擾概率計算方法可知,波門寬度為10μs且采用首脈沖檢測準則時,100kHz的高重頻干擾脈沖對制導信號干擾成功的概率為100%。而本文中解碼器的正常波門寬度為5μs,小于高重頻干擾信號周期10μs,且采用自適應擴展波門技術,將干擾成功概率降低至50%,進一步提高了導引頭的抗干擾性能。

Fig.9 Real-time test results in SignalTap Ⅱ
LFSR狀態碼在單次制導過程中可實現脈沖時間間隔不重復,使得敵方難以精確識別與有效對抗,采用LFSR狀態編碼可有效提高激光導引頭抗干擾性能。針對激光制導LFSR狀態編碼信號,采用基于數字匹配濾波的識別方法進行編碼識別,在一組編碼周期內即可完成碼型匹配,相比于滑動匹配相關等方法解碼時間短。且采用抽樣窗口對脈沖序列抽樣后再計算互相關函數值,減少了運算復雜度。采用自適應擴展實時波門對目標鎖定跟蹤,避免了干擾脈沖超前于制導脈沖信號進入波門造成漏檢的情況,提高了解碼器的抗干擾能力。常規波門寬度為5μs,可有效對抗100kHz的高重頻脈沖干擾。解碼器硬件方案采用基于單片FPGA的信息處理系統實現,具有體積小、成本低、開發周期短和實時性強等優點,可滿足小型化半主動激光導引頭應用需求。