主要内容

高分辨率的到达方向估计

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

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

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

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

模拟两个事件信号的阵列输出。两个信号都是从90°方位角入射的。仰角分别为73°和68°。在本例中,我们假设这两个方向是未知的,需要估计。模拟从300mhz的工作频率中解调的阵列接收的基带信号。

fc = 300 e6;%工作频率fs = 8192;%采样频率λ= physconst (“光速”) / fc;%的波长pos = getElementPosition (ula)”/λ;元素在波长中的位置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技术。使用root-MUSIC算法构造一个DOA估计器。

rootmusicangle =分阶段。RootMUSICEstimator (“SensorArray”、齿龈...“OperatingFrequency”足球俱乐部,...“NumSignalsSource”“属性”“NumSignals”,2)
rootmusicangle =分阶段。RootMUSICEstimator with properties: SensorArray: [1x1 phase .]传播速度:299792458操作频率:300000000 NumSignalsSource: 'Property' NumSignals: 2 ForwardBackwardAveraging: false SpatialSmoothing: 0

由于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 =分阶段。ESPRITEstimator with properties: SensorArray: [1x1 phase .]传播速度:299792458操作频率:300000000 NumSignalsSource: 'Property' NumSignals: 2 SpatialSmoothing: 0 Method: 'TLS' ForwardBackwardAveraging: true RowWeighting: 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 .]ULA]传播速度:299792458操作频率:300000000 forwardbackwarveraging: true SpatialSmoothing: 0 ScanAngles: [1x181 double] DOAOutputPort: true NumSignals: 2 NumSignalsSource: 'Property'
[~ (ang) = musicangle(信号)
和=1×217日22
plotSpectrum (musicangle)

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

音乐的到达方向被限制在扫描角度ScanAngles财产。因为在这个例子中,到达的真实方向与搜索角度是一致的ScanAngles, MUSIC提供精确的DOA角估计。在实践中,root-MUSIC提供了比MUSIC更好的分辨率。然而,MUSIC算法也可以用于方位和仰角的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 =分阶段。BeamspaceESPRITEstimator (“SensorArray”、齿龈...“OperatingFrequency”足球俱乐部,...“NumBeamsSource”“属性”“NumBeams”3,...“BeamFanCenter”, 20);ang = bsespritangle(信号)
和=1×221.9875 - 16.9943

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

rootwsfangle =分阶段。RootWSFEstimator (“SensorArray”、齿龈...“OperatingFrequency”足球俱乐部,“MaximumIterationCount”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

您可以应用空间平滑来估计相关信号的到达角。然而,使用空间平滑会降低阵列的有效孔径。因此,由于子阵列比原阵列小,估计量的方差增大。

释放(rootmusicangle);Nr = 2;%多路径反射个数rootmusicangle。SpatialSmoothing = Nr
rootmusicangle =分阶段。RootMUSICEstimator with properties: SensorArray: [1x1 phase .]传播速度:299792458操作频率:300000000 NumSignalsSource: '属性' NumSignals: 4 ForwardBackwardAveraging: true SpatialSmoothing: 2
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。