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

基于Matlab與VC++混合編程的雷達探測威力預測技術實現

2016-10-19 04:55:54吳江華王玲玲
雷達與對抗 2016年3期

吳江華,王玲玲,周 元,付 林

(中國船舶重工集團公司第七二四研究所,南京 211153)

?

基于Matlab與VC++混合編程的雷達探測威力預測技術實現

吳江華,王玲玲,周元,付林

(中國船舶重工集團公司第七二四研究所,南京 211153)

應用Matlab與VC++混合編程技術,設計實現了雷達探測威力預測軟件。該軟件采用了模塊化的設計思想,實現基于海雜波的實時大氣波導特征估計及雷達探測威力預測。通過試驗驗證表明,該軟件性能良好,具有一定的工程應用價值。

Matlab;VC++;混合編程;海雜波;雷達探測威力;大氣波導

0 引 言

目前,大部分現役裝備的艦載和岸基雷達可通過海洋大氣環境形成的低空超折射傳播和對流層散射傳播路徑實現目標超視距探測。由于大氣波導特性的不同,往往對海上目標的超視距探測效能上存在很大的差異。為了解和掌握海上低空大氣特性,實時準確估計雷達探測威力,提升雷達作戰使用性能,需對海上低空大氣特性進行實時預報。

對雷達探測威力的估計主要有正演方法(基于氣象水文數據估計)及反演方法(基于海雜波反演)兩種方法。目前,正演方式存在以下問題:架設要求高、部隊陣地建設難度大;配合岸基雷達使用時存在受地形、海情的限制往往獲取海上氣象數據困難、使用受限問題;艦上/島上已有的氣象站數據不能滿足其算法要求;算法理論基于均勻海域,對非均勻海域預報誤差大等不足。反演方式彌補了正演方式的上述不足,因此本文采用反演方法。

反演方法算法復雜度高,開發難度大,周期長,且為了提高準確率反演算法需達到一定的迭代次數。這勢必延長反演時間,代碼的執行效率就尤為重要。反演方法可采用Matlab、VC++等方法實現。Matlab軟件的計算功能強大,然而其缺點也較明顯:創建圖形用戶界面的能力相對較弱;VC++是編譯性語言,以二進制代碼方式執行,其執行速度快但也存在固有的缺陷,許多復雜的數值計算在VC++中很難實現,代碼量及開發難度均較大。兩相比較,VC++的界面友好,執行速度高,但復雜算法實現相對困難;Matlab數值分析等能力較強,但創建界面能力及執行效率低。因此,將兩者充分結合,進行混合編程,用VC++編寫界面,用Matlab實現復雜算法處理,所開發程序的執行效率將大為提升[1]。

本文設計的利用海雜波進行雷達探測威力預測技術軟件系統,采用模塊化以函數庫形式實現二進制重用,同時充分利用Matlab與VC++混合編程技術,降低開發難度及周期,提升執行效率,保證反演的準確率及實時性。

1 基本原理

利用海雜波進行雷達探測威力預測的技術理論基礎是國外的RFC技術,其實現流程如圖 1所示。首先,假設蒸發波導模型用于表示大氣折射率的空間分布,同時需要確定環境參數的取值邊界。然后,根據電磁波傳播模型,并利用隨機環境參數計算出電磁波傳播的衰減因子,再根據海洋環境物理模型及海雜波模型,結合雷達的相關參數(包括天線垂直波束寬度、脈沖寬度、天線架高、工作波長、天線仰角、工作頻率、天線極化方式、天線類型、天線增益、發射功率、帶寬以及系統損耗)計算出離散化的海雜波回波強度隨距離的變化,并與實測的隨距離離散化的海雜波回波強度進行比對,在環境參數的取值范圍內進行迭代搜索,直至得出環境參數的最優解。最后,對蒸發波導模型進行不確定性估計,檢查基于最優解的大氣折射率剖面與實測的大氣折射率剖面的符合程度。如果誤差較大,則修正蒸發波導模型,并重新反演[2]。

圖1 基于海雜波的大氣波導估計技術的實現流程圖

2 基于Matlab與VC++混合編程技術的雷達探測威力預測軟件實現

利用海雜波進行雷達探測威力預測的技術實現,涉及多個特征參數邊界范圍內的迭代計算、全局優化搜索算法、拋物線方程迭代求解等復雜數學運算。本文采用Matlab與VC++進行混合編程,設計時采用VC++實現界面設計、圖形顯示、UDP網絡數據接收等。Matlab實現數據處理,利用Matlab遺傳算法包進行全局優化搜索實現參數反演等。兩者有機結合,綜合實現反演算法,達到高準確、準實時、用戶界面友好等的要求。

