主要内容

时空自适应处理导论

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

简介

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

杂波回波来自雷达波束照射的所有区域,因此它占据了所有距离仓和所有方向。杂波总回波往往比回波信号强得多,这给目标检测带来了很大的挑战。因此,杂波滤波是GMTI系统的关键部分。

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

干扰是接收信号中经常出现的另一个重要干扰源。最简单的干扰形式是弹幕干扰器,它是指向雷达接收器的强的、连续的白噪声,使接收器不能轻易地检测到目标返回。干扰器通常位于特定的位置,因此干扰信号与特定的方向相关联。然而,由于干扰机的白噪声特性,接收到的干扰信号占据了整个多普勒波段。

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

系统设置

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

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

天线的定义

假设天线元件在前半球有各向同性响应,在后半球有全零响应。建议将系统的工作频率范围设置为8ghz ~ 12ghz,以匹配系统的工作频率10ghz。

天线=相控。IsotropicAntennaElement...“FrequencyRange”(8 e9 12 e9),“BackBaffled”,真正的);%受挫各向同性

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

fc =散热器。工作频率;c =散热器.传播速度;Lambda = c/fc;Ula =阶段性的。齿龈(“元素”、天线、“NumElements”6...“ElementSpacing”λ/ 2);模式(fc,齿龈“PropagationSpeed”c“类型”“powerdb”)标题(“6元素困惑的ULA响应模式”)视图(60、50)

雷达的设置

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

散热器。传感器= ula;收集器。传感器= ula;感觉运动=阶段性的。平台(“InitialPosition”, (0;0;1000));arrayAxis = [0;1;0);prf = waveform.PRF;vr = ula.ElementSpacing*prf;% in [m/s]sensormotion。速度= vr/2*arrayAxis;

目标

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

目标=阶段性。RadarTarget (“模型”“Nonfluctuating”“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 jammer = barrageJammer(“ERP”, 100);干扰机。SamplesPerFrame = numel(rngbin);Jammermotion =阶段性。平台(“InitialPosition”, 1000;1732;1000));结束

杂乱

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

如果hasRadarToolbox Rmax = 5000;Azcov = 120;杂波= constantGammaClutter(“传感器”、齿龈“SampleRate”Fs,...“伽马”, -15,“PlatformHeight”, 1000,...“OperatingFrequency”足球俱乐部,...“PropagationSpeed”c...脉冲重复频率的脉冲重复频率,...“TransmitERP”, transmitter.PeakPower * db2pow (transmitter.Gain),...“PlatformSpeed”、规范(sensormotion.Velocity),...“PlatformDirection”(90, 0),...“ClutterMaxRange”做,...“ClutterAzimuthSpan”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;Csig = tsig;如果hasRadarToolbox干扰机。SeedSource =“属性”;干扰机。种子= 5;杂乱。SeedSource =“属性”;杂乱。种子= 5;其他的负载STAPIntroExampleData结束M = 1:numpulse更新传感器、目标,并计算传感器所看到的目标角度[sensorpos,sensorvel] = sensormotion(1/prf);[tgtpos,tgtvel] = tgtmotion(1/prf);[~,tgtang] = rangeangle(tgtpos,sensorpos);更新干扰器并计算传感器所看到的干扰器角度。如果hasRadarToolbox [jampos,jamvel] = jammermotion(1/prf);[~,jamang] = rangeangle(jampos,sensorpos);结束模拟脉冲沿目标方向的传播脉冲=波形();[pulse,txstatus] =发射器(脉冲);脉冲=散热器(脉冲,tgtang);Pulse = tgtchannel(Pulse,sensorpos,tgtpos,sensorvel,tgtvel);在传感器处收集目标返回脉冲=目标(脉冲);Tsig (:,:,m) =收集器(脉冲,tgtang);在传感器上收集干扰和杂波信号如果hasRadarToolbox jamsig = jammer();Jamsig = jammerchannel(Jamsig,jampos,sensorpos,jamvel,sensorvel);Jsig (:,:,m) = collector(jamsig,jamang);Csig (:,:,m) =杂波();结束接收收集信号tjcsig(:,:,米)=接收机(tsig (:,:, m) + jsig (:,:, m) +学会(:,:,米),...~ (txstatus > 0));%目标+干扰器+杂波Tcsig (:,:,m) = receiver(tsig(:,:,m)+csig(:,:,m),...~ (txstatus > 0));%目标+杂波Tsig (:,:,m) = receiver(Tsig (:,:,m),...~ (txstatus > 0));%仅目标回声结束

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

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

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

目标射程是1732米。

tgtRng = tgtLocation(3)
tgtRng = 1.7320e+03

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

Sp = radialspeed(tgtpos, tgtmotion.)速度,...sensorpos sensormotion.Velocity);tgtDp = 2*speed2dop(sp,lambda);%往返多普勒tgtDp /脉冲重复频率
Ans = 0.2116

