主要内容

空时自适应处理简介

这个例子简要介绍了空时自适应处理(STAP)技术,并说明了如何使用相控阵系统工具箱™将STAP算法应用于接收脉冲。STAP是一种用于机载雷达系统抑制杂波和干扰的技术。

介绍

在地面移动目标指示器(GMTI)系统中,机载雷达收集地面移动目标的回波。然而,接收到的信号不仅包含来自目标的反射回波,还包括来自被照亮的地面的返回信号。从地面返回的信号一般称为杂乱

回波来自所有被雷达波束照亮的区域,因此它占据了所有的范围和所有的方向。杂波总回波往往比回波信号强得多,这给目标检测带来了很大的挑战。杂波滤波是GMTI系统的重要组成部分。

在传统的MTI系统中,杂波滤波经常利用地面不移动的事实。因此,杂波占据了多普勒频谱中的零多普勒仓。这一原理导致了许多基于多普勒的杂波滤波技术,如脉冲抵消。有兴趣的读者可以参考移动目标指示(MTI)雷达地杂波抑制(雷达工具箱)为脉冲消除器的一个详细例子。当雷达平台本身也在移动时,比如在飞机上,从地面返回的多普勒分量不再为零。此外,杂波回波的多普勒分量与角度有关。在这种情况下,杂波返回的能量很可能跨越多普勒频谱。因此,不能仅根据多普勒频率对杂波进行滤波。

干扰是接收信号中经常出现的另一个重要干扰源。最简单的干扰形式是拦阻式干扰机,它是指向雷达接收机的强连续白噪声,因此接收机无法轻易检测到目标回波。干扰机通常位于特定位置,干扰信号因此,al与特定方向相关。但是,由于干扰机的白噪声特性,接收到的干扰信号占据了整个多普勒频带。

STAP技术在角域和多普勒域(因此被称为“空时自适应处理”)滤波信号以抑制杂波和干扰回波。在下面的部分中,我们将模拟从目标、杂波和干扰机返回的信号,并说明STAP技术如何从接收信号中过滤干扰。

系统设置

我们首先定义一个雷达系统,从示例中构建的系统开始雷达接收机的模拟测试信号

负载BasicMonostaticRadarExampleData.mat%负载单站脉冲雷达

天线的定义

假设天线单元在前半球具有各向同性响应,在后半球具有全零响应。工作频率范围设置为8至12 GHz,以匹配系统的10 GHz工作频率。

天线=分阶段。IsotropicAntennaElement...(“FrequencyRange”,[8e9 12e9],“BackBaffled”,真正的);%折流各向同性

用自定义元素模式定义一个6元素的ULA。元件间距假定为波形波长的一半。

fc = radiator.OperatingFrequency;c = radiator.PropagationSpeed;λ= c / fc;齿龈=分阶段。齿龈(“元素”天线“NumElements”6...“ElementSpacing”λ/ 2);模式(fc,齿龈“PropagationSpeed”c“类型”,“powerdb”)标题(“6元素折流板ULA响应模式”)视图(60、50)

雷达的设置

接下来,将天线阵列安装在散热器/集电极上。然后,定义雷达运动。该雷达系统安装在距离地面1000米的飞机上。飞机沿着ULA的阵列轴以这样的速度飞行,即它在一个脉冲间隔内移动阵列的半个元素间距。(下面的DPCA技术部分提供了对这种设置的解释。)

散热器。传感器=齿龈;收集器。传感器=齿龈;sensormotion =分阶段。平台(“InitialPosition”,[0;0;1000]);arrayAxis=[0;1;0];prf=waveform.prf;vr=ula.element间距*prf;%(米/秒)sensormotion。速度= vr / 2 * arrayAxis;

目标

接下来,定义一个在地面上移动的1平方米雷达横截面的非波动目标。

=阶段性目标。RadarTarget (“模型”,“非幸运”,“MeanRCS”,1,...“OperatingFrequency”、fc);tgtmotion =分阶段。平台(“InitialPosition”,[1000; 1000; 0],...“速度”, (30;30;0]);

干扰机