1.1軟件模塊劃分

利用海雜波進行雷達探測威力預測技術軟件系統主要由數據接收預處理模塊、參數反演模塊及顯示模塊3個模塊組成。數據接收預處理模塊實時接收雷達回波數據,進行海雜波數據提取與分離解算,統計其特征。參數反演模塊包含大氣折射率模型子模塊、海雜波模型子模塊、電磁波傳播子模塊、遺傳反演算法和不確定估計子模塊,主要實現折射率剖面參數估計,反演出蒸發波導的強度和高度,進而估計雷達最遠可探測距離。顯示模塊對計算結果以圖形的形式進行直觀顯示。軟件系統模塊圖如圖2。其中參數反演模塊采用Matlab與VC++混合編程實現,顯示模塊采用庫函數形式實現二進制重用。

圖2 軟件系統模塊圖

1.2利用Matlab自帶編譯器MCC轉換實現參數反演模塊

目前,VC++調用Matlab主要使用的方式為將Matlab程序編譯為VC++可以調用的動態鏈接庫(DLL)。VC++調用的方法主要有兩種:動態方法和靜態方法。動態方法即采用win32API的LoadLibrary、LoadLibraryEx或AfiLoadLibrary加載該DLL文件,再使用GetProcAddress查找并返回想要調用的函數地址,最后完成對該函數的調用。該方法在執行可執行文件時不能脫離Matlab的運行環境,降低了實用性和執行效率。靜態方法則在編譯時將執行所需的庫函數納入動態庫內,執行可執行文件時擺脫Matlab的運行環境,彌補了上述不足。下文主要對利用Matlab自帶編譯器MCC轉換m文件為動態鏈接庫、VC++靜態調用該動態鏈接庫的方法進行詳述。

1.2.1Matlab編譯環境設置

(1) 配置MEX使用某版本VC為默認的編譯器(為C-MEX文件必需)

啟動Matlab,運行:mex-setup,按照菜單提示選取VC版本。該步驟將安裝MatlabAdd-in所需文件到VC目錄。

(2) 配置使用VC為默認的編譯器(創建獨立應用程序必需)

在Matlab環境下運行:mbuild-setup,按提示選取VC版本。該步驟將安裝MatlabAdd-in所需的MatlabCompiler和C,C++數學庫文件到VC目錄。

上述兩個步驟將搜索安裝在本機上的C/C++編譯器并要求程序員指定哪個將與Matlab協同工作。程序員只要按照提示進行幾步選擇即可,配置工作由Matlab自動完成,其主要作用在于按照不同的C/C++編譯器版本,確定在源代碼轉換和生成時所應遵循的語法規范。

(3) 配置操作系統環境

除配置Matlab外,開發工具所在的操作系統也要進行配置。需要給操作系統的環境變量(Windows7中為用戶變量和系統變量)的路徑加入Matlab的有關目錄,即指定Matlab的bin、binwin32、externlibwin32microsoft等幾個子目錄的位置。同時,應在環境變量path中添加%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem。注意上述添加內容應增加在path中最前面,一般安裝的程序路徑應在系統路徑的后面,否則會出現“ERRORusingmcc,returnstatus=1”的錯誤。

1.2.2利用Deployment Tool生成可供VC直接調用的動態鏈接庫

具體步驟如下:

(1) 在Matlab2008的命令窗口運行deploytool,在DeploymentTool中創建一個新的與C++交互的工程,工程名即為動態鏈接庫名。

(2) 在該工程下添加欲轉換的m文件。

(3) 在項目的設置中,將MCR添加到輸出結果中,以便在沒有安裝Matlab2008的計算機上也能運行。

(4) 選擇BuildtheProject,編譯完成后選擇PackagetheProject,在該項目路徑下會生成DLL文件。

如果選中了MCR,則會產生MyDOTNET_PlotData_pkg.exe文件。在沒安裝Matlab2008的計算機上可運行此文件,以便安裝Matlab2008的運行庫(只需安裝一次即可)。

1.2.3VC++調用Matlab生成的dll

具體步驟如下:

(1) 將生成的.lib和.dll文件拷貝至VC工程的dug下。

(2) 將生成的.h文件添加至VC工程的頭文件中。

項目屬性中,需設置C/C++“常規”中附加包含目錄添加Matlab的include路徑,鏈接器“常規”中附加包含目錄添加Matlab的lib路徑,鏈接器“輸入”GA.lib,mclmcrrt.lib,mclmcr.lib否則運行會出錯。

(3) 初始化動態鏈接庫

mclInitializeApplication(NULL,0);

(4) 加載動態鏈接庫

if(!bInit)

{

iReturn=GAInitialize();

bInit=TRUE;

}

