Оценка DOA суперразрешения

В этом примере показано, как оценить углы прибытия из двух отдельных источников сигнала, когда оба угла находятся в пределах основного лепестка ответа массивов универсальная линейная матрица (ULA). В этом случае beamscan средство оценки DOA не может разрешить эти два источника. Однако средство оценки DOA суперразрешения с помощью корневого алгоритма MUSIC может сделать так.

Примечание: Этот пример запускается только в R2016b или позже. Если вы используете более ранний релиз, заменяете каждый вызов функции с эквивалентным step синтаксис. Например, замените myObject(x) с step(myObject,x).

Постройте ответ массивов ULA. Увеличьте масштаб основного лепестка.

fc = 1e9;
lambda = physconst('LightSpeed')/fc;
array = phased.ULA('NumElements',10,'ElementSpacing',lambda/2);
array.Element.FrequencyRange = [8e8 1.2e9];
plotResponse(array,fc,physconst('LightSpeed'))
axis([-25 25 -30 0]);

Figure contains an axes. The axes with title Azimuth Cut (elevation angle = 0.0°) contains an object of type line. This object represents 1 GHz.

Получите два источника сигнала с DOAs, разделенным на 10 °

ang1 = [30; 0];
ang2 = [40; 0];
Nsnapshots = 1000;
rng default
npower = 0.01;
rxsig = sensorsig(getElementPosition(array)/lambda,...
   Nsnapshots,[ang1 ang2],npower);

Оцените направления прибытия с помощью beamscan средства оценки. Поскольку оба падение DOAs в основном лепестке ответа массивов, beamscan средство оценки DOA не может разрешить их как отдельные источники.

beamscanestimator = phased.BeamscanEstimator('SensorArray',array,...
    'OperatingFrequency',fc,'ScanAngles',-90:90,...
    'DOAOutputPort',true,'NumSignals',2);
[~,sigang] = beamscanestimator(rxsig);
plotSpectrum(beamscanestimator)

Figure contains an axes. The axes with title Beamscan Spatial Spectrum contains an object of type line. This object represents 1 GHz.

Используйте средство оценки DOA суперразрешения, чтобы оценить эти два направления. Это средство оценки предлагает лучшее разрешение, чем непараметрическое beamscan средство оценки.

MUSICestimator = phased.RootMUSICEstimator('SensorArray',array,...
    'OperatingFrequency',fc,'NumSignalsSource','Property',...
    'NumSignals',2,'ForwardBackwardAveraging',true);
doa_est = MUSICestimator(rxsig)
doa_est = 1×2

   40.0091   30.0048

Это средство оценки правильно идентифицирует два отличных направления прибытия.

Смотрите также

Похожие темы