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

?

兩種實現(xiàn)海面艦船SAR成像模擬的編程語言對比分析?

2019-03-01 02:52:16祝明波梁佐堂
計算機(jī)與數(shù)字工程 2019年1期
關(guān)鍵詞:編程語言海面艦船

郭 濤 祝明波 陳 麒 梁佐堂

(1.海軍航空大學(xué)電子信息工程系 煙臺 264001)(2.海軍航空大學(xué)研究生管理大隊 煙臺 264001)

1 引言

合成孔徑雷達(dá)(Synthetic Aperture Radar,SAR)具有全天時、全天候的觀測能力,對于海洋環(huán)境監(jiān)測、航海安全、漁業(yè)管理以及海面目標(biāo)的檢測、監(jiān)視與識別等方面的研究發(fā)揮著重要作用[1~3]。但是,SAR系統(tǒng)受到各種因素的制約,如探測環(huán)境、系統(tǒng)參數(shù)、目標(biāo)特性變化等,無法獲取滿足任意條件下的實測數(shù)據(jù),且測試代價大、可擴(kuò)展性和數(shù)據(jù)靈活性差[4]。對海面艦船目標(biāo)進(jìn)行成像模擬解決了SAR系統(tǒng)無法獲取任意條件下海面艦船SAR圖像的問題,在海上目標(biāo)識別、判讀人員訓(xùn)練、SAR系統(tǒng)設(shè)計優(yōu)化與性能評估等應(yīng)用中充分發(fā)揮其優(yōu)勢。

本文采用基于回波信號的模擬方法對海面艦船進(jìn)行SAR成像仿真。介紹了海面艦船SAR成像信號級模擬流程,分析其數(shù)據(jù)運算的特點。分別基于Microsoft Visual C++(以下簡稱VC++)與Matlab兩種開發(fā)環(huán)境,利用C和Matlab兩種編程語言實現(xiàn)海面艦船SAR成像仿真,對這兩種編程方法進(jìn)行對比研究。

2 海面艦船SAR成像信號級模擬流程

為實現(xiàn)海面艦船SAR成像信號級模擬,需構(gòu)建精細(xì)的艦船和時變動態(tài)海面三維復(fù)合模型,進(jìn)行面元的劃分;分析電磁波與隨時間演進(jìn)的海面及艦船之間的相互作用機(jī)理,通過電磁計算方法得到海面和艦船的電磁散射模型;分析海面與艦船復(fù)雜的電磁耦合機(jī)制引起的多徑效應(yīng),構(gòu)建多徑效應(yīng)模型;對復(fù)合模型進(jìn)行消隱處理,計算得到復(fù)合模型的后向散射系數(shù);根據(jù)系統(tǒng)參數(shù)進(jìn)行SAR回波模擬,生成原始回波信號;通過成像算法處理回波數(shù)據(jù),獲得SAR仿真圖像,實現(xiàn)海面艦船SAR成像信號級模擬[5~6]。其流程如圖1所示。

圖1 海面艦船SAR成像信號級模擬流程圖

本文中,海面模型采用雙線性疊加法建立,其海譜模型采用雙尺度模型。其波面高度表示為

式中,ζ(x,y,t)為(x,y)位置在t時刻的波點高度,aij為振幅,ki為波數(shù),θj為波向,ωi為角頻率,εij為初始相位。波數(shù)與角頻率的關(guān)系由色散公式確定。振幅滿足瑞利分布,可由雙尺度海譜模型來計算。

對海面艦船模型進(jìn)行遮擋判斷時,采用Z-Buffer算法,比較同一電磁波射線上所穿過的面元同雷達(dá)的距離值,做陰影判斷。因此,需要遍歷所有面元進(jìn)行比較計算。利用物理光學(xué)法和電磁散射計算得到各個面元的后向散射系數(shù)后,生成模擬回波。設(shè)方位向采樣點有M個,每個采樣點內(nèi)在距離向上發(fā)射N個脈沖串,對K個理想點目標(biāo)進(jìn)行采樣后,其回波數(shù)據(jù)為一M×N矩陣。回波離散后可表示為:

式中Sr為回波矩陣,σ為目標(biāo)模型的后向散射系數(shù)矩陣,C為電磁波傳播速度,λ為電磁波波長,Tr為脈沖持續(xù)時間,Tsar為合成孔徑時間。R、x(k)分別為目標(biāo)面元到雷達(dá)的斜距和在參考坐標(biāo)系中方位向坐標(biāo)。

由此可見,海面艦船SAR成像模擬的數(shù)據(jù)類型大部分是浮點型,數(shù)據(jù)的運算大部分為大規(guī)模的矩陣運算以及多層循環(huán)計算,其中矩陣運算主要是點乘以及求和運算。因此,其數(shù)據(jù)運算的特點屬于循環(huán)和浮點運算密集型。

3 開發(fā)環(huán)境簡介

