主要内容

提高现有系统距离性能的波形设计

这个例子展示了波形类型如何影响雷达系统的探测性能。该示例考虑为现有的对象设置新性能目标的情况雷达系统设计.由于旧的设计不能再达到预期的性能,采用了一种新的波形。该示例还展示了如何对转弯目标建模,模拟返回,然后检测目标范围。

设计规格变化

设计了一种单脉冲雷达雷达接收机模拟测试信号实现以下目标:

  1. 最小目标雷达横截面(RCS): 1 2 nonfluctuating;

  2. 最大明确射程:5公里;

  3. 检测概率:0.9;

  4. 误报概率:1e-6。

负载BasicMonostaticRadarExampleData

新的性能要求

在系统部署之后,出现了两个新的需求:

  1. 最大明确射程需要扩大到8公里。

  2. 该系统还需要能够检测转弯case 2目标。

可以修改现有的设计以实现新的性能目标吗?要回答这个问题,我们需要重新计算受这些新需求影响的参数。

第一个受影响的参数是脉冲重复频率(PRF)。它需要根据新的最大明确范围重新计算。

prop_speed = radiator.PropagationSpeed;max_range = 8000;脉冲重复频率= prop_speed / (2 * max_range);

与现有设计的30 kHz PRF相比,新的PRF为18.737 kHz,更小。因此脉冲间隔较长。注意,这是一个微不足道的变化在雷达软件和相当便宜的硬件成本。

波形。脉冲重复频率=脉冲重复频率;

接下来,由于目标是用Swerling case 2模型描述的,我们需要用Shnidman方程而不是Albersheim方程来计算实现指定Pd和Pfa所需的SNR。Shnidman方程假设非相干积分和平方定律检测器。要积分的脉冲数是10。

num_pulse_int = 10;pfa = 1 e-6;snr_min = shnidman(0.9、pfa num_pulse_int, 2)
snr_min = 6.1583

波形选择

如果我们在现有的设计中使用相同的矩形波形,脉冲宽度将保持不变,因为它由距离分辨率决定。然而,由于我们的最大射程从5公里增加到8公里,而且目标模型从无波动切换到转弯情况2,我们需要重新计算所需的峰值发射功率。

fc = radiator.OperatingFrequency;λ= prop_speed / fc;peak_power =((4 *π)^ 3 * noisepow (1 / waveform.PulseWidth) * max_range ^ 4 *...db2pow (snr_min)) / (db2pow (2 * transmitter.Gain) * 1 *λ^ 2)
peak_power = 4.4821 e + 04

峰值功率大约是之前要求的8倍。这不再是一个微不足道的修改,因为(1)现有雷达硬件的设计是产生峰值功率约5200 w的脉冲。尽管大多数设计将在所需功率之上留下一些余地,但现有系统不太可能容纳8倍以上的功率;(2)更换硬件来输出如此高的功率是非常昂贵的。因此,目前的设计需要修改,以适应新的目标,使用更复杂的信号处理技术。

线性调频波形

降低功率要求的一种方法是使用矩形波形以外的波形。例如,线性调频波形可以使用比矩形波形更长的脉冲。因此,所需的峰值发射功率下降。

让我们检查线性调频波形的配置细节。

所需的距离分辨率决定了波形带宽。对于线性调频波形,带宽等于其扫描带宽。然而,脉冲宽度不再局限于脉冲带宽的倒数,因此可以使用更长的脉冲宽度。我们使用20倍的脉冲宽度,并将采样率设置为脉冲带宽的两倍。

range_res = 50;pulse_bw = prop_speed / (2 * range_res);pulse_width = 20 / pulse_bw;fs = 2 * pulse_bw;波形=分阶段。LinearFMWaveform (...“SweepBandwidth”pulse_bw,...“脉冲宽度”pulse_width,...脉冲重复频率的脉冲重复频率,...“SampleRate”fs);

我们现在确定了实现设计要求所需的新发射功率。

peak_power =((4 *π)^ 3 * noisepow (1 / waveform.PulseWidth) * max_range ^ 4 *...db2pow (snr_min)) / (db2pow (2 * transmitter.Gain) * 1 *λ^ 2)
peak_power = 2.2411 e + 03

这种发射功率完全在我们现有雷达系统的能力范围内。我们实现了峰值发射功率,可以满足新的要求,而不需要修改现有的硬件。

发射机。PeakPower = peak_power;

系统仿真

现在我们已经定义了满足设计规范的雷达,我们设置了目标和环境来模拟整个系统。

目标

就像前面提到的例子一样,我们假设在一个自由空间环境中有3个目标。而现在目标模型为转弯情况2,则指定目标位置和平均雷达横截面为:

