国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于B/S 架構(gòu)的航海雷達(dá)仿真系統(tǒng)設(shè)計與實現(xiàn)*

2022-09-14 08:22任鴻翔
火力與指揮控制 2022年7期
關(guān)鍵詞:雜波多邊形雷達(dá)

李 業(yè),任鴻翔,鄭 君

(1.大連海事大學(xué)航海學(xué)院,遼寧 大連 116026;2.長江引航中心江陰引航站,江蘇 江陰 214400)

0 引言

航海雷達(dá),是船舶航行時必不可少的導(dǎo)航設(shè)備,在船舶避碰中的地位不可替代。國際海事組織(international maritime organization,IMO)對船舶導(dǎo)航雷達(dá)的裝備和規(guī)范使用作了具體規(guī)定。因此,對海員的雷達(dá)培訓(xùn)顯得尤為重要。培訓(xùn)實踐中,真實雷達(dá)價格昂貴、維護(hù)成本高,且受設(shè)備型號、航區(qū)和天氣環(huán)境等條件限制。因此,價格低廉、靈活多變的雷達(dá)模擬器,被廣泛運(yùn)用于雷達(dá)實操訓(xùn)練。自20 世紀(jì)60 年代以來,世界各國先后開發(fā)出多種不同性能的雷達(dá)模擬器,如挪威Kongsberg 公司研制的功能完備的Polaris 型模擬器及國內(nèi)大連海事大學(xué)研制的V.Dragon 型模擬器等。目前,已有雷達(dá)模擬器以C/S(Client/Server,客戶機(jī)/服務(wù)器)架構(gòu)為主,運(yùn)行于局域網(wǎng)中PC 硬件上,系統(tǒng)兼容性差、維護(hù)成本高,限制了用戶使用時間與空間。

瀏覽器/ 服務(wù)器(browser/server,B/S)架構(gòu)作為WEB 興起后的一種功能強(qiáng)大的網(wǎng)絡(luò)架構(gòu)模式,可以進(jìn)行信息分布式處理,有效降低資源成本,提高系統(tǒng)性能。該模式統(tǒng)一了客戶端,用戶只需安裝瀏覽器即可,而將應(yīng)用邏輯集中在服務(wù)器和中間件上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用,提高了數(shù)據(jù)處理性能。鑒于B/S 架構(gòu)的優(yōu)點和傳統(tǒng)系統(tǒng)仿真依賴于真機(jī)受時間、空間和硬件成本限制較大的缺點,基于B/S 架構(gòu)的系統(tǒng)仿真技術(shù)應(yīng)運(yùn)而生,且日漸成熟。

2020 年新冠肺炎疫情爆發(fā),對航海教育沖擊巨大。雖然理論課程教學(xué)可通過遠(yuǎn)程教學(xué)軟件開展,但對于雷達(dá)實操培訓(xùn)這類實踐性較強(qiáng)的航海類實操培訓(xùn)而言,迫切需要一款能進(jìn)行線上實操訓(xùn)練的模擬軟件。鑒此,本文以JRC-JMA-9100 系列雷達(dá)為仿真對象,設(shè)計了一種基于B/S 架構(gòu)的航海雷達(dá)仿真系統(tǒng)。面向未來,教學(xué)單位和學(xué)員可通過PC、平板或手機(jī),線上訪問并使用該系統(tǒng),免受時間和空間限制,大大提升教學(xué)和學(xué)習(xí)效率,真正做到“停課不停教、不停學(xué)”。

1 系統(tǒng)設(shè)計

1.1 系統(tǒng)整體結(jié)構(gòu)設(shè)計

