主要内容

时空自适应处理简介

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

介绍

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

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

在传统的MTI系统中,杂波滤波往往利用地面不移动的事实。因此,杂波在多普勒频谱中占据了零多普勒库。这一原理导致了许多基于多普勒杂波滤波技术,如脉冲对消。感兴趣的读者可参考移动目标指示(MTI)雷达的地面杂波缓解(雷达工具箱)有关脉冲消除器的详细示例。当雷达平台本身也在移动时,例如在平面中,从接地返回的多普勒组件不再为零。另外,杂波返回的多普勒组分是依赖性的。在这种情况下,杂波返回可能会在多普勒频谱上具有能量。因此,杂波不能仅相对于多普勒频率滤波。

干扰是另一个显着的干扰源,通常存在于接收信号中。最简单的干扰形式是拦截干扰器,这是强大的,连续的白噪声针对雷达接收器,使得接收器不能容易地检测目标返回。干扰器通常在特定位置处,因此干扰信号与特定方向相关联。然而,由于干扰器的白噪声性质,所接收的干扰信号占据整个多普勒带。

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

系统设置

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

加载BasicMonostaticRadareXampledata.mat;%负荷单静脉脉冲雷达

天线的定义

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

天线=分阶段。IsotropicAntennaElement...“FrequencyRange”,[8e9 12e9],'底板',真正的);%令人困惑的各向同性

使用自定义元素模式定义一个6元素ULA。将元素间隔假设为波形波长的一半。

FC =散热器。频繁;C =辐射器.Propagationspeed;lambda = c / fc;ula = phased.ula('元素',天线,'numElements',6,...“ElementSpacing”λ/ 2);模式(fc,齿龈'繁殖',C,'类型''powerdb') 标题('6元素围绕Ula响应模式')查看(60,50)

雷达设置

接下来,将天线阵列安装在散热器/收集器上。然后,定义雷达运动。雷达系统安装在平面上,在地面上方1000米。该平面以ula的阵列轴线以速度飞行,使得它在一个脉冲间隔期间传输阵列的半元素间隔。(在下面的DPCA技术部分中提供了这种设置的解释。)

辐射器。Sensor = Ula;collector.sensor = ula;SensorMotion = phased.platform('初始位置',[0;0;1000]);Arrayaxis = [0;1;0];prf = waveborm.prf;VR = ULA.ELEMENTSPACING * PRF;%在[m / s]中sensormotion。速度= vr / 2 * arrayAxis;

目标

接下来,用1平方米的雷达横截面定义非流量靶标在地面上移动。

target = phased.radartarget(“模型”'无变的''veslrcs',1,...“OperatingFrequency”,FC);tgtmotion = phased.platform('初始位置',[1000;1000;0],...'速度', (30;30;0]);

干扰机

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

hasRadarToolbox = false;Fs = waveform.SampleRate;rngbin = c / 2 * (0:1 / Fs: 1 / prf-1 / Fs)。”;如果hasradartoolbox混合器= barragejammer('erp',100);Jammer.SamplesPerframe = Numel(RNGBin);jammerotion = phased.platform('初始位置',[1000;1732;1000]);结尾

杂乱

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

如果hasradartoolbox mountingang = [30,0,0];rmax = 5000;Azcov = 120;Clutter = ContanctGammacluttut('传感器'乌拉,'采样率',fs,...'伽玛', -15,“PlatformHeight”,1000,...“OperatingFrequency”足球俱乐部,...'繁殖',C,...'prf',prf,...'transierp',发射器.Peakpower * db2pow(变送器.gain),...'platfillspeed'、规范(sensormotion.Velocity),...'platformdirection',[90; 0],...“MountingAngles”mountingAng,'clutterazimuthcenter'...“ClutterMaxRange”,rmax,...'Clutterazimuthspan'Azcov,...'patchazimuthspan'10...'输出格式''脉冲');结尾

传播路径

最后,创建一个可用空间环境来表示目标和干扰路径。因为我们使用了单机雷达系统,因此设置目标信道以模拟双向传播延迟。Jammer路径仅计算单向传播延迟。

tgtchannel = phased.freespace(“TwoWayPropagation”,真的,'采样率',fs,...“OperatingFrequency”,FC);jammerchannel = phased.freespace(“TwoWayPropagation”,错误的,...'采样率',fs,“OperatingFrequency”,FC);

仿真环路

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

