step

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

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

Синтаксис

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 - вектор-столбец, представляющая величине предполагаемого пространственного спектра.

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

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

Примечание

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

Примеры

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

Сначала оцените DOA двух сигналов, принятых стандартным ULA с 10 элементами с интервалом элементов 1 метр. Рабочая частота антенны составляет 150 МГц. Фактическое направление первого сигнала составляет 10 ° по азимуту и 20 ° по повышению. Направление второго сигнала составляет 60 ° по азимуту и − 5 ° по повышению. Затем постройте график пространственного спектра MVDR.

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

Создайте сигналы с добавленным шумом. Затем создайте системную object™ ULA.

fs = 8000;
t = (0:1/fs:1).';
x1 = cos(2*pi*t*300);
x2 = cos(2*pi*t*400);
array = phased.ULA('NumElements',10,'ElementSpacing',1);
array.Element.FrequencyRange = [100e6 300e6];
fc = 150.0e6;
x = collectPlaneWave(array,[x1 x2],[10 20;60 -5]',fc);
noise = 0.1*(randn(size(x)) + 1i*randn(size(x)));

Создайте оценщик MVDR Системный объект.

estimator = phased.MVDREstimator('SensorArray',array,...
    'OperatingFrequency',fc,'DOAOutputPort',true,'NumSignals',2);

Оцените DOAs.

[y,doas] = estimator(x + noise);
doas = broadside2az(sort(doas),[20 -5])
doas = 1×2

    9.5829   60.3813

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

plotSpectrum(estimator)

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