主要内容

模拟测试信号对雷达接收机

这个例子展示了如何模拟单稳态脉冲雷达的接收信号估计目标区间。一个单站雷达发射机与接收机配置。器生成一个脉冲击中目标,产生回波由接收器接收。通过测量回波的位置随着时间的推移,我们可以估计目标的范围。

本例着重于一个脉冲雷达系统设计可以实现一组设计规范。它概述了翻译的步骤设计规范,如检测的概率和距离分辨率,为雷达系统参数,如传输功率和脉冲宽度。它还模型环境和目标合成接收到的信号。最后,信号处理技术应用于接收到的信号来检测目标的范围。

设计规范

脉冲雷达系统的设计目标是检测non-fluctuating目标至少有一个平方米的雷达截面(RCS)距离5000米的雷达距离分辨率的50米。所需的性能指标是检测(Pd)的概率为0.9,假警报(Pfa)的概率低于1 e-6。由于相干检测需要相位信息,因此更需要大量的计算,我们采用一个非相干检测方案。此外,这个例子假定自由空间环境。

pd = 0.9;%的概率检测pfa = 1 e-6;%的概率假警报max_range = 5000;%最大明确的范围range_res = 50;%需要距离分辨率tgt_rcs = 1;%需要目标雷达截面

单站雷达系统设计

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

波形

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

另一个重要参数脉冲波形的脉冲重复频率(脉冲)。PRF是由最大的明确的范围。

prop_speed = physconst (“光速”);%传播速度pulse_bw = prop_speed / (2 * range_res);%脉冲带宽pulse_width = 1 / pulse_bw;%脉冲宽度脉冲重复频率= prop_speed / (2 * max_range);%脉冲重复频率fs = 2 * pulse_bw;%采样率波形= phased.RectangularWaveform (“脉冲宽度”1 / pulse_bw,脉冲重复频率的脉冲重复频率,“SampleRate”fs);

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

接收机噪声特征

我们假设只有噪音出席接收机是热噪声,所以没有杂乱参与了这一仿真。热噪声的力量与接收机带宽。接收机的噪声带宽将是相同的带宽波形。这是通常情况下在真实的系统。我们还假设接收机有20分贝增益和0分贝噪音图。

noise_bw = pulse_bw;接收机= phased.ReceiverPreamp (“获得”,20岁,“NoiseFigure”0,“SampleRate”fs,“EnableInputPort”,真正的);

注意,因为我们在建模一个单站雷达,接收者不能开启,直到发射机关闭。因此,我们设置EnableInputPort属性为true,这样可以通过一个同步信号从发射机到接收机。

发射机

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

Pd的关系,最好Pfa和信噪比可表示为一个接收机工作特性曲线(ROC)。我们可以生成曲线,Pd是Pfa对不同信噪比的函数使用以下命令:

snr_db =[负0、3、10、13);rocsnr (snr_db“SignalType”,“NonfluctuatingNoncoherent”);

中华民国曲线表明,满足设计目标的Pfa = 1 e-6 Pd = 0.9,接收信号的信噪比必须超过13分贝。这是一个相当高的要求,不是很实用。使雷达系统更可行的,我们可以使用脉冲集成技术来减少所需的信噪比。如果我们选择将10个脉冲,可以生成曲线

num_pulse_int = 10;rocsnr ([0 3 5],“SignalType”,“NonfluctuatingNoncoherent”,“NumPulses”,num_pulse_int);

我们可以看到所需的功率下降了5分贝左右。进一步减少信噪比可以通过整合更多的脉冲,但是脉冲用于集成的数量通常是由于有限的运动目标或环境的异质性。

上面的方法读取的SNR值曲线,但是通常需要计算所需的值。非相干检测方案,所需的信噪比的计算,从理论上讲,非常复杂。幸运的是,有很好的近似可用,如Albersheim的方程。使用Albersheim的方程,所需的信噪比可以派生

snr_min = albersheim (pd、pfa num_pulse_int)
snr_min = 4.9904

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

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

tx_gain = 20;fc = 10 e9;λ= prop_speed / fc;peak_power =((4 *π)^ 3 * noisepow (1 / pulse_width) * max_range ^ 4 *db2pow (snr_min)) / (db2pow (2 * tx_gain) * tgt_rcs *λ^ 2)
peak_power = 5.2265 e + 03

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

所有这些信息,我们可以配置器。

发射机= phased.Transmitter (“获得”tx_gain,“PeakPower”peak_power,“InUseOutputPort”,真正的);

再一次,因为这个例子模型单站雷达系统,InUseOutputPort设置为true来输出发射机的状态。这种状态信号可以用来使接收器。

散热器和收藏家

在雷达系统中,信号传播形式的一种电磁波。因此,收集的信号需要辐射和天线在雷达系统中使用。这是散热器和收藏家进入画面。

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

我们假设天线是静止的。

天线= phased.IsotropicAntennaElement (“FrequencyRange”[5 e9 15 e9]);sensormotion = phased.Platform (“InitialPosition”,(0;0;0),“速度”,(0;0;0]);

与天线工作频率,我们定义散热器和收藏家。

散热器= phased.Radiator (“传感器”、天线、“OperatingFrequency”、fc);收集器= phased.Collector (“传感器”、天线、“OperatingFrequency”、fc);

这就完成了雷达系统的配置。在下面几节中,我们将定义其他实体,如所需的目标和环境的模拟。我们将模拟信号返回并执行范围检测的模拟信号。

系统仿真

目标

