exponenta event banner

шаг

Системный объект: поэтапный. MUSICEstimator2D
Пакет: поэтапный

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

Синтаксис

spectrum = step(estimator,X)
[spectrum,doa] = step(estimator,X)

Описание

Примечание

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

spectrum = step(estimator,X) возвращает спектр 2-D MUSIC сигнала, указанного в X.

[spectrum,doa] = step(estimator,X) также возвращает направления сигнала углов прихода, doa. Чтобы использовать этот синтаксис, установите DOAOutputPort свойство для true.

Примечание

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

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

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

2-D оценка MUSIC, указанная как phased.MUSICEstimator2D Системный объект.

Принятый сигнал, заданный как M-by-N комплекснозначная матрица. Величина М - это количество выборок (снимков), содержащихся в сигнале, а N - количество сенсорных элементов в матрице.

Размер первого размера входной матрицы может изменяться для моделирования изменения длины сигнала. Изменение размера может происходить, например, в случае формы импульса с переменной частотой повторения импульса.

Пример: [[0;1;2;3;4;3;2;1;0],[1;2;3;4;3;2;1;0;0]]

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

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

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

2-я МУЗЫКА пространственный спектр, возвращенный как неотрицательный, вектор колонки K-длины с реальным знаком, представляющий величину предполагаемой МУЗЫКИ пространственный спектр. Каждая запись соответствует углу, указанному AzimuthScanAngles и ElevationScanAngles свойства.

Направления поступления сигналов, возвращаемых в виде вещественно-значной матрицы 2-by-L. Направление угла прибытия определяется азимутом и углами места источника относительно локальной системы координат массива. Первый ряд матрицы содержит азимутальные углы, а второй ряд - углы места. Угловые единицы в градусах. L - количество сигналов, указанных NumSignals свойство или производное с использованием метода, указанного NumSignalsMethod собственность.

Зависимости

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

Примеры

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

Предположим, что две синусоидальные волны с частотами 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

Расчетные ДОУ точно соответствуют истинным ДОУ.

Постройте график пространственного спектра 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

Расчетные ДОУ точно соответствуют истинным ДОУ.

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

plotSpectrum(estimator);

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

Представлен в R2016b