文档

基本单站脉冲雷达的设计

这个例子说明了如何设计一个单站脉冲雷达来估计目标距离。单站雷达的发射机与接收机并置。发射器产生一个脉冲,该脉冲击中目标并产生接收器接收到的回波。通过及时测量回波的位置,可以估计目标的距离。

这个例子关注的是脉冲雷达系统设计其中可以实现一套设计规范。它概述了将设计规范(如探测概率和距离分辨率)转化为雷达系统参数(如发射功率和脉冲宽度)的步骤。对环境和目标进行建模,合成接收到的信号。最后,对接收到的信号进行信号处理,检测目标的距离。

设计规范

该脉冲雷达系统的设计目标是在距离雷达高达5000米的距离上,以50米的距离分辨率探测至少1平方米雷达横截面(RCS)的非波动目标。期望的性能指标是检测概率(Pd)为0.9,虚警概率(Pfa)低于1e-6。由于相干检测需要相位信息,因此计算成本更高,因此我们采用非相干检测方案。此外,本例假定了一个自由空间环境。

Pd = 0.9;%检测概率Pfa = 1e-6;%虚警概率Max_range = 5000;%最大无二义范围Range_res = 50;%所需距离分辨率Tgt_rcs = 1;%要求目标雷达横截面

单站雷达系统设计

我们需要定义雷达系统的几个特征,如波形、接收机、发射机和用于辐射和收集信号的天线。

波形

在这个例子中我们选择一个矩形波形。所需的范围分辨率决定波形的带宽,在矩形波形的情况下,带宽决定脉冲宽度。

脉冲波形的另一个重要参数是脉冲重复频率(PRF)。PRF由最大无二义范围决定。

Prop_speed = physconst(“光速”);传播速度%Pulse_bw = prop_speed/(2*range_res);脉冲带宽%Pulse_width = 1/pulse_bw脉冲宽度%PRF = prop_speed/(2*max_range);脉冲重复频率Fs = 2*pulse_bw;%采样率波形=相位。RectangularWaveform (“脉冲宽度”1 / pulse_bw,脉冲重复频率的脉冲重复频率,“SampleRate”fs);

注意,我们将采样率设置为带宽的两倍。

接收机噪声特性

我们假设接收器上存在的唯一噪声是热噪声,因此在此模拟中不涉及杂波。热噪声的功率与接收机带宽有关。将接收机的噪声带宽设置为与波形带宽相同。这在实际系统中经常出现。我们还假设接收机的增益为20 dB,噪声系数为0 dB。

Noise_bw =脉冲bw;接收器=阶段性的。ReceiverPreamp (“获得”, 20岁,“NoiseFigure”0,“SampleRate”fs,“EnableInputPort”,真正的);

请注意,因为我们正在建模单站雷达,接收器不能打开,直到发射机关闭。因此,我们将EnableInputPort属性设置为true,以便同步信号可以从发送端传递到接收端。

发射机

发射机最关键的参数是峰值发射功率。所需的峰值功率与许多因素有关,包括最大无二义范围、接收机所需的信噪比和波形的脉冲宽度。在这些因素中,接收机所需的信噪比取决于Pd和Pfa的设计目标以及接收机实现的检测方案。

Pd、Pfa和信噪比之间的关系可以用受试者工作特征(ROC)曲线来最好地表示。对于不同的信噪比,我们可以使用以下命令生成Pd是Pfa的函数的曲线

Snr_db = [-inf, 0,3,10,13];rocsnr (snr_db“SignalType”“NonfluctuatingNoncoherent”);

ROC曲线显示,要满足Pfa = 1e-6和Pd = 0.9的设计目标,接收信号的信噪比必须超过13 dB。这是一个相当高的要求,不太实用。为了使雷达系统更可行,我们可以使用脉冲积分技术来降低所需的信噪比。如果我们选择对10个脉冲进行积分,曲线可以生成为

Num_pulse_int = 10;rosnr ([0 35],“SignalType”“NonfluctuatingNoncoherent”“NumPulses”, num_pulse_int);

我们可以看到所需的功率已经下降到5db左右。进一步降低信噪比可以通过积分更多的脉冲来实现,但由于目标的运动或环境的异质性,可用于积分的脉冲数量通常是有限的。

上面的方法从曲线中读出信噪比值,但通常只计算所需的值是可取的。对于非相干检测方案,理论上所需信噪比的计算是相当复杂的。幸运的是,有很好的近似方法,比如Albersheim方程。利用Albersheim方程,所需信噪比可推导为

Snr_min = albersheim(pd, pfa, num_pulse_int)
Snr_min = 4.9904

