999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

水聲設(shè)備試驗(yàn)航路態(tài)勢復(fù)盤軟件設(shè)計(jì)與實(shí)現(xiàn)?

2019-01-03 07:36:28
艦船電子工程 2018年12期

(91388部隊(duì) 湛江 524022)

1 引言

水聲設(shè)備試驗(yàn)需要?jiǎng)佑枚喾N不同類型的船只,試驗(yàn)結(jié)束后,往往需要對各船只試驗(yàn)期間的態(tài)勢進(jìn)行復(fù)盤,以便于試驗(yàn)人員準(zhǔn)確地對試驗(yàn)結(jié)果進(jìn)行評估和評價(jià)。水聲設(shè)備試驗(yàn)態(tài)勢復(fù)盤軟件主要對試驗(yàn)期間各船只定位數(shù)據(jù)進(jìn)行處理,以圖形化的顯示界面,準(zhǔn)確、便捷地再現(xiàn)試驗(yàn)態(tài)勢和關(guān)鍵事件,提高數(shù)據(jù)處理和數(shù)據(jù)管理的自動(dòng)化程度,提高試驗(yàn)數(shù)據(jù)處理的效率。

WPF技術(shù)是一個(gè)應(yīng)用于Windows的圖形顯示系統(tǒng),是針對.NET而設(shè)計(jì)的一個(gè)Windows應(yīng)用程序開發(fā)平臺,它采用“數(shù)據(jù)驅(qū)動(dòng)”的程序開發(fā)模式,具有豐富的繪圖模型和文本模型,能夠?yàn)榻o用戶提供更具視覺效果的體驗(yàn)[1]。本文介紹了基于WPF技術(shù)的水聲設(shè)備試驗(yàn)態(tài)勢復(fù)盤軟件的基本原理和結(jié)構(gòu)組成,給出了設(shè)計(jì)方法和實(shí)現(xiàn)過程,并對一些關(guān)鍵問題進(jìn)行了闡述。

2 總體方案

2.1 主要功能

水聲設(shè)備試驗(yàn)態(tài)勢數(shù)據(jù)主要包括試驗(yàn)船只的經(jīng)緯度信息、水聲設(shè)備發(fā)現(xiàn)和丟失目標(biāo)等關(guān)鍵事件數(shù)據(jù),根據(jù)試驗(yàn)數(shù)據(jù)種類和態(tài)勢再現(xiàn)需求,軟件應(yīng)具備以下幾個(gè)功能:

1)具備數(shù)據(jù)預(yù)處理功能。一是采取數(shù)據(jù)修正或摒棄錯(cuò)誤數(shù)據(jù)等措施對手動(dòng)或自動(dòng)采集定位數(shù)據(jù)進(jìn)行誤差修正;二是能夠去除重復(fù)的定位數(shù)據(jù);三是能夠進(jìn)行多種格式數(shù)據(jù)轉(zhuǎn)換,如經(jīng)緯度坐標(biāo)轉(zhuǎn)換高斯坐標(biāo),非標(biāo)格式的時(shí)間、航速等數(shù)據(jù)轉(zhuǎn)為標(biāo)準(zhǔn)格式的數(shù)據(jù)。

2)態(tài)勢再現(xiàn)功能。具備在模擬地圖上再現(xiàn)試驗(yàn)態(tài)勢,顯示各船只的位置信息、角度信息和速度信息;能夠在模擬地圖上進(jìn)行試驗(yàn)區(qū)域標(biāo)注,加載自定義圖標(biāo)、圖形;能夠加快或減慢運(yùn)行速度,并能夠?qū)崿F(xiàn)軌跡、圖標(biāo)、圖形的縮放,拖拽等操作。

3)關(guān)鍵事件處理功能。一是具備關(guān)鍵事件結(jié)果初步判斷功能,將人工記錄的目標(biāo)信息和根據(jù)定位數(shù)據(jù)計(jì)算的真值信息進(jìn)行比對,給出判斷結(jié)果;二是能夠?qū)⑻幚砗蟮年P(guān)鍵事件信息按照時(shí)間順序在界面上顯示出來。

