主要内容

全球和本地坐标系雷达的例子

这个例子展示了在模拟一个典型的雷达场景时几种不同的坐标系是如何发挥作用的。这里考虑的场景是一个双基地雷达系统,由发射雷达阵列、目标雷达阵列和接收雷达阵列组成。发射雷达天线发射雷达信号,传播到目标,从目标反射,然后传播到接收雷达。

选择1ghz的信号频率。

Fc = 1e9;C = physconst(“光速”);Lam = c/fc;

创建所有雷达系统组件

首先,设置发射雷达阵列。发射阵列是由各向同性天线单元组成的5 × 5均匀矩形阵列(URA)。该阵列是固定的,位于该位置(50 50,50)米在全球坐标系中。虽然您在全局系统中定位数组,但数组元素的位置始终在数组局部坐标系中定义。发射信号在任何方向上的强度都是局部阵列坐标系中发射角度的函数。指定数组的方向。在没有任何方向的情况下,局部数组轴与全局坐标系对齐。选择一个数组方向,使数组法向量近似地指向目标的方向。这是通过旋转阵列90°围绕z设在。然后,将阵列稍微旋转2°y-轴和1°绕z设在了。

天线=相控。IsotropicAntennaElement (“BackBaffled”、假);Txarray =相控。(精“元素”天线”,“大小”, 5, 5],“ElementSpacing”, 0.4 *林* [1]);txradarAx = rotz(1)*roty(2)*rotz(90);Txplatform =相控的。平台(“InitialPosition”(50, 50岁,50岁),...“速度”(0, 0, 0),“InitialOrientationAxes”txradarAx,...“OrientationAxesOutputPort”,真正的);散热器=阶段性。散热器(“传感器”txarray,“PropagationSpeed”c...“WeightsInputPort”,真的,“OperatingFrequency”、fc);Steervec =相控。SteeringVector (“SensorArray”txarray,“PropagationSpeed”c...“IncludeElementResponse”,真正的);

接下来,沿着全球坐标系统,在距离发射机约5公里处放置一个目标y-轴和移动x方向。通常,您指定雷达横截面值为相对于局部目标轴的入射和反射射线角的函数。在全局坐标系中选择任意目标方向。

模拟一个非波动的目标,但允许RCS在每次调用时更改目标方法。设置一个简单的内联函数,rcsval,计算不同射线角度下的RCS虚构但合理的值。

tgtAx = rotz(10)*roty(15)*rotx(20);Tgtplatform =阶段性。平台(“InitialPosition”, 100;10000;100年),...“MotionModel”“加速”“InitialVelocity”(-50, 0, 0),“加速”(.015; .015; 0),...“InitialOrientationAxes”tgtAx,“OrientationAxesOutputPort”,真正的);目标=阶段性。RadarTarget (“OperatingFrequency”足球俱乐部,...“模型”“Nonfluctuating”“MeanRCSSource”输入端口的);rcsval = @ (az1 el1、az2 el2) 2 * abs (cosd ((az1 + az2) / 2 - 90) * cosd ((el1 + el2) / 2));

最后,设置接收雷达阵列。接收阵列也是由各向同性天线单元组成的5 × 5 URA。该阵列是固定的,位于150米z-来自发射阵列的方向。接收到的信号在任何方向上的强度都是信号在局部阵列坐标系中的入射角的函数。指定数组的方向。选择一个方向,使该数组也近似地指向y-朝向目标的方向,但与第一个数组不完全对齐。这是通过旋转阵列92°围绕z-轴然后绕5°x设在。

rxradarAx = rotx(5)*rotz(92);rxradarAx = rotx(- 2)*rotz(92);Rxplatform =相控的。平台(“InitialPosition”(50, 50, 200),...“速度”(0, 0, 0),“InitialOrientationAxes”rxradarAx,...“OrientationAxesOutputPort”,真正的);Rxarray =相控。(精“元素”天线”,“大小”, 5, 5],“ElementSpacing”, 0.4 *林* [1]);

