exponenta event banner

шаг

Системный объект: поэтапный. 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 - вектор строки оцененных широкополосных углов (в градусах).

Примечание

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

Примеры

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

Сначала оцените DOA двух сигналов, принятых стандартной 10-элементной ULA с интервалом элементов 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);

Оцените ДОУ.

[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.