4)具備數(shù)據(jù)處理功能。能夠計(jì)算目標(biāo)的方位、距離變化率,顯示距離-時(shí)間、方位-時(shí)間和舷角-時(shí)間變化圖;能夠根據(jù)定位數(shù)據(jù)進(jìn)行距離、精度計(jì)算。

5)具備數(shù)據(jù)管理功能。將處理后的數(shù)據(jù)按照規(guī)定的格式存儲在數(shù)據(jù)庫中,實(shí)現(xiàn)數(shù)據(jù)產(chǎn)品加工、數(shù)據(jù)存儲和數(shù)據(jù)分發(fā)的管理。

水聲設(shè)備試驗(yàn)航路態(tài)勢復(fù)盤軟件主要功能如圖1所示。

圖1 主要功能圖

2.2 軟件總體框架

根據(jù)功能需求,軟件部分主要分為數(shù)據(jù)預(yù)處理模塊、運(yùn)行控制模塊、數(shù)據(jù)處理模塊、態(tài)勢再現(xiàn)模塊、顯示模塊和數(shù)據(jù)管理模塊六部分,態(tài)勢復(fù)盤軟件總體框架如圖2所示。

數(shù)據(jù)預(yù)處理模塊主要包括坐標(biāo)轉(zhuǎn)換、去除重復(fù)、野值剔除、數(shù)據(jù)插值、數(shù)據(jù)平滑、格式轉(zhuǎn)換等子模塊,完成采集數(shù)據(jù)的預(yù)處理工作;運(yùn)行控制模塊主要包括啟動(dòng)、暫停、結(jié)束、前進(jìn)、后退子模塊以及拖拽、滑動(dòng)、放大、縮小、刷新軌跡和運(yùn)行速度控制子模塊,用于實(shí)現(xiàn)試驗(yàn)態(tài)勢運(yùn)行控制;態(tài)勢再現(xiàn)模塊主要包括運(yùn)行控制參數(shù)和定位數(shù)據(jù)輸入模塊,圖形位置計(jì)算、圖形大小計(jì)算模塊和繪圖模塊,用于實(shí)現(xiàn)顯示圖形位置計(jì)算、圖形大小計(jì)算和圖形界面繪制和重載;數(shù)據(jù)處理模塊主要包括連接管理、兩點(diǎn)距離計(jì)算、態(tài)勢變化計(jì)算和精度計(jì)算模塊,用于完成各平臺之間連接關(guān)系管理、距離、相對態(tài)勢和精度計(jì)算;顯示模塊主要包括關(guān)鍵事件顯示、圖標(biāo)顯示、圖形顯示和態(tài)勢信息顯示子模塊,用于實(shí)現(xiàn)關(guān)鍵信息,各圖標(biāo)、圖形和態(tài)勢信息的顯示;數(shù)據(jù)管理模塊主要包括數(shù)據(jù)截取、數(shù)據(jù)存儲和數(shù)據(jù)導(dǎo)出子模塊,能夠按照時(shí)間對定位數(shù)據(jù)進(jìn)行截取,并按要求輸出標(biāo)準(zhǔn)格式數(shù)據(jù),能夠完成態(tài)勢數(shù)據(jù)的存儲和分發(fā)的管理。

圖2 軟件總體框架圖

2.3 軟件設(shè)計(jì)思路

應(yīng)用程序設(shè)計(jì)一般包括數(shù)據(jù)模型、業(yè)務(wù)邏輯、用戶界面和界面邏輯4層功能性代碼[2]。數(shù)據(jù)模型是現(xiàn)實(shí)世界中事物和邏輯的抽象,業(yè)務(wù)邏輯是數(shù)據(jù)之間的關(guān)系與交互,用戶界面由控件構(gòu)成,用于把數(shù)據(jù)顯示給用戶并接收用戶的輸入,界面邏輯是控件與控制之間的關(guān)系與交互。在保持代碼可維護(hù)的前提下,如何讓數(shù)據(jù)能夠順暢、靈活的到達(dá)界面并靈活顯示,同時(shí)方便的接收用戶的操作歷來的都是軟件開發(fā)的核心問題。常用的設(shè)計(jì)模式主要包括 MVC(Model-View-Controler)模式、MVP(Model-View-Presenter)模式等[3],上述模式采用“事件驅(qū)動(dòng)模式”,容易使界面邏輯和業(yè)務(wù)邏輯糾纏在一起,造成代碼復(fù)雜難懂,隱藏的缺陷難以排除,也不便于后續(xù)軟件的擴(kuò)展。