航海雷達(dá)仿真系統(tǒng)基于B/S 架構(gòu)設(shè)計,將系統(tǒng)分為表示層、邏輯層和數(shù)據(jù)層。表示層用于接受用戶的輸入和向用戶輸出,為用戶提供一種交互式操作界面。邏輯層是表示層和數(shù)據(jù)層之間的橋梁,提供所有的業(yè)務(wù)邏輯處理功能,整個系統(tǒng)中對數(shù)據(jù)庫的操作都將在這一層中完成。數(shù)據(jù)層主要實現(xiàn)對數(shù)據(jù)的增、刪、改、查,將存儲在數(shù)據(jù)庫中的數(shù)據(jù)提交給邏輯層,同時將邏輯層處理的數(shù)據(jù)保存到數(shù)據(jù)庫。3 層結(jié)構(gòu)的設(shè)計具有“高內(nèi)聚,低耦合”的特點,實現(xiàn)系統(tǒng)前后端分離,前端主要負(fù)責(zé)展示與交互,后端主要負(fù)責(zé)邏輯處理和復(fù)雜數(shù)據(jù)計算。前端采用標(biāo)準(zhǔn)的瀏覽器形式,界面由HTML5(超文本標(biāo)記語言)、CSS(層疊樣式表)、JavaScript 語言實現(xiàn),其中,HTML 決定仿真界面的結(jié)構(gòu)和內(nèi)容、CSS 決定仿真界面的表現(xiàn)樣式、JavaScript 控制仿真界面的行為。后端運(yùn)行系統(tǒng)為WindowsServer 2012,采用Tomcat作為WEB 應(yīng)用服務(wù)器,選擇MySQL 數(shù)據(jù)庫作為數(shù)據(jù)存儲倉庫。系統(tǒng)總體框架如圖1 所示。

圖1 仿真雷達(dá)系統(tǒng)設(shè)計

1.2 系統(tǒng)功能模塊設(shè)計

本文提出的航海雷達(dá)仿真系統(tǒng)的功能主要包括3 個部分,即雷達(dá)操作界面模擬、雷達(dá)回波模擬和符號模擬。

1)操作界面模擬。本文通過走訪調(diào)研,選取了市場占有率較高的JRC-JMA-9100 型船舶導(dǎo)航雷達(dá)作為仿真對象。使用HTML5、CSS、JavaScript 語言實現(xiàn)了對真機(jī)操作界面的模擬。模擬界面使用HTML5 和CSS 中路徑裁剪與分層的技術(shù)方法,將雜波、岸線回波、符號、操作界面分層疊加顯示。這種模式可較好地實現(xiàn)回波圖像和各符號的分層顯示及相關(guān)功能的模擬。

2)雷達(dá)回波模擬?;夭ǖ纳膳c顯示是仿真系統(tǒng)的最關(guān)鍵技術(shù),主要包括岸線、雜波、目標(biāo)船、雷康、尾跡等回波的生成與顯示。本文從S-57 數(shù)據(jù)中提取原始岸線數(shù)據(jù),為提高繪制效率,使用數(shù)據(jù)抽稀、集中繪制等手段處理回波數(shù)據(jù),并使用HTML5中Canvas 畫布呈現(xiàn)回波;使用CSS 中路徑裁剪方法扇形裁剪雙層透明雜波圖像模擬雷達(dá)雜波的徑向圓周掃描;通過對歷史回波數(shù)據(jù)進(jìn)行分類、記錄、提取、轉(zhuǎn)換等操作,實現(xiàn)對尾跡的模擬。最后將雷達(dá)回波、雜波與尾跡疊加顯示,從而最終實現(xiàn)雷達(dá)回波的模擬。

3)符號模擬。符號模擬主要包括刻度符號和目標(biāo)符號的模擬。雷達(dá)刻度符號主要包括刻度圈、活動/固定距標(biāo)圈、電子方位線、平行索引線、船首線等,目標(biāo)符號主要包括AIS 目標(biāo)與跟蹤目標(biāo)標(biāo)識。鑒于刻度符號與目標(biāo)符號可交互的特點,將刻度、目標(biāo)符號與回波分層顯示,其中符號層至于回波層之上。符號層中使用Canvas 畫布完成刻度符號的實時繪制,使用自定義控件完成目標(biāo)符號的模擬。

2 相關(guān)算法

2.1 回波數(shù)據(jù)提取與簡化

2.1.1 回波數(shù)據(jù)的提取