numpulse = 10;%脉冲数Tsig = Zeros(大小(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 /脉冲重复频率);[tgtpos, tgtvel] = tgtmotion(1 /脉冲重复频率);[~, tgtang] = rangeangle (tgtpos sensorpos);%更新干扰器并计算传感器所示的干扰角如果hasradartoolbox [Jampos,Jamvel] = jammotion(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);csig(:,:,m)= clutter();结尾%接收采集信号TJCSIG(:,:,m)=接收器(tsig(:,:,m)+ jsig(:,:,m)+ csig(:,:,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 = tgtlocation(3)
tgtRng = 1.7320 e + 03

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

sp =放射性速度(tgtpos,tgtmotion.velocity,...SensorPos,Sensormotion.velocity);tgtdp = 2 * speed2dop(sp,lambda);%往返多普勒TGTDP / PRF.
ans = 0.2116

接收到的总信号包括来自目标、杂波和干扰器的回波。该信号是一个具有三维空间的数据立方体(范围箱x元素数x脉冲数)。注意,杂波返回压倒了总返回,并掩盖了目标返回。如果不进行进一步的处理,我们无法检测目标(蓝色垂直线)。

ReceivePulse = tjcsig;情节([tgtRng tgtRng], [0 0.01], rngbin, abs (ReceivePulse (:,: 1)));Xlabel('范围(m)'),Ylabel('震级');标题('由ULA收集的第一个脉冲间隔内的信号'

图中包含一个轴。ULA在第一个脉冲间隔内收集的标题为“信号”的轴包含类型线的7个对象。

现在,检查2-D角度多普勒(或时空)域中的返回。通常,通过扫描给定仰角的所有范围和方位角的所有范围和方位角产生响应。因为我们确切地知道目标是,我们可以在天线阵列方面计算其范围和仰角。

tgtCellIdx = val2ind (tgtRng c / (2 * Fs));快照= shiftdim (ReceivePulse (tgtCellIdx,:,:));%删除单身昏暗angdopresp =分阶段。AngleDopplerResponse ('sensorarray'乌拉,...“OperatingFrequency”足球俱乐部,'繁殖',C,...'prf',prf,'expationangle',tgtelangle);PlotResponse(Angdopresp,Snapshot,'标准化oppler',真正的);文本(tgtAzAngle tgtDp /脉冲重复频率,'+目标'

图中包含一个轴。标题为角-多普勒响应模式的轴包含图像和文本两个对象。

如果我们看看由杂波返回主导的角度多普勒响应,我们认为杂波返回不仅占用零多普勒,而且还占用了其他多普勒箱。杂波返回的多普勒也是角度的函数。杂波返回看起来像整个角度多普勒空间中的对角线。这样的线通常被称为杂波脊。接收的干扰信号是白噪声,其在特定角度下在整个多普勒光谱上传播约60度。

用DPCA消除器抑制杂乱抑制

移位的相位中心天线(DPCA)算法通常被认为是第一STAP算法。该算法使用换档孔径来补偿平台运动,使得杂波返回不会从脉冲变为脉冲。因此,该算法可以通过两个连续脉冲的简单减法来移除杂波。

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

假设n是ULA元素的数量。在第一脉冲期间通过天线N-1在天线1上接收的杂波返回与第二脉冲期间通过天线N通过天线N接收的杂波返回相同。通过在两个脉冲间隔期间减去在这两个子阵列处接收的脉冲,可以抵消杂波。该方法的成本是一个孔径,其是小于原始阵列的一个元素。

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

rxmainlobedir = [0;0];stapdpca = phased.dpcacanceller('sensorarray'乌拉,'prf',prf,...'繁殖',C,“OperatingFrequency”足球俱乐部,...'方向',rxmainlobedir,'doppler',tgtdp,...'progeSoutputport',真正的)
stapdpca =分阶段。DPCACanceller与属性:SensorArray: [1x1相控。传播速度:299792458 OperatingFrequency: 1.0000e+10 PRFSource: '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(接收,tgtcellidx);

处理的数据将所有信息与脉冲脉冲相结合以成为单个脉冲。接下来,检查时域中的处理信号。

情节([tgtRng tgtRng], [0 1.2 e-5], rngbin, abs (y));Xlabel('范围(m)'),Ylabel('震级');标题('DPCA消除器输出(无动机)'

图中包含一个轴。标题为DPCA Canceller Output(无干扰器)的轴包含2个line类型的对象。

现在,信号从噪声和杂波被过滤出来。从DPCA处理器重量的角度多普勒响应下方,我们还可以看到重量沿着杂波岭产生深零。

angdopresp。ElevationAngle = 0;plotresponse(angdopresp,w,'标准化oppler',真正的);标题('DPCA重量角多普勒响应0度高度'

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

虽然DPCA获得的结果非常好,但雷达平台必须满足在其运动中使用这种技术的非常严格的要求。此外,DPCA技术不能抑制干扰干扰。

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

ReceivePulse = tjcsig;[y,w] = stapdpca(接收,tgtcellidx);图([TGTRNG TGTRNG],[0 8E-4],RNGBin,ABS(Y));Xlabel('范围(m)'),Ylabel('震级');标题('DPCA消除器输出(带有干扰物)'

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

plotresponse(angdopresp,w,'标准化oppler',真正的);标题('DPCA重量角多普勒响应0度高度'

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

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

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

W. = K. R. - 1 S.

在哪里K.是标量因素,R.是干扰信号的时空协方差矩阵,以及S.是所需的时空转向矢量。确切的信息R.通常不可用,所以我们将使用样本矩阵反转(SMI)算法。算法估计R.从训练单元样本,然后在上述方程中使用它。

现在,定义SMI波束形成器并将其应用于信号。除了DPCA中所需的信息外,SMI波束形成器需要了解保护单元的数量和训练单元的数量。该算法使用训练单元中的样本来估计干扰。因此,我们不应使用接近目标小区的小区,因为它们可能包含一些目标信息,即,我们应该定义保护单元。保护单元的数量必须是偶数以在目标单元的前面和后面的平等中分开。训练单元的数量也必须是偶数并且在目标前面和后面的平等分开。通常,训练细胞数量越大,干扰估计越好。

tgtAngle = [tgtAzAngle;tgtElAngle];stapsmi =分阶段。STAPSMIBeamformer ('sensorarray'乌拉,'prf',prf,...'繁殖', C,“OperatingFrequency”,fc,...'方向'tgtAngle,'doppler',tgtdp,...'progeSoutputport',真的,...'numguardcells',4,“NumTrainingCells”,100)
stapsmi = phased.stapsmibeamformer具有属性:传感器DopplerSource:'Property'Doppler:6.3429E + 03 Numguardcells:4 NumTriningCells:100权力跟踪口:True
[y,w] = stapsmi(接收,tgtcellidx);图([TGTRNG TGTRNG],[02E-6],RNGBin,ABS(Y));Xlabel('范围(m)'),Ylabel('震级');标题('SMI Beamformer输出(带有抖动)'

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

plotresponse(angdopresp,w,'标准化oppler',真正的);标题(“0度仰角SMI权重角多普勒响应”

图中包含一个轴。具有标题SMI权重角多普勒响应的轴在0度高度上响应包含类型图像的对象。

结果表明,SMI波束形成器可以同时区分杂波和干扰信号。SMI权值的角多普勒模式沿干扰方向显示一个深零。

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

通过ADPCA消除器降低计算成本

虽然SMI是最佳的STAP算法,但它有几个天生的缺点,包括高计算成本,因为它使用每个单元的全维数据。更重要的是,SMI需要跨越许多脉冲的静止环境。真正的应用程序通常不存在这种环境。因此,已经提出了许多减少的尺寸降压算法。

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

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

stapadpca = phased.adpcacanceller('sensorarray'乌拉,'prf',prf,...'繁殖', C,“OperatingFrequency”,fc,...'方向',rxmainlobedir,'doppler',tgtdp,...'progeSoutputport',真的,...'numguardcells',4,“NumTrainingCells”,100)
stapadpca =分阶段。带有属性的ADPCACanceller: SensorArray: [1x1相控。传播速度:299792458 OperatingFrequency: 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],[02E-6],RNGBin,ABS(Y));Xlabel('范围(m)'),Ylabel('震级');标题('ADPCA消除器输出(带抖动)'

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

plotresponse(angdopresp,w,'标准化oppler',真正的);标题('ADPCA重量角度多普勒响应0度高度'

图中包含一个轴。具有标题ADPCA权重角多普勒响应的轴0度高度包含类型图像的对象。

时域图表明信号已成功恢复。ADPCA重量的角度多普勒响应类似于SMI重量产生的角度。

总结

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

参考

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