总之,需要四种不同的坐标系来描述雷达场景。这些都是

  1. 全球坐标系。

  2. 由发射雷达轴定义的局部雷达坐标系统。

  3. 由目标轴定义的局部坐标系。

  4. 由接收雷达轴定义的第二局部雷达坐标系。

这里的图说明了四个坐标系。它不是按比例的,并且不能准确地表示示例代码中的场景。

指定发射波形和发射机放大

使用线性调频波形作为传输信号。假设采样频率为1 MHz,脉冲重复频率为5 kHz,脉冲长度为100微秒。设置发射机峰值输出功率为1000w,增益为40.0。

Tau = 100e-6;PRF = 5000;Fs = 1e6;波形=相控。LinearFMWaveform (“脉冲宽度”τ,...“OutputFormat”“脉冲”“NumPulses”,1,脉冲重复频率的脉冲重复频率,“SampleRate”fs);发射机=相控。发射机(“PeakPower”, 1000.0,“获得”, 40);

从传输的波形中创建一个匹配的滤波器。

过滤器=阶段性。MatchedFilter (“系数”getMatchedFilter(波形));

指定传播通道

使用自由空间模型将信号从发射雷达传播到目标并返回到接收雷达。

通道1 =分阶段。空闲空间(“OperatingFrequency”足球俱乐部,...“TwoWayPropagation”、假);Channel2 =分阶段。空闲空间(“OperatingFrequency”足球俱乐部,...“TwoWayPropagation”、假);

指定移相波束器

创建一个相移波束形成器。将波束形成器的主瓣指向与本地接收机坐标系相关的特定方向。这个方向被选择为目标在运动中某一时刻所经过的方向。这个选择让我们演示了当目标通过主瓣时,波束形成器的响应是如何变化的。

Rxangsteer = [22.2244;-5.0615];Rxangsteer = [10;-.07];波束形成器=相控。PhaseShiftBeamformer(“SensorArray”rxarray,...“DirectionSource”“属性”“方向”rxangsteer,...“PropagationSpeed”c“OperatingFrequency”、fc);

模拟循环

处理循环的每次迭代执行以下操作:

  1. 更新雷达和目标的位置。

  2. 生成LFM波形。

  3. 放大波形。

  4. 从发射天线阵列辐射信号。

  5. 将信号传播到目标。

  6. 反射目标信号。

  7. 将信号从目标传送到接收天线阵列。

  8. 在接收天线处收集接收到的信号。

  9. 波束在接收天线处形成到达信号。

  10. 对波束形成的信号进行匹配滤波,找出其峰值。

发射100个波形脉冲。每100毫秒发射一个脉冲。

T = 0;Npulse = 100;Dt = 1;

为以后的绘图创建存储空间。

azes1 = 0 (Npulse,1);elevs1 = 0 (Npulse,1);azes2 = 0 (Npulse,1);elevs2 = 0 (Npulse,1);rxsig = 0 (Npulse,1);

进入仿真回路,生成传输波形。

k = 1: n脉冲
T = T + dt;Wav =波形();

更新雷达和目标的位置。所有位置和速度都是在全局坐标系下定义的。因为OrientationAxesOutputPort属性将目标系统对象™设置为真正的,可得到瞬时局部目标轴,tgtAx1,来自目标方法。这些轴是计算目标RCS所需要的。数组局部轴是固定的,因此不需要更新它们。

[txradarPos,txradarVel] = txplatform(dt);[rxradarPos,rxradarVel] = rxplatform(dt);[tgtPos,tgtVel,tgtAx1] = tgtplatform(dt);

从发射雷达上计算目标的瞬时距离和方向。透射波的强度取决于阵列增益模式。这种模式是相对于本地雷达轴的方向角的函数。方法可以计算目标相对于发射器局部轴的方向rangeangle函数,使用可选参数指定本地雷达轴,txradarAx.(如果没有这个额外的参数,rangeangle返回相对于全局坐标系的方位角和仰角)。

[~,tgtang_tlcs] = rangeangle(tgtPos,txradarPos,txradarAx);

