距离-多普勒空间地表杂波功率预测
这个例子展示了如何在距离-多普勒空间计算平坦无特征表面的雷达截面(RCS)。您将了解如何使用表面RCS来检查杂波的表现,分析表面目标的可探测性,并通过使用近似分辨率单元质心来估计分辨率单元中的总杂波功率。
多普勒处理的杂波返回
本节介绍多普勒处理表面杂波回波的概念和方法clutterSurfaceRangeDopplerRCS
函数,该函数计算一组距离多普勒单元中杂波的RCS。函数的扩展clutterSurfaceRCS
函数通过计算杂波返回如何分布在多普勒除了范围。该函数仅限于具有光滑表面的平面地球模型,其中标准化RCS (NRCS)可以指定为范围的函数。
Range-Doppler细胞
脉冲多普勒雷达系统使用一系列相干脉冲来测量返回信号的多普勒频率。使用一组距离门根据距离对接收到的能量进行分组,使用一组多普勒滤波器根据信号的多普勒频率对接收到的能量进行分组。这形成了接收能量的离散二维距离多普勒图(RDM)。这张地图的每个像素都对应一个距离多普勒单元——一个由两个等距离球体和两个等多普勒锥划分的空间区域。该三维区域与表面的交集定义了一个表面杂波距离多普勒单元,其大小对应于RDM对应像素接收的能量量。
上图说明了距离多普勒单元从笛卡尔空间到RDM的映射。注意,距离-多普勒单元在雷达速度上的分布是对称的。因此,大多数距离多普勒单元在笛卡尔空间中由两个不相交的区域组成。
杂乱的演讲
的输出的工作流程clutterSurfaceRangeDopplerRCS
来检查RDM中表面杂波是如何呈现的。您将看到如何找到表面的总体距离和多普勒范围,锥形光束的距离和多普勒范围,以及如何快速估计杂波的多普勒带宽作为距离的函数。
距离-多普勒空间中的曲面
表面杂波分布在从最低点(雷达高度)到地平线的范围内。它也分布在360度的方位角和高达90度的仰角。表面杂波的大角度扩散也导致它分布在一个多普勒频率范围内。了解表面杂波在一组距离多普勒单元中出现的位置,以及表面对每个单元的影响程度,对于包括控制系统设计和可探测性分析在内的许多应用都是重要的。典型的雷达天线使用紧密波束来隔离表面的小区域,在本例中,您将看到如何将雷达波束信息纳入杂波返回的分析中。在这个分析中,使用了一个平坦的地球假设,因此,表面杂波的范围是无限的。覆盖范围的间隔是 ,但可指定兴趣的最大范围。
与距离不同,地面杂波的多普勒频率总是有界限的,可能受到雷达采样的最大距离或雷达速度的限制。除了雷达的总速度,雷达速度的z分量必须知道,这是由捕获俯冲角-速度矢量与水平的角度,正俯冲表示速度指向下方。
这个函数helperSurfaceDopplerLimits
为计算地表杂波的最小多普勒和最大多普勒,下图为10ghz雷达在3km高度上的最大地面多普勒随雷达速度和最大距离的函数。当俯冲角非零时,会有一个速度矢量与表面相交的临界范围(在右侧子图中红色虚线表示),超过这个范围,最大多普勒只取决于雷达速度。
Freq = 10e9;%赫兹Alt = 3e3;% mhelperSurfaceDopplerLimitsChart(频率、alt)
运行clutterSurfaceRangeDopplerRCS
函数查看表面RCS。首先定义所需的系统和平台参数。使用78赫兹的多普勒分辨率,让平台以120米/秒的速度飞行,俯冲角度为10度。
多普勒斯= 78;%赫兹速度= 120;% m / s潜水= 10;%度
定义一个从5公里开始的范围,覆盖5公里范围,分辨率为40米。这定义了每个倾斜范围仓的中心。
R = 5e3:40:10e3;
创建一个surfaceReflectivityLand
对象获取所需的NRCS值。巴顿模型用于平坦的地面是默认使用的。使用grazingang
函数求出每个距离对应的掠角,得到每个距离的NRCS。
放牧=放牧(alt,R,“平”);refl = surfaceReflectivityLand;NRCS = refl(放牧,频率);
计算杂波在指定范围内的RCS,并使用提供的辅助函数绘制结果。
[rcs,dop] = clutterSurfaceRangeDopplerRCS(nrcs,R,频率,dopres,alt,速度,潜水);helperPlotSurfaceRCS (R,夹住,rcs)
从这个结果中可以观察到一些有趣的事情:
非零俯冲角导致杂波回波在较低距离向高多普勒倾斜,在较高距离向低多普勒倾斜。
地表杂波的多普勒范围随距离增大而增大
0 Hz左右的杂波,对应于舷侧方向,显示RCS随距离变化很小
在每个距离门的最小和最大多普勒处的杂波返回更加尖锐和难以预测
距离-多普勒空间中的波束足迹
上一节讨论了距离-多普勒空间中地表的总体范围,但要了解整个情况,还应考虑雷达波束。
的clutterSurfaceRangeDopplerRCS
函数将计算所有360度方位角上的杂波RCS,并且不考虑雷达波束的限制。对于由方位角和仰角波束宽度定义的简单圆锥波束,可以以封闭形式计算波束足迹的最小和最大范围以及波束内部的最小和最大多普勒锥。此信息可以与的输出一起使用clutterSurfaceRangeDopplerRCS
来确定落在波束内的杂波的RCS。
这个函数helperConicalBeamLimits
给出了简单对称圆锥光束在距离-多普勒空间中光束足迹范围的计算方法。下图显示了在两种不同的潜水角度下,波束足迹的最小和最大多普勒极限是如何随着相对于舷侧的方位角(有时称为地平面斜角)而变化的。使用光束宽度为10度,向下指向30度。
波束= 10;%度Dep = 30;%度helperBeamDopplerLimitsChart(频率、alt、速度、beamw dep)
从上图可以看出,在水平飞行路径下,波束总是覆盖相同的多普勒频率范围,并且波束的侧边方向集中在0hz。在30度的俯冲角下,波束在多普勒的范围取决于方位指向。
波束足迹的范围和多普勒极限可以用来提取波束内的表面RCS。让雷达波束指向前面指定的30度俯角的舷侧方向。
Az = 0;%度[R1,R2,d1,d2] = helperConicalBeamLimits(freq,alt,speed,dive,beamw,az,dep)
R1 = 5.2303e+03
R2 = 7.0986e+03
D1 = -2.6652
D2 = 1.3875e+03
R1
而且R2
最小和最大倾斜范围到光束足迹(米),和d1
而且d2
为足迹的最小和最大多普勒频率(Hz)。
再次绘制表面RCS,显示在这些范围和多普勒限制内的区域。
helperPlotSurfaceRCS (R,夹住,rcs, R1, R2, d1, d2)
在这个漂亮的舷侧情况下,波束内的表面RCS仅随多普勒有轻微变化,并且在整个波束上仅变化约0.4 dBsm。
现在尝试一个离舷梁几何。将相对于侧面的方位角设置为-60度(指向运动方向),并再次绘制结果。
Az = -60;%度[R1,R2,d1,d2] = helperConicalBeamLimits(freq,alt,speed,dive,beamw,az,dep);helperPlotSurfaceRCS (R,夹住,rcs, R1, R2, d1, d2)
在这个斜视的情况下,表面RCS随着距离和多普勒的显著变化,并显示大约4 dBsm的光束变化。这种变化会给检测算法和增益控制带来麻烦。
多普勒带宽
杂波在给定范围内的总多普勒带宽是接收机链设计、PRF选择和MTI滤波器设计等应用中的一个重要指标。利用表面RCS的距离-多普勒图可以得到各距离仓杂波的多普勒程度。
在距离箱上循环,对于每个范围,找到RCS非零的第一个和最后一个多普勒箱。估计带宽为覆盖的箱数乘以多普勒分辨率。这种近似是一个基线,可以扩展到包括多普勒旁瓣和固有杂波运动等信息。
bandw = 0(1,数字(R));为I1 = find(rcs(gIdx,:)),1,“第一”);I2 = find(rcs(gIdx,:),1,“最后一次”);bandw(gIdx) = (I2 - I1 + 1)*dopre;结束
找一个二次拟合并绘制结果。
pf = polyfit(R,bandw,2);图(bandw/1e3,R/1e3)保持在情节(polyval e3 (pf, R) / 1, R / 1 e3);持有从包含(的带宽(赫兹)) ylabel (的距离(公里))传说(带宽估计的,“二次健康”,“位置”,“西北”甘氨胆酸)组(,“XLimitMethod”,“紧”)
多普勒包装
相干雷达脉冲在一个相干处理间隔(CPI)的过程中以恒定的速率被收集,称为脉冲重复频率(PRF)。脉冲存储在一个矩阵中,有时被称为数据立方体或相位历史(PH),它给出了接收能量的范围-时间映射。现代数字系统采用慢时间(跨脉冲)快速傅里叶变换(FFT)实现多普勒处理。因此,返回信号的多普勒频谱受制于环绕一个长度为PRF的频率间隔。这意味着杂波回波在多普勒中的表观分布可能相当复杂,RDM的一个像素可能包含多个距离多普勒单元在相同多普勒频率下的回波。
helperDopplerWrappingExample
它可以用于检测杂波的未包裹多普勒频谱。例如,看看接收链中的各种快时间滤波器如何影响杂波返回信号。检查包裹多普勒频谱也很有用,以查看在给定的RDM像素中出现多少总杂波返回。的clutterSurfaceRangeDopplerRCS
函数可以同时做这两件事。通过可选选项指定要使用的多普勒箱数量,可以启用多普勒包装NumDopplerBins
参数。由于范围不明确,不会执行换行。
首先指定要使用的多普勒箱的数量。
Numdop = 128;
使用前面指定的多普勒分辨率找到本规范所暗示的PRF。
PRF = dopres*numdop
PRF = 9984
像以前一样调用函数,但这次指定要使用的多普勒箱的数量。由此产生的杂波RCS将集中在0 Hz左右,并在间隔内扩展 .
[rcs,dop] = clutterSurfaceRangeDopplerRCS(nrcs,R,频率,dopres,alt,速度,俯冲,“NumDopplerBins”, numdop);
画出结果。
helperPlotSurfaceRCS (R,夹住,rcs)
由于PRF小于距离范围内的最小多普勒带宽,且不考虑波束的限制,杂波返回将填满整个RDM。与最小和最大未包裹多普勒相对应的脊仍然可见。
分析地面目标的可探测性
在本节中,您将看到如何使用clutterSurfaceRangeDopperRCS
根据地面目标的RCS粗略确定其可探测性。假设波束指向目标,并且增益在分辨率单元内没有显著变化。在此假设下,从包含目标的分辨率单元中目标RCS与杂波RCS的比值可以得到信杂比。
首先定义典型机载脉冲多普勒雷达系统的采集参数。频率为10ghz,距离分辨率为80m,多普勒分辨率为31hz。射程范围将从10公里开始,覆盖400个射击场。
Freq = 10e9;%赫兹Rngres = 80;% m多普勒斯= 31;%赫兹Startrange = 10e3;% mNumrange = 400;R = starrange + (0:numrange-1)*rngres;
将雷达放置在原点上方4km的高度,以240 m/s的速度水平飞行+X方向。
Alt = 4e3;% m速度= 240;% m / s潜水= 0;%度
现在定义目标。将其放在表面上,在舷侧方向上的距离为14公里。让目标的RCS为6 dBsm。
TGTRNG = 14e3;% mTGTGNDRNG =√(tgtrng^2-alt^2);Tgtpos = [0 TGTGNDRNG 0];TGTRCS = 6;% dBsm
计算目标的多普勒频率。
Rdrpos = [0 0 alt];Rdrvel =速度*[cosd(潜水)0 -sind(潜水)];Lambda = freq2waveen (freq);Tgtdop = 2/lambda*dot(rdrvel,tgtpos-rdrpos)/tgtrng
Tgtdop = 0
由于目标在舷侧方向,雷达不潜水,目标的多普勒频率为0hz。
计算表面RCS。使用与前面相同的反射率模型。
放牧=放牧(alt,R,“平”);NRCS = refl(放牧,频率);[rcs,dop] = clutterSurfaceRangeDopplerRCS(nrcs,R,频率,dopres,alt,速度,潜水);
回想每个距离-多普勒单元的表面RCSclutterSurfaceRangeDopplerRCS
包括来自360度方位的杂波返回。因此,假设表面返回值受到波束的限制,波束只与雷达速度矢量一侧的分辨率单元相交,波束内的表面RCS为返回值的一半clutterSurfaceRangeDopplerRCS
.现在把RCS除以2。
RCS = RCS /2;
提取表面RCS在0赫兹多普勒宾。
rcs0Hz = rcs(:,dop==0);
找到包含目标和目标范围内表面RCS的距离仓。通过寻找目标和表面RCS之间的差异来估计SCR(以dB为单位)。
[~,tgtrngbin] = min(abs(tgtrng-R));surfrcs = pow2db(rcs0Hz(tgtrngbin));TGTSCR = TGTRCS -表面
TGTSCR = -2.1058
当SCR为负时,目标不太可能被检测到。现在试着将距离分辨率降低到30米,然后重复这个实验。
Rngres = 30;% mR = starrange + (0:numrange-1)*rngres;放牧=放牧(alt,R,“平”);NRCS = refl(放牧,频率);[rcs,dop] = clutterSurfaceRangeDopplerRCS(nrcs,R,频率,dopres,alt,速度,潜水);RCS = RCS /2;rcs0Hz_highRes = rcs(:,dop==0);[~,tgtrngbin] = min(abs(tgtrng-R));surfrcs = pow2db(rcs0Hz_highRes(tgtrngbin));TGTSCR = TGTRCS -表面
TGTSCR = 2.1536
随着距离分辨率的提高,地面上的距离-多普勒单元尺寸更小,导致来自地面的反射功率更小,可以探测到目标。这假设整个目标落在一个距离分辨率单元内,并且距离跨界不显著。使用提供的辅助函数绘制两个距离分辨率下的表面RCS与目标的可视化图。
helperPlotSurfTgtRCS (R, rcs0Hz rcs0Hz_highRes、tgtrng tgtrcs)
估算杂波功率和回报
在本节中,您将了解如何使用杂波RCS信息以及表面距离-多普勒单元的质心估计快速生成杂波返回。将每个质心视为RCS与相应单元相等的点目标,利用雷达方程求出每个单元接收到的杂波功率,然后构造具有相位噪声和热噪声的慢时信号。
计算杂波功率
首先定义雷达系统参数。使用2.4 GHz频率,80 m范围分辨率,6 kHz PRF和128个多普勒箱(这将对应128个脉冲)。的NumDopplerBins
参数将再次使用,以获得dc中心多普勒频谱。
Freq = 2.4e9;%赫兹Rngres = 80;% mPRF = 6e3;%赫兹Numdop = 128;
求这个系统的多普勒分辨率。
Dopres = prf/numdop;
将雷达放置在4公里的高度,以100米/秒的速度飞行,并稍微俯冲10度。
Alt = 4e3;% m速度= 100;% m / s潜水= 10;%度
定义一个从最低点开始覆盖120个门的范围。
Startrange = alt;Numrange = 120;R = starrange + (0:numrange-1)*rngres;
这个特殊的工作流程要求杂波带宽不超过PRF,可以使用提供的辅助函数进行检查。
[d1,d2] = helperSurfaceDopplerLimits(频率,alt,速度,潜水,R(结束));D2 - d1 < PRF
ans =逻辑1
如果多普勒带宽确实超过PRF,则可以在计算未包裹频谱的每个单元的杂波功率后进行多普勒包裹。
使用前面创建的反射率模型计算每个范围库中表面的NRCS。
放牧=放牧(alt,R,“平”);NRCS = refl(放牧,频率);
为了产生更真实的杂波信号,在反射率模型上启用形状参数为0.8的Weibull散斑,并为每个多普勒bin生成一个新的散斑实例。
(反射)反射。斑纹=“威布尔”;反射。SpeckleShape = 0.8;SPCK = 0 (numrange,numdop);为印第安纳州= 1:numdop [~, spck(:,印第安纳州)]=反射(放牧、频率);结束
计算给定参数的表面RCS。将散斑值乘入,再次将返回的RCS除以2,得到雷达速度矢量一侧的RCS。
[rcs,dop] = clutterSurfaceRangeDopplerRCS(nrcs,R,频率,dopres,alt,速度,俯冲,“NumDopplerBins”, numdop);RCS = RCS .*spck;RCS = RCS /2;
确定雷达观测方向。将雷达对准舷侧方向(相对于速度矢量90度)并向下30度。
azLook = 90;% deg,相对于速度矢量elLook = -30;%度
的helperRangeDopplerCellCenters
函数求距离-多普勒单元在表面的中心坐标,近似于每个单元的功率质心。该函数假设雷达位于原点上方,并沿+X方向移动。对于中心不与曲面相交的单元格,返回的坐标值为NaN。
Lambda = freq2waveen (freq);[cx,cy] = helperRangeDopplerCellCenters(R,dop,lambda,alt,speed,dive);
使用提供的辅助函数绘制计算得到的质心位置。
cy helperPlotCellCentroids (cx)
只考虑平面+Y部分的单元格,因为这是雷达指向的方向。
找到从雷达到质心的视线(LOS),将其转换为传感器框架,并获得传感器框架中每个单元的角度。
sensorFrame = rotz(azLook)*roty(-elLook);%场景框架中到质心的视线Losx = cx;Losy = cy;Losz = -alt;%转换为传感器帧[losx,losy,losz] = deal(sensorFrame(1,1)*losx+sensorFrame(2,1)*losy+sensorFrame(3,1)*losz,...sensorFrame(1、2)* losx + sensorFrame (2, 2) * losy + sensorFrame (3 2) * losz,...sensorFrame(1、3)* losx + sensorFrame(2、3)* losy + sensorFrame (3,3) * losz);得到质心的az/el角[az,el,~] = cart2sph(losx,losy,losz);Az = rad2deg(Az);El = rad2deg(El);
创建一个14 × 14的均匀矩形阵列(URA),用于计算每个距离多普勒单元方向上的天线增益。
阵列=相控阵。(14(14),λ/ 2);
创建一个分阶段。ArrayResponse
用于获取阵列在每个单元质心方向上的幅值响应的系统对象。在数组响应中只输入有效的(非nan)质心,并以dB表示结果。
Antresp =阶段性。ArrayResponse (“SensorArray”、数组);Nonnan = ~isnan(az) & ~isnan(el);antGain = 0 (numrange,numdop);antGain(nonnan) = antresp(频率,[az(nonnan) el(nonnan)].');antGain = mag2db(abs(antGain));
雷达方程返回信噪比(SNR),因此现在计算噪声功率以抵消接收到的杂波功率。假设一个简单的矩形脉冲,计算脉冲宽度。用290 K作为噪声温度,求出以dBW为单位的噪声功率。
Tau = range2time(rngres);Ts = 290;noisePwr = 10*log10(physconst(玻耳兹曼的) * Ts /τ);
使用10kw的发射功率。
txPwr = 10e3;
环绕距离多普勒信号,然后使用radareqsnr
并利用之前计算的噪声功率,得到每个单元的预期杂波功率。
clutPwr = -inf(numrange,numdop);为rIdx = 1:numrange为dIdx = 1:numdop如果rcs(rIdx,dIdx) > 0 clutPwr(rIdx,dIdx) = radareqsnr(lambda,R(rIdx),txPwr,tau,RCS的rcs (rIdx dIdx),“获得”antGain (rIdx dIdx),“t”,Ts) + noisePwr;结束结束结束
画出结果。
显示亮度图像(计划/ 1 e3, R / 1 e3, clutPwr)组(gca),“ydir”,“正常”)包含(“多普勒(千赫)”) ylabel (的距离(公里))标题(“表面反射功率(dBW)”) colorbar
在杂波功率图中可以清楚地看到天线瓣结构和添加散斑的影响。请注意,这个结果显示了从表面反射接收到的功率如何在范围和多普勒上分布,但不包括信号处理增益。可以省略散斑,以获得平均杂波功率。
再次绘制细胞质心,但这一次用颜色标记它们,以查看返回的功率如何在笛卡尔空间中分布。
helperPlotCellCentroids (cx, cy clutPwr)
模拟杂波返回
通过构造具有适当功率和相位的慢时信号,加上多普勒旁瓣和热噪声,可以产生简单的杂波返回信号。首先将杂波功率转换为大小值。
clutMag = db2mag(clutPwr);
使用所提供的辅助函数从计算的幅度谱生成慢时间信号。该函数通过在每个多普勒频率上对信号施加频率和相位偏移来增加多普勒旁瓣。
PH = helperformslowtimessignal (clutMag,prf,R);
添加热噪声。调整噪声功率,以考虑阵列中相加的独立通道的数量。
numchan = getNumElements(数组);noisePwrSum = noisePwr + 10*log10(numchan);ni = randn(尺寸(PH));nq = randn(尺寸(PH));PH = PH + db2mag(noisePwrSum)*(ni+1i*nq)/√(2);
形成以dc为中心的RDM
RDM = fftshift(fft(PH,[],2),2);
绘制结果RDM。颜色范围从低于RDM中预期噪声功率的20 dBW扩展到-10 dBW。
显示亮度图像(计划/ 1 e3, R / 1 e3, 20 * log10 (abs (RDM)))集(gca),“ydir”,“正常”)包含(“多普勒(千赫)”) ylabel (的距离(公里))标题(“预测RDM (dBW)”colorbar ([noisePwrSum-20+20*log10(numdop) -10])
除了多普勒旁瓣外,还可以通过将波形信息应用于每个脉冲并模拟距离旁瓣来考虑快速时间效应。
与雷达场景比较
提供的helper函数helperCompareToScenario
演示如何为相同的场景参数收集杂波返回radarScenario
.雷达场景允许灵活的杂波模拟,支持任何可用的波形类型、真实的平台轨迹和异质表面(地形、反射率图、曲面地球等)。
下图显示了场景模拟的预期输出。
这两种截然不同的杂波产生方法之间有密切的一致性。
通过取消注释下面的行,可以将场景模拟作为本示例的一部分运行。在具有64 GB RAM和3 GHz处理器的机器上进行模拟需要10到15分钟。
% helperCompareToScenario(数组、numdop脉冲重复频率,反射,rngres,频率,azLook, elLook, txPwr, noisePwr, alt,速度,潜水,R,夹住)
结论
在这个例子中,你看到了如何在距离-多普勒空间中计算平面的RCS。您了解了如何在圆锥光束询问时研究表面杂波的表现,以及如何将表面RCS与简单的几何计算结合使用,根据表面目标的RCS对其可探测性进行快速分析。最后,您看到了如何使用近似单元质心和雷达方程快速估计杂波功率和模拟杂波返回。
支持功能
helperSurfaceDopplerLimitsChart
函数helperSurfaceDopplerLimitsChart(频率、alt)创建一个图表来可视化平面的多普勒极限。SPD = linspace(90,150,80);maxRange = linspace(3e3,10e3,80);潜水= 0;d1_0 =零(数字(maxRange),数字(spd));D2_0 = d1_0;为spdIdx = 1:数值(spd)为rIdx = 1: nummel (maxRange) [d1_0(rIdx,spdIdx),d2_0(rIdx,spdIdx)] = helperSurfaceDopplerLimits(freq,alt,spd(spdIdx),dive,maxRange(rIdx));结束结束潜水= 30;d1_30 =零(数字(maxRange),数字(spd));D2_30 = d1_30;为spdIdx = 1:数值(spd)为rIdx = 1: nummel (maxRange) [d1_30(rIdx,spdIdx),d2_30(rIdx,spdIdx)] = helperSurfaceDopplerLimits(freq,alt,spd(spdIdx),dive,maxRange(rIdx));结束结束critR = alt/sind(俯冲);H =数字;subplot(1,2,1) contour(spd,maxRange/1e3,d2_0/1e3,[2 4 5 6 7 8 9],,“黑”,“showtext”,“上”)标题({最大多普勒频率(kHz);“潜水= 0度”})包含(雷达速度(米/秒)) ylabel (“最大航程(公里)”) subplot(1,2,2) contour(spd,maxRange/1e3,d2_30/1e3,[2 4 5 6 7 8 9],,“黑”,“showtext”,“上”)标题({最大多普勒频率(kHz);“俯冲= 30度”})包含(雷达速度(米/秒)) ylabel (“最大航程(公里)”) line(xlim,[critR critR]/1e3,“颜色”,“红色”,“线型”,“——”) h.Position = h.Position + [0 0 560 0];集(gca),“XLimitMethod”,“紧”)结束
helperPlotSurfaceRCS
函数helperPlotSurfaceRCS (R,夹住,rcs, R1, R2, d1, d2)在距离-多普勒空间中绘制一个表面的RCS。可选地,放大%指定的间隔。H =数字;如果Nargin > 3 subplot(1,2,1)结束显示亮度图像(计划/ 1 e3, R / 1 e3, 10 * log10 (rcs))集(gca,“ydir”,“正常”)包含(“多普勒(千赫)”) ylabel (的距离(公里))标题(表面RCS (dBsm)) colorbar如果nargin > 3 patch([d1 d2 d2 d1]/1e3,[R1 R1 R2 R2]/1e3,”,“FaceColor”,“没有”,“EdgeColor”,“红色”) subplot(1,2,2) RIdx1 = find(R <= R1,1,“最后一次”);RIdx2 = find(R >= R2,1,“第一”);dx1 = find(dop <= d1,1,“最后一次”);DIdx2 = find(dop >= d2,1,“第一”);显示亮度图像(夹住(DIdx1: DIdx2) / 1 e3, e3 (RIdx1: RIdx2) / 1, 10 * log10 (rcs (RIdx1: RIdx2 DIdx1: DIdx2)))集(gca,“ydir”,“正常”)包含(“多普勒(千赫)”) ylabel (的距离(公里))标题({表面RCS (dBsm);“放大”}) colorbar h.Position = h.Position + [0 0 560 0];结束结束
helperBeamDopplerLimitsChart
函数helperBeamDopplerLimitsChart(频率、alt、社民党、bw dep)创建一个图表来可视化光束的多普勒极限。。Az = linspace(-90,90,1e3);潜水= 0;D1_0 = 0(1,数字(az));D2_0 = d1_0;为ind = 1:numel(az) [~,~,d1_0(ind),d2_0(ind)] = helperConicalBeamLimits(freq,alt,spd,dive,bw,az(ind),dep);结束潜水= 30;D1_30 = 0(1,数字(az));D2_30 = d1_30;为ind = 1:numel(az) [~,~,d1_30(ind),d2_30(ind)] = helperConicalBeamLimits(freq,alt,spd,dive,bw,az(ind),dep);结束H =数字;Subplot (1,2,1) plot(az,d1_0/1e3,az,d2_0/1e3) title({“波束多普勒限制”;“潜水= 0度”})包含(相对舷侧方位角(度)) ylabel (“多普勒极限(千赫)”)传说(分钟多普勒的,“马克斯·多普勒”网格)在集(gca),“XLimitMethod”,“紧”) subplot(1,2,2) plot(az,d1_30/1e3,az,d2_30/1e3) title({“波束多普勒限制”;“俯冲= 30度”})包含(相对舷侧方位角(度)) ylabel (“多普勒极限(千赫)”网格)在传奇(分钟多普勒的,“马克斯·多普勒”甘氨胆酸)组(,“XLimitMethod”,“紧”) h.Position = h.Position + [0 0 560 0];结束
helperConicalBeamLimits
函数[R1,R2,d1,d2] = helperConicalBeamLimits(频率,alt,spd,潜水,bw,az,放牧)返回锥形波束足迹的范围和多普勒限制。如果放牧<= -bw/2 R1 = inf;R2 = inf;elseifR1 = alt/sind(graze+bw/2);R2 = inf;elseif放牧<= 90 bw/2 R1 = alt/sind(放牧+bw/2);R2 = alt/sind(grass -bw/2);其他的R1 = alt;R2 = alt/sind(grass -bw/2);结束Lambda = freq2waveen (freq);azVel = az + 90;%使用相对于速度矢量的方位角斜视= acosd(cosd(俯冲)*cosd(倾斜)*cosd(掠食)+ sind(俯冲)*sind(掠食));如果斜视<= bw/2 t1 =斜视+ bw/2;T2 = 0;其他的T1 =斜视+ bw/2;T2 =斜视- bw/2;结束D1 = 2/lambda*spd*cosd(t1);D2 = 2/ *spd*cosd(t2);结束
helperDopplerWrappingExample
函数helperDopplerWrappingExample绘制多普勒环绕的演示图Alt = 1e3;Freq = 2e9;PRF = 1.4e3;Ndop = 256;Dopres = prf/ndop;潜水= 70;速度= 120;R = 2e3:40:12e3;nrcs = ones(size(R));[RCS1, dopbin1] = clutterSurfaceRangeDopplerRCS(nrcs,R,freq,dopres,alt,speed,dive); [RCS2,dopbins2] = clutterSurfaceRangeDopplerRCS(nrcs,R,freq,dopres,alt,speed,dive,“NumDopplerBins”, ndop);H =数字;subplot(1,2,1) imagesc(dopbins1,R/1e3,10*log10(RCS1)) set(gca,“ydir”,“正常”)标题(“未包装多普勒频谱”)包含(“多普勒(Hz)”) ylabel (的距离(公里)) ch = colorbar;ch.Title.String =“RCS (dBsm)”;subplot(1,2,2) imagesc(dopbins2,R/1e3,10*log10(RCS2)) set(gca,“ydir”,“正常”)标题(“包裹多普勒频谱”)包含(“多普勒(Hz)”) ylabel (的距离(公里)) ch = colorbar;ch.Title.String =“RCS (dBsm)”;h.Position = h.Position + [0 0 560 0];结束
helperPlotSurfTgtRCS
函数helperPlotSurfTgtRCS (R, rcsLow rcsHigh、tgtrng tgtrcs)绘制RCS与范围的关系,并标注目标范围和RCS。情节(R / 1 e3, 10 * log10 (rcsLow))在情节(R / 1 e3, 10 * log10 (rcsHigh))情节(tgtrcs tgtrng / 1 e3,*黑的)举行从包含(的距离(公里)) ylabel (“RCS (dBsm)”)传说(“表面RCS(低分辨率)”,“表面RCS(高分辨率)”,“目标”,“位置”,“最佳”)标题(“地面和目标RCS”)结束
helperSurfaceDopplerLimits
函数[d1,d2] = helperSurfaceDopplerLimits(频率,alt,spd,潜水,maxRange)返回一个平面的多普勒极限。%俯角到最大范围如果maxRange < alt maxRangeDep = 90;其他的maxRange = 90 - acosd(alt/maxRange);结束归一化最大关闭率如果< maxRangeDep maxclose = cosd(maxRangeDep-dive);其他的maxClosing = 1;结束归一化的最小关闭率如果-dive < maxRangeDep minClosing = -cosd(maxRangeDep+dive);其他的minClosing = -1;结束考虑速度,换算成多普勒Lambda = freq2waveen (freq);d1 = 2/lambda*spd*minClosing;d2 = 2/lambda*spd*maxClosing;结束
helperRangeDopplerCellCenters
函数[x,y] = helperRangeDopplerCellCenters(R,dop,lambda,alt,speed,dive)返回一组距离多普勒单元中心的x/y坐标表面百分比R = R(:);Dop = Dop (:).';r =√(r ^2-alt^2);ctheta =(λ* r *计划/(2 *速度)- alt *信德(潜水)。/ (r * cosd(潜水));Ctheta (r == 0,:) = 0;Ctheta (Ctheta >1) = nan;Ctheta (Ctheta <-1) = nan;Theta = acosd(ctheta);X = r.*cosd(theta);Y = r.*sind(theta);结束
helperPlotCellCentroids
函数helperPlotCellCentroids (cy残雪,cdata)在笛卡尔空间中绘制细胞质心。可选地指定颜色数据。如果Nargin < 3 plot(cx(:)/1e3,cy(:)/1e3,“布莱克”,“MarkerSize”, 1)其他的散射(cx (:) / 1 e3, cy (:) / 1 e3, 10, cdata (:),“填充”) colorbar结束标题(“距离-多普勒细胞质心”)包含(“X(公里)) ylabel (“Y”(公里))轴平等的集(gca),“XLimitMethod”,“紧”甘氨胆酸)组(,“YLimitMethod”,“紧”)结束
helperFormSlowTimeSignal
函数PH = helperformslowtimessignal (specmag,prf,R)从幅度谱中形成一个时域信号[numr,numd] = size(specmag);%不变幅度谱Specmag = ifftshift(Specmag,2);初始化时域信号PH = 0 (size(specmag));%采样次数Tslow = 0:1/prf:(numd-1)/prf;tfast = 2*(R(:)-R(1))/299792458;T = tslow + tfast;%每个bin的随机相位偏移量= rand(numr,numd)-1/2;%多普勒轴Df = prf/numd;Dop = 0:df:(prf-df);%随机多普勒偏移在每个箱子Fc = dop + (rand(numr,numd)-1/2)*df;为Ind = 1:numd%当前多普勒频率下的整个信号y = specmag(:,印第安纳州)。* exp(1 * 2 *π* (fc(:,印第安纳州)。* t +φ(:,印第安纳州)));%积累PH = PH + y;结束结束
helperCompareToScenario
函数helperCompareToScenario(数组、numdop脉冲反射,rngres, fc, azLook, elLook, txPwr, noisePwrDb, alt,速度,潜水,R,夹住)用radarScenario模拟杂波返回并绘制结果%制作场景scenario = radarScenario(“UpdateRate”0,“StopTime”(numdop-1/2) /脉冲重复频率);landSurface(场景中,“RadarReflectivity”,反射);%制作雷达C = physconst(“光速”);rdr =雷达收发器(“MountingAngles”(azLook -elLook 0),“NumRepetitions”, numdop);rdr. transmitantena . sensor = array;rdr.ReceiveAntenna.Sensor = array;rdr.TransmitAntenna.OperatingFrequency = fc;rdr.ReceiveAntenna.OperatingFrequency = fc;rdr. format . prf = prf;sampleRate = c/(2*rngres);sampleRate = prf*round(sampleRate/prf);%调整匹配约束与PRFrdr.Receiver.SampleRate = sampleRate;rdr. format . sampleRate = sampleRate;rdr. wave . pulsewidth = 2*rngres/c;增益= 0;rdr.Transmitter.LossFactor = 0;rdr. transmit . peakpower = txPwr*sqrt(2);rdr.Receiver.Gain = 0;rdr.Receiver.LossFactor = 0;rdr.Receiver.NoiseMethod =“噪音力量”;rdr.Receiver.NoisePower = 10^(noisePwrDb/10);%添加雷达平台平台(场景中,“传感器”rdr,“轨迹”kinematicTrajectory (“位置”,[0 0 alt],“速度”,速度*[cosd(潜水)0 -sind(潜水)]));配置杂波生成clut =杂乱生成器(scenario,rdr,“UseBeam”假的,“决议”rngres / 2,“RangeLimit”R(结束));ringClutterRegion (clut 0 sqrt (R(结束)^ 2-alt ^ 2), 180年,azLook);收集返回信号,形成和波束Iqsig = receive(场景);PH = permute(sum(iqsig{1},2),[1 3 2]);%形式RDMRDM = fftshift(fft(PH,[],2),2);%截断范围Uar = c/(2*prf);Rall = 0:rngres:(uar-rngres);RDM = RDM(Rall>=R(1) & Rall<=R(end),:);%绘图结果图imagesc(dop/1e3,R/1e3,20*log10(abs(RDM))) set(gca,“ydir”,“正常”)包含(“多普勒(千赫)”) ylabel (的距离(公里))标题(“模拟RDM (dBW)”) colorbar numchan = getNumElements(数组);noisePwrSum = noisePwrDb + 10*log10(numchan);爬([noisePwrSum-20 + 20 * -10 (log10 (numdop)))结束