本文利用GDAL/OGR 庫(一個在X/MIT 許可協(xié)議下的開源矢量和柵格空間數(shù)據(jù)轉(zhuǎn)換庫,其利用抽象數(shù)據(jù)模型來表達(dá)所支持的各種文件格式,以下簡稱為GDAL)從S-57 海圖文件中提取生成雷達(dá)仿真回波數(shù)據(jù),并將提取數(shù)據(jù)存入后端MySQL 數(shù)據(jù)庫以供仿真程序使用。

GDAL 處理S-57 文件,將讀取的所有要素根據(jù)其所屬物標(biāo)類型分配給對應(yīng)的圖層,圖層下有要素,要素下面有字段和幾何對象,要素屬性從字段中獲取,要素的幾何形狀從幾何對象中獲取。典型的S-57 數(shù)據(jù)圖層超過100 層,但并非所有圖層均是仿真回波所需的,從中選取LNDARE、LIGHT、BRIDGE、M_NSYS、M_COVR 等圖層,導(dǎo)出其幾何要素,作為原始仿真數(shù)據(jù)。原始仿真數(shù)據(jù)中存在海圖邊界線,而邊界線是無用的雷達(dá)回波數(shù)據(jù),會影響后續(xù)仿真回波顯示,需對其進(jìn)行裁剪。海上浮標(biāo)制度(M_NSYS)圖層含有海圖邊界數(shù)據(jù),從中提取邊界數(shù)據(jù)將其構(gòu)成幾何多邊形,然后對回波數(shù)據(jù)進(jìn)行篩選,只對落在多邊形以內(nèi)的數(shù)據(jù)進(jìn)行保留,進(jìn)而刪除海圖邊界線。

本文采用射線法判斷點是否在多邊形內(nèi)部,即從一點做一條射線,計算它跟多邊形邊界的交點個數(shù),如果交點個數(shù)為奇數(shù),那么該點在多邊形內(nèi)部,否則點在多邊形外部。如圖2 所示P為內(nèi)部點,Q為外部點,n 為通過邊界次數(shù)。

圖2 射線法判斷點在多邊形內(nèi)部

為了便于計算,通過求水平射線與多邊形邊的交點個數(shù),判斷點是否在多邊形內(nèi)部。當(dāng)采用水平射線時,多邊形某水平邊不參與測試,且當(dāng)測試點縱坐標(biāo)比多邊形某邊的縱坐標(biāo)都小或都大,那么它們的交點一定在邊的延長線。綜上所述,具體計算過程如算法1 所示。篩選好的數(shù)據(jù)依據(jù)其圖層分為點數(shù)據(jù)(包括浮標(biāo)、雷康數(shù)據(jù))和非點數(shù)據(jù)(岸線、橋梁等)。點數(shù)據(jù)以“經(jīng)度、緯度、浮筒類型或雷康莫爾斯碼”格式存儲,非點數(shù)據(jù)以“經(jīng)度最大、經(jīng)度最小、緯度最大、緯度最小、點1、點2….”格式存儲。

2.2.2 回波數(shù)據(jù)的簡化

從海圖中提取的岸線數(shù)據(jù)如果不作簡化直接使用,會存在嚴(yán)重的效率問題,回波的計算與繪制會因數(shù)據(jù)量過大而效率下降,因此,需要對原始岸線數(shù)據(jù)進(jìn)行抽稀處理。本文采用道格拉斯-普克算法(ramer-douglas-peucker,RDP)簡化岸線數(shù)據(jù),算法的具體過程如下:

將一段岸線數(shù)據(jù)的首尾點虛連一條直線,求中間各點與直線的距離,并找出距離最大值,用最大值與閾值比較:若最大值小于閾值,這條折線上的中間點全部舍去;若最大值大于閾值,保留最大值對應(yīng)的坐標(biāo)點,并以該點為界,把折線分為兩部分,對這兩部分重復(fù)使用該方法。具體流程如圖3所示。

圖3 RDP 算法圖解

