设计基本单基地雷达脉冲

这个例子展示了如何设计单稳态脉冲雷达来估计目标距离。单站雷达的发射机与接收机并列。发射机产生一个脉冲,击中目标并产生一个由接收机接收到的回波。通过及时测量回波的位置,我们可以估计出目标的距离。

这个示例集中于一个脉冲雷达系统的设计从而可以实现的设计规范。它概述的步骤来翻译设计规格,如检测的概率和距离分辨率,成雷达系统的参数,例如发射功率和脉冲宽度。它还模型环境和目标,以合成接收信号。最后,信号处理技术被应用到所接收的信号以检测目标的范围。

设计指标

该脉冲雷达系统的设计目标是在距离雷达5000米的范围内,以50米的距离探测至少一个平方米的雷达截面(RCS)的非波动目标。期望的性能指标是检测概率(Pd)为0.9,误报概率(Pfa)低于1e-6。由于相干检测需要相位信息,因此计算开销较大,因此我们采用了一种非相干检测方案。此外,本例假设有一个自由空间环境。

PD = 0.9;检测概率%pfa = 1 e-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;%采样率波形= phased.RectangularWaveform (...“脉冲宽度”,1 / pulse_bw,...'PRF',PRF,...“SampleRate”,FS);

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

接收器噪声特性

我们假设只有噪音出现在接收器的热噪声,所以没有参与这个模拟混乱。的热噪声的功率相关的接收器的带宽。接收机的噪声带宽设置为相同的波形的带宽。这往往是在实际系统中的情况。我们还假设接收器具有20dB的增益和0db噪声。

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

请注意,因为我们是造型单基地雷达,接收器无法打开,直到发射机关闭。因此,我们的EnableInputPort属性设置为true,使得同步信号可以从发射机到接收机的传递。

发射机

的发射器的最关键的参数是峰值发射功率。所需要的峰值功率与许多因素有关,包括最大非模糊距离,接收器处的所需SNR,和波形的脉冲宽度。在这些因素中,接收机处的所需的SNR是由钯和PFA的设计目标,以及在接收器中实现的检测方案来确定。

PD,PFA和SNR之间的关系可以通过一个接收器操作特性(ROC)曲线来表示的最好的。我们可以生成曲线,其中Pd为的PFA,使用下面的命令改变的SNR的函数

snr_db = [-inf, 0, 3, 10, 13];rocsnr (snr_db“信号类型”'NonfluctuatingNoncoherent');

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

num_pulse_int = 10;rocsnr ([0 3 5],“信号类型”'NonfluctuatingNoncoherent'...'NumPulses',num_pulse_int);

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

上面的方法读出来自曲线的SNR值,但常常希望只计算所需的值。对于非相干检测方案,所需要的SNR的计算,从理论上讲,相当复杂。幸运的是,可以很好的近似,如Albersheim方程。使用Albersheim方程,所需的SNR可推导

snr_min = albersheim(PD,PFA,num_pulse_int)
snr_min = 4.9904

一旦我们在接收器获得所需要的SNR,峰值功率在发送器处可以使用雷达方程来计算。这里我们假设发射器具有20 dB的增益。

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

tx_gain = 20;FC = 10E9;波长= prop_speed / FC;peak_power = radareqpow(拉姆达,MAX_RANGE,snr_min,pulse_width,...'RCS',tgt_rcs,'获得',tx_gain)
peak_power = 5.2265e + 03

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

有了这些信息,我们可以配置变送器。

发射机= phased.Transmitter(...'获得',tx_gain,...'峰值功率',峰值功率,...“InUseOutputPort”,真正);

再次,由于本实施例中一个的模型单基地雷达系统,所述InUseOutputPort被设置为真,以输出发射器的状态。然后,此状态信号可以被用来使接收器。

散热器和收藏家

在雷达系统中,信号以电磁波的形式传播。因此,信号需要被雷达系统中使用的天线辐射和收集。这就是散热器和集热器出现的地方。

