sensorsig

Моделируйте полученный сигнал в сенсорной матрице

Синтаксис

x = sensorsig(pos,ns,ang)
x = sensorsig(pos,ns,ang,ncov)
x = sensorsig(pos,ns,ang,ncov,scov)
x = sensorsig(pos,ns,ang,ncov,scov,'Taper',taper)
[x,rt] = sensorsig(___)
[x,rt,r] = sensorsig(___)

Описание

x = sensorsig(pos,ns,ang) моделирует полученные узкополосные сигналы плоской волны в сенсорной матрице. pos представляет положения элементов массива, каждый из которых принят, чтобы быть изотропным. ns указывает на количество снимков состояния моделируемого сигнала. ang представляет входящие направления каждого сигнала плоской волны. Сигналы плоской волны приняты, чтобы быть сигналами постоянного модуля со случайными фазами.

пример

x = sensorsig(pos,ns,ang,ncov) описывает шум через все элементы датчика. ncov задает шумовую степень или ковариационную матрицу. Шум является Гауссовым распределенным сигналом.

пример

x = sensorsig(pos,ns,ang,ncov,scov) задает степень или ковариационную матрицу для входящих сигналов.

x = sensorsig(pos,ns,ang,ncov,scov,'Taper',taper) задает заострение массивов как пару, разделенную запятой, состоящую из 'Taper' и скаляра или вектор-столбца.

[x,rt] = sensorsig(___) также возвращает теоретическую ковариационную матрицу полученного сигнала, с помощью любого из входных параметров в предыдущих синтаксисах.

пример

[x,rt,r] = sensorsig(___) также возвращает матрицу выборочной ковариации полученного сигнала.

Примеры

свернуть все

Моделируйте полученный сигнал в массиве и используйте данные, чтобы оценить направления прибытия.

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

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

fc = 3e8;
c = 3e8;
lambda = c/fc;
array = phased.ULA(8,lambda/2);

Моделируйте 100 снимков состояния полученного сигнала в массиве. Примите, что существует два сигнала, прибывающие из азимута 30 ° и 60 °, соответственно. Шум является белым через все элементы массива, и ОСШ составляет 10 дБ.

x = sensorsig(getElementPosition(array)/lambda,...
   100,[30 60],db2pow(-10));

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

estimator = phased.BeamscanEstimator('SensorArray',array,...
   'PropagationSpeed',c,'OperatingFrequency',fc,...
   'DOAOutputPort',true,'NumSignals',2);
[~,ang_est] = estimator(x);

Постройте пространственный спектр, следующий из процесса оценки.

plotSpectrum(estimator)

График показывает peaks на уровне 30 ° и 60 °.

Моделируйте получение двух некоррелированых входящих сигналов, которые имеют различные уровни мощности. Вектор под названием scov хранит уровни мощности.

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

fc = 3e8;
c = 3e8;
lambda = c/fc;
ha = phased.ULA(8,lambda/2);

Моделируйте 100 снимков состояния полученного сигнала в массиве. Примите, что один входящий сигнал происходит из 30 азимутов степеней и имеет силу 3 Вт. Второй входящий сигнал происходит из 60 азимутов степеней и имеет силу 1 Вт. Два сигнала не коррелируются друг с другом. Шум является белым через все элементы массива, и ОСШ составляет 10 дБ.

ang = [30 60];
scov = [3 1];
x = sensorsig(getElementPosition(ha)/lambda,...
   100,ang,db2pow(-10),scov);

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

hdoa = phased.BeamscanEstimator('SensorArray',ha,...
   'PropagationSpeed',c,'OperatingFrequency',fc,...
   'DOAOutputPort',true,'NumSignals',2);
[~,ang_est] = step(hdoa,x);

Постройте пространственный спектр, следующий из процесса оценки.

plotSpectrum(hdoa);

График показывает высокий пик в 30 градусах и более низкий пик в 60 градусах.

Моделируйте прием трех сигналов, два из которых коррелируются.

Создайте ковариационную матрицу сигнала, в которой первое и треть из трех сигналов коррелируются друг с другом.

scov = [1 0 0.6;...
        0 2 0;...
        0.6 0 1];