tgtpos = [[2024.66;0;0], [6518.63;0;0], [6845.04;0;0]];tgtvel = [(0, 0, 0), (0, 0, 0), [0, 0, 0]];tgtmotion =分阶段。平台(“InitialPosition”tgtpos,“速度”, tgtvel);TGTRCS = [2.2 1.1 1.05];fc = radiator.OperatingFrequency;=阶段性目标。RadarTarget (...“模型”“Swerling2”...“MeanRCS”tgtrcs,...“OperatingFrequency”、fc);

我们为在目标中生成rcs设置了种子,这样我们就可以复制相同的结果。

目标。SeedSource =“属性”;目标。种子= 2007;

传播环境

我们还建立了雷达与各个目标之间的传播通道。

频道=分阶段。空闲空间(...“SampleRate”波形。SampleRate,...“TwoWayPropagation”,真的,...“OperatingFrequency”、fc);

信号合成

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

接收器。SeedSource =“属性”;接收器。种子= 2007;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_pulse_int更新传感器和目标位置[sensorpos, sensorvel] = sensormotion(1 /脉冲重复频率);[tgtpos, tgtvel] = tgtmotion(1 /脉冲重复频率);计算传感器所看到的目标角度[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));结束

检测范围

检测阈值

利用噪声信息计算检测阈值,并考虑脉冲积分。注意,在加载的系统中,如上述示例所述,噪声带宽是采样速率的一半。我们将阈值与前两个脉冲画在一起。

noise_bw = receiver.SampleRate / 2;npower = noisepow (noise_bw...receiver.NoiseFigure receiver.ReferenceTemperature);阈值= npower * db2pow(npwgnthresh(pfa,num_pulse_int,“非相干”));pulseplotnum = 2;helperRadarPulsePlot (rxpulses阈值,...fast_time_grid、slow_time_grid pulseplotnum);

图中包含2个轴对象。标题为Pulse 1的axis对象1包含两个类型为line的对象。标题为Pulse 2的axis对象2包含两个类型为line的对象。

图中显示脉冲非常宽,这可能导致较差的距离分辨率。此外,第二和第三个目标完全被噪声掩盖了。

匹配滤波器

与矩形波形一样,接收到的脉冲首先通过匹配滤波器以提高信噪比。匹配的滤波器提供了进一步提高检测阈值的处理增益。此外,线性FM波形的匹配滤波器的额外好处是它在时域压缩波形,因此被过滤的脉冲变得更窄,这转化为更好的距离分辨率。

matchingcoeff = getMatchedFilter(波形);matchedfilter =分阶段。MatchedFilter (...“CoefficientsSource”“属性”...“系数”matchingcoeff,...“GainOutputPort”,真正的);[rx豆类,mfgain] = matchedfilter(rx豆类);阈值=阈值* db2pow(mfgain);

补偿匹配的滤波器延迟。

matchingdelay =大小(matchingcoeff, 1) 1;rxpulses =缓冲区(rxpulses (matchingdelay + 1:结束),大小(rxpulses, 1));

然后将时变增益应用到信号上,以便在整个可检测范围内使用恒定的阈值。

range_gates = prop_speed * fast_time_grid / 2;λ= prop_speed / fc;tvg =分阶段。TimeVaryingGain (...“RangeLoss”2 * fspl (range_gatesλ),...“ReferenceLoss”2 * fspl (max_rangeλ));rxpulses = tvg (rxpulses);

非相干积分

我们现在对接收脉冲进行非相干积分,以进一步提高信噪比。这个操作也被称为视频集成。

rxpulses = pulsint (rxpulses,“非相干”);helperRadarPulsePlot (rxpulses阈值,fast_time_grid slow_time_grid, 1);

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。

视频整合完成后,数据就可以进入最后的检测阶段了。从上面的图表中,我们可以看到没有虚惊一场。

检测范围

最后,对积分脉冲进行阈值检测。该检测方案识别出峰值,然后将其位置转换为目标的范围。

[~, range_detect] = findpeaks (rxpulses,“MinPeakHeight”返回值(阈值));

真实范围和估计范围分别是

true_range =圆(tgtrng)
true_range =1×32025 6519 6845
range_estimates =圆(range_gates (range_detect))
range_estimates =1×32025 6525 6850

请注意,这些距离估计只能精确到雷达系统能够达到的距离分辨率,在本例中为50米。

总结

在本例中,我们使用啁啾波形进行距离检测。通过使用啁啾波形,我们能够降低所需的峰值发射功率,从而为转弯情况2目标实现8公里的更大探测范围。

Baidu
map