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

        ?

        基于國產(chǎn)化的艦船一維距離像繪制研究

        2021-03-19 09:27:52強(qiáng),張超,錢
        雷達(dá)與對抗 2021年1期
        關(guān)鍵詞:圖層測距報文

        李 強(qiáng),張 超,錢 鷗

        (中國船舶集團(tuán)有限公司第八研究院,南京 211153)

        0 引 言

        隨著部隊(duì)作戰(zhàn)使用需求不斷提高,對雷達(dá)的主被動探測能力提出了新的需求,其中就包括艦船一維像的繪制。一維像獲取方式簡單,并具有很高的實(shí)時性。通過一維像可直觀地觀察遠(yuǎn)距離艦船目標(biāo)的特性,并對艦船目標(biāo)進(jìn)行識別分類,對海上偵察及警戒有著重要意義。因此,研究艦船一維距離像的實(shí)時繪制具有現(xiàn)實(shí)意義。

        現(xiàn)代化雷達(dá)對程序的可移植性要求不斷提高,傳統(tǒng)的在單一平臺運(yùn)行的一維像繪制程序已不能滿足應(yīng)用的需求。此外,隨著現(xiàn)代化雷達(dá)信息傳輸速率和數(shù)據(jù)處理實(shí)時性能力的提高,終端軟件的運(yùn)行及繪制效率也應(yīng)不斷進(jìn)步。因此,在各平臺上進(jìn)行復(fù)雜圖形的繪制急需一個功能強(qiáng)大且高效的圖形開發(fā)標(biāo)準(zhǔn)。

        針對現(xiàn)代化雷達(dá)對艦船一維像繪制的需求,將QT和開放式圖形庫(Open Graphics Library,OpenGL)繪圖工具相結(jié)合,提出了一種基于國產(chǎn)化的艦船一維像繪制方法。通過與雷達(dá)傳統(tǒng)一維像繪制方法比較,本文提出的方法在滿足軟件可跨平臺的同時繪制效率也有了顯著提高,滿足現(xiàn)代化雷達(dá)對國產(chǎn)化的要求,具有重要的工程應(yīng)用價值。

        1 一維距離像的形成原理

        雷達(dá)系統(tǒng)一般為微波高分辨率雷達(dá),其工作頻率位于高頻區(qū),工作波長遠(yuǎn)小于艦船的尺寸。此時艦船目標(biāo)將連續(xù)占據(jù)多個距離單元,散射的回波形成可視化的目標(biāo)圖形,又稱一維距離像。[1]如圖1所示,它是目標(biāo)精細(xì)的結(jié)構(gòu)特征,描述了目標(biāo)散射中心沿視線方向的分布。

        圖1 目標(biāo)的一維距離像示意圖

        顯控終端顯示的距離像為功率距離像,是實(shí)數(shù)的一維距離像。雷達(dá)回波在經(jīng)過 Dechirp處理后在 FPGA中完成 I/Q正交工作, I/Q正交之后復(fù)信號再經(jīng)過IFFT加窗處理后即可形成艦船目標(biāo)的一維距離像。[2]顯控終端通過網(wǎng)絡(luò)報文接收和存儲一維像數(shù)據(jù),并通過繪圖軟件將一維像圖形顯示在終端界面中。

        2 一維像的繪制方法

        雷達(dá)傳統(tǒng)的一維像繪制方法有兩種,一種是基于MFC開發(fā)環(huán)境使用D3D(Direct 3D)工具進(jìn)行繪制,另一種基于QT開發(fā)環(huán)境使用QPaint工具進(jìn)行繪制。為適應(yīng)現(xiàn)代化雷達(dá)的應(yīng)用需求,本文結(jié)合上述兩種方法的優(yōu)點(diǎn)設(shè)計(jì)了基于QT開發(fā)環(huán)境使用OpenGL工具進(jìn)行繪制的方法。

        2.1 D3D繪制方法

        D3D是一款基于Windows系統(tǒng)的繪制3D圖形的應(yīng)用程序接口。它具有良好的硬件兼容性和友好的編程方式等優(yōu)點(diǎn),現(xiàn)在幾乎所有具有3D加速功能的主流顯卡都能夠和D3D良好的兼容。D3D工具最主要的缺點(diǎn)是只支持Windows平臺,這極大地限制了嵌入式設(shè)備的選擇,同時也有使用復(fù)雜等缺陷。

        2.2 QPaint繪制方法

        QPaint是QT二維圖形繪制引擎的基類,包含了大量高度優(yōu)化后的繪制函數(shù)。無論是簡單的線還是復(fù)雜的形狀都可調(diào)用里面的函數(shù)進(jìn)行繪制,并可在多平臺進(jìn)行移植。由于QPaint利用CPU資源和軟件技術(shù)結(jié)合,在高頻繪畫時占用CPU資源較高,會造成繪制復(fù)雜圖形時卡頓的現(xiàn)象。

        2.3 OpenGL繪制方法

        OpenGL是一個專業(yè)的圖形程序接口,具有跨編程語言、跨平臺的優(yōu)點(diǎn)。[3]它獨(dú)立于窗口系統(tǒng)和操作系統(tǒng),擁有一個調(diào)用方便、功能強(qiáng)大的底層圖形庫,集成了曲面造型、圖形變換、紋理、融合、霧化等一系列復(fù)雜的圖形函數(shù)。[4]OpenGL的工作流程如圖2所示。

        圖2 OpenGL基本工作流程圖

        3 QT與OpenGL繪制一維像過程

        如圖3所示,一維像的繪制過程包括數(shù)據(jù)接收與轉(zhuǎn)存、圖像繪制、操控響應(yīng)及重繪4個過程。一維像圖形可根據(jù)數(shù)據(jù)處理軟件發(fā)送的一維像數(shù)據(jù)報文進(jìn)行實(shí)時更新。

        圖3 一維像繪制流程

        3.1 一維像數(shù)據(jù)的接收與轉(zhuǎn)存

        雷達(dá)前端設(shè)備在獲取回波信息后由數(shù)據(jù)處理分機(jī)轉(zhuǎn)換成實(shí)數(shù)數(shù)據(jù)通過網(wǎng)絡(luò)報文發(fā)送至顯控終端。顯控終端在對數(shù)據(jù)預(yù)處理后存儲在緩存區(qū)域中,便于軟件調(diào)用及修改。本文通過UDP通訊方式進(jìn)行數(shù)據(jù)的傳輸。由于UDP單包發(fā)送數(shù)據(jù)量有限,將單幅一維像數(shù)據(jù)拆分成不同數(shù)據(jù)包進(jìn)行發(fā)送,并通過報文觸發(fā)號進(jìn)行數(shù)據(jù)拼接實(shí)現(xiàn)全部信息的獲取。報文數(shù)據(jù)接收格式如下:

        Unsigned short usTriggerNum

        unsigned short usCurrTriggerNo

        unsigned char bykdfxData[DATASIZE]

        其中,usTriggerNum為報文觸發(fā)總數(shù),用來告知接收方一維像數(shù)據(jù)拆分成的報文個數(shù);usCurrTriggerNo為當(dāng)前報文的觸發(fā)序號,用來進(jìn)行數(shù)據(jù)的拼接;bykdfxData為存儲一維像的數(shù)據(jù)結(jié)構(gòu)體;DATASIZE為每條報文中傳輸一維像數(shù)據(jù)的大小。

        將接收到的報文個數(shù)與觸發(fā)總數(shù)進(jìn)行對比判斷報文傳輸?shù)臏?zhǔn)確性,若數(shù)據(jù)傳輸無誤則通過觸發(fā)序號進(jìn)行數(shù)據(jù)的拼接。拼接后的數(shù)據(jù)格式包含10個一維原始像,其數(shù)據(jù)格式如下:

        float*m_XData[HorReserveNum]

        float*m_YData[HorReserveNum]

        其中,m_XData用來存儲X軸數(shù)據(jù);m_YData用來存儲Y軸數(shù)據(jù);HorReserveNum值為10。最終,將拼接后的數(shù)據(jù)轉(zhuǎn)存為繪制一維像圖像的數(shù)據(jù)格式,格式為GLfloat vertices[verNum][2]。數(shù)據(jù)結(jié)構(gòu)為二維數(shù)組,verNum為所需繪制點(diǎn)的總個數(shù),vertices[i][0]為點(diǎn)i在X軸上的坐標(biāo)位置,vertices[i][1]為點(diǎn)i在Y軸上的坐標(biāo)位置。

        3.2 一維像圖像繪制

        完整的一維像顯示界面應(yīng)包含一維距離像、對應(yīng)的坐標(biāo)網(wǎng)格、兩點(diǎn)測距線及相關(guān)的文字描述。一維距離像數(shù)據(jù)成周期性變化,而其對應(yīng)的坐標(biāo)網(wǎng)格及文字描述基本不變,加上兩點(diǎn)測距信息根據(jù)人工操作實(shí)時改變,對界面的刷新造成一定的困難。本文將上述圖形分為不同的圖層進(jìn)行顯示。繪制單幅一維像時,不同一維距離像幅度和距離變化范圍不同,需計(jì)算每副一維像的坐標(biāo)網(wǎng)格及兩點(diǎn)距離。繪制10副一維距離像時需計(jì)算10副一維像的綜合坐標(biāo)網(wǎng)格信息。最終,將轉(zhuǎn)存后的數(shù)據(jù)調(diào)用OpenGL中的繪制函數(shù),完成視頻的最終繪制。

        3.2.1 圖形分層

        QT提供基于圖元的Model/View架構(gòu)的GraphicsView框架,可將繪制的圖形分層,并依據(jù)圖層的層疊順序使用Graphics Scene進(jìn)行管理。完整的一維像圖形包括以下功能:一維像的繪制、描述文字的繪制、兩點(diǎn)測距線的繪制及坐標(biāo)網(wǎng)格的繪制,依據(jù)上述功能可分為描述文字圖層、測距線圖層、坐標(biāo)網(wǎng)格圖層及一維像圖層。如圖3所示,圖層的層疊順序由上而下依次是:

        (1) 描述文字圖層:繪制輔助文字,如坐標(biāo)軸單位、測量距離信息等;

        (2) 測距線圖層:實(shí)現(xiàn)兩點(diǎn)測距功能,并繪制測距線;

        (3) 坐標(biāo)網(wǎng)格圖層:繪制一維像的X軸、Y軸以及輔助網(wǎng)格線;

        (4) 一維像圖層:繪制一維距離像。

        圖4 一維像繪制分層架構(gòu)

        3.2.2 繪制一維像的計(jì)算公式

        (1) 坐標(biāo)網(wǎng)格

        繪制坐標(biāo)網(wǎng)格時,需計(jì)算出X軸及Y軸的最大值及最小值。以計(jì)算Y軸(幅度)最大值為例,計(jì)算公式為

        MaxY=max (MaxY1,MaxY2,…,MaxY10)

        (1)

        式中,MaxYi為單幅一維像的幅度最大值,每副一維像都包含151 024組數(shù)據(jù),計(jì)算公式為

        MaxYi=max (Yi1,Yi2,…,Yi151024)

        (2)

        (2) 兩點(diǎn)測距

        兩點(diǎn)測距線的繪制需計(jì)算兩點(diǎn)間距離,具體方法是兩點(diǎn)間的像素點(diǎn)個數(shù)與每個像素點(diǎn)距離的乘積,以計(jì)算Y軸幅度差值為例,其計(jì)算公式為

        (3)

        式中,NP為單幅一維像圖形Y軸所需像素點(diǎn),Y1、Y2分別為起點(diǎn)和終點(diǎn)的位置信息。

        (3) 數(shù)據(jù)的轉(zhuǎn)存

        需將拼接后的數(shù)據(jù)轉(zhuǎn)存為繪制一維像坐標(biāo)位置的二維數(shù)組,以計(jì)算第i個點(diǎn)的Y軸坐標(biāo)為例,其計(jì)算公式為

        vertices[i][1]=((YData[i]-MinY/fYCell)+

        TopSize)/AllSize

        (4)

        式中,YData[i]為第i個點(diǎn)的Y軸數(shù)據(jù),TopSize為繪制一維像界面窗口相對于總體界面上端距離的像素點(diǎn)數(shù),AllSize為總體界面寬度所具有的像素點(diǎn)個數(shù),fYCell為單個像素點(diǎn)代表的Y值,其計(jì)算公式為

        fYCell=(MaxY-MinY)/(AllSize-TopSize-DownSize)

        (5)

        式中,DownSize為繪制一維像界面窗口相對于總體界面下端距離的像素點(diǎn)數(shù)。

        3.2.3 視頻繪制

        調(diào)用OpenGL繪圖工具使用轉(zhuǎn)存后的數(shù)據(jù)進(jìn)行繪制一維像圖像,具體方法如下:

        (1) glBegin(GL_LINE_STRIP)開始調(diào)用OpenGL工具進(jìn)行圖像的繪制;

        (2) glEnableClientState( GL_VERTEX_ARRAY)啟用頂點(diǎn)數(shù)組進(jìn)行圖像的繪制;

        (3) glVertexPointer( 2, GL_FLOAT, 0, vertices)將轉(zhuǎn)存后的一維像數(shù)組數(shù)據(jù)上傳至OpenGL工具中;

        (4) glDrawArrays( GL_LINE_STRIP, 0, count)進(jìn)行繪制一維距離像圖像。

        3.3 一維像操控響應(yīng)

        一維像圖形的操控主要包括兩點(diǎn)測距、圖形放大、圖形還原及一維像圖形切換。

        (1) 兩點(diǎn)測距操控

        將異形刀片加工成形,安裝到實(shí)際割草車上開展試驗(yàn)研究,驗(yàn)證其割草效果。雖刀片扭矩有一定下降,但刀口的切割速度依然很高,實(shí)際割草效果仍能達(dá)到要求。經(jīng)試驗(yàn)測試結(jié)果表明,優(yōu)化后刀片上的扭矩減小了18%左右,與仿真計(jì)算的誤差小于5%,證明仿真結(jié)果有效。另外刀片功率減小了216 W,節(jié)能約8.5%,達(dá)到了滿意的節(jié)能效果。圖15(a)是試驗(yàn)用割草車,圖15(b)是優(yōu)化后的異形刀片。

        mousePressEvent(QMouseEvent*event)用來處理鼠標(biāo)單擊事件的響應(yīng)函數(shù)。當(dāng)鼠標(biāo)在一維像圖形上進(jìn)行右擊時將該點(diǎn)設(shè)置為需進(jìn)行測距的點(diǎn),連續(xù)點(diǎn)擊兩次表示依次選取測距的起點(diǎn)和終點(diǎn)。

        (2) 圖形放大操控

        mouseReleaseEvent(QMouseEvent*event)用來處理圖像放大時間的響應(yīng)函數(shù)。當(dāng)使用鼠標(biāo)進(jìn)行區(qū)域選擇操作時將該事件的起始點(diǎn)信息作為需放大的圖像的起始范圍。

        (3) 圖形還原操控

        mouseDoubleClick(QMouseEvent*ev)用來處理鼠標(biāo)雙擊事件的響應(yīng)函數(shù)。當(dāng)鼠標(biāo)在一維像圖形上雙擊時該一維像圖形還原成原始圖形。

        (4) 一維像圖形切換操控

        3.4 一維像重繪

        一維像的重繪包括定時器的調(diào)用、窗口的重新布置及重新繪制等函數(shù),具體函數(shù)如下:

        (1) initializeGL()用來初始化窗口部件,例如設(shè)置顯示窗口大小,給一維像數(shù)據(jù)開辟存儲空間等。

        (2) paintGL()用來繪制OpenGL的窗口。數(shù)據(jù)產(chǎn)生變化需更新圖像時調(diào)用該函數(shù),里面包含繪制10個一維像的函數(shù)和繪制單個一維像的函數(shù)。

        (3) resizeGL(int width, int height)為用來處理窗口大小變換的函數(shù),width和height分別表示新窗口的寬和高。

        (4) timeEvent(QTimeEvent *ev)為定時器函數(shù),每兩秒判斷一次,若有新數(shù)據(jù)更新或有鍵盤、鼠標(biāo)等圖形操控等事件發(fā)生調(diào)用圖形更新程序。

        4 一維像仿真繪制結(jié)果對比

        模擬器讀取存于本地文件中的一維像數(shù)據(jù),通過UDP報文形式發(fā)送至顯控終端來進(jìn)行仿真實(shí)驗(yàn)。一組一維像數(shù)據(jù)包含10副一維像圖形,每副一維像圖形又分為10個UDP數(shù)據(jù)包,每幅一維像的數(shù)據(jù)大小為151 024 Bit,以圖形標(biāo)識號進(jìn)行區(qū)分。

        圖5、6和7分別為使用D3D繪制、使用QPaint繪制和使用OpenGL繪制的一維像圖形。

        圖5 D3D繪制單幅一維像效果圖

        圖6 QPaint繪制單幅一維像效果圖

        圖7 OpenGL繪制單幅一維像效果圖

        使用OpenGL繪制單幅一維像圖形幅度介于0~122之間,距離介于0~35 000 m之間,與D3D及QPaint繪制的一維像圖形基本一致。

        進(jìn)一步查看操控后的一維像圖形實(shí)時繪制功能,圖8和圖9分別為使用OpenGL畫的10副一維像圖像和維像放大后的圖像。

        圖8 OpenGL繪制10副一維像效果圖

        圖9 OpenGL繪制10副一維像區(qū)域放大效果圖

        在繪制10副一維像和進(jìn)行放大操控時,繪制執(zhí)行時間小于10 ms,整體運(yùn)行流暢無卡頓。其他方法繪制效果統(tǒng)計(jì)如表1所示。

        表1 各方法繪制效果統(tǒng)計(jì)表

        由表1可知,在繪制能力上,D3D與OpenGL方法繪制效率較高,繪制方法比較穩(wěn)定;QPaint方法只適用于繪制簡單圖像。在可移植性能上,QPaint與OpenGL方法可移植性高,適用于大多數(shù)系統(tǒng);而D3D方法只適用Windows系統(tǒng)。綜上所述,本文提出的方法滿足現(xiàn)代化高分辨率雷達(dá)對一維距離像的繪制要求,可應(yīng)用于國產(chǎn)化平臺。

        5 結(jié)束語

        實(shí)驗(yàn)表明,本文提出的基于QT與OpenGL的艦船一維像繪制方法能夠有效解決一維像的繪制效率問題及程序的可移植性問題,滿足現(xiàn)代化雷達(dá)顯示軟件國產(chǎn)化的需求。目前,該一維像繪制軟件實(shí)現(xiàn)了窄帶、寬帶雷達(dá)一維距離像繪制,將來可擴(kuò)展應(yīng)用作為寬帶一維像圖形識別研究的基礎(chǔ)。

        猜你喜歡
        圖層測距報文
        基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
        汽車電器(2022年9期)2022-11-07 02:16:24
        CTCS-2級報文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
        類星體的精準(zhǔn)測距
        科學(xué)(2020年3期)2020-01-06 04:02:51
        淺析反駁類報文要點(diǎn)
        中國外匯(2019年11期)2019-08-27 02:06:30
        巧用混合圖層 制作抽象動感森林
        淺談超聲波測距
        電子制作(2017年7期)2017-06-05 09:36:13
        ATS與列車通信報文分析
        圖層法在地理區(qū)域圖讀圖中的應(yīng)用
        基于PSOC超聲測距系統(tǒng)設(shè)計(jì)
        相對差分單項(xiàng)測距△DOR
        太空探索(2014年1期)2014-07-10 13:41:50
        免费无码一区二区三区a片百度| 色一情一乱一乱一区99av| 天堂а√在线最新版中文在线| 久久无码av中文出轨人妻| 伊人婷婷在线| 亚洲性爱区免费视频一区| 久久精品一区二区三区不卡牛牛| 少妇被爽到高潮喷水免费福利| 色婷婷色丁香久久婷婷| 免费国产黄网站在线观看可以下载 | 久久精品国产亚洲vr| 色青青女同性恋视频日本熟女| 成人大片免费观看视频| 欧美日韩国产码高清综合人成| 亚洲成人电影在线观看精品国产| 婷婷开心五月综合基地| 国产熟女一区二区三区不卡| 一区二区三区国产| 美女裸体无遮挡免费视频的网站| 亚洲国产都市一区二区| 国产亚洲精品久久午夜玫瑰园 | 搡老女人老妇女老熟妇69| 国产成人高清在线观看视频| 亚洲一区二区女搞男| 国产啪亚洲国产精品无码| 精品三级久久久久久久电影| 亚洲老女人区一区二视频| 亚洲综合一区中文字幕| 中文字幕精品久久久久人妻红杏ⅰ| 福利视频一二区| 国产亚洲一区二区精品| 一本色道久久88加勒比—综合| 国模无码视频一区| 国产无遮挡又黄又爽无VIP| 日本精品一区二区三区在线观看| 国产在线 | 中文| 激情五月天伊人久久| 国产激情小视频在线观看的| 精品国产一区二区三区18p| 久久精品免费一区二区三区 | 人妻少妇精品视频一区二区三区|