主要内容

相控阵系统的可视化仿真

这个例子展示了如何使用场景可视化系统级模拟。

介绍

相控阵系统仿真通常包括许多移动对象。例如,数组和目标可以在运动。此外,每个移动物体可能有自己的方向,所以记账变得越来越具有挑战性时更多的球员出现在模拟。

相控阵系统工具箱™提供场景查看器帮助可视化雷达和目标是如何在太空中移动。通过查看器的场景中,一个可以遵循的轨迹移动平台和检查雷达和目标之间的相对运动。

想象的轨迹

在第一个示例中,观众的场景是用于可视化雷达和目标的轨迹。假设雷达是绕原点在3公里左右。飞机与雷达250 m / s的速度飞行(约560英里),并使一圈大约每60秒。

v = 250;deltaPhi = 360/60;sensormotion = phased.Platform (“InitialPosition”(0,-3000,500),“VelocitySource”,输入端口的,“InitialVelocity”,0;v; 0);

目标是旅行沿着一条直路30 m / s的速度沿着x轴,这大约是每小时67英里。

tgtmotion = phased.Platform (“InitialPosition”(0,0,0),“速度”,30,0,0);

观众将更新每0.1秒。在最简单的情况下,光束不是观众所示。

τ= 0.5;sceneview = phased.ScenarioViewer (“ShowBeam”,“没有”);

这段代码模拟并显示雷达和目标的轨迹。

m = 1:τ:60 [sensorpos sensorvel] = sensormotion(τ)v * [cosd (m * deltaPhi);信德(m * deltaPhi); 0]);[tgtpos, tgtvel] = tgtmotion(τ);sceneview (sensorpos sensorvel、tgtpos tgtvel);drawnow;结束

想象轨迹和雷达

下一步自然是可视化天线阵光束与观众的轨迹。下面的例子显示了如何可视化两个雷达和三个目标在空间中移动。特别是第一个雷达波束跟踪第一个目标。

首先,设置雷达和目标。注意第一个雷达和前一节中使用的第一个目标匹配。

sensormotion = phased.Platform (“InitialPosition”[0 0;-3000 500;500 1),“VelocitySource”,输入端口的,“InitialVelocity”,(0 100;v 0; 0 0],“OrientationAxesOutputPort”,真正的);tgtmotion = phased.Platform (“InitialPosition”,(0 2000.66 3532.63;0 0 500;0 500 500),“速度”,(30 120 -120;0 0 -20;0 0 60],“OrientationAxesOutputPort”,真正的);

正确点光束,场景查看器需要知道雷达和目标的方位信息。从这些移动平台可以获得此类信息在每个仿真步骤将OrientationAxesOutputPort属性设置为true,如上面的代码所示。将此信息传递给观众,设置场景中观众的OrientationInputPort属性为true。

sceneview = phased.ScenarioViewer (“BeamRange”(3 e3 e3),波束宽度的,5 [5],“ShowBeam”,“所有”,“CameraPerspective”,“自定义”,“CameraPosition”(13539年-15453.85 - -19716.96),“CameraOrientation”,(-47 -27 0)',“CameraViewAngle”,11.28,“OrientationInputPort”,真的,“UpdateRate”1 /τ);

注意显示的波束的波束宽度5度和3公里的长度。相机角度也更清楚地想象所有轨迹调整。

m =一60 [sensorpos sensorvel sensoraxis] = sensormotion(τ)[v * [cosd (m * deltaPhi);信德(m * deltaPhi); 0] [100;0;0]]);[tgtpos, tgtvel tgtaxis] = tgtmotion(τ);%雷达跟踪目标1[lclrng, lclang] = rangeangle (tgtpos (: 1), sensorpos (: 1),sensoraxis (:,: 1));%更新射束方向sceneview。BeamSteering = [lclang [0, 0]];sceneview (sensorpos、sensorvel sensoraxis、tgtpos tgtvel, tgtaxis);drawnow;结束

系统仿真可视化

观众也可以组合在一起的场景与其他可视化系统仿真提供更多的信息。下一个示例使用场景观众一起一系列强度(RTI)范围和多普勒时间强度(DTI)范围,所以一个工程师可以检查是否估计范围和范围的目标匹配地面真理。

在创建的例子使用了雷达系统模拟测试信号对雷达接收机的例子。

负载BasicMonostaticRadarExampleData.mat

考虑场景有三个目标。