WPF技術(shù)的最大特點(diǎn)就是實(shí)現(xiàn)“數(shù)據(jù)驅(qū)動(dòng)模式”[4],人機(jī)交互界面采用XAML語言完成設(shè)計(jì),業(yè)務(wù)邏輯層使用C#進(jìn)行開發(fā),這樣使數(shù)據(jù)占主動(dòng)地位,弱化了控件和控件事件,實(shí)現(xiàn)界面和后臺邏輯的剝離,大大簡化了程序設(shè)計(jì)難度和維護(hù)的成本,因此,本系統(tǒng)采用WPF技術(shù)進(jìn)行設(shè)計(jì)和開發(fā)。

MySQL數(shù)據(jù)庫是一個(gè)中小型的關(guān)系型數(shù)據(jù)庫,被廣泛應(yīng)用于因特網(wǎng)上的中小型網(wǎng)站,它具有速度快、體積小、總體成本底、開放源代碼,成為很多網(wǎng)站或應(yīng)用程序?yàn)榻档烷_發(fā)成本而選擇此數(shù)據(jù)庫的最主要原因[5]。綜合考慮軟件設(shè)計(jì)周期、成本、難度等因素,后臺數(shù)據(jù)庫采用MySQL數(shù)據(jù)庫管理系統(tǒng)。

3 關(guān)鍵問題解決方法

3.1 經(jīng)緯度坐標(biāo)轉(zhuǎn)高斯坐標(biāo)

考慮部分試驗(yàn)船只的位置數(shù)據(jù)為經(jīng)緯度數(shù)格式,需要轉(zhuǎn)換為高斯坐標(biāo)后再參與數(shù)據(jù)處理計(jì)算,軟件設(shè)置了大地坐標(biāo)轉(zhuǎn)換高斯坐標(biāo)子程序。

地心大地坐標(biāo)系的定義是[6]:地球橢球的中心與地球質(zhì)心相合,橢球的短軸與地球自轉(zhuǎn)軸相合,大地緯度為過地面點(diǎn)的橢球法線與橢球赤道面的夾角,大地經(jīng)度L為過地面點(diǎn)的橢球子午面與格林尼治平大地子午面之間的夾角,大地高H為地面點(diǎn)沿橢球法線至橢球面的距離。于是,任一地面點(diǎn)在地球坐標(biāo)系中的坐標(biāo),可表示為( )X,Y,Z 或(B,L,H),B為維度。采用高斯-克略格投影平面坐標(biāo)x,y計(jì)算公式如下[7]:

其中:

1)X為赤道兩期的子午線弧長(克拉索夫斯基橢球)

3)l為計(jì)算點(diǎn)大地經(jīng)度與投影帶中央子午線經(jīng)度之差

由上式計(jì)算的x,y值存在負(fù)值,為了便于測量作業(yè),規(guī)定以中央經(jīng)線和赤道的交叉點(diǎn)為原點(diǎn)坐標(biāo),x值在北半球?yàn)檎习肭驗(yàn)樨?fù),y值在中央經(jīng)線以東為正,中央經(jīng)線以西為負(fù),由于我國均位于北半球,x值皆為正值,為了避免y值出現(xiàn)負(fù)號,規(guī)定各投影帶的坐標(biāo)縱軸均西移500km,為了表明點(diǎn)的帶號,又規(guī)定在其前面冠以帶號,這種坐標(biāo)稱為“通用坐標(biāo)”[8]。

3.2 數(shù)據(jù)野點(diǎn)剔除和平滑方法