目标返回所需的信号;然而,在接收到的信号中也存在一些干扰。如果雷达工具箱可用,请设置变量hasRadarToolbox准确地定义一个简单的弹幕干扰机有效辐射功率为100瓦。否则,模拟将使用保存的干扰器信号。

hasRadarToolbox = false;Fs = waveform.SampleRate;rngbin = c / 2 * (0:1 / Fs: 1 / prf-1 / Fs)。”;如果hasRadarToolbox干扰机=拦阻干扰机(“ERP”, 100);干扰机。SamplesPerFrame =元素个数(rngbin);jammermotion =分阶段。平台(“InitialPosition”, 1000;1732;1000));结束

杂乱

在这个例子中,我们使用常数gamma模型模拟杂波,gamma值为-15 dB。文献表明,这个伽马值可以用来模拟被森林覆盖的地形。对于每个范围,杂波的返回可以被认为是该范围环上许多小杂波补丁的返回的组合。由于天线是后挡板,杂波的贡献只来自前面。为了简化计算,每个patch使用10度的方位角宽度。同样,如果雷达工具箱不可用,模拟将使用保存的杂波信号。

如果hasRadarToolbox mountingAng = [30,0,0];征求= 5000;Azcov = 120;混乱= constantGammaClutter (“传感器”,乌拉,“SampleRate”Fs,...“伽马”, -15,“PlatformHeight”, 1000,...“OperatingFrequency”足球俱乐部,...“PropagationSpeed”c...“PRF”脉冲重复频率,...“TransmitERP”, transmitter.PeakPower * db2pow (transmitter.Gain),...“PlatformSpeed”、规范(sensormotion.Velocity),...“平台方向”(90, 0),...“MountingAngles”mountingAng,“ClutterAzimuthCenter”,...“ClutterMaxRange”做,...“杂波方位角扫描”Azcov,...“PatchAzimuthSpan”,10,...“OutputFormat”,“脉搏”);结束

传播路径

最后,创建一个自由空间环境来表示目标和干扰机路径。因为我们使用的是单基地雷达系统,所以目标信道被设置为模拟双向传播延迟。干扰器路径仅计算单向传播延迟。

tgtchannel =分阶段。空闲空间(“TwoWayPropagation”,真的,“SampleRate”Fs,...“OperatingFrequency”、fc);jammerchannel =分阶段。空闲空间(“TwoWayPropagation”假的,...“SampleRate”Fs,“OperatingFrequency”、fc);

模拟循环

现在我们已经准备好模拟返回。处理前收集10个脉冲。将干扰机模型中的随机数生成器的种子设置为一个常数,以获得可重复的结果。

numpulse = 10;脉冲数Tsig = 0 (size(rngbin,1), ula。NumElements numpulse);jsig = tsig;tjcsig = tsig;tcsig = tsig;学会= tsig;如果hasRadarToolbox干扰机。SeedSource =“属性”;干扰机。种子= 5;杂乱。SeedSource =“属性”;杂乱。种子= 5;其他的负载STAPIntroExampleData结束对于m = 1: numpulse%更新传感器、目标并计算传感器看到的目标角度[sensorpos, sensorvel] = sensormotion(1 /脉冲重复频率);[tgtpos, tgtvel] = tgtmotion(1 /脉冲重复频率);[~, tgtang] = rangeangle (tgtpos sensorpos);更新干扰机并计算传感器看到的干扰机角度如果hasRadarToolbox [jampos,jamvel] = jammermotion(1/prf);[~, jamang] = rangeangle (jampos sensorpos);结束%模拟脉冲在目标方向上的传播脉冲=波形();[脉搏,txstatus] =发射机(脉冲);脉冲=散热器(脉搏、tgtang);脉冲= tgtchannel(脉搏、sensorpos、tgtpos、sensorvel tgtvel);在传感器处收集目标收益脉冲=目标(脉冲);tsig (:,:, m) =收集器(脉搏、tgtang);在传感器上收集干扰和杂波信号如果hasRadarToolbox jamsig = jammer();jamsig = jammerchannel (jamsig jampos、sensorpos jamvel, sensorvel);jsig (:,:, m) =收集器(jamsig jamang);学会(:,:,m) =杂乱();结束接收采集信号tjcsig(:,:,米)=接收机(tsig (:,:, m) + jsig (:,:, m) +学会(:,:,米),...~ (txstatus > 0));目标+干扰器+杂波tcsig(:,:,m)=接收机(tsig(:,:,m)+csig(:,:,m),...~ (txstatus > 0));目标+杂波tsig(:,:,米)=接收机(tsig(:,:,米),...~ (txstatus > 0));%仅目标回波结束

