主要内容

波束扫描、MVDR和MUSIC的到达方向估计

这个例子演示了使用波束扫描、MVDR和MUSIC进行到达方向(DOA)估计。波束扫描是一种形成常规波束并在感兴趣的方向上扫描以获得空间频谱的技术。最小方差无失真响应(MVDR)类似于波束扫描,但使用MVDR波束。多信号分类(MUSIC)是一种提供高分辨率DOA估计的子空间方法。对于所有三种方法,输出空间频谱的峰值表示接收信号的DOAs。在这个例子中,我们说明了波束扫描、MVDR和MUSIC的使用,以估计统一线性阵列(ULA)的侧面角和统一矩形阵列(URA)的方位角和仰角。

ULA接收信号建模

首先,建立一个均匀线性阵列(ULA)模型,其中包含10个间隔0.5米的各向同性天线。

齿龈=分阶段。齿龈(“NumElements”10“ElementSpacing”, 0.5);

假设有两个窄带信号冲击阵列。第一个信号从40°方位角和0°仰角到达,第二个信号从-20°方位角和0°仰角到达。系统的工作频率为300mhz。

ang1 = [40;0);%的第一个信号ang2 = [-20;0);%的第二信号Angs = [ang1 ang2];c = physconst (“光速”);fc = 300 e6;%工作频率λ= c / fc;pos = getElementPosition (ula)”/λ;Nsamp = 1000;

另外,假设每个天线的热噪声功率为0.01瓦。

nPower = 0.01;

生成ULA接收到的多通道信号。

rs = rng (2007);信号= sensorsig (pos, Nsamp ang,英国能源再生公司);

基于ULA的波束扫描DOA估计

我们想用接收信号估计两个DOAs。因为信号是由一个围绕其轴线对称的ULA接收的,我们不能同时获得方位角和仰角。相反,我们可以估计宽侧角度,这是从ULA的宽侧测量的。这些角度之间的关系如下图所示:

两个入射方向对应的侧面角为:

broadsideAngle = az2broadside (ang(: 1)和(2:))
宽角= 40.0000 -20.0000

我们可以看到,这两个侧边角与方位角相同。一般情况下,当仰角为零,方位角在[- 9090]范围内时,横倾角与方位角相同。在下面的代码中,我们只在它们不相等时执行转换。

波束扫描算法通过预定义的扫描区域扫描常规波束。这里我们将扫描区域设置为[-90 -90],以覆盖所有180度。

spatialspectrum =分阶段。BeamscanEstimator (“SensorArray”、齿龈...“OperatingFrequency”足球俱乐部,“ScanAngles”, 90:90);

默认情况下,波束扫描估计器只在扫描区域产生空间频谱。设置DOAOutputPort属性为true以获得DOA估计。将NumSignals属性设置为2以查找顶部两个峰值的位置。

spatialspectrum。DOAOutputPort = true;spatialspectrum。NumSignals = 2;

现在我们得到了空间频谱和到达方向。估计的DOAs显示了正确的值,即40°和-20°。

