主要内容gydF4y2Ba

模拟雷达返回从海洋表面移动gydF4y2Ba

海事雷达系统运行在一个具有挑战性的、动态的环境。提高探测感兴趣的目标,评估系统性能,重要的是要理解返回从海洋表面的性质。gydF4y2Ba

在本例中,您将模拟一个x波段雷达系统用于海洋学研究的海洋国家。雷达系统是固定的,海上平台。您将首先生成一个移动的海上海面状态4使用Elfouhaily谱模型。你从海洋表面会产生智商的回报和调查的统计数据和时频行为模拟海面的信号。gydF4y2Ba

定义雷达系统参数gydF4y2Ba

定义一个x波段雷达系统与距离分辨率约等于30米。验证分辨率按预期使用范围gydF4y2Babw2rangeresgydF4y2Ba函数。gydF4y2Ba

rng (2021)gydF4y2Ba%初始化随机数生成器gydF4y2Ba%雷达参数gydF4y2Ba频率= 9.39 e9;gydF4y2Ba%中心频率(赫兹)gydF4y2Ba脉冲重复频率= 500;gydF4y2Ba%脉冲重复频率(赫兹)gydF4y2Ba兼总经理= 100 e-6;gydF4y2Ba%脉冲宽度(s)gydF4y2BaazBw = 2;gydF4y2Ba%方位波束宽度(度)gydF4y2Badepang = 30;gydF4y2Ba%俯视角(度)gydF4y2BaantGain = 45.7;gydF4y2Ba%天线增益(dB)gydF4y2Bafs = 10 e6;gydF4y2Ba%采样频率(赫兹)gydF4y2Babw = 5 e6;gydF4y2Ba%波形带宽(赫兹)gydF4y2Babw2rangeres (bw)gydF4y2Ba
ans = 29.9792gydF4y2Ba

接下来,定义海面风速的作为一个海洋国家4 19节,2米的分辨率。海洋表面的长度设置为512米。gydF4y2Ba

%海面gydF4y2BaseaState = 4;gydF4y2Ba%海况数量gydF4y2Ba大众= 19;gydF4y2Ba%风速(节)gydF4y2BaL = 512;gydF4y2Ba%海面长度(米)gydF4y2BaresSurface = 2;gydF4y2Ba%的解决海面(m)gydF4y2Ba%计算波长光的速度gydF4y2Ba(λ,c) = freq2wavelen(频率);gydF4y2Ba%设置传感器和模拟时间轨迹gydF4y2Bardrht = 100;gydF4y2Ba%雷达平台高度(米)gydF4y2Bardrpos = (- l / 2 0 rdrht);gydF4y2Ba%雷达位置[x y z] (m)gydF4y2BanumPulses = 1024;gydF4y2Ba%的脉冲数gydF4y2BascenarioUpdateTime = 1 /脉冲重复频率;gydF4y2Ba%的场景更新时间(秒)gydF4y2BascenarioUpdateRate =脉冲重复频率;gydF4y2Ba%的场景更新率(赫兹)gydF4y2BasimTime = scenarioUpdateTime。* (numPulses - 1);gydF4y2Ba%总体仿真时间(秒)gydF4y2Ba

模型的海面gydF4y2Ba

定义一个场景gydF4y2BaradarScenariogydF4y2Ba。接下来,添加海上运动gydF4y2BaseaSpectrumgydF4y2Ba。保持gydF4y2BaSpectrumSourcegydF4y2Ba属性默认gydF4y2Ba汽车gydF4y2Ba使用Elfouhaily频谱。将分辨率设置为2米。Elfouhaily模型由一个海谱和一个角扩散函数。海谱模型得到物理性质如风速和获取的gydF4y2Ba海平面gydF4y2Ba,你将在本节的后面看到。gydF4y2Ba

你也可以通过设置导入您自己的自定义模型gydF4y2BaseaSpectrumgydF4y2BaSpectrumSourcegydF4y2Ba财产gydF4y2Ba自定义gydF4y2Ba。选择海在文献中包括JONSWAP谱模型,Donelan-Pierson, Pierson-Moskovitz光谱。gydF4y2Ba

%创建场景gydF4y2Ba现场= radarScenario (gydF4y2Ba“UpdateRate”gydF4y2BascenarioUpdateRate,gydF4y2Ba…gydF4y2Ba“IsEarthCentered”gydF4y2Ba假的,gydF4y2Ba“StopTime”gydF4y2Ba,simTime);gydF4y2Ba%定义Elfouhaily海谱gydF4y2BaseaSpec = seaSpectrum (gydF4y2Ba“决议”gydF4y2BaresSurface)gydF4y2Ba%见Elfouhaily参考gydF4y2Ba
seaSpec = seaSpectrum属性:SpectrumSource:“汽车”决议:2gydF4y2Ba

