主要内容

使用波束扫描、MVDR和MUSIC进行到达方向估计

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

ULA接收信号建模

首先,对均匀线阵(ULA)进行建模,该阵列包含10个间距为0.5米的各向同性天线。

ula=相控。ula(“NumElements”10“元素间距”,0.5);

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

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

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

nPower = 0.01;

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

rs=rng(2007年);信号=传感器信号(pos、Nsamp、angs、nPower);

基于ULA的波束扫描DOA估计

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

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

宽边角=AZ2B路边(埃(1,:),埃(2,:)
宽边角=40.0000-20.0000

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

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

空间谱=相位波束扫描估计器(“传感器阵列”、齿龈...“工作频率”,fc,“扫描角度”,-90:90);

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

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

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

[~,ang]=空间谱(信号)
ang=40-20

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

plotSpectrum (spatialspectrum);

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

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

ang1=[30;0];ang2=[40;0];信号=传感器信号(位置,Nsamp,[ang1 ang2],nPower);[~,ang]=空间谱(信号)
ang=3571

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

plotSpectrum (spatialspectrum);

输出空间频谱只有一个主峰。因此,它无法解析这两个紧密间隔的信号。当我们试图从beamscan输出的峰值估计DOA时,我们得到了错误的估计。beamscan对象返回两个最大峰值作为估计的DOA,无论峰值有多大。在这种情况下,beamsca返回71°处的小峰值作为第二个估计值。

要解析密集信号,我们可以使用最小方差无失真响应(MVDR)算法或多信号分类(MUSIC)算法。首先,我们将研究MVDR估计器,它在指定区域扫描MVDR波束。因为MVDR波束的波束宽度较小,所以它具有较高的分辨率。

mvdrspatialspect=相控.MVDREstimator(“传感器阵列”、齿龈...“工作频率”,fc,“扫描角度”,-90:90,...“DOAOutputPort”,真的,“NumSignals”,2);[~,ang]=mvdrspatialspect(信号)频谱图(mvdrspatialspect);
ang=30 40

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

MUSIC算法也可用于解析这些密集信号。估计两个震源的到达方向,并将MVDR的空间谱与音乐的空间谱进行比较。

musicspatialspect =分阶段。MUSICEstimator (“传感器阵列”、齿龈...“工作频率”,fc,“扫描角度”,-90:90,...“DOAOutputPort”,真的,“NumSignalsSource”“财产”“NumSignals”,2); [~,ang]=音乐空间谱(信号)ymvdr=MVDR空间谱(信号);ymusic=音乐空间谱(信号);helperPlotDOASpectra(MVDRSpatialSpectract.ScanAngles,...音乐空间视角扫描角度,ymvdr,ymusic,“乌拉”
ang=30 40

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

对于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估计。URA可以估计方位角和仰角。每行之间的图元间距为0.3米,每列之间的图元间距为0.5米。

ura=分阶段的。ura(“尺寸”,[10 5],“元素间距”,[0.3 0.5]);

假设两个信号撞击URA。第一个信号从方位角40°和仰角45°到达,而第二个信号从方位角-20°和仰角20°到达。

ang1=[40;45];%的第一个信号ang2=[-20;20];%的第二信号信号=传感器信号(getElementPosition(ura)/lambda、Nsamp、,...[ang1 ang2],nPower;rng(rs);%还原随机数生成器

从URA创建二维波束扫描估计器对象。该对象使用与一维情况相同的算法,只是它同时扫描方位角和仰角,而不是宽边角。

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

azelspectrum =分阶段。BeamscanEstimator2D (“传感器阵列”,市建局,...“工作频率”,fc,...“方位角角”,-45:45,“高程扫描角度”,10:60,...“DOAOutputPort”,真的,“NumSignals”,2);

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

[~,ang]=阿塞拜疆光谱(信号)
Ang = 40 -20 45 20

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

光谱图(azelspectrum);

基于URA的MVDR DOA估计

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

mvdrazelspectrum=phased.MVDREstimator2D(“传感器阵列”,市建局,...“工作频率”,fc,...“方位角角”,-45:45,“高程扫描角度”,10:60,...“DOAOutputPort”,真的,“NumSignals”,2);[~,ang]=MVDrazel谱(信号)绘图谱(MVDrazel谱);
ang=-20 40 20 45

基于URA的MUSIC波达方向估计

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

musicazelspectrum=phased.MUSICEstimator2D(“传感器阵列”,市建局,...“工作频率”,fc,...“方位角角”,-45:45,“高程扫描角度”,10:60,...“DOAOutputPort”,真的,“NumSignalsSource”“财产”“NumSignals”,2); [~,ang]=音乐频谱(信号)绘图频谱(音乐频谱);
ang=-20 40 20 45

为了比较MVDR和音乐估值器,让我们更仔细地考虑源的位置。使用MVDR和MUSIC,计算两个位于方位角10°和高度3°分开的源的空间谱。

ang1=[10;20];%的第一个信号ang2=[10;23];%的第二信号信号=传感器信号(getElementPosition(ura)/lambda、Nsamp、,...[ang1 ang2],nPower);[~,angmvdr]=mvdrazelspectrum(信号)[~,angmusic]=musicazelspectrum(信号)
angmvdr=10-27 22 21 angmusic=10 10 23 20

在这种情况下,只有MUSIC才能正确估计两个震源的到达方向。要了解原因,请在10°方位角处绘制每个空间频谱的高程剖面。

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

由于音乐频谱比MVDR具有更好的空间分辨率,因此音乐可以正确地识别源,而MVDR无法做到这一点。

总结

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