主要内容

多普勒估计

这个例子显示了一个单站脉冲雷达在特定范围内检测运动目标的径向速度。该速度由运动目标引起的多普勒频移得出。我们首先确定给定范围内是否存在目标,然后使用多普勒处理确定该范围内目标的径向速度。

雷达系统设置

首先,我们定义一个雷达系统。由于本示例的重点是多普勒处理,我们使用示例中构建的雷达系统雷达接收机模拟测试信号.鼓励读者探索的细节雷达系统设计通过这个例子。

负载BasicMonostaticRadarExampleData

系统仿真

目标

多普勒处理利用运动目标引起的多普勒频移。我们现在定义三个目标,通过指定它们的位置、雷达截面(RCS)和速度。

tgtpos=[1200;1600;0],[3543.63;0;0],[1600;0;1200];tgtvel=[60;80;0],[0;0;0],[0;100;0];tgtmotion=phased.Platform(“InitialPosition”,tgtpos,“速度”,tgtvel);tgtrcs=[1.3 1.7 2.1];fc=散热器。工作频率;目标=相控。雷达目标(“MeanRCS”tgtrcs,“工作频率”、fc);

注意,第一和第三个目标都位于2000米的射程内,并且都以100米/秒的速度前进。不同之处在于,第一个目标是沿径向移动的,而第三个目标是沿切向移动的。第二个目标没有改变。

环境

我们还需要为每个目标设置传播环境。由于我们使用的是单基地雷达,所以我们使用的是双向传播模型。

fs = waveform.SampleRate;频道=分阶段。空闲空间(...“SampleRate”fs,...“双向传播”,真的,...“工作频率”、fc);

信号合成

有了雷达系统、环境和目标的定义,我们现在可以将接收到的信号模拟为目标反射的回波。模拟数据是一个数据矩阵,每一列的快时间(每个脉冲内的时间)和每一行的慢时间(脉冲之间的时间)。

我们需要在接收器上设置产生噪声的种子,这样我们就可以重现相同的结果。

接收器。SeedSource =“属性”;接收器。种子= 2009;脉冲重复频率= waveform.PRF;num_pulse_int = 10;fast_time_grid = unigrid (0,1 / fs, 1 /脉冲重复频率,“()”);slow_time_grid = (0: num_pulse_int-1) /脉冲重复频率;%预分配数组以提高处理速度rxpulses = 0(元素个数(fast_time_grid) num_pulse_int);m=1:num\u pulse\u int%更新传感器和目标位置[sensorpos,sensorvel]=传感器运动(1/prf);[tgtpos,tgtvel]=tgtmotion(1/prf);%计算传感器看到的目标角度[tgtrng, 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));结束

多普勒估计

检测范围

为了能够估计目标的多普勒频移,首先需要通过距离探测对目标进行定位。由于多普勒频移将信号功率扩展到I和Q通道,我们需要依靠信号能量来进行检测。这意味着我们使用非相干检测方案。

在上述示例中详细描述了检测过程,因此我们在此仅执行必要的步骤来估计目标范围。

计算初始阈值pfa = 1 e-6;%在负载系统中,噪声带宽是采样率的一半noise_bw = receiver.SampleRate / 2;npower = noisepow (noise_bw...receiver.NoiseFigure receiver.ReferenceTemperature);npwgnthresh(pfa,num_pulse_int,“非相干”));%应用匹配的过滤器并更新阈值matchingcoeff = getMatchedFilter(波形);matchedfilter =分阶段。MatchedFilter (...“系数”matchingcoeff,...“GainOutputPort”,真正的);[rx脉冲,mfgain] = matchedfilter(rx脉冲);Threshold = Threshold * db2pow(mfgain);%补偿匹配滤波器延迟matchingdelay=大小(matchingcoeff,1)-1;rxpulses=缓冲区(rxpulses(matchingdelay+1:end),大小(rxpulses,1));应用时变增益来补偿与范围相关的损失prop_speed = radiator.PropagationSpeed;range_gates = prop_speed * fast_time_grid / 2;λ= prop_speed / fc;tvg =分阶段。TimeVaryingGain (...“射程损失”,2*fspl(量程门,λ),...“ReferenceLoss”2 * fspl (prop_speed /(脉冲重复频率* 2),λ));rxpulses = tvg (rxpulses);%从集成脉冲检测峰值[~,范围检测]=查找峰值(脉冲),“非相干”),...“MinPeakHeight”返回值(阈值));range_estimates =圆(range_gates (range_detect))
range_estimates =1×22000 3550

这些估计表明在2000米和3550米范围内存在目标。

多普勒频谱

一旦我们成功地估计了目标的距离,我们就可以估计每个目标的多普勒信息。

