шаг

Системный объект: поэтапный. 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 является матрицей, представляющей значение предполагаемого 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)

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

|