算法中閾值的取值十分重要:閾值過大,大量點被剔除,易造成形狀失真;閾值過小,只有少量點被簡化,抽稀不明顯。然而所有數(shù)據(jù)共用一個閾值或者人工給每一段數(shù)據(jù)單獨(dú)設(shè)定一個閾值都是不合適的。為此本文提出使用岸線距離均值作為閾值,改進(jìn)原有算法,具體流程為:將每段岸線原始數(shù)據(jù)的第1 個、第3 個點虛連一條直線,求第2 個點與直線的距離,存入數(shù)組。然后,第2 個、第4 個點虛連一條直線,求第3 個點與直線的距離,存入數(shù)組。以此類推,分別求取每段數(shù)據(jù)中相關(guān)點與虛連直線的距離,并存入數(shù)組。最后,求取數(shù)組的平均值,即岸線距離均值作為閾值。

2.2 回波生成

2.2.1 岸線回波的模擬

雷達(dá)仿真圖象包括岸線回波、運(yùn)動目標(biāo)回波、固定物標(biāo)回波、假回波、雜波、盲區(qū)、SART、雷康、尾跡等的模擬。除雜波外,本文采用圓周掃描方式生成回波數(shù)據(jù),并存儲回波數(shù)據(jù),最后使用HTML5 的Canvas 畫布集中繪制回波,具體步驟如下所示。

首先采用圓周掃描方式,求出某一角度掃描線與目標(biāo)線段的交點,由交點向目標(biāo)內(nèi)側(cè)沿掃描線方向延伸,延伸線段的長度隨機(jī),從而得到相應(yīng)回波數(shù)據(jù)。掃描線與目標(biāo)線段求交算法原理如圖4 所示。

圖4 掃描線與岸線求交算法

設(shè)l 為岸線數(shù)據(jù)中任一線段,r 為某一時刻的徑向掃描線段。將掃描線段與岸線線段的端點分別看成4 個向量r、r、l、l,根據(jù)向量運(yùn)算可知

線段l、r 參數(shù)方程為

其中,參數(shù)t、u 取值[0,1]。

兩條線段相交具有如下關(guān)系:

將上式兩邊同時叉乘r,得到

由于r×r=0,可得

解出參數(shù)

同理,解出參數(shù)

當(dāng)0≤t≤1,且0≤u≤1 時,兩線段有交點,交點l坐標(biāo)為l+tl。

當(dāng)掃描線間隔為0.1°,掃描一周將產(chǎn)生3 600條掃描線,為提高繪制效率和方便后續(xù)回波處理,通過掃描求交產(chǎn)生的回波,并不立即進(jìn)行繪制,每10 條掃描線為一個集合M 進(jìn)行存儲。重繪掃描區(qū)域后,使用Canvas 繪制回波集合M。

2.2.2 雜波的模擬

雷達(dá)雜波一般回波較小且成點狀,分布隨機(jī)。很難使用掃描線求交算法進(jìn)行模擬,如果缺乏掃描過程直接生成雜波,逼真度將大為降低。為此本文使用層疊樣式表CSS 中clip-path 屬性扇形裁剪雙層透明雜波圖像來模擬雷達(dá)雜波的徑向圓周掃描。

先依據(jù)各雜波特性分別采用瑞利分布、韋伯分布、正態(tài)分布、均勻分布等模型建立雜波分布模型,依據(jù)模型產(chǎn)生雜波粒子。然后通過Canvas 創(chuàng)建一空白透明位圖,將每個雜波粒子對應(yīng)于位圖上相應(yīng)像素點并設(shè)置顏色,從而形成雜波圖像。最后,依據(jù)雜波裁剪原則進(jìn)行裁剪,具體過程為:將雜波圖像分為a、b 兩層,初始狀態(tài)a 生成回波。然后構(gòu)建以本船位置為中心,掃描線長度為半徑,0°為起始角度、掃描線角度為終止角度的扇形Fa 和以掃描線角度為起始角度、360°為終止角度的扇形Fb。以Fa和Fb 為裁剪圖形分別對a 和b 層圖像進(jìn)行路徑裁剪。隨著掃描線角度的不斷變化,裁剪不斷進(jìn)行,從而實現(xiàn)雜波徑向圓周掃描的效果。當(dāng)掃描線角度達(dá)到360°時,b 層回波生成,然后a 與b 互換裁剪圖形,重復(fù)以上步驟。具體流程如圖5 所示。

圖5 雜波的生成與顯示流程圖

2.2.3 尾跡的模擬