多普勒估计本质上是一个频谱估计过程。因此,多普勒处理的第一步是从接收信号生成多普勒频谱。

经过匹配滤波器后的接收信号是一个矩阵,其列对应于接收的脉冲。与距离估计不同,多普勒处理处理的数据跨越脉冲(慢时间),这是沿着数据矩阵的行。由于我们使用10个脉冲,所以有10个样本可供多普勒处理。由于每个脉冲都有一个采样,多普勒采样的采样频率是脉冲重复频率(PRF)。

正如傅立叶理论所预测的那样,脉冲雷达系统能够检测到的最大无模糊多普勒频移是其PRF的一半。这也转化为雷达系统能够检测到的最大无模糊速度。此外,脉冲的数量决定了多普勒频谱中的分辨率,这决定了速度估计的分辨率。

最大速度=DOP2速度(prf/2,λ)/2
最大速度=224.6888
speed_res = 2 * max_speed / num_pulse_int
speed_res = 44.9378

如上述计算所示,在这个例子中,最大可检测的速度是225m/s,无论是接近(-225)或离开(+225)。由此产生的多普勒分辨率约为45米/秒,这意味着两个速度必须至少为45米/秒,才能在多普勒频谱中被分离。为了提高区分不同目标速度的能力,需要更多的脉冲。然而,可用脉冲的数量也受到目标径向速度的限制。由于多普勒处理被限制在一个给定的距离,在目标从一个距离库移动到下一个距离库之前,处理中使用的所有脉冲都必须被收集。

由于多普勒样本的数量一般是有限的,它是常见的零填充序列,以插值得到的频谱。这不会提高得到的频谱的分辨率,但可以提高对频谱中峰值位置的估计。

多普勒频谱可以用周期图生成。我们将慢时间序列归零到256点。

num_range_detected =元素个数(range_estimates);[p1, f1] =周期图(rxpulses (range_detect (1 ),:).',[], 256年,脉冲重复频率,...“权力”“中心”);[p2, f2] =周期图(rxpulses (range_detect (2 ),:).',[], 256年,脉冲重复频率,...“权力”“中心”);

然后可以计算出光谱中每个样品对应的速度。注意,我们需要考虑到往返效应。

speed_vec = dop2speed (f1,λ)/ 2;

多普勒估计

为了估计与每个目标相关的多普勒频移,我们需要找到每个多普勒频谱中峰值的位置。在本例中,目标位于两个不同的范围,因此需要对每个范围重复估计过程。

我们先画出2000米范围内的多普勒频谱。

周期图(rxpulses (range_detect (1 ),:).',[], 256年,脉冲重复频率,“权力”“中心”);

图中包含一个轴对象。标题为“周期图功率谱估计”的轴对象包含一个类型为line的对象。

注意,我们只对检测峰值感兴趣,所以频谱值本身不是关键的。从多普勒频谱图,我们注意到5分贝以下的最大峰值是一个很好的阈值。因此,我们使用-5作为归一化多普勒频谱的阈值。

spectrum_data = p1 / max (p1);[~, dop_detect1] = findpeaks (pow2db (spectrum_data),“MinPeakHeight”,-5);sp1=速度向量(dop\u检测1)
sp1 =2×1-103.5675 - 3.5108

结果表明,在2000 m距离有两个目标,一个速度为3.5 m/s,另一个速度为-104 m/s。-104米/秒的值可以很容易地与第一个目标联系起来,因为第一个目标以100米/秒的径向速度离开,考虑到本例的多普勒分辨率,这个值非常接近估价值。3.5 m/s这个值需要更多的解释。由于第三个目标是沿切向运动,所以在径向上没有速度分量。因此,雷达无法检测到第三目标的多普勒频移。因此第三个目标的真视向速度为0 m/s,估计为3.5 m/s非常接近真值。

注意,这两个目标不能只用距离估计来识别,因为它们的距离值是相同的。

然后将同样的操作应用于3550米范围对应的数据。

周期图(rxpulses (range_detect (2 ),:).',[], 256年,脉冲重复频率,“权力”“中心”);

图中包含一个轴对象。标题为“周期图功率谱估计”的轴对象包含一个类型为line的对象。

spectrum_data = p2 / max (p2);[~, dop_detect2] = findpeaks (pow2db (spectrum_data),“MinPeakHeight”5);sp2 = speed_vec (dop_detect2)
sp2 = 0

这个结果显示了估计的速度为0米/秒,这与目标在这个范围内没有移动的事实相匹配。

总结

这个例子展示了一个简单的方法估计径向速度的运动目标使用脉冲雷达系统。我们从接收信号中生成多普勒频谱,并从频谱中估计峰值位置。这些峰值位置对应于目标的径向速度。文中还讨论了多普勒处理的局限性。