phased.MUSICEstimator2D

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

Описание

The phased.MUSICEstimator2D Система object™ реализует узкополосный алгоритм классификации нескольких сигналов (MUSIC) для 2-D плоских или трехмерных массивов, таких как равномерная прямоугольная матрица (URA). MUSIC является алгоритмом наведения направления с высоким разрешением, способным разрешать близко расположенные источники сигналов. Алгоритм основан на собственном пространственном разложении ковариационной матрицы датчика.

Для оценки направления прибытия (DOA):

  1. Определите и настройте phased.MUSICEstimator2D Системный объект. См. «Конструкция».

  2. Вызовите step метод оценки DOAs согласно свойствам phased.MUSICEstimator2D.

Примечание

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

Конструкция

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

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

Свойства

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

Массив датчика, заданный как Phased Array System Toolbox Системного объекта массива.

Пример: phased.URA

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

Пример: 3e8

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

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

Пример: 1e9

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

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

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

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

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

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

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

Пример: [-70:75]

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

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

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

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

  • 'Auto' - Объект System оценивает количество поступающих сигналов с помощью метода, заданного в NumSignalsMethod свойство.

  • 'Property' - Укажите количество поступающих сигналов, использующих NumSignals свойство.

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

Метод, используемый для оценки количества поступающих сигналов, заданный как 'AIC' или 'MDL'.

  • 'AIC' - Информационный критерий Акайке

  • 'MDL' - Критерий минимальной длины описания

Зависимости

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

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

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

Пример: 3

Зависимости

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

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

Методы

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

Разрешить изменение значения свойства системного объекта

Примеры

свернуть все

Предположим, что две синусоидальные волны частот 450 Гц и 600 Гц поражают URA с двух разных направлений. Сигналы поступают от -37 ° азимута, 0 ° повышения и 17 ° азимута, 20 ° повышения. Используйте 2-D MUSIC, чтобы оценить направления прихода двух сигналов. Рабочая частота массива составляет 150 МГц, и частота дискретизации сигнала составляет 8 кГц.

f1 = 450.0;
f2 = 600.0;
doa1 = [-37;0];
doa2 = [17;20];
fc = 150e6;
c = physconst('LightSpeed');
lam = c/fc;
fs = 8000;

Создайте URA с изотропными элементами по умолчанию. Установите область значений частотной характеристики элементов.

array = phased.URA('Size',[11 11],'ElementSpacing',[lam/2 lam/2]);
array.Element.FrequencyRange = [50.0e6 500.0e6];

Создайте два сигнала и добавьте случайный шум.

t = (0:1/fs:1).';
x1 = cos(2*pi*t*f1);
x2 = cos(2*pi*t*f2);
x = collectPlaneWave(array,[x1 x2],[doa1,doa2],fc);
noise = 0.1*(randn(size(x))+1i*randn(size(x)));

Создайте и выполните оценку 2-D MUSIC, чтобы найти направления прибытия.

estimator = phased.MUSICEstimator2D('SensorArray',array,...
    'OperatingFrequency',fc,...
    'NumSignalsSource','Property',...
    'DOAOutputPort',true,'NumSignals',2,...
    'AzimuthScanAngles',-50:.5:50,...
    'ElevationScanAngles',-30:.5:30);
[~,doas] = estimator(x + noise)
doas = 2×2

   -37    17
     0    20

Предполагаемые DOA точно соответствуют истинным DOA.

Постройте график 2-D пространственного спектра

plotSpectrum(estimator);

Figure contains an axes. The axes with title 2-D MUSIC Spatial Spectrum contains an object of type surface.

Предположим, что две синусоидальные волны частот 1,6 кГц и 1,8 кГц поражают дисковый массив с двух разных направлений. Интервал между элементами диска составляет 1/2 длины волны. Сигналы поступают от -31 ° азимута, -11 ° повышения и 35 ° азимута, 55 ° повышения. Используйте 2-D MUSIC, чтобы оценить направления прихода двух сигналов. Рабочая частота массива составляет 300 МГц, и частота дискретизации сигнала составляет 8 кГц.

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

f1 = 1.6e3;
f2 = 1.8e3;
doa1 = [-31;-11];
doa2 = [35;55];
fc = 300e6;
c = physconst('LightSpeed');
lam = c/fc;
fs = 8.0e3;

Создайте конформный массив с изотропными элементами по умолчанию. Сначала создайте URA, чтобы получить позиции элемента.

uraarray = phased.URA('Size',[21 21],'ElementSpacing',[lam/2 lam/2]);
pos = getElementPosition(uraarray);

Извлеките их подмножество, чтобы сформировать вписанный диск.

radius = 10.5*lam/2;
pos(:,sum(pos.^2) > radius^2) = [];

Затем создайте конформный массив, используя эти положения.

confarray = phased.ConformalArray('ElementPosition',pos);
viewArray(confarray)

Установите область значений частотной характеристики элементов.

confarray.Element.FrequencyRange = [50.0e6 600.0e6];

Создайте два сигнала и добавьте случайный шум.

t = (0:1/fs:1.5).';
x1 = cos(2*pi*t*f1);
x2 = cos(2*pi*t*f2);
x = collectPlaneWave(confarray,[x1 x2],[doa1,doa2],fc);
noise = 0.1*(randn(size(x)) + 1i*randn(size(x)));

Создайте и выполните оценку 2-D MUSIC, чтобы найти направления прибытия.

estimator = phased.MUSICEstimator2D('SensorArray',confarray,...
    'OperatingFrequency',fc,...
    'NumSignalsSource','Property',...
    'DOAOutputPort',true,'NumSignals',2,...
    'AzimuthScanAngles',-60:.1:60,...
    'ElevationScanAngles',-60:.1:60);
[~,doas] = estimator(x + noise)
doas = 2×2

    35   -31
    55   -11

Предполагаемые DOA точно соответствуют истинным DOA.

Постройте график 2-D пространственного спектра

plotSpectrum(estimator);

Figure contains an axes. The axes with title 2-D MUSIC Spatial Spectrum contains an object of type surface.

Алгоритмы

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

Ссылки

[1] Van Trees, H. L., Optimum Array Processing. Нью-Йорк: Wiley-Interscience, 2002.

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

.
Введенный в R2016b