尾跡是船舶雷達(dá)回波圖像的重要組成部分,在船舶運(yùn)動態(tài)勢判斷和船舶避碰中發(fā)揮著重要作用。因此,尾跡的模擬一直是雷達(dá)仿真中的重點,同時也是難點。本文通過對雷達(dá)歷史回波數(shù)據(jù)進(jìn)行分類、記錄、提取、轉(zhuǎn)換等操作,較好地實現(xiàn)對尾跡的模擬。具體模擬流程如下所示。

Step 1 將圓周掃描(掃描周期3 s)所得回波數(shù)據(jù)按照靜止回波(包括岸線、固定物標(biāo)、雷康等)、運(yùn)動回波(包括運(yùn)動目標(biāo)回波、假回波)分類,每周期一次分別存入記錄集S、T 中,并每周期一次記錄本船坐標(biāo)于集合O 中。最大記錄數(shù)1 200 次,如超過最大長度,按照“先入先出”原則移除最先存入部分;

Step 2 根據(jù)設(shè)置的尾跡時間長度確定待顯示尾跡記錄數(shù)N。根據(jù)雷達(dá)運(yùn)動模式和尾跡顯示模式,確定是否需要顯示靜止回波尾跡,從記錄集S(如需要)和T 中由后向前依次讀取N 個記錄,記錄集中記錄數(shù)不足N 時全部讀??;

Step 3 判斷尾跡模式是否為真運(yùn)動模式,是則步驟2 所獲取尾跡數(shù)據(jù)直接繪制,否則根據(jù)尾跡數(shù)據(jù)的索引查找O 中本船當(dāng)時位置,計算本船當(dāng)前位置與當(dāng)時位置位移差,將步驟2 所獲取尾跡數(shù)據(jù)與位移差相加進(jìn)行坐標(biāo)轉(zhuǎn)換,繪制轉(zhuǎn)換后尾跡數(shù)據(jù);

Step 4 重復(fù)以上步驟,實現(xiàn)尾跡更新繪制。

3 系統(tǒng)實現(xiàn)

參照IMO 關(guān)于雷達(dá)模擬器的性能標(biāo)準(zhǔn)和JRC-JMA-9100 系列雷達(dá)的特性,設(shè)計并完成了基于B/S 架構(gòu)的仿真雷達(dá)的開發(fā)。系統(tǒng)實現(xiàn)前后端分離,前端界面由HTML5、CSS、JavaScript 語言實現(xiàn),后端由WEB 應(yīng)用服務(wù)器(Tomcat)、MySQL 數(shù)據(jù)庫組成。值得一提的是,由于系統(tǒng)前端基于HTML5+JS+CSS 開發(fā),已實現(xiàn)跨iOS、Android 平臺的移動應(yīng)用開發(fā)。下頁圖6(a)為雷達(dá)設(shè)備真機(jī)界面,圖6(b)為本文所實現(xiàn)的瀏覽器下的仿真雷達(dá)界面。

圖6 JRC-JMA-9100 型雷達(dá)真機(jī)與仿真

雷達(dá)仿真系統(tǒng)所實現(xiàn)主要功能包括回波圖像(岸線回波、運(yùn)動目標(biāo)回波、固定物標(biāo)回波、雜波、假回波、雷康、尾跡等)顯示、刻度與航行信息顯示、目標(biāo)跟蹤與AIS 目標(biāo)報告、偏心顯示、量程切換、顯示模式、運(yùn)動模式、顏色模式切換等。

本文實現(xiàn)了不同海區(qū)的雷達(dá)回波圖像仿真,以上海寶山水域為例。如圖7(c)所示,通過與圖7(a)電子海圖圖像、圖7(b)真實雷達(dá)回波圖像比對可知,本文的回波提取與生成算法可較好地模擬岸線與固定物標(biāo)雷達(dá)回波;圖8(d)為本文模擬雨雪雜波圖像,通過與圖8(a)雨雪雜波真機(jī)圖像比對可知,本文所采取的扇形裁剪雜波圖像方法可以較好地模擬雷達(dá)雜波徑向圓周掃描;圖8(e)為本文模擬假回波與尾跡圖像,通過與圖8(b)真機(jī)圖像比對可知,本文模擬的假回波與尾跡具有一定逼真度;圖8(f)為本文模擬雷康回波,圖8(c)為雷康真機(jī)回波圖像,比對結(jié)果表明仿真效果較好;圖9 為本文對雷達(dá)刻度、航行、目標(biāo)等信息的模擬。

