主要内容

超分辨率DOA估计

此示例显示了如何从两个单独的信号源估算到达的角度时,当两个角度都落在阵列响应的主叶中,一个均匀的线性阵列(ULA)。在这种情况下,BeamScan DOA估计器无法解析这两个源。但是,使用Root Music算法的超分辨率DOA估计器能够做到这一点。

笔记:此示例仅在R2016B或更高版本中运行。如果您使用的是较早的版本,请用等效替换每个呼叫对函数的调用句法。例如,替换myObject(x)步骤(MyObject,X)

绘制ULA的阵列响应。放大主叶。

FC = 1E9;lambda = physconst(“ Lightspeed”)/fc;阵列= phased.ula(“计数”,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(array)/lambda,...nsnapshots,[ang1 ang2],npower);

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

BeamScanestimator =分阶段。BeamScanestimator(“感觉运动”,大批,...'工作频率',fc,“扫描”,-90:90,...“ doaoutputport”,真的,“数字信号”,2);[〜,sigang] = beamscanestimator(rxsig);Plotspectrum(Beamscanestimator)

图包含一个轴对象。带有标题Beamscan空间频谱的轴对象包含类型线的对象。该对象代表1 GHz。

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

MusicEstimator = phase.RootMusicEstimator(“感觉运动”,大批,...'工作频率',fc,'numsignalssource',,,,'财产',,,,...“数字信号”,2,“前卫”,真的);doa_est = musicEstimator(rxsig)
doa_est =1×240.0091 30.0048

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

也可以看看

相关话题