由于海面艦船SAR成像模擬中含有大量矩陣運算,因此,常常利用以矩陣為運算基本單元的Matlab平臺實現(xiàn)成像仿真。而對于軟件的開發(fā),則往往采用VC++集成開發(fā)環(huán)境,這樣能夠提高應(yīng)用程序的設(shè)計效率,便于軟件的維護(hù)、升級。此外,VC++的代碼執(zhí)行效率比Matlab高。

3.1 Matlab簡介

Matlab是由Mathworks軟件開發(fā)公司設(shè)計的一款計算軟件,其運算的基本數(shù)據(jù)元素是沒有維數(shù)限制的陣列,使得用戶可以解決許多包含了矩陣和向量的公式計算的工程技術(shù)上的問題[7~9]。它主要面對科學(xué)計算、可視化以及交互式程序設(shè)計的計算環(huán)境[10]。其Matlab語言是一種解釋性語言,語法規(guī)則簡單、容易掌握、調(diào)試方便,具有強(qiáng)大、便捷的數(shù)學(xué)運算和圖形、圖像處理功能。

3.2 Microsoft Visual C++簡介

Microsoft Visual C++是Microsoft公司推出的C++開發(fā)工具,具有集成開發(fā)環(huán)境,可以提供C、C++以及C++/CLI等編程語言。它包括Microsoft的代碼優(yōu)化技術(shù)、強(qiáng)大的GUI功能和復(fù)雜的資源編輯器,應(yīng)用程序的設(shè)計效率高,開發(fā)系統(tǒng)執(zhí)行速度快,實時性好。具有接口友好、易維護(hù)和升級等優(yōu)點[11~13]。但是相對于 Matlab 缺乏對大量數(shù)據(jù)處理和分析、數(shù)據(jù)可視化分析方面的能力[14]。

4 兩種編程語言對比

Visual Studio 2010是由微軟公司研發(fā)的一套基于組件的開發(fā)工具構(gòu)成,是一套完整的開發(fā)工具。將Visual Basic、Visual C#和Visual C++集成到了同一開發(fā)環(huán)境[15~17]。安裝完 Visual Studio 2010后,在第一次運行中即可選擇VC++開發(fā)設(shè)置,即可進(jìn)入VC++開發(fā)環(huán)境。本文中所進(jìn)行的測試,均在CORSAIR 900D上進(jìn)行,操作系統(tǒng)為Windows7旗艦版64bit、內(nèi)存8GB、處理器為Intel(R)Xeon(R)CPU E3-1230 v3@3.30GHz。測試的軟件平臺為Matlab R2014和Visual Studio 2010。

4.1 Matlab與C執(zhí)行效率對比

通過第2節(jié)分析可知,海面艦船SAR成像模擬的數(shù)據(jù)類型大部分是浮點型,且運算中含有大量循環(huán)。因此,通過式(3)來對Matlab和C執(zhí)行效率進(jìn)行比較。

上述公式中,循環(huán)次數(shù)N隨之n指數(shù)增大,每次循環(huán)進(jìn)行一次浮點運算,并不涉及大容量內(nèi)存的存取,適合測試程序的浮點運算速度和執(zhí)行循環(huán)的效率。測試結(jié)果如表1所示。

表1 Matlab與C執(zhí)行效率對比

計算平均耗時數(shù)據(jù)時,取算法中的n=25。由上表數(shù)據(jù)可得,C語言在浮點運算和循環(huán)次數(shù)多的算法中代碼的執(zhí)行效率比Matlab高,大約是Matlab的4.35倍。

4.2 點目標(biāo)SAR成像仿真

根據(jù)SAR成像工作原理,通過Matlab和C語言編寫實現(xiàn)點目標(biāo)的回波仿真,隨著點目標(biāo)的數(shù)量的增加,比較兩種編程語言在點目標(biāo)進(jìn)行SAR成像仿真時的執(zhí)行效率。其耗時結(jié)果如圖2所示。

圖2 點目標(biāo)仿真下Matlab與C的耗時對比

由上圖可知,隨著成像區(qū)域點目標(biāo)個數(shù)的增加,點目標(biāo)成像仿真的時間呈線性增長。由C語言編寫實現(xiàn)點目標(biāo)SAR成像仿真的代碼執(zhí)行效率相對于Matlab所編寫的要高,且目標(biāo)點數(shù)越多,C語言實時性好的優(yōu)勢越明顯。

4.3 海面艦船SAR成像仿真

本文利用3DMAX軟件構(gòu)建艦船模型,同由雙尺度模型生成的海面模型復(fù)合成目標(biāo)模型;對目標(biāo)模型進(jìn)行遮擋判斷、消隱處理;利用物理光學(xué)法求解目標(biāo)模型的后向散射系數(shù);配置SAR系統(tǒng)參數(shù),生成模擬回波,通過成像算法處理回波獲得SAR圖像。其計算量主要在海面生成、艦船與海面復(fù)合模型的遮擋判斷以及回波生成這幾個方面。因此,將從這三個方面出發(fā),對Matlab與C的耗時進(jìn)行對比實驗。仿真的海面場景大小為200m×300m,仿真的像素點數(shù)為512×1024個,其結(jié)果如表2所示。

