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.

Примечание

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

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

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

Средство оценки MUSIC, заданное как 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 с действительным знаком - вектор-строка длины. Направление угла падения является углом между исходным направлением и осью массивов или поперечным углом. Угловые модули в градусах. L является количеством сигналов, заданных NumSignals свойство или вычисленное использование метода заданы NumSignalsMethod свойство.

Зависимости

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

Примеры

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

Оцените DOAs двух сигналов, полученных стандартным 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)

Во-первых, оцените DOAs двух сигналов, полученных стандартным 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)

Введенный в R2017b