曹曉荷,朱 斌*,尚建蓉,王升哲,鄭 杰,范文瑞
(1.西南技術(shù)物理研究所,成都 610041;2.火箭軍裝備部駐成都地區(qū)第四軍事代表室,成都 610000)
半主動激光制導(dǎo)技術(shù)具有命中精度高、結(jié)構(gòu)簡單、作戰(zhàn)費效比低、戰(zhàn)場靈活性好等特點,廣泛應(yīng)用于激光制導(dǎo)炸彈、低成本迫擊炮彈及多模復(fù)合制導(dǎo)導(dǎo)彈中,是精確制導(dǎo)武器中常用的制導(dǎo)體制之一[1]。隨著角度欺騙式干擾、高重頻激光干擾等有源干擾技術(shù)的發(fā)展,半主動激光制導(dǎo)武器通常采用較復(fù)雜的編碼技術(shù)和窄時間波門技術(shù),以提高其抗干擾能力[2]。與周期型脈沖編碼(包括精確頻率碼、脈沖調(diào)制編碼、有限位隨機周期碼)、等差序列碼相比,偽隨機編碼具有類似于隨機信號的特征,在單次制導(dǎo)過程中(6s~30s時間)周期幾乎不會重復(fù),使得敵方較難精確識別與有效對抗,是激光制導(dǎo)系統(tǒng)常用的編碼方式。
在同一戰(zhàn)區(qū)內(nèi)對多個目標進行攻擊時多個目標指示器互相干擾,以及存在敵方有源干擾的作戰(zhàn)環(huán)境下,采用激光編解碼可有效提高激光制導(dǎo)武器系統(tǒng)的抗干擾能力和作戰(zhàn)效能[3]。為保證激光制導(dǎo)武器的命中精度和可靠性,考慮編碼方式抗干擾性的同時,還需保證解碼的實時性和準確性。解碼器需快速識別出激光制導(dǎo)編碼信號,為控制系統(tǒng)提供準確的目標位置信息,才能實現(xiàn)對目標的快速精確捕獲跟蹤。因此,解碼算法對碼型類別、骨架周期、子序列脈沖間隔等參量的識別效果和解碼時間是考量解碼器的兩個關(guān)鍵指標。常用的解碼算法有:序列搜索法[4]原理相對簡單,但運算量大、效率低且容錯率?。籐I等人提出的基于時間差分自相關(guān)矩陣的編碼解算方法可確定循環(huán)幀周期、脈沖個數(shù)及分布參量[5],但解碼時間較長,且易受干擾脈沖和漏脈沖的影響;SHAO等人[6]采用基于最小周期識別方法進行編碼識別,可準確識別編碼類型和骨架周期,但對不存在最小周期的偽隨機碼識別效果不佳;參考文獻[7]~參考文獻[9]中采用的基于自相關(guān)函數(shù)的解碼方法只能識別周期型編碼的幀周期,無法識別偽隨機編碼;參考文獻[10]中提出的滑動匹配相關(guān)解碼法,將接收到的子序列在預(yù)設(shè)編碼脈沖中遍歷進行滑動匹配,解碼時間較長且易受干擾脈沖影響。
針對半主動激光導(dǎo)引頭制導(dǎo)需求,本文中提出一種基于現(xiàn)場可編程門陣列(field-programmable gate array,FPGA)的激光偽隨機編碼信號解碼器設(shè)計方案。解碼過程中,在搜索識別階段采用基于數(shù)字匹配濾波器的識別方法,對預(yù)設(shè)編碼抽樣序列和實時信號抽樣序列計算互相關(guān)函數(shù),計算結(jié)果為1,則匹配識別成功;鎖定跟蹤階段,采用自適應(yīng)擴展實時波門技術(shù),根據(jù)上一波門中檢測到的脈沖情況自適應(yīng)設(shè)置下一實時波門的時刻和寬度,對目標持續(xù)跟蹤。基于FPGA芯片實現(xiàn)解碼器硬件設(shè)計,采用“數(shù)據(jù)鏈”的方式實現(xiàn)超大容量的數(shù)據(jù)存儲和傳輸,采用狀態(tài)機轉(zhuǎn)換保證識別和跟蹤的時序穩(wěn)定性。
偽隨機編碼通常采用線性反饋移位寄存器(linear feedback shift register,LFSR)生成,一種是根據(jù)線性反饋移位寄存器輸出值(0或1)確定是否發(fā)射激光,稱為LFSR調(diào)制碼;一種根據(jù)線性移位寄存器當前狀態(tài)值(0-1序列)確定脈沖間隔進行編碼,稱為LFSR狀態(tài)碼[11]。LFSR調(diào)制碼存在最小脈沖間隔ΔTmin,用以ΔTmin為周期的干擾脈沖即可對其產(chǎn)生有效干擾。LFSR狀態(tài)碼不存在最小脈沖間隔,抗干擾能力更強[12],其編碼方式為:
(1)
式中,ΔTi為第i(1≤i≤M-1)和i+1個脈沖之間的時間間隔;ΔT0為基準時間間隔;ΔTd為脈沖間隔增量;Tr為隨機擾碼;ki為脈沖間隔跳變數(shù),由二進制序列[a1…as]的十進制值確定,序列由s級LFSR產(chǎn)生。
按照(1)式所述編碼方式,在MATLAB軟件中仿真生成LFSR狀態(tài)碼,設(shè)定線性反饋移位寄存器級數(shù)s=8,初始種子為[a1…a8]=01001001,反饋系數(shù)為[c1…c8]=11111110,ΔT0=50ms,ΔTd=0.1ms,結(jié)果如圖1所示。以單次制導(dǎo)過程時間為10s,激光目標指示器發(fā)射指示激光頻率為20Hz計算,共需200個激光脈沖用于導(dǎo)引頭制導(dǎo),LFSR狀態(tài)碼可滿足制導(dǎo)過程中脈沖時間間隔不重復(fù)的需求。
Fig.1 Pulse intervals of LFSR status code
在制導(dǎo)過程中,四象限探測器接收目標反射的激光回波,經(jīng)放大電路、模數(shù)轉(zhuǎn)換為方波脈沖序列送至信息處理單元;搜索識別階段,解碼器接收到綜合控制器發(fā)送的碼型參量后,采用基于數(shù)字匹配濾波器的識別方法,根據(jù)預(yù)設(shè)編碼碼字設(shè)置抽樣窗口,對預(yù)設(shè)編碼抽樣序列和實時信號抽樣序列計算互相關(guān)函數(shù),計算結(jié)果為1,則匹配識別成功;捕獲到導(dǎo)引信號后,進入鎖定跟蹤階段,采用自適應(yīng)擴展實時波門技術(shù),根據(jù)導(dǎo)引信號匹配時刻及解析得到的編碼參量設(shè)置時間波門,利用波門內(nèi)截獲的信號對目標進行持續(xù)跟蹤[13]。
數(shù)字匹配濾波器(digital matched filter,DMF)多用于擴頻通信中對高速偽隨機碼的快速捕獲,以實現(xiàn)信道同步[14-15]。基于數(shù)字匹配濾波器的編碼識別方法具有搜索速度快、受干擾脈沖影響小的特點,在一個編碼周期即可完成搜索。借鑒其解碼原理,將其應(yīng)用于激光制導(dǎo)LFSR狀態(tài)碼脈沖序列的解碼識別過程中。
數(shù)字匹配濾波器主要由移位寄存器、與門組、多輸入加法器和除法器組成,其基本結(jié)構(gòu)如圖2所示[14]。其中移位寄存器(shift register)A用于存儲實時接收到的激光脈沖信號序列,移位寄存器B用于存儲預(yù)設(shè)激光偽隨機編碼序列;與門組用于求取實時信號序列和預(yù)設(shè)編碼序列的互相關(guān)性;然后將各與門的結(jié)果輸入加法器及除法器中得到最終的互相關(guān)函數(shù)值rxy,計算公式如下:
(2)
Fig.2 Block diagram of digital matching filter
式中,x(n)為預(yù)設(shè)偽隨機編碼序列;y(n)為導(dǎo)引頭接收到的實時脈沖信號序列;n為脈沖序列中離散化信號的編號;N為序列長度,即移位寄存器的長度;M為序列中存在的編碼信號個數(shù)。若上式計算結(jié)果為rxy=1時,則表明匹配成功,捕獲到導(dǎo)引信號。
為減小運算復(fù)雜度,對實時信號序列和預(yù)設(shè)編碼序列進行抽樣,考慮大氣傳輸、編碼晶體振蕩器頻率穩(wěn)定度等因素,抽樣窗口設(shè)定為脈沖時間間隔ΔTi±iδ的范圍,對抽樣序列計算互相關(guān)函數(shù)值如下:
(Ri∈[ΔTi-iδ,ΔTi+iδ])
(3)
式中,xR(n)為預(yù)設(shè)編碼的抽樣序列;yR(n)為實時信號的抽樣序列;Ri為第i個抽樣窗口范圍;ΔTi為預(yù)設(shè)編碼序列第i(i=1,2,…,M-1)個脈沖時間間隔;δ為脈沖到達時間不確定度。
2.2.1 時間波門技術(shù)原理 時間波門技術(shù)是激光解碼鎖定跟蹤階段常用的抗干擾手段,對特定頻率的干擾脈沖,在保證制導(dǎo)信號進入波門的概率最大化前提下,波門寬度越窄,干擾脈沖進入波門的幾率越小,則激光制導(dǎo)抗干擾能力越強。時間波門技術(shù)的原理為:根據(jù)預(yù)設(shè)編碼序列和搜索識別階段中導(dǎo)引信號匹配成功時刻,預(yù)測下一制導(dǎo)信號脈沖到達時刻,以該時刻為波門中心位置,以脈沖到達時間不確定度為最小波門半徑設(shè)置波門,解碼器只對波門內(nèi)截獲的信號進行處理[16]。時間波門技術(shù)主要分為固定波門和實時波門兩類。
(4)
實時波門是以前一波門內(nèi)檢測到的制導(dǎo)脈沖時刻為時間同步點設(shè)置下一波門,波門寬度選取范圍通常為5μs~20μs。以導(dǎo)引信號匹配成功時刻tm為第1個波門的時間同步點設(shè)置寬度為2δ的波門Tg,1′,然后以第1個波門內(nèi)檢測到的脈沖信號時刻tm+1為第2個波門的時間同步點設(shè)置寬度為2δ的波門Tg,2′,以此類推,以第k-1個波門內(nèi)檢測到的脈沖信號時刻tm+k-1為第k個波門的時間同步點設(shè)置寬度為2δ的波門Tg,k′,即:
(5)
固定波門采用一個時間同步點,具有累計誤差,且波門寬度隨時間成等差數(shù)列增長,導(dǎo)致隨時間推移抗干擾性能下降,因此激光制導(dǎo)解碼通常采用實時波門方案。在實時波門技術(shù)中,若采用首脈沖認定準則,當干擾脈沖P2′先于制導(dǎo)脈沖P2進入波門Tg,2,以干擾脈沖為時間同步點設(shè)置下一波門Tg,3,可能會導(dǎo)致下一制導(dǎo)脈沖P3落在實時波門之外,如圖3所示。因此需對實時波門進行修正[18]。
Fig.3 Interference pulse’s effects on real-time gates
2.2.2 自適應(yīng)擴展實時波門 針對實時波門受干擾脈沖影響出現(xiàn)漏檢制導(dǎo)脈沖的情況,采用自適應(yīng)擴展時間波門的方法避免存在干擾時導(dǎo)引頭無法鎖定跟蹤目標。自適應(yīng)擴展實時波門的基本原理如圖4所示。常規(guī)波門寬度為2δ,不同情況下波門的設(shè)置準則為:(1)前一波門中只檢測到一個脈沖信號Pk-1,則認定其為制導(dǎo)信號,以該脈沖時刻tm+k-1為同步點,在下一個編碼脈沖時間間隔ΔTi+k處設(shè)置寬度為2δ的時間波門;(2)前一波門中檢測到多個脈沖Pk,1,Pk,2,…Pk,l時,則分別以波門內(nèi)的首脈沖時刻tm+k,1和末脈沖時刻tm+k,l為同步點,在下一個編碼脈沖時間間隔ΔTi+k+1處設(shè)置兩個寬度為2δ的時間波門,最終形成的波門寬度為2δ+ε,ε為前一波門中首末脈沖的時間差;(3)前一波門中未檢測到脈沖信號時,則以最近一次檢測到的脈沖時刻tm+k+1為同步點,在累計兩個編碼脈沖時間間隔ΔTi+k+2+ΔTi+k+3處設(shè)置寬度為4δ的時間波門。若連續(xù)兩次在波門內(nèi)未檢測到脈沖信號,則回到搜索識別階段重新進行匹配識別。
Fig.4 Adaptive extended real-time gate
激光導(dǎo)引頭信息處理單元多采用數(shù)字信號處理器(digital signal processor,DSP)結(jié)合FPGA及相關(guān)外設(shè)電路的架構(gòu),難以實現(xiàn)小型化設(shè)計,其中FPGA主要用于對接口電路和時序的控制,信號處理算法則在DSP中實現(xiàn)[19]。隨著大規(guī)模集成電路設(shè)計和工藝水平的提高,F(xiàn)PGA的內(nèi)部資源日益豐富,信號處理功能更強大,并且具有并行計算實時性好、便于二次開發(fā)靈活性好等特點,基于單片F(xiàn)PGA芯片即可完成整個信息處理單元的功能設(shè)計。
基于FPGA的解碼器總體框架如圖5所示。由復(fù)位模塊(reset)、時鐘分頻模塊(phase locked loop,PLL)、串口通信模塊(universal asynchronous receiver/transmitter,UART)、數(shù)據(jù)緩存模塊(shift register)、編碼識別模塊(code matching)及波門跟蹤模塊(time-gate tracking)組成。系統(tǒng)主芯片選用Altera公司的Cyclone III系列EP3C120F484I7型FPGA,采用Verilog HDL語言進行開發(fā)設(shè)計。外設(shè)電路包括EPCS64 FLASH存儲器、60MHz晶振、RS232串口收發(fā)器、模數(shù)(analog-to-digital,A/D)轉(zhuǎn)換器等。
Fig.5 Block diagram of the decoder system
復(fù)位模塊根據(jù)系統(tǒng)運行時間標志位“time_flag”、輸入信號無效標志位“data_invalid”及編碼碼字更新標志位“T_change”,對系統(tǒng)進行復(fù)位及初始化。時鐘分頻模塊調(diào)用鎖相環(huán)IP核“ALTPLL”,將晶振時鐘分頻得到1MHz的系統(tǒng)主時鐘、串口通信時鐘等,在1MHz主時鐘下對輸入的導(dǎo)引信號和隨機干擾脈沖進行采樣,即脈沖寬度為1μs。串口通信模塊負責(zé)與綜合控制器的通信,接收碼型參量,并將其轉(zhuǎn)換為脈沖時間間隔。數(shù)據(jù)緩存模塊調(diào)用雙口RAM IP核實現(xiàn)超長移位寄存器,滿足基于數(shù)字匹配濾波器的識別算法的數(shù)據(jù)存儲量需求。編碼識別模塊和波門跟蹤模塊首先根據(jù)碼型參量和識別算法完成碼型匹配,判斷是否接收到導(dǎo)引信號,匹配成功后進入開波門流程。
數(shù)據(jù)緩存模塊的設(shè)計有兩個關(guān)鍵點:超大數(shù)據(jù)存儲量和可變長度。
3.1.1 超長移位寄存器的設(shè)計 在1MHz主時鐘下,以導(dǎo)引信號采用4位編碼、基準時間間隔為50ms計算,至少需要緩存150000個數(shù)據(jù)。自行編寫的超長移位寄存器可能出現(xiàn)時序紊亂的問題,故調(diào)用雙口RAM IP核“RAM:2-PORT”,讀寫操作均在主時鐘上升沿進行。
3.1.2 可變長度的實現(xiàn) 按照LFSR狀態(tài)碼編碼方式,級數(shù)s=8時導(dǎo)引信號的脈沖時間間隔變化范圍為±(0.1ms~12.7ms),串口通信模塊接收到LFSR狀態(tài)碼編碼碼字參量后,解析出子序列脈沖間隔跳變數(shù)提供給數(shù)據(jù)緩存模塊。設(shè)ki為8位脈沖間隔跳變數(shù),其最高位為符號位,其余7位為跳變的絕對值;基準時間間隔ΔT0=50000,則子序列脈沖時間間隔為:
(6)
然后由ΔTi來控制相應(yīng)隨機存取存儲器(random access memory,RAM)的讀寫地址范圍,每個clk上升沿讀寫地址+1,當讀寫地址等于ΔTi時,將讀寫地址清零。
3.1.3 數(shù)據(jù)傳輸方式 采用“數(shù)據(jù)鏈”的方式實現(xiàn)移位寄存器中的數(shù)據(jù)傳輸,整個移位寄存器由隨機存取存儲器(random access memory,RAM)和window拼接而成,數(shù)據(jù)鏈中數(shù)據(jù)的傳輸方式如圖6所示。將window 0~window 3中數(shù)據(jù)輸出,即完成(3)式中對脈沖信號序列的抽樣。
Fig.6 Data link transmission method
編碼識別及波門跟蹤模塊使用狀態(tài)機來實現(xiàn),狀態(tài)機分為5個狀態(tài):(1)初始狀態(tài)(s0);(2)編碼識別狀態(tài)(s1);(3)正常波門狀態(tài)(s2);(4)擴展波門狀態(tài)(s3);(5)兩倍波門狀態(tài)(s4)。狀態(tài)機轉(zhuǎn)換具體流程如圖7所示。
初始狀態(tài)(s0):等待移位寄存器中數(shù)據(jù)存滿,則進入編碼識別狀態(tài)。
編碼識別狀態(tài)(s1):檢測抽樣窗口window 0~window 3中是否同時有脈沖,即對每個窗口中的數(shù)據(jù)按位求“或”運算,再將“或”運算的結(jié)果求“與”,最終結(jié)果為1則表示檢測到導(dǎo)引信號,將解碼標志位flag_decode置高,并用計數(shù)器timer 0記錄匹配成功時刻,進入正常波門狀態(tài),否則繼續(xù)編碼識別狀態(tài)。
正常波門狀態(tài)(s2):以導(dǎo)引信號匹配成功時刻timer 0為同步點,在其后[ΔTi+k-δ,ΔTi+k+δ]時刻處將波門信號gate置高,波門寬度為5μs;首先判斷波門內(nèi)是否檢測到脈沖信號,若未檢測到脈沖,則進入兩倍波門狀態(tài)(s4);若檢測到脈沖,則將脈沖標志位flag_pulse置高,進一步判斷脈沖個數(shù):若檢測到脈沖個數(shù)為1,則用計數(shù)器timer 1記錄脈沖時刻,作為下一波門同步點,繼續(xù)正常波門狀態(tài);若檢測到脈沖個數(shù)大于1,則分別用timer 1和timer 2記錄首、末脈沖時刻,轉(zhuǎn)至擴寬波門狀態(tài)(s3)。
Fig.7 Flow chart of the state machine transition
擴寬波門狀態(tài)(s3):以上一波門內(nèi)記錄的首脈沖時刻timer 1為同步點,在其后[ΔTi+k+1-δ,ΔTi+k+1+δ+ε]時刻處將波門信號gate置高,波門寬度為(5+ε)μs。
兩倍波門狀態(tài)(s4):以最近一次記錄的脈沖時刻timer 1為同步點,在其后[ΔTi+k+ΔTi+k+1-2δ,ΔTi+k+ΔTi+k+1+2δ]時刻處將波門信號gate置高,波門寬度為9μs;若在波門內(nèi)檢測到目標信號脈沖,則將flag_pulse置高并記錄脈沖時刻,返回正常波門狀態(tài);否則返回編碼識別狀態(tài)(s1),對編碼重新識別。
在ModelSim軟件中進行仿真測試,編寫Test bench測試文件作為激勵輸入,對解碼器功能進行驗證,設(shè)定ΔT1=500,ΔT2=700,ΔT3=400,仿真測試結(jié)果如圖8所示。圖8a為制導(dǎo)信號編碼匹配成功時刻波形,圖8b為下一脈沖時間間隔開波門時刻波形。數(shù)字匹配濾波器基于并行運算對脈沖序列進行識別,在接收到一組編碼序列的當前周期即完成一次匹配濾波運算,且每接收到一個新的輸入信號進行一次匹配運算,即最小在1個周期內(nèi)即可實現(xiàn)碼型參量解算,解碼實時性較好。而采用基于自相關(guān)函數(shù)+序列搜索法、基于滑動匹配相關(guān)法等串行方法進行解碼,至少需要接收到2~4個周期脈沖序列后才能有效解碼。
Fig.8 Simulation test results in ModelSim
利用信號發(fā)生器產(chǎn)生寬度1μs、周期50ms±(0.1ms~10ms)的制導(dǎo)脈沖和100kHz的高重頻干擾脈沖信號作為系統(tǒng)輸入信號,采用實時信號分析工具SignalTap Ⅱ?qū)PGA的輸入輸出管腳及任意內(nèi)部信號進行邏輯分析,信號采樣時鐘設(shè)置為2MHz,測試結(jié)果如圖9所示。由參考文獻[13]中的干擾概率計算方法可知,波門寬度為10μs且采用首脈沖檢測準則時,100kHz的高重頻干擾脈沖對制導(dǎo)信號干擾成功的概率為100%。而本文中解碼器的正常波門寬度為5μs,小于高重頻干擾信號周期10μs,且采用自適應(yīng)擴展波門技術(shù),將干擾成功概率降低至50%,進一步提高了導(dǎo)引頭的抗干擾性能。
Fig.9 Real-time test results in SignalTap Ⅱ
LFSR狀態(tài)碼在單次制導(dǎo)過程中可實現(xiàn)脈沖時間間隔不重復(fù),使得敵方難以精確識別與有效對抗,采用LFSR狀態(tài)編碼可有效提高激光導(dǎo)引頭抗干擾性能。針對激光制導(dǎo)LFSR狀態(tài)編碼信號,采用基于數(shù)字匹配濾波的識別方法進行編碼識別,在一組編碼周期內(nèi)即可完成碼型匹配,相比于滑動匹配相關(guān)等方法解碼時間短。且采用抽樣窗口對脈沖序列抽樣后再計算互相關(guān)函數(shù)值,減少了運算復(fù)雜度。采用自適應(yīng)擴展實時波門對目標鎖定跟蹤,避免了干擾脈沖超前于制導(dǎo)脈沖信號進入波門造成漏檢的情況,提高了解碼器的抗干擾能力。常規(guī)波門寬度為5μs,可有效對抗100kHz的高重頻脈沖干擾。解碼器硬件方案采用基于單片F(xiàn)PGA的信息處理系統(tǒng)實現(xiàn),具有體積小、成本低、開發(fā)周期短和實時性強等優(yōu)點,可滿足小型化半主動激光導(dǎo)引頭應(yīng)用需求。