表2 海面艦船SAR成像仿真兩種語言耗時對比

由表中數(shù)據(jù)可知,海面艦船SAR成像仿真過程中消隱處理和回波生成耗時多,占總仿真時間約98%。并且在海面生成、消隱處理實現(xiàn)及回波計算上C語言執(zhí)行效率明顯占優(yōu)勢。在海面艦船SAR成像仿真的總耗時上,C語言編程大約是Matlab編程的5.70%。

在本節(jié)分別從執(zhí)行效率上、點目標(biāo)SAR成像仿真和海面艦船SAR成像仿真三個層次,對Matlab與C兩種編程語言進(jìn)行了仿真實驗,對比分析得出結(jié)論?;赩C++開發(fā)環(huán)境實現(xiàn)海面艦船SAR成像仿真的執(zhí)行效率比Matlab高,C語言實現(xiàn)的海面艦船SAR成像仿真比Matlab所實現(xiàn)的實時性更好。

5 結(jié)語

本文介紹并分析了信號級海面艦船SAR仿真的過程以及數(shù)據(jù)運算特點,介紹了Matlab和VC++開發(fā)環(huán)境。通過Matlab和C編程實現(xiàn)了信號級海面艦船SAR成像仿真。經(jīng)過仿真實驗對比分析,得出結(jié)論。

基于Matlab實現(xiàn)海面艦船SAR成像模擬,有以下幾方面優(yōu)勢。

1)數(shù)據(jù)結(jié)構(gòu)。Matlab的基本數(shù)據(jù)結(jié)構(gòu)是矩陣,對矩陣具有強(qiáng)大處理能力,而SAR成像模擬的計算過程大部分是對矩陣進(jìn)行運算,因此,相對于采用只支持標(biāo)量和非交互式的編程語言(如C語言)實現(xiàn)起來更為方便。

2)豐富的數(shù)學(xué)函數(shù)庫。Matlab中包含了大量的計算函數(shù),如成像處理算法中所用的Fourier變換和Inverse Fourier變換等,可以方便編程實現(xiàn)一些復(fù)雜的數(shù)學(xué)表達(dá)式。

3)強(qiáng)大的圖形圖像處理功能。Matlab具有數(shù)據(jù)可視化和圖像處理功能,為用戶提供了非常豐富的用于數(shù)據(jù)可視化的函數(shù),很好地滿足了SAR成像模擬的結(jié)果數(shù)據(jù)可視化需求。

基于VC++實現(xiàn)海面艦船SAR成像模擬,有以下幾方面優(yōu)勢。

1)代碼的執(zhí)行效率高。C語言是較低級的語言,程序生成的代碼質(zhì)量高,程序執(zhí)行效率高,一般只比匯編程序生成的目標(biāo)代碼效率低10-20%。在同一量級的循環(huán)次數(shù)下,C比Matlab的代碼執(zhí)行效率要高。海面艦船SAR成像模擬中數(shù)據(jù)的運算存在多層的大量的循環(huán),在實時性方面,C比Matlab有優(yōu)勢。

2)結(jié)構(gòu)式的語言。C語言是結(jié)構(gòu)式的語言,程序的各個部分除了必要的信息交流外彼此獨立,使得程序?qū)哟吻逦阌谑褂?、維護(hù)。

因此,對于SAR成像實時性要求較高的條件下,應(yīng)該選擇C語言編程。此外,基于VC++開發(fā)環(huán)境便于實現(xiàn)軟件開發(fā)、維護(hù)、升級,但是在數(shù)據(jù)可視化實現(xiàn)上繁瑣。而Matlab具有強(qiáng)大的圖形圖像處理功能,編程語言簡單,容錯性好,操作相對容易,對于SAR成像實時性要求不高的條件下,可以選擇Matlab進(jìn)行編程。

猜你喜歡
編程語言海面艦船
艦船通信中的噪聲消除研究
壓力-體積轉(zhuǎn)換在CFC編程語言中的實現(xiàn)解析
海面床,輕輕搖
艦船測風(fēng)傳感器安裝位置數(shù)值仿真
第六章 邂逅“胖胖號”
Java編程語言的特點與應(yīng)用
淺談不同編程語言對計算機(jī)軟件開發(fā)的影響
電子制作(2018年1期)2018-04-04 01:48:36
海面上的“一千座埃菲爾鐵塔”
面向?qū)ο骔eb開發(fā)編程語言的的評估方法
大英县| 璧山县| 辛集市| 靖边县| 松滋市| 静乐县| 普格县| 泰来县| 大方县| 称多县| 鄂伦春自治旗| 陆川县| 娄烦县| 介休市| 农安县| 静安区| 灌云县| 彰化市| 安泽县| 临夏市| 永寿县| 舞阳县| 滦南县| 泸溪县| 辽阳市| 芜湖市| 昌黎县| 周至县| 漠河县| 兴仁县| 哈密市| 游戏| 淮北市| 廉江市| 红桥区| 溆浦县| 镇雄县| 大荔县| 武冈市| 湘潭市| 铁力市|