宋振豐,李 巖,于 洋
(1.中國(guó)科學(xué)院長(zhǎng)春光學(xué)精密機(jī)械與物理研究所,吉林長(zhǎng)春 130033; 2.中國(guó)科學(xué)院研究生院,北京 100039)
軍隊(duì)靶場(chǎng)訓(xùn)練基地用于跟蹤高速運(yùn)動(dòng)目標(biāo)的主要手段是光電跟瞄設(shè)備。對(duì)于光電跟瞄系統(tǒng)而言,操作訓(xùn)練需要與外部目標(biāo)環(huán)境緊密配合,因此,訓(xùn)練所需的目標(biāo)環(huán)境構(gòu)建成為訓(xùn)練操作手和對(duì)光電跟瞄設(shè)備仿真檢測(cè)的關(guān)鍵因素之一。但如果通過(guò)現(xiàn)場(chǎng)飛行試驗(yàn)來(lái)構(gòu)造目標(biāo)環(huán)境,則訓(xùn)練成本過(guò)大,還會(huì)受天氣等環(huán)境因素的影響。因此,低成本、高效率地完成操作訓(xùn)練是目前靶場(chǎng)訓(xùn)練基地極為關(guān)注的問(wèn)題。
圖1 目標(biāo)跟蹤訓(xùn)練系統(tǒng)組成Fig.1 System composition of target tracking training
注入式仿真試驗(yàn)可以在不開(kāi)啟紅外相機(jī)的情況下完成跟蹤訓(xùn)練任務(wù),其投資少、見(jiàn)效快,已成為有限條件下的理想訓(xùn)練手段。本文提出一種利用數(shù)字圖像注入來(lái)構(gòu)建目標(biāo)環(huán)境,完成目標(biāo)跟蹤仿真訓(xùn)練任務(wù)的圖像注入式紅外目標(biāo)跟蹤仿真訓(xùn)練方法。該方法不體現(xiàn)紅外圖像的逼真度,而在于注重光電跟瞄設(shè)備對(duì)目標(biāo)跟蹤訓(xùn)練的性能,其關(guān)鍵技術(shù)是目標(biāo)動(dòng)態(tài)飛行的構(gòu)建和閉環(huán)仿真訓(xùn)練(即自動(dòng)跟蹤)的實(shí)現(xiàn)。本文采用實(shí)測(cè)數(shù)據(jù)和理論計(jì)算相結(jié)合,實(shí)現(xiàn)了模擬目標(biāo)的動(dòng)態(tài)飛行;將被試系統(tǒng)編碼器輸出數(shù)據(jù)和目標(biāo)運(yùn)動(dòng)方程綜合處理,控制閉環(huán)系統(tǒng)的延時(shí),精確仿真目標(biāo)像素位置,實(shí)現(xiàn)了閉環(huán)仿真訓(xùn)練。
目標(biāo)跟蹤訓(xùn)練系統(tǒng)主要由數(shù)字圖像生成模塊、數(shù)字圖像注入模塊和跟蹤訓(xùn)練控制模塊組成,系統(tǒng)框圖如圖1所示。
(1)數(shù)字圖像生成模塊
數(shù)字圖像生成模塊是整個(gè)仿真試驗(yàn)系統(tǒng)研制的難點(diǎn),其主要用途有:(1)接收主控計(jì)算機(jī)發(fā)送來(lái)的訓(xùn)練參數(shù),如圖像畫(huà)幅大小,幀頻等;(2)實(shí)時(shí)接收由跟蹤訓(xùn)練控制模塊發(fā)送來(lái)的目標(biāo)區(qū)域在數(shù)字圖像畫(huà)幅中的像素大小和像素位置,調(diào)用背景畫(huà)幅數(shù)據(jù)并在背景中實(shí)時(shí)合成目標(biāo);(3)將數(shù)字圖像實(shí)時(shí)送給數(shù)字圖像注入模塊。
(2)圖像注入模塊
數(shù)字圖像注入模塊提供圖像注入接口,并負(fù)責(zé)數(shù)字圖像數(shù)據(jù)通信控制,其通信和接口應(yīng)與被試系統(tǒng)一致,設(shè)計(jì)中采用 Camera Link接口形式。
(3)跟蹤訓(xùn)練控制模塊
跟蹤訓(xùn)練控制模塊的主要任務(wù):(1)接收主控計(jì)算機(jī)發(fā)送來(lái)的訓(xùn)練參數(shù),如仿真目標(biāo)的飛行速度、距離以及光學(xué)設(shè)備參數(shù)等,實(shí)時(shí)采集并解算出跟蹤設(shè)備編碼器輸出的方位角A和俯仰角E;(2)仿真試驗(yàn)設(shè)定 (如模擬目標(biāo)的飛行軌跡)和仿真試驗(yàn)進(jìn)程控制;(3)目標(biāo)運(yùn)動(dòng)軌跡實(shí)時(shí)計(jì)算,并將計(jì)算出的目標(biāo)在畫(huà)幅中的像素大小和像素位置發(fā)送到數(shù)字圖像生成模塊。
模擬目標(biāo)跟蹤訓(xùn)練系統(tǒng)是基于目標(biāo)脫靶量來(lái)實(shí)現(xiàn)的。在實(shí)際工作過(guò)程中,目標(biāo)的運(yùn)動(dòng)和跟蹤設(shè)備對(duì)象無(wú)關(guān),跟蹤設(shè)備的視軸跟隨目標(biāo)視線(xiàn)運(yùn)動(dòng)并構(gòu)成閉環(huán)工作狀態(tài)。在數(shù)字圖像注入式跟蹤仿真訓(xùn)練中,目標(biāo)像素位置 (可以認(rèn)為是目標(biāo)脫靶量理論值)基于目標(biāo)運(yùn)動(dòng)軌跡和跟蹤設(shè)備編碼器輸出值計(jì)算得到,其值計(jì)算的精度和速度是關(guān)系到能否達(dá)到自動(dòng)跟蹤訓(xùn)練的決定因素,從控制學(xué)角度來(lái)看,是否影響跟蹤設(shè)備的傳遞函數(shù)。
a)虛擬空間坐標(biāo)系的建立
可假定跟蹤設(shè)備工作站點(diǎn)為大地坐標(biāo),并以工作站點(diǎn)為原點(diǎn)建立虛擬空間直角坐標(biāo)系o-xyz。
b)目標(biāo)空間坐標(biāo)計(jì)算
在模擬訓(xùn)練實(shí)驗(yàn)中,必須考慮目標(biāo)的幾何形狀,而不能把目標(biāo)當(dāng)成一個(gè)質(zhì)點(diǎn),在描述目標(biāo)的空間坐標(biāo)時(shí),以目標(biāo)的幾何中心 (形心)作為參考點(diǎn)。目標(biāo)的空間坐標(biāo)用o-xyz下直角坐標(biāo) (x,y,z)描述,如圖2所示。在模擬訓(xùn)練試驗(yàn)前,需要給定目標(biāo)運(yùn)行參數(shù),在訓(xùn)練過(guò)程中,根據(jù)給定的目標(biāo)運(yùn)動(dòng)參數(shù)和試驗(yàn)進(jìn)程時(shí)間實(shí)時(shí)計(jì)算目標(biāo)的空間坐標(biāo)值。
圖2 目標(biāo)直角坐標(biāo)系Fig.2 Target rectangular coordinate
假設(shè)A、B為兩條理論航跡,(x0,y0,z0)為目標(biāo)起始點(diǎn),z0為目標(biāo)起始高度,假定目標(biāo)在飛行進(jìn)程中高度不變,則飛行過(guò)程中目標(biāo)位置滿(mǎn)足
式(1):
式中vx、vy為目標(biāo)在x方向和y方向的速度,為了滿(mǎn)足截距d,vx、vy應(yīng)滿(mǎn)足:
由式 (2)可以計(jì)算出目標(biāo)在x方向和y方向的速度,如式 (3)所示:
式 (3)中v為目標(biāo)飛行速度,為已知參數(shù),由主控計(jì)算機(jī)提供。
c)目標(biāo)像素大小和像素位置的計(jì)算
目標(biāo)相對(duì)觀測(cè)點(diǎn)的距離RT、方位角AT、俯仰角ET計(jì)算公式如式 (4)所示:
根據(jù)式 (4)計(jì)算的目標(biāo)方位角AT、俯仰角ET,比照編碼器數(shù)值得到設(shè)備的實(shí)際指向A、E來(lái)判斷目標(biāo)是否在跟蹤設(shè)備的視場(chǎng)內(nèi),若 |A-AT|<w,|E-ET|<w(w為跟蹤設(shè)備的半視場(chǎng)角),則目標(biāo)在視場(chǎng)內(nèi),脫靶量為:
則根據(jù)光學(xué)系統(tǒng)參數(shù)可以計(jì)算得到:
目標(biāo)像素尺寸為:
以像素為單位的目標(biāo)脫靶量為:
式中a×a為 CCD尺寸,n×n為 CCD像元數(shù),f為光學(xué)系統(tǒng)焦距,l為目標(biāo)尺寸。
上面介紹了目標(biāo)像素大小和位置的計(jì)算方法,它是形成目標(biāo)模擬訓(xùn)練的基礎(chǔ)。無(wú)論是目標(biāo)軌跡的計(jì)算精度還是跟蹤設(shè)備編碼器輸出的測(cè)試精度都非常高,其誤差帶來(lái)的對(duì)目標(biāo)像素位置取值精度的影響可以忽略。影響目標(biāo)像素位置取值精度的關(guān)鍵是時(shí)序精度,也就是說(shuō)能否將數(shù)字圖像生成、注入帶來(lái)的延時(shí)控制在 0附近。
為達(dá)到目標(biāo)跟蹤訓(xùn)練的性能和自動(dòng)跟蹤的精度,目標(biāo)跟蹤訓(xùn)練系統(tǒng)對(duì)數(shù)字圖像生成速度提出了很高的要求。為滿(mǎn)足此要求,本文采用 FPGA直接生成圖像數(shù)據(jù)信號(hào)的方法,該方法通過(guò) Verilog HDL語(yǔ)言編程產(chǎn)生邏輯電路,反應(yīng)時(shí)間快,數(shù)字圖像信號(hào)連續(xù)、穩(wěn)定、可靠,實(shí)時(shí)性高。通過(guò)調(diào)用存儲(chǔ)器中的圖像背景,實(shí)時(shí)接收目標(biāo)像素大小和位置信息,在背景像素中實(shí)現(xiàn)目標(biāo)的定位輸出。
圖3 圖像注入接口時(shí)序圖Fig.3 Timing diagram of image inject interface
圖像注入接口采用標(biāo)準(zhǔn)的 Camera Link相機(jī)接口,Camera Link是在 Channel Link的基礎(chǔ)上增加了一些相機(jī)控制信號(hào)和串行通信信號(hào),定義出標(biāo)準(zhǔn)的接頭,也就是標(biāo)準(zhǔn)化信號(hào)線(xiàn),讓 Camera及影像卡的信號(hào)傳輸更簡(jiǎn)單化,同時(shí)提供 3種構(gòu)架,即基本構(gòu)架 (Based Configuration)、中階構(gòu)架 (Medium Configuration)及完整構(gòu)架 (Full Configuration),本文采用基本構(gòu)架配置模式。
傳輸數(shù)據(jù)時(shí)使用的視頻同步信號(hào)固定不變,分別為:
幀同步信號(hào) FVAL:當(dāng) FVAL為高電平時(shí),正輸出一幀有效數(shù)據(jù);
行同步信號(hào) LVAL:當(dāng) LVAL為高電平時(shí),正輸出一個(gè)有效像元行 (在兩個(gè)有效像元行中間,LVAL會(huì)跳過(guò)幾個(gè)無(wú)效的像素點(diǎn),可在實(shí)際應(yīng)用時(shí)設(shè)定跳過(guò)的像素點(diǎn)數(shù));
數(shù)據(jù)有效信號(hào) DVAL:當(dāng) FVAL和 LVAL為高時(shí),DVAL為高電平,正輸出有效的數(shù)據(jù);
SPARE為備用信號(hào)。
設(shè)計(jì)中使用了 FVAL和 LVAL信號(hào),當(dāng) FVAL和LVAL信號(hào)都為高電平時(shí),圖像信號(hào)源數(shù)據(jù)在像素時(shí)鐘信號(hào) PIXCLK的控制下一次發(fā)送。其接口信號(hào)時(shí)序如圖3所示。
Camera Link接口器件 DS90CR287是專(zhuān)用的電平轉(zhuǎn)換器件,能將 28位 CMOS/TTL電平數(shù)據(jù)和一位像素時(shí)鐘信號(hào)分別轉(zhuǎn)換為 4組 LVDS數(shù)據(jù)流及一對(duì) LVDS時(shí)鐘信號(hào)進(jìn)行傳輸,由于采用差分傳輸方式,提高了傳輸距離及信號(hào)精度。
目標(biāo)跟蹤訓(xùn)練系統(tǒng)的硬件框圖如圖4所示。從圖中可以看出,目標(biāo)模擬器硬件主要以 FPGA作為核心,由硬件實(shí)現(xiàn)復(fù)雜的算法通常比用軟件實(shí)現(xiàn)具有更高的速度和效率。Altera公司的 Nios軟核嵌入式處理器是一種可特許的通用 R ISC架構(gòu)的 CPU,也就是說(shuō),Altera公司以 IP核的方式將它提供給設(shè)計(jì)者,它可以與各種各樣的外設(shè)、定制指令和硬件加速單元相組合,構(gòu)造一個(gè)定制的可編程片上系統(tǒng) (System on Programmable Chip,SOPC)。
圖4 目標(biāo)跟蹤訓(xùn)練系統(tǒng)的硬件結(jié)構(gòu)圖Fig.4 Hardware architecture diagram of target tracking training system
定制 CPU和接口須根據(jù)設(shè)計(jì)要求使用 SOPC Builder來(lái)對(duì)Nios CPU進(jìn)行定制,為了提高工作效率,設(shè)計(jì)中采用高性能內(nèi)核 (Nios II/f),該 CPU是包含有 2 kb數(shù)據(jù)的數(shù)據(jù) Cache和 4 kb的代碼Cache、CPU的指令長(zhǎng)度為 32 bit。除了 Nios CPU之外,還需要用 SOPC Builder將外圍設(shè)備的接口添加進(jìn)來(lái).對(duì)于本設(shè)計(jì)來(lái)說(shuō),有如下接口:
1)串行通信接口 UART、DMA控制接口,通過(guò)DMA來(lái)接收串口數(shù)據(jù),也就是接收跟蹤設(shè)備的編碼器輸出值。
圖5 N IOS II系統(tǒng)結(jié)構(gòu)Fig.5 Nios II system structure
2)外部存儲(chǔ)器 SDRAM和 FLASH接口,SDRAM用來(lái)存放系統(tǒng)運(yùn)行時(shí)的程序代碼、數(shù)據(jù)段、代碼段及堆棧段 (相當(dāng)于計(jì)算機(jī)中的內(nèi)存),FLASH用來(lái)存放工程文件,以便在系統(tǒng)上電后自動(dòng)加載代碼(相當(dāng)于計(jì)算機(jī)中的硬盤(pán)),同時(shí)存放背景的圖像數(shù)據(jù)。
3)三態(tài)總線(xiàn)接口,起到數(shù)據(jù)總線(xiàn)的作用,將外設(shè)與 CPU連接起來(lái)。
4)P IO接口,用來(lái)與數(shù)字圖像生成模塊通信,由 3個(gè) P IO接口來(lái)實(shí)現(xiàn),分別為 target_x、target_y和 target_pix。接口關(guān)系如圖5所示。
目標(biāo)模擬器的軟件實(shí)現(xiàn)分為兩個(gè)部分來(lái)完成,一部分由 Quartus II建立硬件邏輯工程文件,通過(guò) SOPC Builder建立軟核。另一部分根據(jù)SOPC Builder建立的軟核文件使用 Nios II IDE來(lái)編寫(xiě)軟核控制程序,用 C語(yǔ)言進(jìn)行編寫(xiě)控制程序。由于 Altera為 NiosⅡ處理器用戶(hù)提供硬件抽象層 (HAL)系統(tǒng)庫(kù)驅(qū)動(dòng)程序,允許用戶(hù)使用 HAL應(yīng)用程序接口 (API)函數(shù)訪問(wèn)外設(shè),所以用戶(hù)能方便地操作底層硬件。
在通常的設(shè)計(jì)中,使用中斷來(lái)接收串口數(shù)據(jù),每收到一個(gè) 8位數(shù)據(jù)就會(huì)產(chǎn)生一個(gè)系統(tǒng)中斷,而本系統(tǒng)中串口數(shù)據(jù)是以數(shù)據(jù)包的形式來(lái)發(fā)送,如果仍采用中斷的方式接收,會(huì)給系統(tǒng)運(yùn)行帶來(lái)很大負(fù)擔(dān),也很難滿(mǎn)足實(shí)時(shí)性的要求,所以本設(shè)計(jì)采用DMA的方式來(lái)接收串口的數(shù)據(jù),每接收完一個(gè)數(shù)據(jù)包會(huì)自動(dòng)產(chǎn)生一個(gè)系統(tǒng)中斷,不但大大提高了系統(tǒng)運(yùn)行的效率,而且滿(mǎn)足了實(shí)時(shí)接收數(shù)據(jù),并實(shí)時(shí)處理系統(tǒng)的要求。
圖6 視頻同步信號(hào)時(shí)序Fig.6 Video sync signal timing
數(shù)字圖像生成模塊使用 Verilog HDL語(yǔ)言來(lái)編寫(xiě),這是考慮到系統(tǒng)要求數(shù)字圖像的幀頻為100 Hz,用 Nios II軟核來(lái)完成圖像數(shù)據(jù)的生成很難達(dá)到要求,而直接采用Verilog HDL語(yǔ)言可以在系統(tǒng)時(shí)鐘的工作頻率下工作,而且通過(guò)采樣系統(tǒng)時(shí)鐘,能夠嚴(yán)格控制數(shù)字圖像的生成。系統(tǒng)時(shí)鐘為 50 MHz,數(shù)字圖像時(shí)鐘信號(hào) PI XCLK為系統(tǒng)時(shí)鐘 2分頻,即 25 MHz,模擬的圖像數(shù)據(jù)的像素為320×240,幀頻為 100 Hz。行同步信號(hào) LVAL和幀同步信號(hào) FVAL均由像素時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù)產(chǎn)生,其時(shí)序如圖6所示。
其中P1為 35個(gè) PIXCLK時(shí)鐘周期;A為 320個(gè) PIXCLK,即一行包含 320個(gè)像素點(diǎn);Q為 47個(gè)PIXCLK;P2為 13個(gè) PI XCLK;幀同步信號(hào) FVAL為低電平的時(shí)間是 161 872個(gè) PI XCLK。一幀圖像包含 240行有效數(shù)據(jù),可計(jì)算出傳輸一幀圖像信號(hào)的時(shí)間為 250 000個(gè) PIXCLK時(shí)鐘周期(240(A+Q)+P1+P2+161 872),幀頻為 100 Hz(25 MHz/250 000)。
用 Flash Programmer下載工具將編譯后生成的文件下載到 Flash中去,上電后系統(tǒng)自動(dòng)運(yùn)行,用 CL160圖像采集卡對(duì)生成的圖像進(jìn)行采集,采集到的圖像如圖7所示。采用手動(dòng)跟蹤和自動(dòng)跟蹤兩種訓(xùn)練模式進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果均能達(dá)到要求。
圖7 生成的目標(biāo)及背景Fig.7 Generated goals and background
本文提出了一種利用圖像注入來(lái)構(gòu)建目標(biāo)環(huán)境,完成目標(biāo)捕獲跟蹤訓(xùn)練任務(wù)彷真的新方法。該方法既可以完成模擬目標(biāo)跟蹤的日常訓(xùn)練任務(wù),可以訓(xùn)練操作手對(duì)跟蹤設(shè)備的操作,也可以完成檢測(cè)跟蹤設(shè)備的自動(dòng)跟蹤性能,還可以在不開(kāi)啟紅外相機(jī)的情況下完成訓(xùn)練。節(jié)約了成本,達(dá)到了日常訓(xùn)練和維護(hù)的任務(wù)。該仿真訓(xùn)練系統(tǒng)已成功運(yùn)用到某光電跟瞄系統(tǒng)模擬訓(xùn)練系統(tǒng)中。
[1] 李國(guó)寧,劉妍妍,金龍旭.用于動(dòng)態(tài)目標(biāo)跟蹤的面陣 CCD成像系統(tǒng)[J].光學(xué)精密工程,2008,16(3):558-564.L I GN,L IU Y Y,J IN L X.Area CCD imaging system used in moving target tracking[J].Opt.Precision Eng.,2008,16(3):558-564.(in Chinese)
[2] 莊良,張涌,湯心溢,等.基于 PCI總線(xiàn)圖像注入式紅外探測(cè)器仿真系統(tǒng)[J].半導(dǎo)體光電,2008,29(1):113-116.ZHUANGL,ZHANG Y,TANG X Y.Design of digital image injected simulator based on PCI bus[J].Sem iconductor Optoelectronics,2008,29(1):113-116.(in Chinese)
[3] 王小艷,張會(huì)新,孫永生,等.Camera Link協(xié)議和 FPGA的數(shù)字圖像信號(hào)源設(shè)計(jì)[J].國(guó)外電子元器件,2008,7:59-61.WANG X Y,ZHANG H X,SUN Y SH,et al..Design of numeralpicture signal source based on CameraLink standard and FPGA[J].International Electronic Elements,2008,7:59-61.(in Chinese)
[4]Specifications of the Cam era Link Interface Standard forD igital Camera and Frame Crabbers[M].Camera Link Specifications,2000.
[5] 王斌,趙躍進(jìn).基于電子穩(wěn)像跟蹤技術(shù)的運(yùn)動(dòng)濾波算法[J].光學(xué)精密工程,2009,17(1):202-206.WANGB,ZHAO Y J.Motion filtering algorithm for tracking technology based on image stabilization[J].Opt.Precision Eng.,2009,17(1):202-206.(in Chinese)