主要内容

高分辨率的到达方向估计

这个例子说明了几种高分辨率的到达方向(DOA)估计技术。它介绍了MUSIC、root-MUSIC、ESPRIT和root-WSF算法的不同版本,并讨论了它们各自在均匀线性阵列(ULA)天线接收的远场窄带信号源背景下的优点。

对接收的阵列信号进行建模

定义由10个各向同性天线组成的均匀线性阵列(ULA)。阵列元素间距为0.5米。

n = 10;ula = phased.ula(“NumElements”N“ElementSpacing”, 0.5)
齿龈=分阶段。ULA的属性:元素:[1x1 phase .]IsotropicAntennaElement] NumElements: 10 ElementSpacing: 0.5000 ArrayAxis: 'y'锥度:1

模拟两个入射信号的阵列输出。两个信号在方位角中发生90°。它们的高度角度分别为73°和68°。在该示例中,我们假设这两个方向是未知的并且需要估计。模拟从300 MHz的工作频率解调的阵列处的基带接收信号。

fc = 300 e6;%工作频率FS = 8192;%采样频率lambda = physconst(“光速”/ fc;%的波长POS = GetEmententPosition(ULA)/ Lambda;元素在波长中的位置ang1 = (90; 73);ang2 = (90; 68);信号的方向Angs = [ang1 ang2];Nsamp = 1024;%快照个数noisePwr = 0.01;%噪音功率rs = rng (2012);%设置随机数发生器信号= sensorsig (pos、Nsamp ang, noisePwr);

因为ULA围绕其轴对称,因此DOA算法不能唯一地确定方位角和高程。因此,这些高分辨率DOA估计器返回的结果是宽边角度的形式。可以在下图中找到宽边角度的插图。

计算与两个入射角相对应的宽边角度。

ang_true = az2broadside (ang(: 1)和(2:))
Ang_true =.1×217.0000 - 22.0000

侧面角度为17°和22°。

估计到达方向(DOA)

假设我们知道有两个来源的先验。要估算DOA,请使用根部音乐技术。使用root-music算法构建DOA估计器。

rootmusicangle = phased.rootmusicestimator(“SensorArray”乌拉,......“OperatingFrequency”足球俱乐部,......“NumSignalsSource”“属性”“NumSignals”,2)
rootmusicangle = phased.rootmusicestimator具有属性:传感器

由于ULA的阵列响应向量是共轭对称的,因此我们可以使用前向后(FB)平均法对实矩阵进行计算,降低计算复杂度。基于fb的估计器也具有较低的方差,降低了信号之间的相关性。

为了应用前向后平均,将root-MUSIC DOA估计器的ForwardBackwardAveraging属性设为真。在这种情况下,root-MUSIC算法也称为幺正root-MUSIC算法。

rootmusicangle.forwardbackwardaveraging = true;

执行DOA估计:

ang = rootmusicangle(信号)
和=1×216.9960 - 21.9964

我们也可以使用ESPRIT DOA估计器。与root-MUSIC的情况一样,将ForwardBackwardAveraging属性设置为true。这种算法也称为统一ESPRIT算法。

espritangle =分阶段。ESPRITEstimator (“SensorArray”乌拉,......“OperatingFrequency”足球俱乐部,'forwardbackwardaveraging',真的,......“NumSignalsSource”“属性”“NumSignals”,2)
eSpritangle = Phased.EspriteStimator具有属性:SensorArray:[1x1 Phased.ula]传播:299792458操作频道:300000000 NumsignalsSource:'属性'NumSignals:2 SpatialSmoothing:0方法:'TLS'ForwardBackWardAveraging:1
ang = espritangle(信号)
和=1×221.9988 - 16.9748

最后,使用MUSIC DOA估计器。MUSIC还支持前-后金宝app平均。与ESPRIT和root-MUSIC不同,MUSIC为指定的宽侧扫描角度计算空间光谱。到达方向对应于MUSIC空间谱中的峰值。

musicangle =分阶段。MUSICEstimator (“SensorArray”乌拉,......“OperatingFrequency”足球俱乐部,'forwardbackwardaveraging',真的,......“NumSignalsSource”“属性”“NumSignals”2,......“DOAOutputPort”,真的)
musicangle =分阶段。MUSICEstimator with properties: SensorArray: [1x1 phase .]传播速度:299792458工作频率:300000000 ForwardBackwardAveraging: true SpatialSmoothing: 0扫描角度:[-90 -89 -88 -87 -86 -85 -84 -83 -82 -81…[DOAOutputPort: true NumSignals: 2 NumSignalsSource: 'Property'
[~ (ang) = musicangle(信号)
和=1×217日22
Plotspectrum(Musicangle)

图中包含一个轴对象。标题为MUSIC Spatial Spectrum的轴对象包含一个类型为line的对象。这个对象表示1ghz。

音乐的到达方向被限制在扫描角度扫描财产。因为在这个例子中,到达的真实方向与搜索角度是一致的扫描,音乐提供精确的DOA角度估计。在实践中,root-music提供卓越的音乐分辨率。然而,音乐算法也可以使用2-D阵列在方位角和高度估计中使用DOA估计。看波束扫描、MVDR和MUSIC的到达方向估计

估计信号源的数量

在实际操作中,一般不知道信号源的数量,而需要根据接收到的信号估计信号源的数量。你可以通过为NumSignalsSource属性指定'Auto',并为NumSignalsMethod属性选择'AIC'或'MDL'来估计信号源的数量。AIC采用赤池信息准则(AIC), MDL采用最小描述长度准则(MDL)。

在设置NumSignalsSource之前,必须释放DOA对象,因为它是被锁定的,以提高处理过程中的效率。

释放(espritangle);espritangle。NumSignalsSource ='汽车';espritangle。NumSignalsMethod =“另类投资会议”;ang = espritangle(信号)
和=1×221.9988 - 16.9748

降低计算复杂度

除了前向后平均,还有其他方法可以降低计算复杂度。其中一种方法是在波束空间中求解一个约维等价问题。在我们的例子中,ESPRIT算法执行10 × 10实矩阵的特征值分解(EVD),而波束空间版本可以将问题简化为3 × 3实矩阵的EVD。该技术利用信号所在扇区的先验知识来定位波束风扇的中心。在本例中,将波束风扇指向方位角20°。

bsespritangle = phased.beamspaceespriteStimator(“SensorArray”乌拉,......“OperatingFrequency”足球俱乐部,......“NumBeamsSource”“属性”'numbeams',3,......'beamfancenter', 20);ang = bsespritangle(信号)
和=1×221.9875 - 16.9943

另一种技术是根加权子空间拟合(WSF)算法。这种算法是迭代的,在计算复杂度方面要求最高。您可以通过指定MaximumIterationCount属性来设置最大迭代次数,以将成本维持在特定限制之下。

rootwsfangle = phased.rootwsfestimator(“SensorArray”乌拉,......“OperatingFrequency”足球俱乐部,'ressimonerationcount'2);ang = rootwsfangle(信号)
和=1×216.9961 - 21.9962

优化性能

除了FB平均,还可以使用行加权来改进元素空间ESPRIT估计器的统计性能。行加权是一种对信号子空间矩阵的行施加不同权重的技术。行加权参数确定最大权重。在大多数情况下,它被选择为尽可能大。但是,它的值不能大于(N-1)/2,其中N是数组的元素数。

释放(espritangle);espritangle。RowWeighting = 4
espritangle =分阶段。ESPRITEstimator with properties: SensorArray: [1x1 phase .]传播速度:299792458运行频率:300000000 NumSignalsSource: 'Auto' NumSignalsMethod: 'AIC' SpatialSmoothing: 0 Method: 'TLS' ForwardBackwardAveraging: true RowWeighting: 4
ang = espritangle(信号)
和=1×221.9884 17.0003

估算多路径环境中的相干来源

如果若干源是相关的或相干的(如在多路径环境中),则空间协方差矩阵变为等级缺陷,并且基于子空间的DOA估计方法可能会失败。为了表明这一点,模型由4个窄带组成的接收信号。假设第一3信号的2是第一源的多径反射,分别具有等于第一源的1/4和1/2的大小。

scov =眼(4);magratio = (1; 0.25, 0.5);scov (1:3, 1:3) = magratio * magratio ';

所有信号均在0°高度入射,方位角入射角为-23°,0°,12°和40°。

%入射方位Az_ang = [-23 0 12 40];当高程为零时,[-90 90]中的方位角是相同的%的宽边角度。el_ang = 0(1、4);%接收信号信号= sensorsig (pos, Nsamp az_ang;el_ang], noisePwr scov);rng (rs);%恢复随机数生成器

比较了源相干时的DOA算法的性能。为了简化示例,每个算法只运行一次试验。考虑到较高的信噪比,结果将是一个很好的估计精度指标。

首先,验证AIC准则低估了源的数量,导致统一ESPRIT算法给出了错误的估计。AIC估计源的数量为两个,因为三个源是相关的。

释放(espritangle);espritangle。NumSignalsSource ='汽车';espritangle。NumSignalsMethod =“另类投资会议”;ang = espritangle(信号)
和=1×2-15.3535 40.0024

根- wsf算法在相关信号的情况下具有鲁棒性。以正确的信号源数量作为输入,算法可以正确估计到达方向。

释放(rootwsfangle);rootwsfangle.numsignalssource =“属性”;rootwsfangle。NumSignals = 4;ang = rootwsfangle(信号)
和=1×440.0016 -22.9919 12.0693 0.0737

然而,即使我们指定源的数量并使用统一的实现,ESPRIT、root-MUSIC和MUSIC也不能估计正确的到达方向。

释放(rootmusicangle);rootmusicangle。NumSignalsSource =“属性”;rootmusicangle.numsignals = 4;rootmusicangle.forwardbackwardaveraging = true;ang = rootmusicangle(信号)
和=1×44.4976 -11.9038

您可以应用空间平滑以估计相关信号的DOA。然而,使用空间平滑降低阵列的有效孔径。因此,估计器的方差增加,因为子阵列小于原始阵列。

释放(rootmusicangle);Nr = 2;%多路径反射个数rootmusicangle。SpatialSmoothing = Nr
rootmusicangle = phased.rootmusicestimator具有属性:传感器
ang = rootmusicangle(信号)
和=1×440.0010 -22.9959 12.1376 0.1843

DOA算法比较

综上所述,ESPRIT、MUSIC、root-MUSIC和root-WSF是为ula提供良好性能和合理计算复杂度的重要DOA算法。统一ESPRIT、统一根- music和波束空间统一ESPRIT提供了大大降低估计器计算成本的方法,同时也提高了它们的性能。root-WSF在相关源的背景下特别有吸引力,因为与其他方法相反,当源的数量已知时,它不需要空间平滑来正确估计DOAs。