(5) 釋放動態鏈接庫

GATerminate();

mclTerminateApplication();

(6)matlab與VC++數據交互示例

if(iReturn)

{

//VC向matlab傳入數值

floatnoiseScale= 11.1;

mwArraynoiseScaleInput(1,1,mxDOUBLE_CLASS);

noiseScaleInput.SetData(&noiseScale,1);

//VC向matlab傳入數組

intPutGaDataLength= 1500;

double*pSingalData;

pSingalData=NULL;

pSingalData=newdouble[PutGaDataLength];

for(inti=0;i

{

*(pSingalData+i) =i;

}

mwArraySingalDataInput(PutGaDataLength,1,mxDOUBLE_CLASS);

SingalDataInput.SetData(pSingalData,PutGaDataLength);

intnargout= 2;

mwArrayhBest(1,1,mxDOUBLE_CLASS);

h=newdouble;

mwArrayMBest(1,1,mxDOUBLE_CLASS);

M=newdouble;

//dll提供的接口,Ga(傳出參數個數,傳出參數,各個傳入參數)

Ga(nargout,hBest,MBest,SingalDataInput,noiseScaleInput);

//matlab向VC傳出數值的獲取

hBest.GetData(h,1);

MBest.GetData(M,1);

}

1.3軟件運行效果

圖3為利用海雜波進行雷達探測威力預測系統軟件運行時Matlab遺傳算法迭代優化搜索蒸發波導高度、強度的過程圖。圖4為軟件運行結果界面圖,分別顯示了大氣折射率剖面結果圖及雷達傳播損耗圖。

圖3 Matlab遺傳算法反演結果圖

圖4 VC++軟件界面圖

2 利用海雜波進行雷達探測威力預測技術軟件系統試驗驗證

2.1試驗方法

對現有的海用超視距雷達探測試驗系統進行改造,形成海上環境探測系統。該系統主要由某雷達樣機、基于海雜波的雷達探測威力預測系統、高速數據采集分析儀和探空氣象儀組成,如圖5所示。本系統主要利用某雷達實現海上超視距主動探測;高速數據采集分析儀對雷達的回波數據進行采集、記錄,便于事后分析;利用探空氣象儀的實測數據對基于海雜波的雷達探測威力預測系統的結果進行比對驗證。

圖5 試驗系統組成及試驗方法示意圖

2.2試驗數據處理方法

2.2.1探空氣球數據處理方法

將探空氣球采集的隨高度分布的氣象數據剔除野點、校正高度后作平滑處理,利用折射率理論計算方法得出折射率剖面圖,計算蒸發波導高度值。該處理結果作為蒸發波導高度的真值。

2.2.2雷達回波數據處理方法

(1) 對采集的雷達回波數據進行平滑濾波,以抑制雷達系統噪聲;

(2) 通過傅里葉變換計算多普勒頻移,并結合對雷達回波的空間分布、幅度統計特性、時間相關性、頻譜特性及時頻二維特性的分析,將海雜波數據從雷達回波數據中進行分離。該處理結果作為反演時全局優化搜索的真值。

圖6 雷達回波數據處理流程

2.3試驗結果

該次試驗歷時一周,針對典型天氣進行試驗驗證。對該次試驗12組有效數據進行分析,雷達最遠可探測距離預測準確率為78.5%(遺傳搜索迭代1000次,種群大小64,數據源5000個,平均反演時間10min),具體結果見表1。美國斯克利普斯研究所的海洋物理研究室PeterGerstoft研究的TPEM模型,其雷達最遠可探測距離預測準確率為>80%(遺傳搜索迭代1000次,種群大小64,數據源5000個,平均反演時間1h)[4]。

如果單純地用C++來實現,要得出上述結果,一條FFT語句需要近50條C++語言語句,單遺傳算法則需要幾十萬行C++代碼,開發難度大,且執行效率難以控制,準確率及實時性得不到保證。本文采用Matlab與VC++混合編程的技術,在保證基本不降低準確率的前提下,反演時間由1h縮短到10min,實時性得到了較大的提升。

表1 雷達最遠可探測距離預報值與實際值數據分析

后續可進一步開展試驗對各模型進行敏感性、適應性分析并進行修正與系數調整等,在反演時間與準確率之間實現最優平衡,以實現準實時、高準確率估計。

3 結束語

Matlab與VC++的通信有助于發揮Matlab和VC++的各自優勢,實現大數據復雜運算、網絡數據交互、友好圖形顯示及操控等功能,同時可提高程序執行效率,降低開發難度。本文研究的基于Matlab與VC++混合編程的探測威力預測系統軟件,能夠滿足雷達探測威力估計對實時性及準確率的要求,具有一定的工程應用價值。Matlab與VC++混合編程技術為雷達數據處理及仿真等提供了新的技術途徑及分析手段。

[1]韋美雁.Matlab與VC的接口設計[J].湖南科技學院學報, 2006,5(27):111.

[2]王玲玲,申宏亞,王向敏.基于海雜波的雷達探測效能估計技術[J].雷達與對抗,2013,9(32):111-112.

[3]穆以東,趙嶺.VC++與Matlab混合編程方法研究[J].測控技術,2013,9(32):111-112.

[4]PeterGertoft.SAGAUserManual5.1:Aninversionsoftwarepackage[M].MarinePhysicalLaboratoryScrippsInstitutionofOceanographyUniversityofCaliforniaatSanDiego,2004.9.

ImplementationofradarcoveragepredictiontechnologybasedonMatlabandVC++hybridprogramming

WUJiang-hua,WANGLing-ling,ZHOUYuan,FULin

(No.724ResearchInstituteofCSIC,Nanjing211153)

TheradarcoveragepredictionsoftwareisdesignedandimplementedusingtheMatlabandVC++hybridprogrammingtechnology.Thesoftwareadoptsthemodularizeddesign,realizingreal-timefeatureestimationoftheatmosphericductandradarcoveragepredictionbasedontheseaclutters.Thetestresultsindicatethatthesoftwarehasgoodperformanceandhighengineeringapplicationvalue.

Matlab;VC++;hybridprogramming;seaclutter;radarcoverage;atmosphericduct

2016-05-10

吳江華(1985-),男,工程師,碩士,研究方向:海雜波反演研究;王玲玲(1984-),女,工程師,碩士,研究方向:海雜波反演研究及軟件總體技術;周元(1987-),女,工程師,碩士,研究方向:雷達顯示技術及軟件總體技術;付林(1975-),男,研究員,博士,研究方向:雷達總體技術。

TP311.52

A

1009-0401(2016)03-0062-05

主站蜘蛛池模板: 亚洲一区二区无码视频| 国产av无码日韩av无码网站| 九色最新网址| 色综合天天娱乐综合网| 国产成人精品一区二区秒拍1o| 日韩最新中文字幕| 欧美成人h精品网站| 毛片免费高清免费| 日本午夜三级| www.av男人.com| 国产精品美乳| 亚洲精品视频网| 人妻少妇乱子伦精品无码专区毛片| 一级毛片免费的| 国产青青操| 天天激情综合| 日日碰狠狠添天天爽| 国产主播一区二区三区| 无码区日韩专区免费系列 | 日韩国产高清无码| 国产精品蜜臀| 国产女人在线视频| 久久影院一区二区h| 国产69精品久久久久孕妇大杂乱| 色窝窝免费一区二区三区 | 青青国产视频| 全部无卡免费的毛片在线看| 九九视频在线免费观看| 久久久久亚洲AV成人人电影软件| 欧美亚洲国产视频| 亚洲二区视频| A级毛片无码久久精品免费| 极品性荡少妇一区二区色欲| 中文字幕第4页| 国产欧美日韩va| 国产精品美乳| 欧美在线伊人| 亚洲第一综合天堂另类专| 91精品久久久久久无码人妻| 在线综合亚洲欧美网站| 中文字幕一区二区人妻电影| 一级黄色网站在线免费看| 国产福利小视频在线播放观看| 99re经典视频在线| 青青草原国产免费av观看| 91精品网站| 久久96热在精品国产高清| 久久久精品国产SM调教网站| 人妻出轨无码中文一区二区| 日韩精品欧美国产在线| 狠狠色噜噜狠狠狠狠色综合久| 国产成人a毛片在线| 天天做天天爱夜夜爽毛片毛片| 永久天堂网Av| 亚洲欧美日韩动漫| 欧美一级99在线观看国产| 国产激爽大片在线播放| 天天爽免费视频| 成人在线亚洲| 欧美一级片在线| 国产在线精彩视频二区| 国产免费看久久久| 亚洲精品天堂在线观看| 国产乱子伦手机在线| a毛片在线| 日韩一级毛一欧美一国产| 欧美天堂久久| 老司机午夜精品视频你懂的| 国产亚洲欧美日韩在线一区| 操国产美女| 国产性生大片免费观看性欧美| 91国内在线视频| Jizz国产色系免费| 日本在线亚洲| 亚洲一欧洲中文字幕在线| 在线综合亚洲欧美网站| 亚洲制服丝袜第一页| 国产精品自在在线午夜区app| 久久精品中文字幕免费| 国产亚洲高清在线精品99| 网友自拍视频精品区| 蜜芽一区二区国产精品|