一旦我们在接收机上获得所需的信噪比,就可以使用雷达方程计算发射机的峰值功率。这里我们假设发射机的增益为20db。

为了利用雷达方程计算峰值功率,我们还需要知道传播信号的波长,这与系统的工作频率有关。这里我们将工作频率设置为10ghz。

Tx_gain = 20;Fc = 10e9;Lambda = prop_speed/fc;Peak_power = radareqpow(lambda,max_range,snr_min,pulse_width,RCS的tgt_rcs,“获得”tx_gain)
Peak_power = 5.2265e+03

请注意,由此产生的功率约为5 kW,这是非常合理的。相比之下,如果我们没有使用脉冲集成技术,产生的峰值功率将达到33千瓦,这是巨大的。

有了这些信息,我们就可以配置发射器了。

发射机=相控。发射机(“获得”tx_gain,“PeakPower”peak_power,“InUseOutputPort”,真正的);

同样,由于这个示例建模的是单站雷达系统,因此InUseOutputPort被设置为true以输出发射器的状态。然后可以使用该状态信号使能接收器。

散热器和收集器

在雷达系统中,信号以电磁波的形式传播。因此,信号需要通过雷达系统中使用的天线进行辐射和采集。这就是散热器和收集器进入画面的地方。

在单站雷达系统中,散热器和收集器共用同一个天线,因此我们将首先定义天线。为了简化设计,我们选择了各向同性天线。请注意,天线需要能够在系统的工作频率(10ghz)下工作,因此我们将天线的频率范围设置为5- 15ghz。

我们假设天线是静止的。

天线=相控。IsotropicAntennaElement (“FrequencyRange”[5 e9 15 e9]);Sensormotion =阶段性的。平台(“InitialPosition”, (0;0;0),“速度”, (0;0;0]);

通过天线和工作频率,我们定义了散热器和收集器。

散热器=阶段性的。散热器(“传感器”、天线、“OperatingFrequency”、fc);收集器=分阶段。收集器(“传感器”、天线、“OperatingFrequency”、fc);

完成雷达系统的配置。在接下来的部分中,我们将定义模拟所需的其他实体,例如目标和环境。然后我们将模拟信号返回,并对模拟信号进行距离检测。

系统仿真

目标

为了测试我们的雷达探测目标的能力,我们必须首先确定目标。让我们假设空间中有3个静止的、不波动的目标。它们的位置和雷达横截面如下。

tgtpos = [(2024.66, 0, 0), [3518.63, 0, 0], [3845.04, 0, 0]];[0;0;0],[0;0;0],[0;0;0]];Tgtmotion = phase。平台(“InitialPosition”tgtpos,“速度”, tgtvel);TGTRCS = [1.6 2.2 1.05];目标=阶段性的。RadarTarget (“MeanRCS”tgtrcs,“OperatingFrequency”、fc);

传播环境

为了模拟信号,我们还需要定义雷达系统与每个目标之间的传播信道。

通道=相位。空闲空间(“SampleRate”fs,“TwoWayPropagation”,真的,“OperatingFrequency”、fc);

由于本例使用单站雷达系统,因此信道设置为模拟双向传播延迟。

信号合成

现在我们准备模拟整个系统。

合成信号是一个数据矩阵,每一列有快时间(每个脉冲内的时间),每一行有慢时间(脉冲间的时间)。为了使信号可视化,定义快时间网格和慢时间网格是有帮助的。

Fast_time_grid = unigrid(0,1/fs,1/prf;“()”);Slow_time_grid = (0:num_pulse_int-1)/prf;

下面的环路模拟了接收信号的10个脉冲。

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

接收器。SeedSource =“属性”;接收器。种子= 2007;%预分配数组以提高处理速度rx脉冲= 0 (numel(fast_time_grid),num_pulse_int);M = 1:num_pulse_int更新传感器和目标位置[sensorpos,sensorvel] = sensormotion(1/prf);[tgtpos,tgtvel] = tgtmotion(1/prf);%计算传感器看到的目标角度[tgtrng,tgtang] = rangeangle(tgtpos,sensorpos);模拟脉冲在目标方向上的传播Pulse =波形();[txsig,txstatus] =发送器(脉冲);Txsig =散热器(Txsig,tgtang);Txsig = channel(Txsig,sensorpos,tgtpos,sensorvel,tgtvel);从目标反射脉冲tgsig = target(txsig);在传感器处接收目标返回Rxsig = collector(tgsig,tgtang);rx脉冲(:,m) = receiver(rxsig,~(txstatus>0));结束

检测范围

检测阈值

检测器将信号功率与给定的阈值进行比较。在雷达应用中,通常选择阈值使Pfa低于某一水平。在这种情况下,我们假设噪声是高斯白噪声,检测是非相干的。由于我们也使用10个脉冲进行脉冲积分,所以信号功率阈值由

