step

Системный объект: фазированный. MVDREstimator2D
Пакет: поэтапный

Выполните пространственную оценку спектра

Синтаксис

Y = step(H,X)
[Y,ANG] = step(H,X)

Описание

Примечание

Начиная с R2016b, вместо использования step метод для выполнения операции, заданной Системной object™, можно вызвать объект с аргументами, как если бы это была функция. Для примера, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции.

Y = step(H,X) оценивает пространственный спектр из X использование оценщика H. X - матрица, столбцы которой соответствуют каналам. Y является матрицей, представляющей величину оцененного 2-D пространственного спектра. Размерность строки Y равно количеству углов в ElevationScanAngles и размерность столбца Y равно количеству углов в AzimuthScanAngles свойство. Можно задать аргумент, X, как одинарная или двойная точность.

Размер первой размерности матрицы входа может варьироваться, чтобы симулировать изменяющуюся длину сигнала. Изменение размера может произойти, например, в случае импульсного сигнала с переменной частотой повторения импульса.

[Y,ANG] = step(H,X) возвращает дополнительный выход ANG как направление прибытия сигнала (DOA), когда DOAOutputPort свойство true. ANG - матрица с двумя строками, где первая строка представляет предполагаемый азимут, а вторая строка представляет предполагаемое повышение (в степенях).

Примечание

Объект выполняет инициализацию при первом выполнении объекта. Эта инициализация блокирует нетронутые свойства и входные спецификации, такие как размерности, сложность и тип данных входных данных. Если вы изменяете свойство nontunable или спецификацию входа, системный объект выдает ошибку. Чтобы изменить нетронутые свойства или входы, необходимо сначала вызвать release метод для разблокировки объекта.

Примеры

расширить все

Оцените DOA двух сигналов, принятых 50-элементным URA с прямоугольной решеткой. Рабочая частота антенны составляет 150 МГц. Фактическое направление первого сигнала составляет -37 ° по азимуту и 0 ° по повышению. Направление второго сигнала составляет 17 ° по азимуту и 20 ° по повышению.

Создайте сигналы, дискретизированные с частотой дискретизации 8 кГц.

fc = 150e6;
fs = 8000;
t = (0:1/fs:1).';
x1 = cos(2*pi*t*300);
x2 = cos(2*pi*t*400);
array = phased.URA('Size',[5 10],'ElementSpacing',[1 0.6]);
array.Element.FrequencyRange = [100e6 300e6];
x = collectPlaneWave(array,[x1 x2],[-37 0;17 20]',fc);

Добавьте комплексный шум.

noise = 0.1*(randn(size(x))+1i*randn(size(x)));

Создайте оценку DOA MVDR для URA.

estimator = phased.MVDREstimator2D('SensorArray',array,...
    'OperatingFrequency',fc,...
    'DOAOutputPort',true,'NumSignals',2,...
    'AzimuthScanAngles',-50:50,...
    'ElevationScanAngles',-30:30);

Используйте step метод к оценкам DOA.

[~,doas] = estimator(x + noise)
doas = 2×2

    17   -37
    20     0

Постройте график спектра.

plotSpectrum(estimator)

Figure contains an axes. The axes with title 2-D MVDR Spatial Spectrum contains an object of type surface.

См. также

|