在一个单基地雷达系统,散热器和集电极共享相同的天线,所以我们将首先定义天线。为了简化设计,我们选择全向天线。需要注意的是,天线需要能够工作在系统(10千兆赫)的工作频率,所以我们设置了天线的频率范围内,以5-15千兆赫。

我们假设天线是固定的。

天线= phased.IsotropicAntennaElement(...'频率范围'[5 e9 15 e9]);sensormotion = phased.Platform (...'初始位置',[0;0;0],...'速度',[0;0;0]);

与所述天线和所述工作频率,我们定义两个散热器和集电极。

散热器= phased.Radiator(...'传感器',天线,...'工作频率',FC);集电极= phased.Collector(...'传感器',天线,...'工作频率',FC);

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

系统仿真

目标

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

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('初始位置',tgtpos,'速度',tgtvel);tgtrcs = [1.6 2.2 1.05];目标= phased.RadarTarget(“MeanRCS”,tgtrcs,'工作频率',FC);

传播环境

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

信道= phased.FreeSpace(...“SampleRate”,FS,...'TwoWayPropagation',真正,...'工作频率',FC);

因为本实施例中采用的是单基地雷达系统中,信道被设定为模拟双向传播延迟。

信号合成

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

该合成信号是与沿着每列和沿每一行慢速时间(脉冲之间的时间)的快速时间(每个脉冲之内的时间)中的数据矩阵。以可视化的信号,是有帮助的同时定义时间快网和慢时间网格。

fast_time_grid = unigrid(0,1 / FS,1 / PRF,'[)');slow_time_grid = (0: num_pulse_int-1) /脉冲重复频率;

以下循环模拟的10个脉冲的接收信号。

我们设置了噪音的产生种子的接收器,以便我们能够重现相同的结果。

receiver.SeedSource ='属性';receiver.Seed = 2007;%预分配,以提高处理速度阵列rxpulses = 0(元素个数(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);在目标方向脉冲的%模拟传播脉冲波形=();[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);阈值= npower公司* db2pow(npwgnthresh(PFA,num_pulse_int,“非相干”));

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

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

在这些图中的阈值仅是为了显示的目的。需要注意的是第二和第三目标回报率比第一回弱得多,因为他们是远离雷达。因此,接收信号功率范围相关的,并且所述阈值是不公平的位于不同范围的目标。

匹配滤波器

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

matchingcoeff = getMatchedFilter(波形);匹配过滤= phased.MatchedFilter(...“系数”matchingcoeff,...'GainOutputPort',真正);[rxpulses,mfgain] =匹配滤波器(rxpulses);

匹配滤波器引入了固有滤波器延迟,使得峰值(最大SNR输出样本)的位置不再与真正的目标位置对准。为了补偿该延迟,在这个例子中,我们将移动匹配滤波器向前和垫在端部的零点的输出。请注意,在实际系统中,因为数据是连续收集,真的是有没有它的结束。

matchingdelay =尺寸(matchingcoeff,1)-1;rxpulses =缓冲液(rxpulses(matchingdelay + 1:结束),尺寸(rxpulses,1));

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

阈值=阈值* db2pow(mfgain);

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

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

匹配滤波器阶段之后,SNR得到改善。然而,由于接收信号功率取决于范围,亲密的目标回报率仍然高于目标的收益远强多了。因此,如上述图所示,从近距离bin中的噪声也具有超过阈值的和阴影的目标更远的显著机会。为了确保门槛是公平对待所有的检测范围之内的目标,我们可以用一个随时间变化的增益,以补偿所接收回声的范围有关的损耗。

为了补偿范围有关的损耗,我们首先计算对应于每个信号样本的距离门,然后计算对应于每个距离门的自由空间路径损耗。一旦获得该信息,我们应用随时间变化的增益,以所接收到的脉冲,以使返回如如果来自相同基准范围(最大可检测范围)。

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'返回值(阈值));

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

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

请注意,这些范围的估计是只精确到的范围内的分辨率(50米),其可以由雷达系统来实现。

摘要

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