Npower = noisepow(noise_bw,receiver。NoiseFigure,receiver.ReferenceTemperature);阈值= npower * db2pow(npwgnthresh(pfa,num_pulse_int),“非相干”));

我们用阈值绘制前两个接收到的脉冲

Num_pulse_plot = 2;helperRadarPulsePlot (rxpulses阈值,fast_time_grid、slow_time_grid num_pulse_plot);

这些数字中的阈值仅供显示。请注意,第二个和第三个目标回波比第一个回波弱得多,因为它们离雷达更远。因此,接收到的信号功率与距离有关,阈值对不同距离的目标是不公平的。

匹配滤波器

匹配的滤波器提供了一个处理增益,提高了检测阈值。它将接收到的信号与发射波形的本地、时间反转和共轭副本进行卷积。因此,在创建匹配的滤波器时,我们必须指定传输波形。接收到的脉冲首先通过匹配的滤波器来提高信噪比,然后再进行脉冲积分、阈值检测等。

matchingcoeff = getMatchedFilter(波形);Matchedfilter = phase。MatchedFilter (“系数”matchingcoeff,“GainOutputPort”,真正的);[rx脉冲,mfgain] = matchedfilter(rx脉冲);

匹配的滤波器引入了一个固有的滤波器延迟,使得峰值(最大信噪比输出样本)的位置不再与真正的目标位置对齐。为了补偿这种延迟,在本例中,我们将向前移动匹配滤波器的输出,并在末尾填充零。请注意,在实际系统中,由于数据是连续收集的,因此实际上没有结束。

Matchingdelay = size(matchingcoeff,1)-1;rx脉冲= buffer(rx脉冲(matchingdelay+1:end),size(rx脉冲,1));

然后通过匹配的滤波器处理增益增加阈值。

Threshold = Threshold * db2pow(mfgain);

下图显示了经过匹配滤波器后的两个脉冲。

helperRadarPulsePlot (rxpulses阈值,fast_time_grid、slow_time_grid num_pulse_plot);

经过匹配滤波阶段,信噪比得到提高。然而,由于接收到的信号功率依赖于距离,近距离目标的回波仍然比远距离目标的回波强得多。因此,如上图所示,来自近距离垃圾箱的噪声也有很大的机会超过阈值并遮蔽更远的目标。为了保证阈值对可探测范围内的所有目标都是公平的,我们可以使用时变增益来补偿接收回波中的距离相关损失。

为了补偿距离相关损耗,我们首先计算每个信号样本对应的距离门,然后计算每个距离门对应的自由空间路径损耗。一旦获得了该信息,我们对接收到的脉冲施加时变增益,使返回的脉冲仿佛来自相同的参考范围(最大可检测范围)。

Range_gates = prop_speed*fast_time_grid/2;分阶段的。TimeVaryingGain (“RangeLoss”2 * fspl (range_gatesλ),“ReferenceLoss”2 * fspl (max_rangeλ));rx脉冲= tvg(rx脉冲);

现在让我们在范围归一化之后画出同样的两个脉冲

helperRadarPulsePlot (rxpulses阈值,fast_time_grid、slow_time_grid num_pulse_plot);

时变增益操作导致噪声底板出现斜坡。然而,目标收益现在是范围无关的。一个恒定的阈值现在可以用于整个可检测范围的检测。

注意,在这个阶段,阈值高于每个脉冲中包含的最大功率水平。因此,在这个阶段还不能检测到任何东西。我们需要进行脉冲积分,以确保从目标返回的回波功率可以超过阈值,同时使噪声底低于条。这是预期的,因为它是脉冲集成,它允许我们使用低功率脉冲序列。

非相干积分

通过对接收到的脉冲进行非相干积分(视频积分),可以进一步提高信噪比。

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

视频融合阶段结束后,数据就可以进入最后的检测阶段。从图中可以看出,来自目标的三个回波都在阈值以上,可以被检测到。

检测范围

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

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

目标的真实距离和检测距离如下图所示:

True_range = round(tgtrng) range_estimated = round(range_gates(range_detect))
True_range = 2025 3519 3845 range_estimates = 2025 3525 3850

请注意,这些距离估计仅准确到雷达系统可以实现的距离分辨率(50米)。

总结

在这个例子中,我们基于一组给定的性能目标设计了一个雷达系统。从这些性能目标出发,计算了雷达系统的许多设计参数。该实例还展示了如何使用所设计的雷达执行距离探测任务。在本例中,雷达使用矩形波形。感兴趣的读者可参考改进现有雷达系统性能的波形设计举一个使用啁啾波形的例子。