數(shù)據(jù)預(yù)處理算法主要包括野值剔除、數(shù)據(jù)插值和數(shù)據(jù)平滑。含有粗大誤差的數(shù)據(jù)稱為異常數(shù)據(jù),它會對測量結(jié)果產(chǎn)生明顯的歪曲,一旦發(fā)現(xiàn)含有粗大誤差的數(shù)據(jù),應(yīng)將其從測量序列中剔除[9]。試驗(yàn)平臺船只的高斯坐標(biāo)為(Xm,Ym)、試驗(yàn)?zāi)繕?biāo)船只的高斯坐標(biāo)為(Xw,Yw)。

令變量 XM、YM、XW、YM為V,時(shí)間變量為U ,則Vi按式(8)計(jì)算:

式中ε為隨機(jī)誤差。

a與b的估值按式(9)和式(10)計(jì)算:

重復(fù)上述過程,直至沒有奇異點(diǎn)為止。再利用a+b*Ui計(jì)算出中間點(diǎn)的坐標(biāo)值v0作為平滑后中間點(diǎn)的坐標(biāo)值,其余點(diǎn)的平滑依此類推。起始和結(jié)尾的7個(gè)點(diǎn)的平滑坐標(biāo)值分別利用起始與結(jié)尾15個(gè)點(diǎn)求得的a、b,再由公式a+b*Ui計(jì)算得出。

自動(dòng)采集設(shè)備測量的各平臺船只軌跡數(shù)據(jù)中存在跳點(diǎn),需要進(jìn)行平滑處理。數(shù)據(jù)平滑都是在基于實(shí)際的數(shù)據(jù)之上,根據(jù)平滑過程中實(shí)際統(tǒng)計(jì)數(shù)據(jù)的改變情況,平滑算法可以分為兩大類[10]:一類是修改所有實(shí)際統(tǒng)計(jì)數(shù)據(jù)的參數(shù)平滑算法;另一類是修改部分實(shí)際統(tǒng)計(jì)數(shù)據(jù)的參數(shù)平滑算法。修改所有實(shí)際統(tǒng)計(jì)數(shù)據(jù)的參數(shù)平滑算法主要有加法平滑、Good-Turing估計(jì)、折扣參數(shù)平滑、線性平滑、基于扣留估計(jì)的參數(shù)平滑,對軌跡數(shù)據(jù)平滑一般采用線性平滑算法。

3.3 繪圖系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

繪圖系統(tǒng)主要用于完成試驗(yàn)船只軌跡的繪制。要繪制軌跡就需要建立相應(yīng)的坐標(biāo)系統(tǒng),有兩種方法可以實(shí)現(xiàn)上述目標(biāo),一是使用開發(fā)平臺集成的坐標(biāo)系統(tǒng);二是使用自定義的坐標(biāo)系統(tǒng)。

基于微軟。NET 3.5框架下的圖表控件,可以支持各種各樣的圖形顯示,如點(diǎn)狀圖、餅圖、柱狀圖、曲線圖、面積圖、排列圖等,同時(shí)也支持3D樣式的圖表顯示[11]。使用該控件繪制軌跡的基本思路如下,先通過坐標(biāo)轉(zhuǎn)換模塊將定位數(shù)據(jù)由大地坐標(biāo)轉(zhuǎn)換為高斯坐標(biāo),然后使用圖表控件LineCharts工具繪制并顯示出來,顯示效果如圖3(a)所示,其軌跡本質(zhì)是由一系列點(diǎn)連接而成。圖表控件自帶坐標(biāo)系統(tǒng),使用該控件相應(yīng)函數(shù)即可完成對軌跡的繪制、刷新、移動(dòng)、拖拽等操作,這樣可以大大簡化程序復(fù)雜度,使軟件具有良好的可維護(hù)性,缺點(diǎn)是運(yùn)行開銷大,當(dāng)需要繪制的軌跡點(diǎn)數(shù)量增大時(shí),繪圖的速度會減慢。

圖3 繪制船只軌跡圖

第二種方法是通過WPF 2D繪圖功能,在自定義的坐標(biāo)系統(tǒng)上繪制試驗(yàn)船只軌跡,顯示效果如圖3b所示。WPF 2D繪圖功能可以創(chuàng)建豐富多彩的可視化元素,如點(diǎn)、直線、曲線、矩形、橢圓等[12]。使用WPF繪圖功能繪制軌跡的基本思路為先通過坐標(biāo)轉(zhuǎn)換模塊將定位數(shù)據(jù)格式有大地坐標(biāo)轉(zhuǎn)換為高斯坐標(biāo),然后繪制可視化元素來表示船只的軌跡。

