主要内容

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

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

设计规格变更

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

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

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

  3. 检测概率:0.9;

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

负载BasicMonostaticRadarExampleData

新性能要求

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

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

  2. 系统还需要能够检测到转弯情况2目标。

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

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

prop_speed =散热器。传播速度;Max_range = 8000;PRF = prop_speed/(2*max_range);

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

波形。PRF = PRF;

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

Num_pulse_int = 10;Pfa = 1e-6;Snr_min = shnidman(0.9,pfa,num_pulse_int,2)
Snr_min = 6.1583

波形选择

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

fc =散热器。操作频率;Lambda = prop_speed/fc;peak_power = ((4*pi)^3*noisepow(1/wave . pulsewidth)*max_range^4*...db2pow (snr_min)) / (db2pow (2 * transmitter.Gain) * 1 *λ^ 2)
Peak_power = 4.4821e+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*pi)^3*noisepow(1/wave . pulsewidth)*max_range^4*...db2pow (snr_min)) / (db2pow (2 * transmitter.Gain) * 1 *λ^ 2)
Peak_power = 2.2411e+03

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

发射机。PeakPower = peak_power;

系统仿真

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

目标

与前面提到的例子一样,我们假设在自由空间环境中有3个目标。但现在目标模型为Swerling case 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 =散热器。操作频率;目标=阶段性。RadarTarget (...“模型”“Swerling2”...“MeanRCS”tgtrcs,...“OperatingFrequency”、fc);

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

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

传播环境

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

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

信号合成

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

接收器。SeedSource =“属性”;接收器。种子= 2007;Fast_time_grid = unigrid(0,1/fs,1/prf,“()”);Slow_time_grid = (0:num_pulse_int-1)/prf;rxpulse = 0 (numel(fast_time_grid),num_pulse_int);%预先分配M = 1:num_pulse_int更新传感器和目标位置[sensorpos,sensorvel] =感应运动(1/prf);[tgtpos,tgtvel] = tgtmotion(1/prf);计算传感器所看到的目标角度[tgtrng,tgtang] = rangeangle(tgtpos,sensorpos);模拟脉冲在目标方向上的传播脉冲=波形();[txsig,txstatus] =发射器(脉冲);Txsig =散热器(Txsig,tgtang);Txsig = channel(Txsig,sensorpos,tgtpos,sensorvel,tgtvel);%反射目标的脉冲Tgtsig = target(txsig,true);在传感器处接收目标返回值Rxsig = collector(tgtsig,tgtang);rxpulse (:,m) = receiver(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的Axes对象1包含2个类型为line的对象。标题为Pulse 2的axis对象2包含2个类型为line的对象。

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

匹配滤波器

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

matchingcoeff = getMatchedFilter(波形);Matchedfilter =相控。MatchedFilter (...“CoefficientsSource”“属性”...“系数”matchingcoeff,...“GainOutputPort”,真正的);[rxmilliseconds, mfgain] = match filter(rxmilliseconds);阈值=阈值* db2pow(mfgain);

补偿匹配的过滤器延迟。

匹配延迟= size(matchingcoeff,1)-1;rx脉冲= buffer(rx脉冲(匹配延迟+1:结束),大小(rx脉冲,1));

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

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

非相干积分

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

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

图中包含一个轴对象。axis对象包含2个line类型的对象。

视频整合后,数据准备进入最后的检测阶段。从上面的图中,我们可以看到没有虚惊。

检测范围

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

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

真实范围和估计范围是

True_range = round(tgtrng)
true_range =1×32025 6519 6845
Range_estimates = round(range_gates(range_detect))
range_estimates =1×32025 6525 6850

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

总结

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