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 использование средства оценки HX матрица, столбцы которой соответствуют каналам. Y матрица, представляющая величину предполагаемого 2D пространственного спектра. Размерность строки Y равно количеству углов в ElevationScanAngles и размерность столбца Y равно количеству углов в AzimuthScanAngles свойство. Можно задать аргумент, X, как одинарная или двойная точность.

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

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

Примечание

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

Примеры

развернуть все

Оцените DOAs двух сигналов, полученных URA с 50 элементами с прямоугольной решеткой. Антенна рабочая частота составляет 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)

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

|