接收到的总信号包含来自目标、杂波和干扰器的返回值。该信号是一个具有三维(范围箱x元素数量x脉冲数量)的数据立方体。请注意,杂波收益主导了总收益并掩盖了目标收益。在此阶段,如果没有进一步的处理,我们无法检测到目标(蓝色垂直线)。

ReceivePulse = tjcsig;plot([tgtRng tgtRng],[0 0.01],rngbin,abs(ReceivePulse(:,:,1)));包含(的范围(m)), ylabel (“级”);标题(“ULA在第一个脉冲间隔内收集的信号”

图中包含一个axes对象。ULA在第一个脉冲间隔内收集的标题为Signals的axes对象包含7个类型为line的对象。

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

tgtCellIdx = val2ind(tgtRng,c/(2*Fs));snapshot = shiftdim(ReceivePulse(tgtCellIdx,::));%移除单例dimAngdopresp =阶段性的。AngleDopplerResponse (“SensorArray”、齿龈...“OperatingFrequency”足球俱乐部,“PropagationSpeed”c...脉冲重复频率的脉冲重复频率,“ElevationAngle”, tgtElAngle);plotResponse (angdopresp快照,“NormalizeDoppler”,真正的);文本(tgtAzAngle tgtDp /脉冲重复频率,' +目标”

图中包含一个axes对象。标题为“角-多普勒响应模式”的轴类对象包含图像、文字两种类型的对象。

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

用DPCA消去器抑制杂波

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

DPCA消去器通常用于ula,但需要特殊的平台运动条件。平台必须沿着天线阵列轴移动,并且在一个脉冲间隔内,平台的移动正好是单元间距的一半。如前面章节所述,这里使用的系统是为满足这些条件而设置的。

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

现在,定义一个DPCA取消程序。算法可能需要搜索所有的角度和多普勒组合来定位目标,但对于这个例子来说,因为我们确切地知道目标在哪里,我们可以将处理器引导到那个点。

Rxmainlobedir = [0];0);Stapdpca =阶段性的。DPCACanceller (“SensorArray”、齿龈脉冲重复频率的脉冲重复频率,...“PropagationSpeed”c“OperatingFrequency”足球俱乐部,...“方向”rxmainlobedir,“多普勒”tgtDp,...“WeightsOutputPort”,真正的)
Stapdpca =阶段性的。dpccanceller属性:SensorArray: [1x1相控。ULA]传播速度:299792458操作频率:1.0000e+10 PRFSource: '属性' PRF: 2.9979e+04 DirectionSource: '属性'方向:[2x1 double] NumPhaseShifterBits: 0 DopplerSource: '属性'多普勒:6.3429e+03 WeightsOutputPort: true PreDopplerOutput: false

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

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

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

plot([tgtRng tgtRng],[0 1.2e-5],rngbin,abs(y));包含(的范围(m)), ylabel (“级”);标题('DPCA取消输出(无干扰)'

图中包含一个axes对象。标题为DPCA cancelleroutput(没有干扰器)的axes对象包含两个类型为line的对象。

现在信号与噪音已经清晰地区分开来,杂波也被过滤掉了。从下面DPCA处理器权值的角度多普勒响应,我们还可以看到权值沿杂波脊产生一个很深的零值。

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

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

虽然DPCA得到的结果非常好,但雷达平台要想使用该技术,必须满足非常严格的运动要求。此外,DPCA技术不能抑制干扰器干扰。

对总信号进行DPCA处理得到的结果如下图所示。我们可以看到DPCA不能从信号中滤除干扰。得到的权重的角度多普勒谱图与之前相同。因此,处理器不能适应新增加的干扰干扰。

ReceivePulse = tjcsig;[y,w] = stapdpca(ReceivePulse,tgtCellIdx);plot([tgtRng tgtRng],[0 8e-4],rngbin,abs(y));包含(的范围(m)), ylabel (“级”);标题('DPCA取消输出(带干扰器)'

图中包含一个axes对象。标题为DPCA cancelleloutput(带干扰器)的axes对象包含两个类型为line的对象。

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

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

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

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

w k R - 1 年代

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

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

tgtAngle = [tgtAzAngle;tgtElAngle];Stapsmi =阶段性。STAPSMIBeamformer (“SensorArray”、齿龈脉冲重复频率的脉冲重复频率,...“PropagationSpeed”c“OperatingFrequency”足球俱乐部,...“方向”tgtAngle,“多普勒”tgtDp,...“WeightsOutputPort”,真的,...“NumGuardCells”4“NumTrainingCells”, 100)
Stapsmi =阶段性。SensorArray: [1x1相控。ULA]传播速度:299792458操作频率:1.0000e+10 PRFSource: '属性' PRF: 2.9979e+04 DirectionSource: '属性'方向:[2x1双]NumPhaseShifterBits: 0 DopplerSource: '属性'多普勒:6.3429e+03 NumGuardCells: 4 NumTrainingCells: 100 WeightsOutputPort: true
[y,w] = stapsmi(ReceivePulse,tgtCellIdx);plot([tgtRng tgtRng],[0 2 -6],rngbin,abs(y));包含(的范围(m)), ylabel (“级”);标题(“SMI波束前输出(带干扰器)”

图中包含一个axes对象。标题为SMI Beamformer Output(带干扰器)的axis对象包含两个类型为line的对象。

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

图中包含一个axes对象。标题为SMI的轴对象包含一个类型为图像的对象。

结果表明,SMI波束形成器能够区分杂波和干扰信号。SMI权重的角度多普勒谱图沿干扰机方向显示一个深空。

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

利用ADPCA消去器降低计算成本

虽然SMI是最优的STAP算法,但它有一些固有的缺点,包括计算成本高,因为它使用每个单元的全维度数据。更重要的是,SMI需要跨多个脉冲的静止环境。这种环境在实际应用程序中并不常见。因此,提出了许多降维STAP算法。

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

现在,定义一个ADPCA消除器,然后将其应用于接收到的信号。

Stapadpca =阶段性的。ADPCACanceller (“SensorArray”、齿龈脉冲重复频率的脉冲重复频率,...“PropagationSpeed”c“OperatingFrequency”足球俱乐部,...“方向”rxmainlobedir,“多普勒”tgtDp,...“WeightsOutputPort”,真的,...“NumGuardCells”4“NumTrainingCells”, 100)
Stapadpca =阶段性的。属性:SensorArray: [1x1相控。ULA]传播速度:299792458操作频率:1.0000e+10 PRFSource: '属性' PRF: 2.9979e+04 DirectionSource: '属性'方向:[2x1双]NumPhaseShifterBits: 0 DopplerSource: '属性'多普勒:6.3429e+03 NumGuardCells: 4 NumTrainingCells: 100 WeightsOutputPort: true PreDopplerOutput: false
[y,w] = stapadpca(ReceivePulse,tgtCellIdx);plot([tgtRng tgtRng],[0 2 -6],rngbin,abs(y));包含(的范围(m)), ylabel (“级”);标题(ADPCA消除输出(带干扰器)

图中包含一个axes对象。标题为ADPCA Canceller Output(带干扰器)的axes对象包含两个类型为line的对象。

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

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

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

总结

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

参考

J. R.格尔西,雷达的时空自适应处理Artech House, 2003年