亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于OpenGL事件驅(qū)動的雷達(dá)目標(biāo)仿真系統(tǒng)

        2016-10-19 04:55:51李彥龍
        雷達(dá)與對抗 2016年3期
        關(guān)鍵詞:函數(shù)庫顯示器鼠標(biāo)

        李彥龍,劉 建,孟 凡

        (1.91404部隊裝備部,河北 秦皇島066001;2.中國船舶重工集團(tuán)公司第七二四研究所,南京211153)

        ?

        基于OpenGL事件驅(qū)動的雷達(dá)目標(biāo)仿真系統(tǒng)

        李彥龍1,劉建2,孟凡2

        (1.91404部隊裝備部,河北 秦皇島066001;2.中國船舶重工集團(tuán)公司第七二四研究所,南京211153)

        簡要介紹了OpenGL核心庫、實用工具函數(shù)庫在雷達(dá)目標(biāo)仿真系統(tǒng)中的應(yīng)用。提出一種基于事件驅(qū)動的雷達(dá)目標(biāo)仿真系統(tǒng)的實現(xiàn)方法。應(yīng)用該方法實現(xiàn)的仿真案例不僅具有友好的人機交互,而且在多任務(wù)操作系統(tǒng)中運行性能更加穩(wěn)定。

        事件驅(qū)動; 雷達(dá)目標(biāo)仿真;OpenGL

        0 引 言

        在近現(xiàn)代戰(zhàn)爭中,雷達(dá)在遠(yuǎn)距離發(fā)現(xiàn)和定位目標(biāo)方面發(fā)揮著越來越重要的作用,被譽為現(xiàn)代戰(zhàn)爭的“眼睛”。雷達(dá)的顯控分系統(tǒng)實時顯示探測到目標(biāo)的原始視頻,實時刷新目標(biāo)的方位、距離等重要信息。同時,顯控分系統(tǒng)作為整個雷達(dá)的終端還需要完成對整部設(shè)備內(nèi)各分系統(tǒng)的控制,是整個雷達(dá)系統(tǒng)和操作員的交互平臺[1]。因此,雷達(dá)顯控分系統(tǒng)的仿真不僅可以作為雷達(dá)模擬器通過對雷達(dá)系統(tǒng)的虛擬操作完成訓(xùn)練任務(wù),也可以作為雷達(dá)系統(tǒng)的重要仿真系統(tǒng),與作戰(zhàn)系統(tǒng)其他設(shè)備配合完成各種作戰(zhàn)任務(wù)[2]。

        近年來,雷達(dá)系統(tǒng)仿真技術(shù)不斷發(fā)展,其需求量不斷增大。目標(biāo)模擬功能在雷達(dá)顯控分系統(tǒng)中發(fā)揮出越來越重要的作用。該功能可以為驗證數(shù)據(jù)處理算法提供理想的模擬試驗環(huán)境。目前,在用的早期開發(fā)的一些仿真系統(tǒng)存在運行資源調(diào)度不合理、操作繁瑣、可靠性差等問題。本文采用OpenGL的事件驅(qū)動交互功能,設(shè)計了雷達(dá)目標(biāo)仿真系統(tǒng)。實現(xiàn)的系統(tǒng)可靠性高,通用性強,有很好的可移植性。通過此方法模擬出的目標(biāo)更加接近于真實目標(biāo)。同時,該方法開發(fā)的成本低廉。

        1 基于事件驅(qū)動的雷達(dá)目標(biāo)仿真

        所謂事件驅(qū)動,即跟隨當(dāng)前時間點上出現(xiàn)的事件,調(diào)用可用資源執(zhí)行相關(guān)的任務(wù),使出現(xiàn)的任務(wù)得以解決。從事件的角度來說,事件驅(qū)動程序的基本結(jié)構(gòu)由事件收集器、事件發(fā)送器和事件處理器組成。事件收集器專門負(fù)責(zé)收集所有事件,如鍵盤、鼠標(biāo)事件。事件發(fā)送器負(fù)責(zé)將收集器收集到的事件分發(fā)到目標(biāo)對象中。事件處理器做具體的事件響應(yīng)工作。對于框架使用者來說,能看到的是事件處理器。

        由于windows本身是基于事件驅(qū)動模型的,所有的窗體和程序所對應(yīng)的類都有一個事件表,用來綁定事件和被調(diào)用函數(shù)。近年來隨著信息技術(shù)的飛速發(fā)展,事件驅(qū)動機制廣泛應(yīng)用于計算機軟件編程領(lǐng)域。本文應(yīng)用了該機制并結(jié)合OpenGL的事件驅(qū)動交互功能設(shè)計了一種雷達(dá)目標(biāo)仿真方法。

        OpenGL的全稱是“OpenGraphicsLibrary”,即“開放性圖形庫”。它為程序開發(fā)人員定義了一個跨編程語言、跨平臺的編程接口規(guī)格的專業(yè)的圖形程序接口,是一個功能強大、調(diào)用方便的底層3D圖形函數(shù)庫。OpenGL具有高圖形質(zhì)量、高性能、高穩(wěn)定性的特點,并具有充分的可擴(kuò)展性。其中,OpenGL的GLUT(OpenGLUtilityToolkit,OpenGL實用函數(shù)工具包)函數(shù)庫可以設(shè)置各種消息處理函數(shù),而且與平臺無關(guān),主要包括窗口初始化功能、事件處理、窗口和菜單管理、回調(diào)函數(shù)注冊和幾何建模功能[3-4]。

        在GLUT中有20個回調(diào)函數(shù)用于響應(yīng)用戶事件。最重要的回調(diào)函數(shù)是glutDisplayFunc。當(dāng)GLUT認(rèn)為需要重新顯示窗口內(nèi)容時都將執(zhí)行這一函數(shù)注冊的回調(diào)函數(shù)。另外一些重要的回調(diào)函數(shù)注冊函數(shù)有:函數(shù)glutReshapeFunc用于注冊窗口大小改變這一事件發(fā)生時GLUT將調(diào)用的函數(shù),glutKeyboardFunc和glutMouseFunc用于注冊鍵盤和鼠標(biāo)事件發(fā)生時的回調(diào)函數(shù)。這兩個函數(shù)主要用于人機交互處理。在沒有其他事件處理時,GLUT將調(diào)用函數(shù)glutldleFunc注冊的函數(shù),而函數(shù)glutTimerFunc則注冊處理定時器事件的函數(shù)。

        1.1基于事件驅(qū)動的交互控制實現(xiàn)原理

        雷達(dá)仿真系統(tǒng)中,人機的交互通常借助于鍵盤、鼠標(biāo)或操縱球等硬件輸入方式。在OpenGL程序中,交互設(shè)備輸入有GLUT中的子程序處理。GLUT中有響應(yīng)從標(biāo)準(zhǔn)輸入設(shè)備事件的函數(shù),對每一種設(shè)備指定一個回調(diào)函數(shù)來處理從該設(shè)備發(fā)生的輸入。本方案通過事件驅(qū)動方式調(diào)用GLUT函數(shù)庫響應(yīng)鍵盤、鼠標(biāo)事件,實現(xiàn)人機交互。

        對某一區(qū)域開窗顯示是雷達(dá)目標(biāo)仿真系統(tǒng)的一個重要功能。該仿真系統(tǒng)中使用開窗功能可以更加清楚地觀察到模擬目標(biāo)運行的軌跡。當(dāng)雷達(dá)操作員需要重點放大顯示某一區(qū)域時,可以根據(jù)當(dāng)前鼠標(biāo)位置和鍵盤輸入執(zhí)行開窗顯示(B顯)功能。假設(shè)當(dāng)前鼠標(biāo)位置為(xm,ym),當(dāng)操作人員單擊鍵盤的Ctrl+↑,可實現(xiàn)以(xm,ym)為中心的扇形區(qū)域N倍放大。

        對于鍵盤輸入,本仿真系統(tǒng)用以下函數(shù)指定當(dāng)鍵盤上的一個鍵被按下時調(diào)用的函數(shù):glutKeyboardFunc(keyFun)。被指定的函數(shù)有3個參數(shù):keyFun(GLubytekey、GLintxMouse和GLintyMouse),其中參數(shù)key為鍵盤字符值或?qū)?yīng)的ASCII碼,(xMouse,yMouse)為當(dāng)前鼠標(biāo)位置。當(dāng)指定的鍵被按下后就可以用鼠標(biāo)位置來調(diào)用開窗顯示的功能。交互控制實現(xiàn)流程圖如圖1所示。

        圖1 交互控制實現(xiàn)流程圖

        系統(tǒng)通過設(shè)置GLUT函數(shù)庫的鍵盤回調(diào)注冊函數(shù)來實現(xiàn)對鍵盤事件的響應(yīng)。系統(tǒng)內(nèi)部通過OpenGL幾何變換函數(shù)實現(xiàn)對相應(yīng)扇形區(qū)域的放大顯示。OpenGL中的幾何變換是通過齊次坐標(biāo)系下變換矩陣來實現(xiàn)的。上述N倍放大扇形區(qū)域采用的變換矩陣為

        (1)

        OpenGL核心庫中提供了距離單元和方位單元上的平移、縮放和旋轉(zhuǎn)的變換控制函數(shù)。開窗顯示可以基于OpenGL的幾何變換函數(shù)來實現(xiàn):首先通過函數(shù)glTranslatef(-xm,-ym,0)將扇形區(qū)域中心點(xm,ym)平移到坐標(biāo)原點位置;然后通過函數(shù)glScalef(N,N,1.0)將扇形區(qū)域參照坐標(biāo)原點放大N倍,N根據(jù)具體需要設(shè)置;最后通過函數(shù)glTranslatef(xm,ym,0)將扇形區(qū)域中心點平移到原來位置

        1.2仿真系統(tǒng)坐標(biāo)變換

        雷達(dá)顯示器的種類很多,其中使用最廣泛的是平面顯示器。平面顯示器提供了360°范圍內(nèi)全部平面信息,因此也叫全景顯示器或環(huán)視顯示器,簡稱PPI(平面位置顯示)顯示器或P型顯示器。對于雷達(dá)PPI顯示器,一般以正北方向為0°,掃描線沿順時針旋轉(zhuǎn)。 因此,雷達(dá)掃描的坐標(biāo)系如圖2所示,目標(biāo)參數(shù)表示為(D,θ),其中D表示目標(biāo)距離,θ 表示目標(biāo)方位角[5]。

        圖2 雷達(dá)掃描坐標(biāo)系

        屏幕中心為原點(0, 0,0),x軸水平向右,y軸垂直向上, z軸正向指向屏幕外側(cè)。對于兩坐標(biāo)雷達(dá)來說,使用二維笛卡爾坐標(biāo)系,即屏幕中心坐標(biāo)為(0,0),窗口范圍是(-1,-1)到(1,1),如圖3所示。

        圖3 OpenGL二維笛卡爾坐標(biāo)系

        在雷達(dá)PPI顯示器上顯示目標(biāo),首先需要實現(xiàn)雷達(dá)掃描坐標(biāo)系到OpenGL二維笛卡爾坐標(biāo)系的變換。假設(shè)雷達(dá)掃描坐標(biāo)系中目標(biāo)參數(shù)為(D,θ),則對應(yīng)到OpenGL的二維笛卡爾坐標(biāo)系中的(x,y)值的轉(zhuǎn)換公式如下:

        (2)

        其中Dmax為雷達(dá)當(dāng)前量程。

        1.3目標(biāo)仿真的實現(xiàn)步驟與結(jié)果

        雷達(dá)目標(biāo)仿真系統(tǒng)中目標(biāo)的仿真為試驗雷達(dá)系統(tǒng)各項功能的驗證提供了基本平臺,尤其適用于驗證數(shù)據(jù)處理不同算法的運行效果。根據(jù)上述原理在本系統(tǒng)中模擬出了多種比較典型的運動目標(biāo)航路。

        利用OpenGL核心庫中的繪圖函數(shù)進(jìn)行目標(biāo)的仿真繪制。繪制步驟如下:

        (1) 設(shè)定目標(biāo)初始值;

        (2) 根據(jù)運動學(xué)公式(3)、(4)、(5)、(6),對模擬目標(biāo)在各個時刻的參數(shù)進(jìn)行計算,最后得出一個輸出結(jié)果。

        (3)

        (4)

        (5)

        (6)

        其中,Sx表示目標(biāo)切向位移,Sy表示目標(biāo)法向位移,Vx表示目標(biāo)切向速度,Vy表示目標(biāo)法向速度,ax表示目標(biāo)切向加速度,ay表示目標(biāo)法向加速度。瞬時的法向速度永遠(yuǎn)為0,因此不需要計算。

        (1) 在計算出模擬目標(biāo)的各個時刻的參數(shù)后,將目標(biāo)的方位、距離參數(shù)以消息的方式傳給CPU;

        (2) 根據(jù)實際需要設(shè)置目標(biāo)顯示的顏色和大小,通過GLUT調(diào)用繪制函數(shù),根據(jù)接收到的參數(shù)信息完成對目標(biāo)的繪制。其相應(yīng)仿真代碼框架如下:

        glBegin(GL_POINTS);//開始繪制點集

        glVertex2f(x1,y1);

        ……

        glVertex2f(xn,yn);

        glEnd();

        在本試驗中,目標(biāo)初始方位300°,初始距離為22.3km,x方向速度為300m/s,y方向速度為0m/s,分別模擬了勻速直航和蛇形運動兩種運動形式。

        首先根據(jù)初始值在MATLAB環(huán)境中實現(xiàn)了目標(biāo)航跡的仿真,效果如圖4、圖5所示。將目標(biāo)的初始值應(yīng)用于本案例中,實現(xiàn)的效果如圖6、圖7所示。通過

        圖4 采用本文方法實現(xiàn)勻速直航仿真圖

        圖5 采用本文方法實現(xiàn)蛇形運動仿真圖

        圖6 采用本文方法的勻速直航實現(xiàn)效果圖

        圖7 采用本文方法的蛇形運動實現(xiàn)效果圖

        在仿真環(huán)境和真實案例中的應(yīng)用效果可以看出該方法可行。試驗表明,本文提出的實現(xiàn)方法在多任務(wù)操作系統(tǒng)下可以模擬多種復(fù)雜的雷達(dá)目標(biāo)航路,取得了良好的效果,為雷達(dá)數(shù)據(jù)處理算法提供了可靠的測試環(huán)境。

        2 結(jié)束語

        本文提出了利用OpenGL實用工具函數(shù)庫GLUT實現(xiàn)基于事件驅(qū)動的雷達(dá)目標(biāo)仿真系統(tǒng)的思想,對該系統(tǒng)中兩個重要的功能進(jìn)行了介紹。試驗結(jié)果表明,本文提出的實現(xiàn)方法可以對雷達(dá)目標(biāo)仿真系統(tǒng)的基本功能進(jìn)行仿真,實現(xiàn)了友好的人機交互效果。該系統(tǒng)為驗證數(shù)據(jù)處理算法提供了理想的試驗環(huán)境,對雷達(dá)系統(tǒng)仿真的開發(fā)提供了新的思路。

        [1]丁鷺飛, 陳建春. 雷達(dá)原理[M]. 北京: 電子工業(yè)出版社,2009:268-295.

        [2]何永喜,張國兵,張旗. 基于OpenGL技術(shù)的雷達(dá)終端顯示設(shè)計與仿真[J]. 信息化研究, 2012.4,38(2)

        [3]DaveShreiner,MasonWoo,JackieNeider,TomDavis.OpenGL編程指南 [M]. 6版. 北京:人民郵電出版社,2008:469-472.

        [4]DonaldHearn,MPaulineBaker. 計算機圖形學(xué)[M]. 3版. 北京:電子工業(yè)出版社,2009:101-122.

        [5]MerrillISkolnik. 雷達(dá)手冊[M]. 北京: 電子工業(yè)出版社,2010:162-171.

        AnOpenGLevent-drivenradartargetsimulationsystem

        LIYan-long1,LIUJian2,MENGFan2

        (1.EquipmentDepartmentofUnit91404ofthePLANavy,Qinhuangdao066001,China;2.No.724ResearchInstituteofCSIC,Nanjing211153)

        TheapplicationsoftheOpenGLcorelibraryandtheutilitytoolfunctionlibraryinradartargetsimulationsystemarebrieflyintroduced.Animplementationmethodoftheevent-drivenradartargetsimulationsystemisproposed.Thesimulationsystemsinsomecaseshavefriendlyman-machineinteractionandmorestableoperationperformanceinthemulti-taskoperatingsystemthroughthismethod.

        eventdriven;radartargetsimulation;OpenGL

        2016-03-11;

        2016-05-20

        李彥龍(1981-),男,助理工程師,碩士,研究方向:雷達(dá)裝備試驗及保障;劉建(1982-),工程師,研究方向:數(shù)據(jù)處理與數(shù)據(jù)融合;孟凡(1982-),工程師,碩士,研究方向:雷達(dá)數(shù)據(jù)處理。

        TN955.2

        A

        1009-0401(2016)03-0032-04

        猜你喜歡
        函數(shù)庫顯示器鼠標(biāo)
        把顯示器“穿”在身上
        用于優(yōu)化雷達(dá)信號處理的VSIPL函數(shù)庫
        基于Python的開源GIS應(yīng)用開發(fā)
        Progress in Neural NLP: Modeling, Learning, and Reasoning
        Engineering(2020年3期)2020-09-14 03:42:00
        Scratch求最值和平均值
        電腦報(2020年34期)2020-09-12 14:03:42
        基于BB60C的IQ數(shù)據(jù)采集與存儲系統(tǒng)設(shè)計
        一種新型點陣顯示器的設(shè)計
        電子制作(2019年24期)2019-02-23 13:22:32
        感應(yīng)式帶電顯示器抗干擾處理
        電子測試(2018年13期)2018-09-26 03:29:36
        點距小也不怕
        微型計算機(2009年4期)2009-12-23 03:39:40
        45歲的鼠標(biāo)
        人人妻人人澡av天堂香蕉| 亚洲最大在线视频一区二区| 色欲av永久无码精品无码蜜桃| 伊在人天堂亚洲香蕉精品区| 精品人妻无码视频中文字幕一区二区三区 | 成人网站在线进入爽爽爽| 精品亚洲欧美无人区乱码| 亚洲黄色在线看| 日本免费三片在线视频| 国产女人好紧好爽| 亚洲av之男人的天堂网站| 日本免费一区二区三区在线看| 日本办公室三级在线看| 国产高清成人在线观看视频| 天天天天躁天天爱天天碰| 人妻精品丝袜一区二区无码AV| 亚洲小少妇一区二区三区| 夜夜爽夜夜叫夜夜高潮| 无码日韩精品一区二区三区免费| 乱子伦av无码中文字幕| 中文字幕人成乱码中文| 人禽杂交18禁网站免费| 99热久久精里都是精品6| 久久国产乱子精品免费女| 国产一区二区三区免费av| 无码aⅴ精品一区二区三区浪潮| 乱码午夜-极国产极内射| 亚洲伊人久久综合精品| 国产情侣自拍在线视频| 99久久婷婷国产综合精品电影| 亚洲AV永久天堂在线观看| 日本高清不卡二区三区| 乱码1乱码2美美哒| 熟妇人妻AV中文字幕老熟妇| 少妇特殊按摩高潮不断| 久久精品国产91精品亚洲| 亚洲综合无码无在线观看| 99久久久69精品一区二区三区| 一区二区视频在线国产| 影音先锋中文字幕无码资源站 | 中文有码无码人妻在线|