现在,选择一个反射率模型。雷达工具箱™为海洋提供了9个不同的反射率模型表面覆盖广泛的频率,放牧的角度,和海洋国家。星号表示默认模式。类型gydF4y2Ba帮助gydF4y2BasurfaceReflectivitySeagydF4y2Ba或gydF4y2Ba医生gydF4y2BasurfaceReflectivitySeagydF4y2Ba在命令窗口中使用的更多信息和适用放牧角度为每个模型。大海反射率模型如下。gydF4y2Ba

  • APL:gydF4y2Ba半经验模型支持低放牧角度范围从1到100 GHz的频率。适用于州1到6。gydF4y2Ba

  • GIT:gydF4y2Ba半经验模型支持低放牧角度范围从1到100 GHz的频率。适用于州1到6。gydF4y2Ba

  • 混合:gydF4y2Ba半经验模型支持低到中等放牧角度在频率范围从500 MHz到35 GHz。适用于州0到5。gydF4y2Ba

  • 益:gydF4y2Ba经验模型支持低放牧角度在频率范围从8 - 40 GHz。适用于州1到6。gydF4y2Ba

  • 内桑森:gydF4y2Ba经验模型支持低放牧角度在频率范围从300 MHz到36 GHz。适用于州0到6。gydF4y2Ba

  • 海军研究实验室*:gydF4y2Ba经验模型支持低放牧角度在频率范围从500 MHz到35 GHz。适用于州0到6。gydF4y2Ba

  • RRE:gydF4y2Ba数学模型支持低放牧角度在频率范围从9到10 GHz。适用于州1到6。gydF4y2Ba

  • Sittrop:gydF4y2Ba经验模型支持低放牧角度在从8到12 GHz频率范围内。适用于州0到7。gydF4y2Ba

  • TSC:gydF4y2Ba经验模型支持低放牧角度在频率范围从500 MHz到35 GHz。适用于州0到5。gydF4y2Ba