为了测试我们的雷达探测目标的能力,我们必须首先定义目标。让我们假设有三个静止不动的,non-fluctuating目标空间。下面给出他们的位置和雷达横截面。

tgtpos = [(2024.66, 0, 0), [3518.63, 0, 0], [3845.04, 0, 0]];tgtvel = [(0, 0, 0), (0, 0, 0), [0, 0, 0]];tgtmotion = phased.Platform (“InitialPosition”tgtpos,“速度”,tgtvel);tgtrcs = (1.6 2.2 1.05);目标= phased.RadarTarget (“MeanRCS”tgtrcs,“OperatingFrequency”、fc);

传播环境

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

频道= phased.FreeSpace (“SampleRate”fs,“TwoWayPropagation”,真的,“OperatingFrequency”、fc);

因为这个例子使用单站雷达系统,通道设置来模拟两种方式传播延迟。

信号合成

现在,我们可以模拟整个系统。

合成信号数据矩阵的快速时间(时间在每一个脉冲)每个列和缓慢的时间(脉冲之间的时间)以及每一行。可视化的信号,它有助于定义网格快速网格和缓慢的时间。

fast_time_grid = unigrid (0,1 / fs, 1 /脉冲重复频率,“()”);slow_time_grid = (0: num_pulse_int-1) /脉冲重复频率;

10以下循环模拟得到的脉冲信号。

我们的种子接收机中的噪音的产生,这样我们才能重现相同的结果。

接收器。SeedSource =“属性”;接收器。种子= 2007;%预先分配数组来提高处理速度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));结束

检测范围

检测阈值

探测器比较信号功率给定阈值。在雷达应用中,阈值通常是选择Pfa低于一定水平。在本例中,我们假设噪声是高斯白和检测是不相干的。因为我们也用10个脉冲脉冲集成,信号功率阈值是由

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

我们把前两个接收脉冲阈值

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

这些数字的阈值仅用于显示目的。注意,第二个和第三个目标回报率远低于第一个返回,因为他们是远离雷达。因此,接收到的信号功率范围依赖和阈值对目标位于不同的范围是不公平的。

匹配滤波器

匹配滤波器提供了一个处理增益,提高了检测阈值。可变接收信号与本地,时间反演,结合传输波形的副本。因此,我们必须指定传输波形在创建我们的匹配滤波器。接收到的脉冲首先通过一个匹配滤波器改善信噪比之前做脉冲集成、阈值检测等。

matchingcoeff = getMatchedFilter(波形);matchedfilter = phased.MatchedFilter (“系数”matchingcoeff,“GainOutputPort”,真正的);[rxpulses, mfgain] = matchedfilter (rxpulses);

匹配滤波器引入了一种内在的过滤器延迟,峰的位置(最大信噪比输出样本)不再与真正的目标位置。为了弥补这种延迟,在本例中,我们将匹配滤波器的输出垫末尾的0。请注意,在实际的系统中,由于不断收集数据,真的没有。

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

然后阈值增加了匹配滤波器处理增益。

阈值=阈值* db2pow (mfgain);

下面的图显示了相同的两个脉冲后通过匹配滤波器。

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

匹配滤波器后阶段,提高信噪比。然而,由于接收到的信号功率依赖范围,近距离目标的回归仍远高于目标更远的回归。因此,作为上述图中显示,噪音从近距离本也有一个显著的机会超过了阈值和跟踪目标更远。确保阈值探测范围内的所有目标,我们可以使用一个时变增益补偿范围相关的接收到的回声。

补偿范围相关的损失,我们首先计算范围盖茨相应信号样本,然后计算自由空间路径损耗相应范围的门。一旦获得这些信息,我们应用一个时变增益接收到的脉冲,以便返回仿佛从相同的参考范围(最大探测距离)。

range_gates = prop_speed * fast_time_grid / 2;tvg = phased.TimeVaryingGain (“RangeLoss”2 * fspl (range_gatesλ),“ReferenceLoss”2 * fspl (max_rangeλ));rxpulses = tvg (rxpulses);

现在让我们情节相同的两个脉冲后归一化范围

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

时变增益操作结果在坡道噪声地板上。然而,现在目标返回范围无关的。一个常数阈值现在可以用于探测整个探测距离。

注意,在这个阶段,上述阈值最大的功率包含在每一个脉冲。因此,什么可以被发现在这个阶段。我们需要执行脉冲集成,以确保返回的回声从目标的力量可以超过阈值,同时保留噪声地板下面条。这是预期的,因为它是脉冲集成允许我们使用低功率脉冲序列。

非相干积分

我们可以进一步提高信噪比的非相干积分(视频集成)接收到的脉冲。

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

视频集成阶段后,数据准备最后检测阶段。从图可以看出,所有三个回声的目标高于阈值,因此可以被探测到。

检测范围

最后,综合脉冲阈值检测执行。检测方案确定了山峰的范围,然后将他们的位置转换为目标。

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

真正的范围和目标的检测范围如下所示:

true_range =圆(tgtrng) range_estimates =圆(range_gates (range_detect))
true_range = 2025 3519 3845 range_estimates = 2025 3525 3850

注意,这些范围估计只有准确距离分辨率(50米),可以通过雷达系统。

总结

在这个例子中,我们设计了一个雷达系统基于一组给定的性能目标。从这些性能目标,许多雷达系统的设计参数进行了计算。示例还展示了如何使用设计的雷达来执行一系列检测任务。在这个例子中,雷达使用矩形波形。有兴趣的读者可以参考波形设计改善现有系统的性能范围使用线性调频波形为例。