真实目标距离、角度和多普勒

目标方位角为45度,仰角约为-35.27度。

tgtLocation = global2localcoord (tgtpos,“rs”, sensorpos);tgtAzAngle = tgtLocation (1)
tgtAzAngle = 44.9981
tgtElAngle = tgtLocation (2)
tgtElAngle=-35.2651

目标距离是1732米。

tgtRng=tgt位置(3)
tgtRng = 1.7320 e + 03

目标多普勒归一化频率约为0.21。

sp=径向速度(tgtpos,TGT运动速度,...sensorpos sensormotion.Velocity);tgtDp = 2 * speed2dop (sp,λ);%往返多普勒tgtDp /脉冲重复频率
ans = 0.2116

接收到的总信号包括目标、杂波和干扰机的综合回波。信号是一个三维的数据立方体(范围箱x元素数量x脉冲数量)。请注意,杂波返回在总返回中占主导地位,并掩盖了目标返回。如果不进行进一步处理,我们无法检测到目标(蓝色垂线)。

ReceivePulse = tjcsig;情节([tgtRng tgtRng], [0 0.01], rngbin, abs (ReceivePulse (:,: 1)));包含(‘射程(米)’), ylabel (“震级”);标题(“ULA在第一个脉冲间隔内收集的信号”)

图中包含一个坐标轴。ULA在第一个脉冲间隔内采集到的具有标题信号的轴包含7个类型为line的对象。

现在,在二维角度多普勒(或时空)域检查返回。通常,响应是通过扫描给定仰角的所有距离和方位角产生的。因为我们知道目标的确切位置,我们可以计算它的距离和仰角相对于天线阵。

