主要内容

超级分辨率的DOA估计

该示例显示了如何在两个角度落入阵列响应的主瓣内估计两个单独的信号源的到达角度均匀线性阵列(ULA)。在这种情况下,BeamScan DoA估计器无法解决两个源。但是,使用根部音乐算法的超分辨率DOA估计器能够这样做。

笔记:此示例仅在R2016B或更高版本中运行。如果您使用的是早期版本,请将每个调用替换为等同的函数句法。例如,更换myobject(x)步骤(myobject,x)

绘制ULA的数组响应。放大主叶。

FC = 1E9;lambda = physconst('LightSpeed'/ fc;array = phased.ula('numElements'10,'ElementsPacing',lambda / 2);array.element.frequencyRange = [8E8 1.2E9];PlotResponse(阵列,FC,Physconst('LightSpeed'))轴([ -  25 25-30 0]);

图包含轴。具有标题方位角切割的轴(高程角度= 0.0°)包含型号的对象。此对象代表1 GHz。

接收两个信号源,其中DOA分隔10°

Ang1 = [30;0];Ang2 = [40;0];nsnapshots = 1000;RNG.默认npower = 0.01;rxsig = sensorsig(getElementPosition(阵列)/ lambda,......nsnapshots,[ang1 ang2],npower);

使用BeamScan估计器估算到达的方向。因为两个DOAS落在阵列响应的主叶内,因为BeamScan DoA估计器无法将它们作为单独的源解析。

BeamScanestimator = Phased.BeamScanestimator('sensorarray',大批,......'运行频率',fc,'扫描',-90:90,......'doaoutputport',真的,'numsignals',2);[〜,sigang] =波束扫描器(rxsig);Plotspectrum(BeamScanestimator)

图包含轴。具有标题Beamscan空间谱的轴包含类型线的对象。此对象代表1 GHz。

使用超分辨率DOA估计器来估计两个方向。该估算器提供比非参数BeamScan估算器更好的分辨率。

MusicestImator = Phased.rootmusicestimator('sensorarray',大批,......'运行频率',fc,'numsignalssource''财产'......'numsignals'2,'forwardbackwardaveraging',真的);doa_est = musicestimator(rxsig)
doa_est =1×240.0091 30.0048

该估算器正确地识别了两个不同的到达方向。

也可以看看

相关话题