step

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

Оценить направление прибытия используя MUSIC

Синтаксис

spectrum = step(estimator,X)
[spectrum,doa] = step(estimator,X)

Описание

Примечание

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

spectrum = step(estimator,X) возвращает спектр MUSIC для сигнала, заданного как X.

[spectrum,doa] = step(estimator,X) также возвращает широкие направления прихода сигнала, doa. Чтобы использовать этот синтаксис, установите DOAOutputPort свойство к true.

Примечание

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

Входные параметры

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

MUSIC estimator, заданный как phased.MUSICEstimator Системный объект.

Пример: phased.MUSICEstimator

Принятый сигнал, заданный как M -by N комплексная матрица. Количество M является количеством выборочных значений (моментальных снимков), содержащихся в сигнале, и N количество элементов датчика в массиве.

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

Пример: [[0;1;2;3;4;3;2;1;0],[1;2;3;4;3;2;1;0;0]]

Типы данных: double
Поддержка комплексного числа: Да

Выходные аргументы

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

Пространственный спектр MUSIC, возвращенный как неотрицательный, действительный K вектор-столбец, представляющий величину предполагаемого пространственного спектра MUSIC. Каждая запись соответствует углу, заданному ScanAngles свойство.

Направления прихода сигналов, возвращенные как действительный вектор L строка -length. Угол прихода - это угол между исходным направлением и осью массива или широким углом. Угловые модули находятся в степенях. L - количество сигналов, заданное NumSignals свойство или вычисляется с использованием метода, заданного NumSignalsMethod свойство.

Зависимости

Чтобы включить этот выходной аргумент, установите DOAOutputPort свойство к true.

Примеры

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

Оцените DOA двух сигналов, принятых стандартным ULA с 10 элементами, имеющим интервал между элементами 1 метр. Затем постройте график спектра MUSIC.

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

Создайте массив ULA. Рабочая частота антенны составляет 150 МГц.

fc = 150.0e6;
array = phased.ULA('NumElements',10,'ElementSpacing',1.0);

Создайте поступающие сигналы в ULA. Истинное направление прихода первого сигнала составляет 10 ° по азимуту и 20 ° по повышению. Направление второго сигнала составляет 60 ° по азимуту и -5 ° по повышению.

fs = 8000.0;
t = (0:1/fs:1).';
sig1 = cos(2*pi*t*300.0);
sig2 = cos(2*pi*t*400.0);
sig = collectPlaneWave(array,[sig1 sig2],[10 20; 60 -5]',fc);
noise = 0.1*(randn(size(sig)) + 1i*randn(size(sig)));

Оцените DOAs.

estimator = phased.MUSICEstimator('SensorArray',array,...
    'OperatingFrequency',fc,...
    'DOAOutputPort',true,'NumSignalsSource','Property',...
    'NumSignals',2);
[y,doas] = estimator(sig + noise);
doas = broadside2az(sort(doas),[20 -5])
doas = 1×2

    9.5829   60.3813

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

plotSpectrum(estimator,'NormalizeResponse',true)

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

Сначала оцените DOA двух сигналов, принятых стандартным ULA с 10 элементами, имеющим интервал между элементами половину длины волны. Затем постройте график пространственного спектра.

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

Рабочая частота антенны составляет 150 МГц. Направления прихода двух сигналов разделены на 2 °. Направление первого сигнала составляет 30 ° азимут и 0 ° повышения. Направление второго сигнала составляет 32 ° азимута и 0 ° повышения. Оцените количество сигналов с помощью критерия минимальной длины описания (MDL).

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

fs = 8000;
t = (0:1/fs:1).';
f1 = 300.0;
f2 = 600.0;
sig1 = cos(2*pi*t*f1);
sig2 = cos(2*pi*t*f2);
fc = 150.0e6;
c = physconst('LightSpeed');
lam = c/fc;
array = phased.ULA('NumElements',10,'ElementSpacing',0.5*lam);
sig = collectPlaneWave(array,[sig1 sig2],[30 0; 32 0]',fc);
noise = 0.1*(randn(size(sig)) + 1i*randn(size(sig)));

Оцените DOAs.

estimator = phased.MUSICEstimator('SensorArray',array,...
    'OperatingFrequency',fc,'DOAOutputPort',true,...
    'NumSignalsSource','Auto','NumSignalsMethod','MDL');
[y,doas] = estimator(sig + noise);
doas = broadside2az(sort(doas),[0 0])
doas = 1×2

   30.0000   32.0000

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

plotSpectrum(estimator,'NormalizeResponse',true)

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

Введенный в R2016b