Моделируйте получение 100 снимков состояния трех входящих сигналов от 30 °, 40 °, и азимута на 60 °, соответственно. Массив, который получает сигналы, является универсальной линейной матрицей с 8 элементами, элементы которой являются распределенной половиной длины волны независимо. Шум является белым через все элементы массива, и ОСШ составляет 10 дБ.

pos = (0:7)*0.5;
ns = 100;
ang = [30 40 60];
ncov = db2pow(-10);
x = sensorsig(pos,ns,ang,ncov,scov);

Моделируйте получение сигнала в URA. Сравните теоретическую ковариацию сигнала с ее выборочной ковариацией.

Создайте универсальную прямоугольную разрядку массивов 2 на 2 элементы 1/4-wavelength независимо.

pos = 0.25 * [0 0 0 0; -1 1 -1 1; -1 -1 1 1];

Задайте шумовую степень независимо для каждого из этих четырех элементов массива. Каждая запись в ncov является шумовой степенью элемента массива. Это положение элемента является соответствующим столбцом в pos. Примите, что шум является некоррелированым через элементы.

ncov = db2pow([-9 -10 -10 -11]);

Моделируйте 100 снимков состояния полученного сигнала в массиве и сохраните теоретические и эмпирические ковариационные матрицы. Примите, что один входящий сигнал происходит из азимута на 30 ° и повышения на 10 °. Второй входящий сигнал происходит из азимута на 50 ° и повышения на 0 °. Сигналы имеют силу 1 Вт и являются некоррелироваными.

ns = 100;
ang1 = [30; 10];
ang2 = [50; 0];
ang = [ang1, ang2];
rng default
[x,rt,r] = sensorsig(pos,ns,ang,ncov);

Просмотрите значения теоретической ковариации и выборочной ковариации.

abs(rt)
ans = 4×4

    2.1259    1.8181    1.9261    1.9754
    1.8181    2.1000    1.5263    1.9261
    1.9261    1.5263    2.1000    1.8181
    1.9754    1.9261    1.8181    2.0794

abs(r)
ans = 4×4

    2.2107    1.7961    2.0205    1.9813
    1.7961    1.9858    1.5163    1.8384
    2.0205    1.5163    2.1762    1.8072
    1.9813    1.8384    1.8072    2.0000

Моделируйте получение сигнала в ULA, где шум между различными датчиками коррелируется.

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

pos = 0.5 * (0:3);

Задайте шумовую ковариационную матрицу. Значение в (k, _j _) положение в матрице ncov является ковариацией между k и j элементами массива, перечисленными в массиве.

ncov = 0.1 * [1 0.1 0 0; 0.1 1 0.1 0; 0 0.1 1 0.1; 0 0 0.1 1];

Моделируйте 100 снимков состояния полученного сигнала в массиве. Примите, что один входящий сигнал происходит из азимута на 60 °.

ns = 100;
ang = 60;
[x,rt,r] = sensorsig(pos,ns,ang,ncov);

Просмотрите теоретические матрицы и матрицы выборочной ковариации для полученного сигнала.

rt,r
rt = 4×4 complex

   1.1000 + 0.0000i  -0.9027 - 0.4086i   0.6661 + 0.7458i  -0.3033 - 0.9529i
  -0.9027 + 0.4086i   1.1000 + 0.0000i  -0.9027 - 0.4086i   0.6661 + 0.7458i
   0.6661 - 0.7458i  -0.9027 + 0.4086i   1.1000 + 0.0000i  -0.9027 - 0.4086i
  -0.3033 + 0.9529i   0.6661 - 0.7458i  -0.9027 + 0.4086i   1.1000 + 0.0000i

r = 4×4 complex

   1.1059 + 0.0000i  -0.8681 - 0.4116i   0.6550 + 0.7017i  -0.3151 - 0.9363i
  -0.8681 + 0.4116i   1.0037 + 0.0000i  -0.8458 - 0.3456i   0.6578 + 0.6750i
   0.6550 - 0.7017i  -0.8458 + 0.3456i   1.0260 + 0.0000i  -0.8775 - 0.3753i
  -0.3151 + 0.9363i   0.6578 - 0.6750i  -0.8775 + 0.3753i   1.0606 + 0.0000i

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

свернуть все