fc = radiator.OperatingFrequency;fs = waveform.SampleRate;c = radiator.PropagationSpeed;sensormotion = phased.Platform (“InitialPosition”,(0;0;10),“速度”,(0;0;0]);目标= phased.RadarTarget (“MeanRCS”(1.6 2.2 1.05),“OperatingFrequency”、fc);tgtmotion = phased.Platform (“InitialPosition”,(2000.66 3532.63 3845.04;0 0 0;10 10 10],“速度”,(120 -120 0;0 0 0;0 0 0]);频道= phased.FreeSpace (“SampleRate”fs,“TwoWayPropagation”,真的,“OperatingFrequency”、fc);

一旦回波到达接收机时,匹配滤波器和脉冲积分器用于执行评估范围。

matchingcoeff = getMatchedFilter(波形);matchingdelay =大小(matchingcoeff, 1) 1;matchedfilter = phased.MatchedFilter (“系数”matchingcoeff,“GainOutputPort”,真正的);脉冲重复频率= waveform.PRF;fast_time_grid = unigrid (0,1 / fs, 1 /脉冲重复频率,“()”);rangeGates = c * fast_time_grid / 2;λ= c / fc;max_range = 5000;tvg = phased.TimeVaryingGain (“RangeLoss”2 * fspl (rangeGatesλ),“ReferenceLoss”2 * fspl (max_rangeλ));num_pulse_int = 10;

因为它是不必要的监控轨迹脉冲重复率,这个例子假设系统读取雷达测量的速度20 Hz。示例使用场景查看器来监控现场和一系列时间强度(RTI)情节以及多普勒时间强度(DTI)阴谋检查估计范围和速度值范围。

r_update = 20;sceneview = phased.ScenarioViewer (“UpdateRate”r_update,“标题”,与三个目标的单站雷达);rtiscope = phased.IntensityScope (“名字”,“Range-Time强度范围”,“包含”,的范围(m),“XResolution”c / (2 * fs),“XOffset”(,)- matchingdelay-1 * c / (2 * fs),“TimeResolution”1 / r_update,“时间间隔”5,“IntensityUnits”,“数据库”);nfft = 128;df =脉冲重复频率/ nfft;dtiscope = phased.IntensityScope (“名字”,“Doppler-Time强度范围”,“包含”,“速度(米/秒)”,“XResolution”λ,dop2speed (df) / 2,“XOffset”dop2speed(脉冲重复频率/ 2λ)/ 2,“TimeResolution”1 / r_update,“时间间隔”5,“IntensityUnits”,“数据库”);

在下一节中执行系统仿真和生产可视化。

%预先分配数组来提高处理速度rxpulses = 0(元素个数(rangeGates) num_pulse_int);k = 1:10 0m = 1: num_pulse_int%更新传感器和目标位置[sensorpos, sensorvel] = sensormotion(1 /脉冲重复频率);[tgtpos, tgtvel] = tgtmotion(1 /脉冲重复频率);%计算目标角度所看到的传感器[~,tgtang] = rangeangle (tgtpos sensorpos);%模拟脉冲的传播方向目标脉冲=波形();[txsig, txstatus] =发射机(脉冲);txsig =散热器(txsig tgtang);txsig =通道(txsig sensorpos、tgtpos sensorvel, tgtvel);%反射脉冲的目标tgtsig =目标(txsig);%接收目标返回传感器rxsig =收集器(tgtsig tgtang);rxpulses (:, m) =接收机(rxsig ~ (txstatus > 0));结束rxpulses = matchedfilter (rxpulses);%对匹配滤波器的延迟rxpulses =缓冲区(rxpulses (matchingdelay + 1:结束),大小(rxpulses, 1));rxpulses = tvg (rxpulses);rx_int = pulsint (rxpulses,“非相干”);%显示RTIrtiscope (rx_int);%显示DTIrx_dop =意味着(fftshift (abs (fft (rxpulses nfft 2)), 2));dtiscope (rx_dop。');%显示场景sceneview (sensorpos sensorvel、tgtpos tgtvel);%执行第二检测下一个更新是必需的sensormotion (1 / r_update);tgtmotion (1 / r_update);结束隐藏(dtiscope);隐藏(rtiscope);

隐藏(sceneview);显示(rtiscope);

更新场景查看器和RTI在模拟一个可以很容易地验证是否按预期运行仿真和评估范围是否匹配仿真运行时地面真理。

隐藏(rtiscope);显示(dtiscope);

同样,DTI每个目标提供速度范围的估计。

结论

这个例子描述了不同的方法来可视化雷达和目标的轨迹。这些可视化帮助提供一个整体的系统动力学。