[~ (ang) = spatialspectrum(信号)
Ang = 40 -20

绘制波束扫描输出的空间频谱。

plotSpectrum (spatialspectrum);

使用MVDR和MUSIC估计器提高分辨率

传统波束无法分辨两个间隔很近的信号。当两个信号从距离小于波束宽度的方向到达时,波束扫描将无法估计信号的方向。为了说明这一局限性,我们模拟了方位为30°和40°的两个接收信号。

ang1 = [30;0);ang2 = [40;0);信号= sensorsig(pos,Nsamp,[ang1 ang2],nPower);[~ (ang) = spatialspectrum(信号)
Ang = 35 71

结果与真实的方位角不同。让我们看一下输出频谱。

plotSpectrum (spatialspectrum);

输出空间谱只有一个主导峰。因此,它不能分辨这两个间隔很近的信号。当我们试图从波束扫描输出的峰值估计DOA时,我们得到了错误的估计。波束扫描对象返回两个最大峰值作为估计的DOAs,不管这些峰值有多么不同。在这种情况下,波束扫描返回71°的小峰值作为第二个估计。

对于稀疏信号,我们可以使用最小方差无失真响应(MVDR)算法或多信号分类(MUSIC)算法。首先,我们将检查MVDR估计器,它扫描指定区域的MVDR波束。由于MVDR波束具有较小的波束宽度,因此具有较高的分辨率。

mvdrspatialspect =分阶段。MVDREstimator (“SensorArray”、齿龈...“OperatingFrequency”足球俱乐部,“ScanAngles”90:90,...“DOAOutputPort”,真的,“NumSignals”2);[~,ang] = mvdrspatialspect(signal) plotSpectrum(mvdrspatialspect);
Ang = 30 40

MVDR算法能正确估计波束扫描无法分辨的方位。提高分辨率是有代价的。MVDR对传感器位置误差更敏感。在传感器位置不准确的情况下,MVDR可能产生比波束扫描更差的空间频谱。此外,如果我们进一步将两个信号方向的差减小到小于MVDR波束的波束宽度的水平,MVDR估计器也会失败。

MUSIC算法也可用于解析这些紧密间隔的信号。估计两个源的到达方向,并比较MVDR的空间谱和MUSIC的空间谱。

musicspatialspect =分阶段。MUSICEstimator (“SensorArray”、齿龈...“OperatingFrequency”足球俱乐部,“ScanAngles”90:90,...“DOAOutputPort”,真的,“NumSignalsSource”“属性”“NumSignals”2);[~,ang] = musicspatialspect(signal);ymusic = musicspatialspect(信号);helperPlotDOASpectra (mvdrspatialspect。ScanAngles,...musicspatialspect。ScanAngles,ymvdr,ymusic,“乌拉”
Ang = 30 40

使用MUSIC的到达方向是正确的,MUSIC提供了比MVDR更好的空间分辨率。和MVDR一样,MUSIC对传感器位置误差很敏感。此外,必须知道或准确估计来源的数量。当指定的源数量不正确时,MVDR和Beamscan可能仅仅从正确的空间频谱返回无关的峰值。相反,当没有正确指定源的数目时,MUSIC空间谱本身可能是不准确的。此外,MUSIC谱峰的振幅不能被解释为源的功率。

对于ULA,额外的高分辨率算法可以进一步利用ULA的特殊几何形状。看到高分辨率的到达方向估计

将侧边角度转换为方位角

虽然我们只能使用ULA估计侧面角,但如果我们知道它们的入射高度,我们可以将估计的侧面角转换为方位角。我们现在模拟两个来自35°仰角的信号,并估计它们相应的侧面角。

ang1 = [40;35);ang2 = [15;35);信号= sensorsig(pos,Nsamp,[ang1 ang2],nPower);[~ (ang) = mvdrspatialspect(信号)
Ang = 32 12

由此产生的侧面角与方位角或仰角都不同。如果我们知道仰角,就可以把横倾角转换成方位角。

ang = broadside2az (ang, 35)
Ang = 40.3092 14.7033

基于URA的波束扫描DOA估计

接下来,我们演示了使用10 × 5均匀矩形阵列(URA)的DOA估计。市建局可以估计方位和仰角。元素行间距为0.3米,列间距为0.5米。

ura所言=分阶段。(精“大小”10 [5],“ElementSpacing”[0.3 - 0.5]);

假设有两个信号冲击市建局。第一个信号从方位角40°和仰角45°到达,第二个信号从方位角-20°和仰角20°到达。

ang1 = [40;45];%的第一个信号ang2 = [-20;20);%的第二信号信号= sensorsig (getElementPosition (ura所言)/λ,Nsamp,...[ang1 ang2),英国能源再生公司);rng (rs);%恢复随机数生成器

从市建局创建一个二维波束扫描估计器对象。这个物体使用与一维情况相同的算法,除了它扫描的是方位角和仰角而不是侧面角。

扫描区域由属性'AzimuthScanAngles'和'ElevationScanAngles'指定。为了减少计算复杂度,我们假设一些关于传入信号方向的先验知识。我们限制方位扫描区域为[-45 45],仰角扫描区域为[10 60]。

azelspectrum =分阶段。BeamscanEstimator2D (“SensorArray”ura所言,...“OperatingFrequency”足球俱乐部,...“AzimuthScanAngles”45:45,“ElevationScanAngles”10:60,...“DOAOutputPort”,真的,“NumSignals”2);

DOA输出是一个2 × N的矩阵,其中N是信号方向的数目。第一行包含方位角,第二行包含仰角。

[~ (ang) = azelspectrum(信号)
Ang = 40 -20 45 20

绘制方位和仰角的三维光谱图。

plotSpectrum (azelspectrum);

基于URA的MVDR DOA估计

与ULA案例类似,我们使用了MVDR算法的2d版本。由于我们对传感器位置的了解是完美的,我们期望MVDR频谱有比波束扫描更好的分辨率。

mvdrazelspectrum =分阶段。MVDREstimator2D (“SensorArray”ura所言,...“OperatingFrequency”足球俱乐部,...“AzimuthScanAngles”45:45,“ElevationScanAngles”10:60,...“DOAOutputPort”,真的,“NumSignals”2);[~,ang] = mvdrazelspectrum(signal) plotSpectrum(mvdrazelspectrum);
Ang = -20 40 20 45

MUSIC DOA估计与市建局

我们也可以使用MUSIC算法来估计两个源的到达方向。

musicazelspectrum =分阶段。MUSICEstimator2D (“SensorArray”ura所言,...“OperatingFrequency”足球俱乐部,...“AzimuthScanAngles”45:45,“ElevationScanAngles”10:60,...“DOAOutputPort”,真的,“NumSignalsSource”“属性”“NumSignals”2);[~,ang] = musicazelspectrum(signal) plotSpectrum(musicazelspectrum);
Ang = -20 40 20 45

为了比较MVDR和MUSIC估计器,让我们考虑更靠近的源。利用MVDR和MUSIC计算方位为10°、仰角为3°的两个源的空间谱。

ang1 = [10;20);%的第一个信号ang2 = [10;23);%的第二信号信号= sensorsig (getElementPosition (ura所言)/λ,Nsamp,...[ang1 ang2),英国能源再生公司);[~,angmvdr] = mvdrazelspectrum(signal) [~,angmusic] = musicazelspectrum(signal)
Angmvdr = 10 -27 22 21 angmusic = 10 10 23 20

在这种情况下,只有MUSIC正确估计了两个源的到达方向。为了解原因,绘制每个空间光谱在10°方位角的仰角剖面图。

ymvdr = mvdrazelspectrum(信号);ymusic = musicazelspectrum(信号);helperPlotDOASpectra (mvdrazelspectrum。ElevationScanAngles,...musicazelspectrum.ElevationScanAngles ymvdr (: 56), ymusic(:, 56岁),URA所言的

由于MUSIC频谱具有比MVDR更好的空间分辨率,MUSIC能够正确识别源,而MVDR则不能。

总结

在这个例子中,我们展示了如何将波束扫描、MVDR和MUSIC技术应用于DOA估计问题。我们使用这两种技术来估计ULA接收信号的侧面角度。在不存在传感器位置误差的情况下,MVDR算法比波束扫描算法具有更好的分辨率。MUSIC的分辨率甚至比MVDR更好,但必须知道源的数量。我们还说明了如何转换方位角和宽角。接下来,我们使用波束扫描、MVDR和MUSIC来估算方位和仰角。在所有这些情况下,我们绘制了输出空间频谱,并再次发现MUSIC具有最好的空间分辨率。波束扫描、MVDR和MUSIC技术可以应用于任何类型的阵列,但对于ula和URAs,还有额外的高分辨率技术,可以进一步利用阵列几何结构。