為減小繪制可視化元素造成的內(nèi)存開銷,可以使用Line元素繪制軌跡圖。Line屬于輕量級的可視化元素,當(dāng)數(shù)據(jù)量較大時(shí),使用Line能夠顯著降繪制大量形狀造成的開銷。Line表示連接一個(gè)點(diǎn)和另一個(gè)點(diǎn)的直線,起點(diǎn)和終點(diǎn)有4個(gè)屬性設(shè)置:X1、Y1、X2、Y2,繪制一條從點(diǎn)(0,0)伸展到點(diǎn)(10,100)的直線XAML代碼為

<Line Stroke=“Blue” X1=“0” Y1=“0” X2=“100”Y2=“100”/Line>

方法二需要自定義坐標(biāo)系統(tǒng),雖然增加了代碼復(fù)雜度,但在數(shù)據(jù)量不多的情況下,基本能夠滿足軟件的設(shè)計(jì)需求,因此本軟件的繪圖系統(tǒng)采用方法二進(jìn)行來實(shí)現(xiàn)。

3.4 圖形位置和大小計(jì)算

為了增加軟件的直觀性,軟件態(tài)勢復(fù)盤顯示界面要能夠以圖形或圖標(biāo)的方式顯示船只、海區(qū)的經(jīng)緯度、固定物體等標(biāo)識信息,并且用戶進(jìn)行拖拽、滑動(dòng)、放大、縮小等鼠標(biāo)動(dòng)作時(shí),各種圖形和圖標(biāo)也隨之進(jìn)行移動(dòng)、放大和縮小,因此需要對各種標(biāo)識的位置和大小進(jìn)行計(jì)算。軟件設(shè)計(jì)了圖形位置和大小計(jì)算模塊,其計(jì)算過程如圖4所示,用戶使用鼠標(biāo)產(chǎn)生 MouseMove、MouseButtonDown、MouseWheel等事件,軟件在鼠標(biāo)事件中獲取鼠標(biāo)位置和滑動(dòng)量等參數(shù),通過坐標(biāo)系統(tǒng)將移動(dòng)位置和滑動(dòng)量參數(shù)轉(zhuǎn)換為屏蔽像素的參數(shù),最后調(diào)用UpDate子程序更新圖形的位置和大小到態(tài)勢復(fù)盤界面上。

圖4 圖形位置和大小計(jì)算過程

3.5 數(shù)據(jù)處理模塊

數(shù)據(jù)處理模塊主要包括兩點(diǎn)距離、態(tài)勢變化計(jì)算和精度計(jì)算子程序,用于完成試驗(yàn)船和配合船間距離、態(tài)勢和精度數(shù)據(jù)的計(jì)算,便于試驗(yàn)人員分析試驗(yàn)結(jié)果,圖5為態(tài)勢變化界面效果圖。

態(tài)勢變化計(jì)算主要是計(jì)算船只間距離、方位和舷角隨時(shí)間的變化情況,距離計(jì)算過程如下:首先將定位數(shù)據(jù)由大地坐標(biāo)轉(zhuǎn)換為高斯坐標(biāo),再根據(jù)式(14)計(jì)算配合船只距離。式中D0為試驗(yàn)船與配合船的水平距離,(x1,y1)為試驗(yàn)船的高斯坐標(biāo),(x2,y2)為配合船的高斯坐標(biāo)。

目標(biāo)的方位由式(15)和式(16)得出,其中:γ為收斂角,L0為中央子午線所在的經(jīng)度,L1為t時(shí)刻目標(biāo)所在的經(jīng)度,B1為t時(shí)刻目標(biāo)所在的緯度。由試驗(yàn)船的航向和配合船的方位可進(jìn)一步計(jì)算出配合船的舷角:

精度計(jì)算主要包括測向精度、測距精度計(jì)算,常用的計(jì)算方法由二階原點(diǎn)矩和二階中心矩。測向精度的計(jì)算方法如式(17)、(18)、(19),測距精度參照測向精度,式中為方位或舷角的真值,βi為聲納測量值,為系統(tǒng)誤差,為二階中心矩,為二階原點(diǎn)矩。