Положения элементов в сенсорной матрице, заданной как N-вектор-столбец или матрица. Значения в матрице находятся в модулях длины волны сигнала. Например, [0 1 2] описывает три элемента, которые расположены одна длина волны сигнала с интервалами независимо. N является числом элементов в массиве.

Размерности pos:

  • Для линейной матрицы вдоль оси y задайте y координаты элементов в векторе 1 на n.

  • Для плоского массива в yz плоскости задайте y и z координаты элементов в столбцах 2 N матрицей.

  • Для массива произвольной формы задайте x, y, и z координаты элементов в столбцах 3 N матрицей.

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

Количество снимков состояния моделируемого сигнала, заданного как положительный целочисленный скаляр. Функция возвращает это количество выборок на элемент массива.

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

Направления входящих сигналов плоской волны, заданных как M-вектор-столбец или матрица в градусах. M является количеством входящих сигналов.

Размерности ang:

  • Если ang является 2 M матрицей, каждый столбец задает направление. Каждый столбец находится в форме [azimuth; elevation]. Угол азимута должен быть между –180 и 180 градусами, включительно. Угол повышения должен быть между –90 и 90 градусами, включительно.

  • Если ang является 1 M вектором, каждая запись задает угол азимута. В этом случае соответствующий угол повышения принят, чтобы быть 0.

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

Шумовые характеристики, заданные как неотрицательный скаляр, вектор 1 на n положительных чисел или N на n положительная определенная матрица.

Размерности ncov:

  • Если ncov является скаляром, он представляет шумовую степень белого шума через все элементы датчика получения в ваттах. В частности, значение 0 указывает, что нет никакого шума.

  • Если ncov является вектором 1 на n, каждая запись представляет шумовую степень одного из элементов датчика в ваттах. Шум является некоррелированым через датчики.

  • Если ncov является N на n матрицей, он представляет ковариационную матрицу для шума через все элементы датчика.

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

Характеристики входящего сигнала, заданные как положительная скалярная величина, 1 M вектором положительных чисел или M-by-M положительной полуопределенной матрицей.

Размерности scov:

  • Если scov является скаляром, он представляет степень всех входящих сигналов в ваттах. В этом случае все входящие сигналы являются некоррелироваными и совместно используют тот же уровень мощности.

  • Если scov является 1 M вектором, каждая запись представляет степень одного из входящих сигналов в ваттах. В этом случае все входящие сигналы являются некоррелироваными друг с другом.

  • Если scov является M-by-M матрицей, он представляет ковариационную матрицу для всех входящих сигналов. Матрица описывает корреляцию среди входящих сигналов. В этом случае scov может быть действительным или комплексным.

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

Заострение элемента массива, заданное как скалярный или N с комплексным знаком-by-1 вектор-столбец. Размерность N является количеством элементов массива. Если taper является скаляром, все элементы в массиве используют то же значение. Если taper является вектором, каждая запись указывает, что заострение применилось к соответствующему элементу массива.

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

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

свернуть все

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

Теоретическая ковариационная матрица полученного сигнала, возвращенного как комплексная N на n матрица.

Матрица выборочной ковариации полученного сигнала, возвращенного как комплексная N на n матрица. N является количеством элементов массива. Функция выводит эту матрицу от x.

Примечание

Если вы задаете этот выходной аргумент, считаете создание ns больше, чем или равный N. В противном случае r имеет неполный ранг.

Больше о

свернуть все

Угол азимута, угол повышения

azimuth angle вектора является углом между x - ось и ортогональной проекцией вектора на плоскость xy. Угол положителен в движении от оси x к оси y. Углы азимута находятся между –180 и 180 градусами. elevation angle является углом между вектором и его ортогональной проекцией на xy - плоскость. Угол положителен при движении к положительному z - ось от плоскости xy. Эти определения принимают, что направлением опорного направления является положительный x - ось.

Примечание

Угол повышения иногда задается в литературе как угол, который вектор делает с положительным z - ось. MATLAB® и продукты Phased Array System Toolbox™ не используют это определение.

Эта фигура иллюстрирует угол азимута и угол повышения для вектора, который появляется как зеленая сплошная линия. Система координат относительно центра универсальной линейной матрицы, элементы которой появляются как синие круги.

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

Смотрите также

Представленный в R2012b