musicdoa

Оцените направления прихода сигналов с помощью MUSIC

Описание

пример

doas = musicdoa(covmat,nsig) использует алгоритм MUSIC, чтобы оценить направления прибытия, doas, из nsig плоские волны, полученные на равномерном линейном массиве (ULA). Аргумент covmat является положительно-определенной эрмитовой матрицей, представляющей сенсорную ковариационную матрицу. Обнаруженные источники появляются как peaks в пространственном спектре. Аргумент nsig количество поступающих сигналов. Сенсорные элементы разнесены на половину длины волны в единицах длин волн. Функция форсирует точную сопряженную симметрию covmat путем усреднения ковариационной матрицы с ее сопряженной транспонированием.

пример

[doas,spec,specang] = musicdoa(covmat,nsig) также возвращает пространственный спектр, spec, и nsig углы peaks спектра, specang.

пример

[___] = musicdoa(covmat,nsig,___,'ScanAngles',scanangle) задает сетку широких углов для поиска peaks спектра.

пример

[___] = musicdoa(covmat,nsig,___,'ElementSpacing',dist) задает интервал между элементами массива.

Примеры

свернуть все

Вычислите направления прихода 3 некоррелированных сигналов, поступающих в ULA с 11 элементами с полуволновым интервалом. Предположим, что сигналы поступают с широких углов 0 °, -12 ° и 85 °. Шум в каждом элементе является Гауссовым белым шумом и некоррелирован между элементами. ОСШ составляет 5 дБ.

Задайте количество элементов ULA и интервалы между элементами (в длинах волн).

nelem = 11;
d = 0.5;
snr = 5.0;
elementPos = (0:nelem-1)*d;

Укажите количество сигналов и их широкие углы прихода.

nsig = 3;
angles = [0.0 -12.0 85.0];

Создайте ковариационную матрицу датчика.

covmat = sensorcov(elementPos,angles,db2pow(-snr));

Оцените широкие углы прихода.

doas = musicdoa(covmat,nsig)
doas = 1×3

   -12     0    85

Расчетные углы совпадают с заданными углами.

Вычислите направления прихода 3 некоррелированных сигналов, поступающих в ULA с 11 элементами с полуволновым интервалом. Предположим, что сигналы поступают с широких углов 0 °, -12 ° и 85 °. Шум в каждом элементе является Гауссовым белым шумом и некоррелирован между элементами. ОСШ составляет 2 дБ.

Задайте количество элементов ULA и интервалы между элементами (в длинах волн).

nelem = 11;
d = 0.5;
snr = 2.0;
elementPos = (0:nelem-1)*d;

Укажите количество сигналов и их широкие углы прихода.

nsig = 3;
angles = [0.0 -12.0 85.0];

Создайте ковариационную матрицу датчика.

covmat = sensorcov(elementPos,angles,db2pow(-snr));

Вычислите спектр MUSIC и оцените широкие углы прихода.

[doas,spec,specang] = musicdoa(covmat,nsig);

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

plot(specang,10*log10(spec))
xlabel('Arrival Angle (deg)')
ylabel('Magnitude (dB)')
title('MUSIC Spectrum')
grid

Figure contains an axes. The axes with title MUSIC Spectrum contains an object of type line.

Расчетные углы совпадают с заданными углами.

Вычислите направления прихода 4 некоррелированных сигналов, поступающих в ULA с 11 элементами. Длина интервала элемента составляет 0,5 длины волны. Предположим, что сигналы поступают с широких углов -60,2 °, -20,7 °, 0,5 ° и 84,8 °. Шум в каждом элементе является Гауссовым белым шумом и некоррелирован между элементами. ОСШ составляет 0 дБ.

Задайте количество элементов ULA и интервалы между элементами (в длинах волн).

nelem = 11;
d = 0.5;
snr = 5.0;
elementPos = (0:nelem-1)*d;

Укажите количество сигналов и их широкие углы прихода.

nsig = 4;
angles = [-60.2 -20.7 0.5 84.8];

Создайте ковариационную матрицу датчика.

covmat = sensorcov(elementPos,angles,db2pow(-snr));

Вычислите спектр MUSIC и оцените широкие углы прихода в области значений от -70 ° до 90 ° с шагом 0,1 °.

[doas,spec,specang] = musicdoa(covmat,nsig,'ScanAngles',[-70:.1:90]);

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

plot(specang,10*log10(spec))
xlabel('Arrival Angle (deg)')
ylabel('Magnitude (dB)')
title('MUSIC Spectrum')
grid

Figure contains an axes. The axes with title MUSIC Spectrum contains an object of type line.

disp(doas)
    0.5000   84.8000  -60.2000  -20.7000

Расчетные углы совпадают с заданными углами.

Вычислите направления прихода 4 некоррелированных сигналов, поступающих в ULA с 11 элементами. Интервал между элементами составляет 0,4 интервала между длинами волн. Предположим, что сигналы поступают с широких углов -60 °, -20 °, 0 ° и 85 °. Шум в каждом элементе является Гауссовым белым шумом и некоррелирован между элементами. ОСШ составляет 0 дБ.

Задайте количество элементов ULA и интервалы между элементами (в длинах волн).

nelem = 11;
d = 0.4;
snr = 0.0;
elementPos = (0:nelem-1)*d;

Укажите количество сигналов и их широкие углы прихода.

nsig = 4;
angles = [-60.0 -20.0 0.0 85.0];

Создайте ковариационную матрицу датчика.

covmat = sensorcov(elementPos,angles,db2pow(-snr));

Вычислите спектр MUSIC и оцените широкие углы прихода.

[doas,spec,specang] = musicdoa(covmat,nsig,'ElementSpacing',d);

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

plot(specang,10*log10(spec))
xlabel('Arrival Angle (deg)')
ylabel('Magnitude (dB)')
title('MUSIC Spectrum')
grid

Figure contains an axes. The axes with title MUSIC Spectrum contains an object of type line.

Расчетные углы совпадают с заданными углами.

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

свернуть все

Сенсорная ковариационная матрица, заданная как комплексная, положительно-определенная M -by - M матрица. Количество M является количеством элементов в массиве ULA. Функция форсирует свойство Герметичности путем усреднения матрицы и ее сопряженного транспонирования.

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

Количество поступающих сигналов, заданное в виде положительного целого числа. Количество сигналов должно быть меньше, чем количество элементов в массиве ULA.

Пример: 2

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

Бродсайдские поисковые углы, заданные как действительный вектор. Углы должны лежать в область значений (-90 °, 90 °) и должны быть в порядке возрастания.

Пример: [-40:0.5:50]

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

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

Пример: 0.45

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

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

свернуть все

Направления угла прихода, возвращенные как действительный вектор 1 D, где D - количество поступающих сигналов, заданное в nsig. Угловые модули находятся в степенях. Значения угла находятся в области значений, заданном scanangle.

Пространственный спектр, возвращенный как положительный действительный вектор. Размерность spec равен размерности scanangle.

Широкий угол спектра, возвращенный как действительный вектор. Размерность specang равен размерности scanangle.

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

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