对于这个示例,设置GIT的反射率(美国乔治亚理工学院(Georgia Institute of Technology)模型。对于一般的讨论海洋反射率模型和它们是如何影响频率、入射余角,海况,极化,看到gydF4y2Ba海事雷达海面回波建模gydF4y2Ba的例子。gydF4y2Ba

%定义反射率模型gydF4y2Ba波尔=gydF4y2Ba“V”gydF4y2Ba;gydF4y2Ba%极化gydF4y2BareflectModel = surfaceReflectivity (gydF4y2Ba“海”gydF4y2Ba,gydF4y2Ba“模型”gydF4y2Ba,gydF4y2Ba“GIT”gydF4y2Ba,gydF4y2Ba“SeaState”gydF4y2BaseaState,gydF4y2Ba“极化”gydF4y2Ba波尔)gydF4y2Ba
reflectModel = surfaceReflectivitySea属性:EnablePolarization: 0模型:“GIT”SeaState: 4极化:“V”斑纹:“没有”gydF4y2Ba

添加一个海面雷达使用海洋场景gydF4y2Ba表面gydF4y2Ba。指定前面定义的海洋光谱反射率模型到海面。gydF4y2Ba海平面gydF4y2Ba房子表面的物理性质。的gydF4y2Ba风速gydF4y2Ba,gydF4y2BaWindDirectiongydF4y2Ba,gydF4y2Ba获取gydF4y2Ba属性是用于生成Elfouhaily海谱。通过深思熟虑的选择这些属性和海面的分辨率,重力和毛细波可以产生不同的时代浪潮。gydF4y2Ba

毛细波高频,small-wavelength波,有一个圆形的波峰与v型槽,不到2厘米。长重力波,低频波。的gydF4y2BaseaSpectrumgydF4y2Ba对象不能模型碎波,波,达到一个临界振幅导致波能量被转化为湍流,动能。风速越大,越大能量转移到海洋表面波浪越大。gydF4y2Ba

获取的长度是水的风没有阻碍。Elfouhaily模型fetch逆波年龄有关gydF4y2Ba ΩgydF4y2Ba CgydF4y2Ba 作为gydF4y2Ba

ΩgydF4y2Ba CgydF4y2Ba =gydF4y2Ba 0gydF4y2Ba 。gydF4y2Ba 84年gydF4y2Ba 双曲正切gydF4y2Ba (gydF4y2Ba (gydF4y2Ba XgydF4y2Ba XgydF4y2Ba 0gydF4y2Ba )gydF4y2Ba 0gydF4y2Ba 。gydF4y2Ba 4gydF4y2Ba )gydF4y2Ba - - - - - -gydF4y2Ba 0gydF4y2Ba 。gydF4y2Ba 75年gydF4y2Ba 。gydF4y2Ba

XgydF4y2Ba 是计算gydF4y2Ba

kgydF4y2Ba 0gydF4y2Ba =gydF4y2Ba ggydF4y2Ba UgydF4y2Ba 10gydF4y2Ba 和gydF4y2Ba XgydF4y2Ba =gydF4y2Ba kgydF4y2Ba 0gydF4y2Ba 获取gydF4y2Ba ,gydF4y2Ba

在哪里gydF4y2Ba ggydF4y2Ba 的重力加速度是米每秒的平方,gydF4y2Ba UgydF4y2Ba 10gydF4y2Ba 10米以上的风速表面在m / s,然后呢gydF4y2Ba XgydF4y2Ba 0gydF4y2Ba 是一个常量设置为2.2 e4。发达的海上有一个逆波年龄为0.84,一个成熟的海上有一个值约为1,和一个年轻的海有一个值在2到5之间。gydF4y2Ba

的默认获取gydF4y2Ba海平面gydF4y2Ba是无穷,它产生一个发育完全的海洋。Elfouhaily谱中可以找到更多信息在这个例子中,列出的参考的文档gydF4y2BaseaSpectrumgydF4y2Ba。gydF4y2Ba

海面的高程值可以通过使用gydF4y2Ba高度gydF4y2Ba海面上的方法。绘制雷达和海洋表面使用gydF4y2BahelperSeaSurfacePlotgydF4y2Ba。gydF4y2Ba

%配置海面gydF4y2Baknots2mps = 0.514444;gydF4y2Ba%结米/秒gydF4y2Ba大众汽车大众= * knots2mps;gydF4y2Ba%风速(米/秒)gydF4y2BaseaSurf =海平面(场景,gydF4y2Ba“SpectralModel”gydF4y2BaseaSpec,gydF4y2Ba“RadarReflectivity”gydF4y2BareflectModel,gydF4y2Ba…gydF4y2Ba“风速”gydF4y2Ba大众,gydF4y2Ba“WindDirection”gydF4y2Ba0,gydF4y2Ba“边界”gydF4y2Ba,- L / 2 L / 2;- L / 2 L / 2)gydF4y2Ba
seaSurf =海平面的属性:风速:9.7744 WindDirection: 0取:正SpectralModel: [1 x1 seaSpectrum] RadarReflectivity: [1 x1 surfaceReflectivitySea] ReflectivityMap: 1 ReferenceHeight: 0边界:[2 x2双]gydF4y2Ba
%绘制海面和雷达gydF4y2Bax = - L / 2: resSurface: (L / 2 - 1);y = - L / 2: resSurface: (L / 2 - 1);[xGrid, yGrid] = meshgrid (x, y);z =身高(seaSurf [xGrid (:)。”;yGrid (:)。”], scene.SimulationTime);helperSeaSurfacePlot (x, y, z, rdrpos)gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象标题海面高度,包含X (m), ylabel Y (m)包含2类型的对象表面,线。一个或多个行显示的值只使用这些对象标记代表海面,雷达。gydF4y2Ba

调查统计数据的高程值的海面。首先,计算和绘制累积分布函数使用gydF4y2BahelperSeaSurfaceCDFgydF4y2Ba。你可以用这个图来确定的概率将小于或等于一个观察某一高程值。例如,90%的海拔将小于或等于1米左右。95%的海拔将小于或等于1.5米。如果你想改变的数据生成的海面增加高度,你可以增加风速提供更多的能量。gydF4y2Ba

% CDF实验组的gydF4y2BahelperSeaSurfaceCDF (z)gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象与标题波仰角提供,包含波仰角(m), ylabel概率包含一个类型的对象。gydF4y2Ba

接下来,估计有效波高gydF4y2BahelperEstimateSignificantWaveHeightgydF4y2Ba。获得的估计是通过波的意思是最高的1/3高度,波高在哪里定义从trough-to-crest视觉图中表示。gydF4y2Ba

%有效波高gydF4y2BaactSigHgt = helperEstimateSignificantWaveHeight (x, y, z)gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象与标题波高估计,包含X (m), ylabel海拔(m)包含3线类型的对象。一个或多个行显示的值只使用这些对象标记表示波高程数据,波谷、波峰。gydF4y2Ba

actSigHgt = 1.6340gydF4y2Ba

预期的浪高海况4介于1.25和2.5米之间。注意,模拟海洋表面的范围内预期的值。gydF4y2Ba

expectedSigHgt = (1.25 - 2.5);gydF4y2Ba%海况4gydF4y2BaactSigHgt > = expectedSigHgt (1) & & actSigHgt < = expectedSigHgt (2)gydF4y2Ba
ans =gydF4y2Ba逻辑gydF4y2Ba1gydF4y2Ba

最后,情节的一个子集海面高度随时间运动由于形象化Elfouhaily海谱。注意,模拟的雷达数据收集只运行时间为2秒,但情节10秒的时间得到更好的运动。取消注释gydF4y2BahelperSeaSurfaceMotionPlotgydF4y2Ba情节的海面移动。gydF4y2Ba

%绘制海面运动gydF4y2BaplotTime = 0:0.5:10;gydF4y2Ba%的情节时间(秒)gydF4y2Ba% helperSeaSurfaceMotionPlot (x, y, seaSurf plotTime);%取消情节运动gydF4y2Ba

seaSurfaceMotionPlot.gifgydF4y2Ba

配置雷达收发机gydF4y2Ba

在本节中,配置雷达系统属性。定义传输的天线和线性调频(lem)波形。分配雷达的雷达传感器平台。gydF4y2Ba

%创建一个雷达平台使用轨迹信息gydF4y2Bardrplat =平台(场景,gydF4y2Ba“位置”gydF4y2Ba,rdrpos);gydF4y2Ba%创建一个雷达传感器寻求东方gydF4y2Bardr = radarTransceiver (gydF4y2Ba“MountingAngles”gydF4y2Ba(0 depang 0),gydF4y2Ba“NumRepetitions”gydF4y2Ba1);gydF4y2Ba%配置线性调频雷达的信号gydF4y2Bardr。波形= phased.LinearFMWaveform (gydF4y2Ba“SampleRate”gydF4y2Bafs,gydF4y2Ba“脉冲宽度”gydF4y2Ba一系列问题,gydF4y2Ba…gydF4y2Ba脉冲重复频率的gydF4y2Ba脉冲重复频率,gydF4y2Ba“SweepBandwidth”gydF4y2Babw);gydF4y2Ba%设置接收器采样率和噪声图gydF4y2Bardr.Receiver。SampleRate = f;rdr.Receiver。NoiseFigure = 10;gydF4y2Ba%定义传输和接收天线和相应的参数gydF4y2Ba蚂蚁= phased.SincAntennaElement (gydF4y2Ba波束宽度的gydF4y2Ba,azBw);rdr.TransmitAntenna。OperatingFrequency =频率;rdr.ReceiveAntenna。OperatingFrequency =频率;rdr.Transmitter。获得= antGain;rdr.Receiver。获得= antGain;rdr.TransmitAntenna。传感器=蚂蚁;rdr.ReceiveAntenna。传感器=蚂蚁;gydF4y2Ba%增加雷达雷达平台gydF4y2Bardrplat。传感器= rdr;gydF4y2Ba

生成DatacubegydF4y2Ba

现在现场和雷达系统已经定义,产生收益的海面gydF4y2BaclutterGeneratorgydF4y2Ba方法和收集IQ数据使用gydF4y2Ba收到gydF4y2Ba方法,它位于gydF4y2BaradarScenariogydF4y2Ba对象。默认情况下,gydF4y2BaclutterGeneratorgydF4y2Ba模拟mainlobe杂乱的回报。关于杂波建模的更多信息,请参阅gydF4y2Ba介绍雷达杂波仿真场景gydF4y2Ba。gydF4y2Ba

使用助手gydF4y2BahelperPlotRawIQgydF4y2Ba和gydF4y2BahelperUpdatePlotRawIQgydF4y2Ba情节未处理,原始智商数据。gydF4y2Ba

%收集与clutterGenerator杂乱的回报gydF4y2BaclutterGenerator(场景,rdr);gydF4y2Ba%运行场景gydF4y2BanumSamples = 1 /脉冲重复频率* fs;maxRange = 20 e3;Trng = (0:1 / fs:(numSamples-1) / fs);rngGrid = [0 time2range (Trng(2:结束),c));[~,idxTruncate] = min (abs (rngGrid - maxRange));iqsig = 0 (idxTruncate numPulses);2 = 1;hRaw = helperPlotRawIQ (iqsig);gydF4y2Ba而gydF4y2Ba推进(场景)tmp =接收(现场);gydF4y2Ba% nsamp x 1gydF4y2Baiqsig(:,(二)= tmp {1} (1: idxTruncate);gydF4y2Ba如果gydF4y2Ba国防部(ii, 128) = = 0 helperUpdatePlotRawIQ (hRaw iqsig);gydF4y2Ba结束gydF4y2Ba2 = 2 + 1;gydF4y2Ba结束gydF4y2BahelperUpdatePlotRawIQ (hRaw iqsig);gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象与标题原始智商,包含脉冲,ylabel样品表面包含一个类型的对象。gydF4y2Ba

处理海面的回报gydF4y2Ba

使用gydF4y2Baphased.RangeResponsegydF4y2Ba脉冲压缩返回的智商数据。使用可视化range-time行为gydF4y2BahelperRangeTimePlotgydF4y2Ba。如果海面是静态的,你会看到直,在情节水平线,但大海返回展现活力。在给定的范围内,大小随时间变化。注意,返回发生在一个小范围的子集由于几何(雷达高度、波束宽度和俯角)。gydF4y2Ba

%脉冲压缩gydF4y2BamatchingCoeff = getMatchedFilter (rdr.Waveform);rngresp = phased.RangeResponse (gydF4y2Ba“RangeMethod”gydF4y2Ba,gydF4y2Ba匹配滤波器的gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“PropagationSpeed”gydF4y2BacgydF4y2Ba“SampleRate”gydF4y2Bafs);[pcResp, rngGrid] = rngresp (iqsig matchingCoeff);gydF4y2Ba%的阴谋gydF4y2BapcsigMagdB = mag2db (abs (pcResp));[maxVal, maxIdx] = max (pcsigMagdB (:));pcsigMagdB = pcsigMagdB - maxVal;helperRangeTimePlot (rngGrid,脉冲重复频率,pcsigMagdB);gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象与标题和时间范围,包含时间(秒),ylabel范围(m)包含一个类型的对象的表面。gydF4y2Ba

使用范围指数最大值和可视化的大小和时间在这个范围内本使用gydF4y2BahelperMagTimePlotgydF4y2Ba。gydF4y2Ba

%画出大小和时间gydF4y2Ba[idxRange ~] = ind2sub(大小(pcsigMagdB), maxIdx);helperMagTimePlot (pcsigMagdB (idxRange:), numPulses,脉冲重复频率,rngGrid (idxRange));gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象与标题大小和时间范围194.87 (m),包含时间(秒),ylabel级(dB)包含一个类型的对象。gydF4y2Ba

接下来,生成一个时频块相同的范围本使用gydF4y2BahelperSTFTPlotgydF4y2Ba。生成阴谋使用短时傅里叶变换函数gydF4y2BastftgydF4y2Ba。gydF4y2Ba

% STFTgydF4y2BaF (S, T) = stft (pcResp (idxRange:), scenarioUpdateRate);helperSTFTPlot (S、F T,λ,rngGrid (idxRange));gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象与标题STFT范围194.87 (m),包含时间(秒),ylabel速度(米/秒)包含一个类型的对象的表面。gydF4y2Ba

注意,本范围的检测速度变化随着时间的推移,由于海洋表面的运动。在更长的仿真时间,检测周期的研究。gydF4y2Ba

最后,形成一个柱状图中的数据大小值的范围在180至210米gydF4y2BahelperHistPlotgydF4y2Ba。注意直方图的形状类似于威布尔分布。如果你有统计和机器学习工具箱™,你可以使用gydF4y2BafitdistgydF4y2Ba函数的参数的威布尔分布数据的大小。gydF4y2Ba

%看数据的一个子集规模范围和转换为分贝gydF4y2Ba[~,idxMin] = min (abs (rngGrid - 180));[~,idxMax] = min (abs (rngGrid - 210));pcsigMagdB = mag2db (abs (pcResp (idxMin: idxMax:)));gydF4y2Ba%删除任何正的值gydF4y2BapcsigMagdB (isinf (pcsigMagdB (:))) = [];gydF4y2Ba%值转移到是正的gydF4y2BapcsigMagdB = pcsigMagdB (:) - min (pcsigMagdB(:)) +每股收益;gydF4y2Ba%威布尔参数gydF4y2Ba%注意:这些值可以得到如果你使用fitdist (pcsigMagdB,威布尔)gydF4y2Ba规模= 37.8589;形状= 7.80291;gydF4y2Ba%绘制直方图与理论PDF覆盖gydF4y2BahelperHistPlot (pcsigMagdB、尺度、形状);gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象标题幅度直方图,包含标准化的大小(dB), ylabel PDF包含2直方图类型的对象,线。gydF4y2Ba

总结gydF4y2Ba

在这个例子中,您学习了如何:gydF4y2Ba

  • 构建一个雷达的情况下,gydF4y2Ba

  • 模型一个移动的海面,gydF4y2Ba

  • 研究海平面数据和行为,gydF4y2Ba

  • 生成的智商,gydF4y2Ba

  • 执行时频处理模拟智商上的回报。gydF4y2Ba

这个例子可以很容易地扩展到包括目标支持应用程序包括海上监视和雷达成像等。gydF4y2Ba

引用gydF4y2Ba

  1. Apel约翰·R。gydF4y2Ba海洋物理学原理gydF4y2Ba。国际地球物理学系列,诉38。伦敦;奥兰多:学术出版社,1987年。gydF4y2Ba

  2. Elfouhaily, T。,B. Chapron, K. Katsaros, and D. Vandemark. "A Unified Directional Spectrum for Long and Short Wind-Driven Waves."地球物理学研究杂志:海洋gydF4y2Ba102年,没有。C7(1997年7月15日):15781 - 96。gydF4y2Bahttps://doi.org/10.1029/97JC00467gydF4y2Ba。gydF4y2Ba

  3. Doerry,阿明W。“海上ISAR成像。船动态”桑迪亚报告。新墨西哥州阿尔伯克基:桑迪亚国家实验室,2008年2月。gydF4y2Ba

  4. 病房里,基思·D。,Simon Watts, and Robert J. A. Tough.海杂波:散射,K-Distribution和雷达的性能gydF4y2Ba。专业雷达、声纳、导航、航空电子设备系列20。伦敦:工程技术研究所,2006。gydF4y2Ba

支持功能gydF4y2Ba

helperSeaColorMapgydF4y2Ba

函数gydF4y2Ba提出= helperSeaColorMap (n)gydF4y2Ba%为海洋高程图彩色地图gydF4y2Bac = hsv2rgb ([2/3 1 0.2;2/3 1 1;0.5 - 1 1]);提出= 0 (n, 3);提出(:1)= interp1 (1:3, c (: 1), linspace (1, n));提出(:,2)= interp1 (1:3, c (:, 2), linspace (1, n));提出(:,3)= interp1 (1:3, c (:, 3), linspace (1, n));gydF4y2Ba结束gydF4y2Ba

helperSeaSurfacePlotgydF4y2Ba

函数gydF4y2BahelperSeaSurfacePlot (x, y, z, rdrpos)gydF4y2Ba%的阴谋海海拔gydF4y2Ba%为海洋高程图彩色地图gydF4y2BaseaColorMap = helperSeaColorMap (256);gydF4y2Ba%的阴谋gydF4y2Ba图z =重塑(z,元素个数(x)元素个数(y));冲浪(x, y, z)gydF4y2Ba在gydF4y2Bardrpos plot3 (rdrpos (1) (2), rdrpos (3),gydF4y2Ba“好吧”gydF4y2Ba,gydF4y2Ba“线宽”gydF4y2Ba2,gydF4y2Ba“MarkerFaceColor”gydF4y2Ba,gydF4y2Ba“k”gydF4y2Ba)传说(gydF4y2Ba“海面”gydF4y2Ba,gydF4y2Ba“雷达”gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“最佳”gydF4y2Ba)阴影gydF4y2Ba插值函数gydF4y2Ba轴gydF4y2Ba平等的gydF4y2Ba包含(gydF4y2Ba“X (m)”gydF4y2Ba)ylabel (gydF4y2Ba“Y (m)”gydF4y2Ba)zlabel (gydF4y2Ba“海拔(m)”gydF4y2Ba)stdZ =性病(z (:));minC = 4 * stdZ;maxC = 4 * stdZ;minZ = min (minC rdrpos (3));maxZ = max (maxC rdrpos (3));标题(gydF4y2Ba海面高度的gydF4y2Ba)轴gydF4y2Ba紧gydF4y2Bazlim ([minZ maxZ]) hC = colorbar (gydF4y2Ba“southoutside”gydF4y2Ba);colormap hC.Label (seaColorMap)。字符串=gydF4y2Ba“海拔(m)”gydF4y2Ba;hC。限制= [minC maxC];drawnow暂停(0.25)gydF4y2Ba结束gydF4y2Ba

helperSeaSurfaceCDFgydF4y2Ba

函数gydF4y2BahelperSeaSurfaceCDF (x)gydF4y2Ba%计算和策划运作gydF4y2Ba%的形式提供gydF4y2Bax = x (~ isnan (x));n =长度(x);排序(x = x (:));yy = (1: n) / n;notdup = ((diff (x (:));1)> 0);xx = x (notdup);yy = [0;yy (notdup)];gydF4y2Ba%为策划创建向量gydF4y2Bak =长度(xx);n =重塑(repmat (1: k 2 1), 2 * k, 1);xCDF =[无穷;xx (n);正);yCDF = [0;0;yy (1 + n)];gydF4y2Ba%的阴谋gydF4y2Ba图绘制(xCDF yCDF,gydF4y2Ba“线宽”gydF4y2Ba,2)网格gydF4y2Ba在gydF4y2Ba标题(gydF4y2Ba“波仰角提供”gydF4y2Ba)包含(gydF4y2Ba“波仰角(m)”gydF4y2Ba)ylabel (gydF4y2Ba“概率”gydF4y2Ba)drawnow暂停(0.25)gydF4y2Ba结束gydF4y2Ba

helperEstimateSignificantWaveHeightgydF4y2Ba

函数gydF4y2BasigHgt = helperEstimateSignificantWaveHeight (x, y, z)gydF4y2Ba%的阴谋一个例子展示了海浪的高度估计和估计gydF4y2Ba%的有效波高gydF4y2Ba%绘制波高估计gydF4y2Ba图numX =元素个数(x);z =重塑(z, numX元素个数(y));热情= z (numX / 2 + 1,:);情节(x,热情,gydF4y2Ba“线宽”gydF4y2Ba,2)网格gydF4y2Ba在gydF4y2Ba持有gydF4y2Ba在gydF4y2Ba包含(gydF4y2Ba“X (m)”gydF4y2Ba)ylabel (gydF4y2Ba的高度(米)gydF4y2Ba)标题(gydF4y2Ba“波高估计”gydF4y2Ba)轴gydF4y2Ba紧gydF4y2BaidxMin = islocalmin (z(元素个数(x) / 2 + 1,:));idxMax = islocalmax (z(元素个数(x) / 2 + 1,:));有限公司= colororder;情节(x (idxMin),热情(idxMin),gydF4y2Ba“v”gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“MarkerFaceColor”gydF4y2Ba有限公司(:),gydF4y2Ba“MarkerEdgeColor”gydF4y2Ba有限公司(:))情节(x (idxMax),热情(idxMax),gydF4y2Ba“^”gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“MarkerFaceColor”gydF4y2Ba有限公司(:),gydF4y2Ba“MarkerEdgeColor”gydF4y2Ba有限公司(:))传说(gydF4y2Ba“波海拔数据”gydF4y2Ba,gydF4y2Ba“槽”gydF4y2Ba,gydF4y2Ba“佳洁士”gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“西南”gydF4y2Ba)gydF4y2Ba%估计有效波高gydF4y2BawaveHgts = [];gydF4y2Ba为gydF4y2Ba2 = 1:numX热情= z (ii):);idxMin = islocalmin(热情);波谷=热情(idxMin);numTroughs =总和(双(idxMin));idxMax = islocalmax(热情);波峰=热情(idxMax);numCrests =总和(双(idxMax));numWaves = min (numTroughs numCrests);waveHgts = [waveHgtsgydF4y2Ba…gydF4y2Baabs(波峰(1:numWaves) -波谷(1:numWaves)));gydF4y2Ba% #好< AGROW >gydF4y2Ba结束gydF4y2BawaveHgts = (waveHgts)进行排序;idxTopThird =地板(元素个数(waveHgts) * 2/3);sigHgt =意味着(waveHgts (idxTopThird:结束));drawnow暂停(0.25)gydF4y2Ba结束gydF4y2Ba

helperSeaSurfaceMotionPlotgydF4y2Ba

函数gydF4y2BahelperSeaSurfaceMotionPlot (x, y, seaSurf plotTime)gydF4y2Ba% #好< DEFNU >gydF4y2Ba%为海洋高程图彩色地图gydF4y2BaseaColorMap = helperSeaColorMap (256);gydF4y2Ba%得到初始高度gydF4y2Ba[xGrid, yGrid] = meshgrid (x, y);z =身高(seaSurf [xGrid (:)。”;yGrid (:)。”], plotTime (1));gydF4y2Ba%的阴谋gydF4y2BahFig =图;hS =冲浪(x, y,重塑(z,元素个数(x)元素个数(y)));持有gydF4y2Ba在gydF4y2Ba阴影gydF4y2Ba插值函数gydF4y2Ba轴gydF4y2Ba平等的gydF4y2Ba包含(gydF4y2Ba“X (m)”gydF4y2Ba)ylabel (gydF4y2Ba“Y (m)”gydF4y2Ba)zlabel (gydF4y2Ba“海拔(m)”gydF4y2Ba)stdZ =性病(z (:));minZ = 4 * stdZ;maxZ = 4 * stdZ;标题(gydF4y2Ba“海面运动图”gydF4y2Ba50)xlim ([-50]) ylim (50 [-50]) zlim ([minZ maxZ]) hC = colorbar (gydF4y2Ba“southoutside”gydF4y2Ba);colormap hC.Label (seaColorMap)。字符串=gydF4y2Ba“海拔(m)”gydF4y2Ba;hC。限制= [minZ maxZ];视图([-45]12日)gydF4y2Ba变化百分比图大小gydF4y2Bappos0 =得到(hFig,gydF4y2Ba“位置”gydF4y2Ba);figWidth = 700;figHeight = 300;集(gcf,gydF4y2Ba“位置”gydF4y2Ba,(ppos0 (1) ppos0 (2), figWidth, figHeight]) numTimes =元素个数(plotTime);gydF4y2Ba为gydF4y2Ba2 = 2:numTimesgydF4y2Ba%更新图gydF4y2Baz =身高(seaSurf [xGrid (:)。”;yGrid (:)。”], plotTime (ii));海关。ZData =重塑(z,元素个数(x)元素个数(y));drawnow暂停(0.1)gydF4y2Ba结束gydF4y2Ba暂停(0.25)gydF4y2Ba结束gydF4y2Ba

helperPlotRawIQgydF4y2Ba

函数gydF4y2BahRaw = helperPlotRawIQ (iqsig)gydF4y2Ba%的阴谋智商原始大小gydF4y2Ba图()hRaw = pcolor (mag2db (abs (iqsig)));hRaw。EdgeColor =gydF4y2Ba“没有”gydF4y2Ba;标题(gydF4y2Ba“生智商”gydF4y2Ba)包含(gydF4y2Ba“脉冲”gydF4y2Ba)ylabel (gydF4y2Ba“样本”gydF4y2Ba)hC = colorbar;hC.Label。字符串=gydF4y2Ba“(dB)级”gydF4y2Ba;drawnow暂停(0.25)gydF4y2Ba结束gydF4y2Ba

helperUpdatePlotRawIQgydF4y2Ba

函数gydF4y2BahelperUpdatePlotRawIQ (hRaw iqsig)gydF4y2Ba%更新原始智商级阴谋gydF4y2BahRaw。CData = mag2db(abs(iqsig)); drawnow pause(0.25)结束gydF4y2Ba

helperRangeTimePlotgydF4y2Ba

函数gydF4y2BahelperRangeTimePlot (rngGrid,脉冲重复频率,pcsigMagdB)gydF4y2Ba% Range-Time情节gydF4y2Ba图()numPulses =大小(pcsigMagdB, 2);hImage = pcolor ((1: numPulses) * 1 /脉冲重复频率,rngGrid, pcsigMagdB);hImage。EdgeColor =gydF4y2Ba“没有”gydF4y2Ba;阴影gydF4y2Ba插值函数gydF4y2Ba包含(gydF4y2Ba的时间(秒)gydF4y2Ba)ylabel (gydF4y2Ba的范围(m)gydF4y2Ba)hC = colorbar;hC.Label。字符串=gydF4y2Ba“(dB)级”gydF4y2Ba;轴gydF4y2Ba紧gydF4y2Ba标题(gydF4y2Ba的范围和时间gydF4y2Ba)caxis (-20 [0]) ylim (260 [140]) drawnow暂停(0.25)gydF4y2Ba结束gydF4y2Ba

helperMagTimePlotgydF4y2Ba

函数gydF4y2BahelperMagTimePlot (magVals numPulses,脉冲重复频率,rngVal)gydF4y2Ba%大小与时间曲线图gydF4y2Ba图()图((1:numPulses) * 1 /脉冲重复频率,magVals,gydF4y2Ba“线宽”gydF4y2Ba,2)网格gydF4y2Ba在gydF4y2Ba包含(gydF4y2Ba的时间(秒)gydF4y2Ba)ylabel (gydF4y2Ba“(dB)级”gydF4y2Ba)轴gydF4y2Ba紧gydF4y2Ba标题(sprintf (gydF4y2Ba%的大小和时间范围。2 f (m)的gydF4y2BarngVal) ylim (-20 [0]) drawnow暂停(0.25)gydF4y2Ba结束gydF4y2Ba

helperSTFTPlotgydF4y2Ba

函数gydF4y2BahelperSTFTPlot (S、F T,λ,rngVal)gydF4y2Ba%时频图gydF4y2Ba图()S = mag2db (abs (S));gydF4y2Ba%转换为数据库gydF4y2BaS = S - max (S (:));gydF4y2Ba%正常化gydF4y2Ba速度= dop2speed (F,λ)/ 2;gydF4y2Ba%的速度(米/秒)gydF4y2BahSTFT = pcolor (T,速度,年代);持有gydF4y2Ba在gydF4y2BahSTFT。EdgeColor =gydF4y2Ba“没有”gydF4y2Ba;colorbar包含(gydF4y2Ba的时间(秒)gydF4y2Ba)ylabel (gydF4y2Ba“速度(米/秒)”gydF4y2Ba)标题(sprintf (gydF4y2Ba%的STFT范围。2 f (m)的gydF4y2BarngVal) caxis (-20 [0]) ylim ([1]) drawnow暂停(0.25)gydF4y2Ba结束gydF4y2Ba

helperHistPlotgydF4y2Ba

函数gydF4y2BahelperHistPlot (pcsigMagdB、尺度、形状)gydF4y2Ba%振幅分布gydF4y2Ba%直方图gydF4y2Ba图hHist =直方图(pcsigMagdB,gydF4y2Ba“归一化”gydF4y2Ba,gydF4y2Ba“pdf”gydF4y2Ba);gydF4y2Ba%建立直方图gydF4y2Ba网格gydF4y2Ba在gydF4y2Ba持有gydF4y2Ba在gydF4y2Ba包含(gydF4y2Ba“归一化(dB)级”gydF4y2Ba)ylabel (gydF4y2Ba“PDF”gydF4y2Ba)标题(gydF4y2Ba的幅度直方图gydF4y2Ba)gydF4y2Ba%对数正态叠加gydF4y2Ba边缘= hHist.BinEdges;x =(边边(2:结束)+ (1:end-1)) / 2;z = x /规模;w = exp (- (z ^形状));y = z。^(- 1)形状。* w。* shape. /规模;情节(x, y,gydF4y2Ba“- r”gydF4y2Ba)gydF4y2Ba结束gydF4y2Ba
Baidu
map