tgtCellIdx = val2ind (tgtRng c / (2 * Fs));快照= shiftdim (ReceivePulse (tgtCellIdx,:,:));%删除singleton dimangdopresp =分阶段。AngleDopplerResponse (“传感器阵列”,乌拉,...“OperatingFrequency”足球俱乐部,“PropagationSpeed”c...“PRF”脉冲重复频率,“升降角”, tgtElAngle);plotResponse (angdopresp快照,“NormalizeDoppler”,真正的);文本(tgtAzAngle tgtDp /脉冲重复频率,' +目标”)

图中包含一个坐标轴。以“角度-多普勒响应模式”为标题的轴包含图像、文本两种对象。

如果我们观察角度多普勒响应它由杂波回波控制,我们看到杂波回波不仅占据了零多普勒,还占据了其他的多普勒仓。杂波回波的多普勒也与角度有关。杂波返回在整个角度多普勒空间中看起来像一条对角线。这样的一条线通常被称为杂波脊.接收到的干扰信号是白噪声,它以一个特定的角度扩散到整个多普勒频谱,大约60度。

用DPCA消除器抑制杂波

位移相位中心天线(DPCA)算法通常被认为是第一种STAP算法。该算法利用移动孔径补偿平台运动,使杂波回波在不同脉冲之间不发生变化。因此,该算法可以通过简单地减去两个连续脉冲来消除杂波。

DPCA消去器常用于超宽带系统,但需要特殊的平台运动条件。平台必须沿着天线的阵列轴以这样的速度移动,在一个脉冲间隔内,平台的移动正好是元件间距的一半。这里使用的系统是按照前面几节的描述设置的,以满足这些条件。

假设N是ULA元素的个数。天线1通过天线N-1在第一个脉冲期间接收到的杂波回波与天线2通过天线N在第二个脉冲期间接收到的杂波回波相同。通过减去在两个脉冲间隔期间在这两个子阵列接收的脉冲,杂波可以被抵消。这种方法的代价是孔径比原始阵列小一个单元。

现在,定义一个DPCA取消器。算法可能需要搜索所有角度和多普勒组合来定位目标,但在这个例子中,因为我们知道目标的确切位置,我们可以将处理器指向那个点。

rxmainlobedir = [0;0);stapdpca =分阶段。DPCACanceller (“传感器阵列”,乌拉,“PRF”脉冲重复频率,...“PropagationSpeed”c“OperatingFrequency”足球俱乐部,...“方向”rxmainlobedir,“多普勒”tgtDp,...“WeightsOutputPort”,真正的)
stapdpca =分阶段。DPCACanceller with properties: SensorArray: [1x1 phase .]传播速度:299792458工作频率:1.0000e+10 PRF source: 'Property' PRF: 2.9979e+04 DirectionSource: 'Property' Direction: [2x1 double] NumPhaseShifterBits: 0 DopplerSource: 'Property' Doppler: 6.3429e+03 WeightsOutputPort: true PreDopplerOutput: false

首先,对目标回波和杂波回波均应用DPCA消去器。

ReceivePulse = tcsig;[y, w] = stapdpca (ReceivePulse tgtCellIdx);

经过处理的数据将空间和脉冲之间的所有信息合并成一个单一的脉冲。接下来,在时域检查处理后的信号。

情节([tgtRng tgtRng], [0 1.2 e-5], rngbin, abs (y));包含(‘射程(米)’), ylabel (“震级”);标题('DPCA消除器输出(无干扰器)')

图中包含一个坐标轴。标题为DPCA Canceller Output (no Jammer)的轴包含2个类型为line的对象。

现在,信号与噪声清晰区分,杂波已被滤除。从下面DPCA处理器权重的角度多普勒响应中,我们还可以看到权重沿杂波脊产生一个深空。

angdopresp。ElevationAngle = 0;plotResponse (angdopresp w,“NormalizeDoppler”,真正的);标题(“0度仰角DPCA权重角多普勒响应”)

图中包含一个轴。标题为DPCA权重的轴在0度仰角处的角度多普勒响应包含图像类型的对象。

虽然DPCA获得了非常好的结果,但雷达平台在使用该技术时必须满足非常严格的运动要求。此外,DPCA技术无法抑制干扰机干扰。

将DPCA处理应用于总信号会产生下图所示的结果。我们可以看到,DPCA无法从信号中过滤干扰机。由此产生的权重角度多普勒模式与之前相同。因此,处理器无法适应新添加的干扰机干扰。

ReceivePulse = tjcsig;[y, w] = stapdpca (ReceivePulse tgtCellIdx);情节([tgtRng tgtRng],[0 8]的军医,rngbin, abs (y));包含(‘射程(米)’), ylabel (“震级”);标题('DPCA消除器输出(带干扰器)')

图中包含一个坐标轴。标题为DPCA Canceller Output (with Jammer)的轴包含2个类型为line的对象。

plotResponse (angdopresp w,“NormalizeDoppler”,真正的);标题(“0度仰角DPCA权重角多普勒响应”)

图中包含一个轴。标题为DPCA权重的轴在0度仰角处的角度多普勒响应包含图像类型的对象。

SMI波束形成器的杂波和干扰抑制

为了同时抑制杂波和干扰,我们需要一种更复杂的算法。当干扰为高斯分布时,最佳接收机权值为[1]

W = K R - 1. s

在哪里K是一个标量因子,R干扰信号的时空协方差矩阵,和s是所需的时空转向矢量。确切的信息R通常是不可用的,所以我们将使用样本矩阵反演(SMI)算法。该算法估计R从训练细胞样本中提取,然后用在前面提到的等式中。

现在,定义一个SMI波束形成器并将其应用于信号。除了DPCA所需的信息外,SMI波束形成器还需要知道保护单元和训练单元的数量。该算法利用训练单元中的样本对干扰进行估计。因此,我们不应该使用接近目标单元的单元进行估计,因为它们可能包含一些目标信息,也就是说,我们应该定义保卫单元。保卫单元的数量必须是偶数,以便在目标单元的前后平均分割。训练单元的数量也必须是偶数,并在目标的前后等分。一般情况下,训练单元数目越大,干扰估计越好。

tgtAngle = [tgtAzAngle;tgtElAngle];stapsmi =分阶段。STAPSMIBeamformer (“传感器阵列”、齿龈“PRF”,prf,...“PropagationSpeed”C“OperatingFrequency”足球俱乐部,...“方向”tgtAngle,“多普勒”,tgtDp,...“WeightsOutputPort”,真的,...“NumGuardCells”4“NumTrainingCells”, 100)
stapsmi =分阶段。STAPSMIBeamformer with properties: SensorArray: [1x1 phase .]传播速度:299792458工作频率:1.0000e+10 PRFSource: '属性' PRF: 2.9979e+04 DirectionSource: '属性' Direction: [2x1 double] NumPhaseShifterBits: 0 DopplerSource: '属性'多普勒:6.3429e+03 NumGuardCells: 4 NumTrainingCells: 100 WeightsOutputPort: true
[y, w] = stapsmi (ReceivePulse tgtCellIdx);情节([tgtRng tgtRng], [0 2 e-6], rngbin, abs (y));包含(‘射程(米)’), ylabel (“震级”);标题(SMI波束形成器输出(带干扰器))

图中包含一个坐标轴。标题为SMI波束形成输出(带干扰器)的轴包含2个类型为line的对象。

plotResponse (angdopresp w,“NormalizeDoppler”,真正的);标题(“SMI权重角度多普勒响应在0度仰角”)

图中包含一个坐标轴。标题为SMI权角多普勒响应在0度仰角包含类型图像的对象。

结果表明,SMI波束形成器既能区分杂波信号,又能区分干扰信号。SMI权值的角度多普勒图沿干扰机方向显示深零。

SMI提供了最大的自由度,因此,在所有STAP算法中最大的增益。它常被用作比较不同STAP算法的基线。

使用ADPCA消除器降低计算成本

虽然SMI是最佳的STAP算法,但它有几个固有的缺点,包括计算成本高,因为它使用每个单元的全维数据。更重要的是,SMI需要跨越多个脉冲的稳定环境。这种环境在实际应用中并不常见。因此,许多降维STAP alg算法已经被提出。

自适应DPCA (ADPCA)抵消器以与DPCA相同的方式滤除杂波,但它也有抑制干扰的能力,因为它使用两个连续脉冲估计干扰协方差矩阵。因为只涉及两个脉冲,所以计算量大大减少。此外,由于该算法对干扰具有适应性,可以容忍某些运动干扰。

现在,定义ADPCA抵消器,然后将其应用到接收信号。

stapadpca =分阶段。ADPCACanceller (“传感器阵列”、齿龈“PRF”,prf,...“PropagationSpeed”C“OperatingFrequency”足球俱乐部,...“方向”rxmainlobedir,“多普勒”,tgtDp,...“WeightsOutputPort”,真的,...“NumGuardCells”4“NumTrainingCells”, 100)
stapadpca =分阶段。ADPCACanceller with properties: SensorArray: [1x1 phase .]ULA]传播速度:299792458工作频率:1.0000e+10 PRFSource: 'Property' PRF: 2.9979e+04 DirectionSource: 'Property' Direction: [2x1 double] NumPhaseShifterBits: 0 DopplerSource: 'Property' Doppler: 6.3429e+03 NumGuardCells: 4 NumTrainingCells: 100 WeightsOutputPort: true PreDopplerOutput: false
[y,w]=stapadpca(接收脉冲,tgtCellIdx);绘图([tgtRng tgtRng],[0 2e-6],rngbin,abs(y));xlabel(‘射程(米)’), ylabel (“震级”);标题('ADPCA消除器输出(带干扰器)')

图中包含一个轴。标题为ADPCA消除器输出(带干扰器)的轴包含2个line类型的对象。

plotResponse (angdopresp w,“NormalizeDoppler”,真正的);标题('ADPCA权重角度多普勒响应在0度仰角')

图中包含一个坐标轴。标题为ADPCA权重角多普勒响应在0度仰角包含类型图像的对象。

时域图显示信号已成功恢复。ADPCA权值的角多普勒响应与SMI权值产生的角多普勒响应相似。

总结

本实例简要介绍了空时自适应处理,并说明了如何使用不同的STAP算法,即SMI、DPCA和ADPCA来抑制接收脉冲中的杂波和干扰。

参考

J. R. Guerci,雷达空时自适应处理Artech House, 2003年