圖7 岸線回波的仿真

圖8 雷康、假回波、尾跡、雜波的仿真

圖9 刻度、航行、目標(biāo)信息模擬

4 結(jié)論

針對傳統(tǒng)雷達(dá)模擬器使用受時間與空間限制、不能開展線上實操培訓(xùn)等問題,設(shè)計并實現(xiàn)了一種基于B/S 架構(gòu)的航海雷達(dá)仿真系統(tǒng)。仿真系統(tǒng)采用基于B/S 的3 層結(jié)構(gòu)設(shè)計;提出了一種從S-57 海圖中提取、抽稀和生成雷達(dá)仿真數(shù)據(jù)的方法;運(yùn)用圓周掃描求交與雜波圖像扇形裁剪的方法模擬雷達(dá)回波;通過對歷史回波數(shù)據(jù)操作處理,實現(xiàn)對雷達(dá)尾跡的模擬。

通過與真實雷達(dá)回波圖像比較,本文提出的方法可準(zhǔn)確提取雷達(dá)回波仿真數(shù)據(jù),所模擬回波與尾跡具有相當(dāng)逼真度。實現(xiàn)了包括回波圖像顯示、刻度與航行信息顯示、目標(biāo)跟蹤與AIS 目標(biāo)報告、偏心顯示、量程切換、顯示模式、運(yùn)動模式、顏色模式切換等功能。線上測試(測試環(huán)境:云服務(wù)器機(jī)型配置為2 核4 GB、操作系統(tǒng)為WindowsServer 2012、公網(wǎng)帶寬5 Mb/s,應(yīng)用服務(wù)器為Tomcat 8.5,數(shù)據(jù)庫為MySQL 8.0)結(jié)果表明系統(tǒng)功能完備,運(yùn)行穩(wěn)定可靠,最大可支持40 人同時在線使用(系統(tǒng)無明顯卡頓,滿足仿真雷達(dá)顯示、響應(yīng)的實時性要求)。綜上,本文所設(shè)計的雷達(dá)仿真系統(tǒng)基本滿足STCW 公約A-I/12 節(jié)“用于培訓(xùn)的模擬器的一般性能標(biāo)準(zhǔn)”和“附加性能標(biāo)準(zhǔn)”中關(guān)于雷達(dá)模擬的要求,可用于航海雷達(dá)的在線教學(xué)與培訓(xùn)。未來要進(jìn)一步完善雷達(dá)仿真系統(tǒng)的功能,提高程序的響應(yīng)速度和安全穩(wěn)定性。

猜你喜歡
雜波多邊形雷達(dá)
淺談雷達(dá)導(dǎo)引系統(tǒng)
基于模糊邏輯的雙偏振天氣雷達(dá)地物雜波識別算法
機(jī)載雙基地雷達(dá)空時二維雜波建模與特性分析
一種雜波實時仿真方法*
隱形飛機(jī)哪里躲
多邊形內(nèi)外角問題的巧解
班上的“小雷達(dá)”
主被動復(fù)合末制導(dǎo)雷達(dá)仿真系統(tǒng)中的海雜波仿真研究
蒙住雷達(dá)的眼睛
有關(guān)多邊形邊數(shù)問題的思考方法
故城县| 西宁市| 吉林省| 姚安县| 黑河市| 秦安县| 白玉县| 金山区| 城口县| 高雄县| 桂平市| 江安县| 怀安县| 溆浦县| 磴口县| 赤峰市| 正蓝旗| 肥东县| 丰城市| 平邑县| 浮梁县| 新巴尔虎左旗| 龙泉市| 和林格尔县| 海宁市| 天祝| 临高县| 海安县| 石棉县| 如皋市| 中宁县| 莒南县| 区。| 堆龙德庆县| 三门峡市| 融水| 石柱| 永和县| 井冈山市| 宣恩县| 永善县|