exponenta event banner

шаг

Системный объект: поэтапный. BeamspaceESPRITEstimator
Пакет: поэтапный

Выполнение оценки DOA

Синтаксис

ANG = step(H,X)

Описание

Примечание

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

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

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

Примечание

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

Примеры

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

Оценить направления поступления (DOA) двух сигналов, принимаемых стандартным 10-элементным ULA с шагом элементов 1 метр. Рабочая частота антенны 150 МГц. Фактическое направление первого сигнала - 10 ° по азимуту и 20 ° по возвышению. Направление второго сигнала - 45 ° по азимуту и 60 ° по возвышению.

Создайте два сигнала, поступающие в массив.

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 = 150e6;
x = collectPlaneWave(array,[x1 x2],[10 20;45 60]',fc);
noise = 0.1/sqrt(2)*(randn(size(x)) + 1i*randn(size(x)));

Настройка оценщика ESPRIT пространства луча и решение для DOA.

estimator = phased.BeamspaceESPRITEstimator('SensorArray',array, ...
    'OperatingFrequency',fc,'NumSignalsSource','Property','NumSignals',2);
doas = estimator(x + noise);
az = broadside2az(sort(doas),[20 60])
az = 1×2

    9.9972   45.0061