由于聲速傳播速度慢,外置定位設(shè)備測量的是t時(shí)刻的試驗(yàn)船和目標(biāo)的位置數(shù)據(jù),水聲設(shè)備測量的是t-Δt時(shí)刻的配合船的位置,因此在進(jìn)行精度計(jì)算時(shí)需按照式(20)要進(jìn)行聲傳播延時(shí)修正。Δt為聲傳播延時(shí),C為所測量的聲速數(shù)據(jù),由此可以求出(t-Δt)時(shí)刻的配合船只的高斯坐標(biāo)。

圖5 態(tài)勢變化界面

4 結(jié)語

本文提出的水聲設(shè)備試驗(yàn)態(tài)勢復(fù)盤軟件是在Windows操作系統(tǒng)平臺上進(jìn)行開發(fā)的,實(shí)現(xiàn)過程中使用了WPF、C#以及MySQL等技術(shù)。通過歷次的水聲設(shè)備試驗(yàn)驗(yàn)證,該系統(tǒng)具有良好的人機(jī)交互性和穩(wěn)定性,能夠滿足實(shí)際的工程需求,能夠顯著提高試驗(yàn)人員數(shù)據(jù)處理的效率,便于試驗(yàn)人員評估分析試驗(yàn)結(jié)果。

主站蜘蛛池模板: 国产91高跟丝袜| 欧美人与动牲交a欧美精品| 欧洲欧美人成免费全部视频| 亚洲水蜜桃久久综合网站 | 久久久久久久久18禁秘| 污网站免费在线观看| 国产在线视频二区| 尤物在线观看乱码| 欧美日本在线| 国产96在线 | 色婷婷色丁香| 亚洲精品无码人妻无码| 日韩中文精品亚洲第三区| 精品亚洲国产成人AV| 国产欧美精品专区一区二区| 永久在线精品免费视频观看| 国产成人免费视频精品一区二区| av一区二区人妻无码| 中文字幕在线不卡视频| 日韩成人在线网站| 欧美亚洲国产日韩电影在线| 欧美亚洲一二三区| 久久久久久久蜜桃| 日韩第九页| 日韩欧美国产另类| 欧美成人综合在线| 国产网站一区二区三区| 国产夜色视频| 亚洲无码视频一区二区三区| 99在线视频网站| 国产亚洲精久久久久久无码AV| 伊人久久综在合线亚洲2019| 91在线国内在线播放老师 | 免费在线一区| 精品中文字幕一区在线| 在线中文字幕日韩| 亚洲精品视频免费看| 国产成人一区在线播放| 久久精品视频亚洲| 久久综合色播五月男人的天堂| 亚洲日本一本dvd高清| 欧美不卡在线视频| 精品91自产拍在线| 欧美日一级片| 欧美一区二区三区不卡免费| 亚洲欧美成人综合| 在线观看无码av免费不卡网站| 免费啪啪网址| 久久99精品久久久久纯品| 宅男噜噜噜66国产在线观看| 无码AV日韩一二三区| 欧美一级高清片欧美国产欧美| 久久婷婷国产综合尤物精品| 国产精品林美惠子在线播放| 国产成人无码久久久久毛片| 亚洲无码在线午夜电影| 国产永久无码观看在线| 欧美色视频网站| 国产在线精品香蕉麻豆| 在线无码私拍| 欧美劲爆第一页| 国产哺乳奶水91在线播放| 亚洲永久色| 国产高清国内精品福利| 国内精品伊人久久久久7777人| 另类专区亚洲| www.91中文字幕| 国禁国产you女视频网站| 色偷偷一区二区三区| 日本免费a视频| 91日本在线观看亚洲精品| 中文字幕伦视频| 正在播放久久| 国产精品无码AⅤ在线观看播放| 亚洲一级毛片免费观看| 亚洲国产精品美女| 国产第一页亚洲| 亚洲成人www| 精品无码国产一区二区三区AV| 成人福利在线视频| 欧美日韩中文字幕二区三区| 天堂成人在线|