计算方向角的另一种方法是首先在全局坐标系中计算它们,然后使用global2localcoord函数。

创建传输波形。传输波形是生成波形的放大版本。

tx波形=发射机(wav);

向瞬时目标方向辐射信号。回想一下,散热器不是朝着这个方向,而是朝着一个由转向矢量定义的角度,txangsteer.选择转向角是因为目标在运动过程中经过这个方向。当目标移动到雷达主瓣时,我们可以从图中看到响应的改善。

Txangsteer = [23.1203;-0.5357];Txangsteer = [10;-.07];Sv1 = steervec(fc,txangsteer);Wavrad =散热器(tx波形,tgtang_tlcs,conj(sv1));

把发射雷达的信号传播给目标。传播坐标在全局坐标系中。

wavprop1 = channel1(wavrad,txradarPos,tgtPos,txradarVel,tgtVel);

将来自目标的波形反射回接收雷达阵列。使用前面定义的简单角度相关RCS模型。rcs模型的输入是入射射线和反射射线相对于局部目标坐标系的方位角和仰角。

[~,txang_tgtlcs] = rangeangle(txradarPos,tgtPos,tgtAx1);[~,rxang_tgtlcs] = rangeangle(rxradarPos,tgtPos,tgtAx1);RCS = rcsval(txang_tgtlcs(1),txang_tgtlcs(2),rxang_tgtlcs(1),rxang_tgtlcs(2));Wavreflect = target(wavprop1,rcs);Ns = size(wavreflect,1);Tm = [0:ns-1]/fs*1e6;

把信号从目标传到接收雷达。与前面一样,信号传播的所有坐标都在全局坐标系中表示。

wavprop2 = channel2(wavreflect,tgtPos,rxradarPos,tgtVel,rxradarVel);

计算接收天线阵列在辐射来袭方向上的响应。首先,使用rangeangle函数,通过指定接收机局部坐标系,计算目标相对于接收阵列局部轴的方向。rxradarAx

[tgtrange_rlcs,tgtang_rlcs] = rangeangle(tgtPos,rxradarPos,rxradarAx);

存储范围和方向角度,以便以后绘图。

Azes1 (k) = tgtang_tlcs(1);Elevs1 (k) = tgtang_tlcs(2);Azes2 (k) = tgtang_rlcs(1);Elevs2 (k) = tgtang_rlcs(2);

在接收机局部坐标系中,模拟从目标当前方向到每个单元的入射平面波。

wavcoll = collectPlaneWave(rxarray,wavprop2,tgtang_rlcs,fc);

波束形成到达的波。在这种情况下,接收波束形成器指向,rxangsteer,由方向的属性分阶段。PhaseShiftBeamformer系统对象。当目标实际位于该方向时,阵列的响应最大化。

Wavbf =波束形成器(wavcoll);

对接收波束形成的波进行匹配滤波,找出并存储每个脉冲的最大值,以便显示。该值将在模拟循环结束后绘制。

Y = filter(wavbf);Rxsig (k) = max(abs(y));
结束

根据发射机局部坐标,在方位角和高程上绘制目标轨迹。红色圆圈表示发射机阵列指向的方向。

情节(azes1 elevs1,“。b”grid xlabel(的方位(度)) ylabel (的海拔(度))标题(“发射机局部坐标中的目标轨迹”)举行情节(txangsteer (1) txangsteer (2),”或“)举行

绘制目标轨道的方位角和仰角相对于接收机的局部坐标。红色圆圈表示波束形成器指向的方向。

情节(azes2 elevs2,“。b”(-5.0,25.0,-5.0,5])的方位(度)) ylabel (的海拔(度))标题(“接收机局部坐标中的目标轨道”)举行情节(rxangsteer (1) rxangsteer (2),”或“)举行

在接收机局部坐标中绘制返回信号的振幅与方位角。振幅的大小取决于几个因素。

情节(azes2 rxsig,“。”grid xlabel(的方位(度)) ylabel (“振幅”)标题(“接收机局部坐标中的振幅与方位角”