поэтапный. MUSICEstimator

Оцените направление прибытия с помощью узкополосного алгоритма MUSIC для ULA

Описание

Система phased.MUSICEstimator object™ реализует узкополосную связь, несколько сигнализируют о классификации (MUSIC) алгоритм для универсальных линейных матриц (ULA). MUSIC является алгоритмом определения направления с высоким разрешением, способным к решению близко расположенных источников сигнала. Алгоритм основан на eigenspace разложении датчика пространственная ковариационная матрица.

Оценить направления прибытия (DOA):

  1. Задайте и настройте Системный объект phased.MUSICEstimator. Смотрите Конструкцию.

  2. Вызовите метод step, чтобы оценить DOAs согласно свойствам phased.MUSICEstimator.

Примечание

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

Конструкция

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

estimator = phased.MUSICEstimator(Name,Value) создает Системный объект, estimator, с каждым заданным набором имени свойства к заданному значению. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

Свойства

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

Сенсорная матрица ULA, заданная как Системный объект phased.ULA. Если вы не задаете свойств пары "имя-значение" для сенсорной матрицы ULA, свойства по умолчанию массива используются.

Скорость распространения сигнала, заданная как положительная скалярная величина с действительным знаком. Модули исчисляются в метрах в секунду. Скорость распространения по умолчанию является значением, возвращенным physconst('LightSpeed').

Пример: 3e8

Типы данных: single | double

Рабочая частота, заданная как положительная скалярная величина. Модули находятся в Гц.

Пример: 1e9

Типы данных: single | double

Включите прямое обратное усреднение, заданное как false или true. Установите это свойство на true использовать прямое обратное усреднение, чтобы оценить ковариационную матрицу для сенсорных матриц с сопряженным симметричным коллектором массивов.

Типы данных: логический

Поперечные углы сканирования, заданные как вектор с действительным знаком. Модули в градусах. Поперечные углы между поисковым направлением и осью массивов ULA. Углы находятся между-90 ° и 90 °, включительно. Задайте углы в увеличении значения.

Пример: [-20:20]

Типы данных: single | double

Опция, чтобы включить направлениям прибытия (DOA) вывод, заданный как false или true. Чтобы получить DOA сигналов, установите это свойство на true. DOAs возвращены во втором выходном аргументе, когда объект выполняется.

Типы данных: логический

Источник количества прибывающих сигналов, заданных как 'Auto' или 'Property'.

  • 'auto' Системный объект оценивает количество прибывающих сигналов с помощью метода, заданного в свойстве NumSignalsMethod.

  • Свойство Задайте количество прибывающих сигналов с помощью свойства NumSignals.

Типы данных: char

Метод раньше оценивал количество прибывающих сигналов, заданных как 'AIC' или 'MDL'.

  • 'AIC' — Критерий информации о Akaike

  • 'MDL' — Минимальный критерий Длины Описания

Зависимости

Чтобы включить это свойство, установите NumSignalsSource на 'Auto'.

Типы данных: char

Количество прибывающих сигналов для оценки DOA, заданной как положительное целое число.

Пример 3

Зависимости

Чтобы включить это свойство, установите NumSignalsSource на 'Property'.

Типы данных: single | double

Опция, чтобы включить пространственное сглаживание, заданное как неотрицательное целое число. Используйте пространственное сглаживание, чтобы вычислить направления прибытия когерентных сигналов. Значение нуля не задает пространственного сглаживания. Положительное значение представляет количество подмассивов, используемых, чтобы вычислить сглаживавшую (усредненную) исходную ковариационную матрицу. Каждый шаг в этом значении позволяет вам обработать один дополнительный когерентный источник, но сокращает эффективное количество элементов массива одним. Длина апертуры сглаживания, L, зависит от длины массива, M, и номера усреднения, K, L = M – K + 1. Максимальным значением K является M – 2.

Пример 5

Типы данных: double

Методы

plotSpectrumПостройте спектр MUSIC
сбросСбросьте состояния Системного объекта
шагОцените направление прибытия с помощью MUSIC
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Примеры

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

Оцените 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)

Алгоритмы

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

Ссылки

[1] Деревья фургона, H. L. Оптимальная обработка матриц. Нью-Йорк: Wiley-межнаука, 2002.

Расширенные возможности

Введенный в R2017b