Можно реализовать равномерный прямоугольный массив (URA) с phased.URA
. Элементы массива распределены в y z -плоске с направлением взгляда массива вдоль оси положительного x -. Когда вы используете phased.URA
необходимо задать следующие аспекты массива:
Элементы датчика массива
Количество строк и интервалы между ними
Количество столбцов и интервалы между ними
Геометрия плоской решетки, которая может быть прямоугольной или треугольной
В этом примере показано, как создать равномерный прямоугольный массив (URA) и получить информацию о позициях элемента, отклике массива и межэлементных временных задержках. Затем моделируйте прием двух синусоид, поступающих с разных направлений. Оба сигнала имеют 1GHz несущую частоту.
Примечание.Этот пример выполняется только в R2016b или более поздней версии. Если вы используете более ранний релиз, замените каждый вызов функции на эквивалентный step
синтаксис. Для примера замените myObject(x)
с step(myObject,x)
.
Создайте URA и получите позиции элемента
Создайте и просмотрите URA с шестью элементами с двумя элементами вдоль оси Y и тремя элементами вдоль оси Z. Используйте прямоугольную решетку с интервалом по умолчанию 0,5 метра по размерностям строки и столбца массива. Каждый элемент является изотропным антенным элементом, который является типом элемента по умолчанию для URA.
fc = 1e9; array = phased.URA([3,2]); viewArray(array)
pos = getElementPosition(array);
Координата X равна нулю для всех элементов массива.
Вычислите задержки элемента
Рассчитать задержки элемента для сигналов, поступающих от + 45 ° и -45 ° азимута и 0 ° повышения.
delay = phased.ElementDelay('SensorArray',array);
ang = [45,-45];
tau = delay(ang);
Первый столбец tau
содержит задержки элемента для сигнала, падающего на массив от + 45 ° азимута. Второй столбец содержит задержки для сигнала, поступающего от -45 °. Задержки равны по величине, но противоположны по знаку, как и ожидалось.
Вычислите принятые сигналы
Следующий код моделирует прием двух синусоидальных волн, прибывающих из источников дальнего поля. Один сигнал является 100-Hz синусоидой, поступающей с 20 ° азимута и 10 ° повышения. Второй сигнал - 300-Hz синусоида, поступающая от -30 ° азимута и 5 ° повышения.
t = linspace(0,1,1000); x1 = cos(2*pi*100*t)'; x2 = cos(2*pi*300*t)'; ang1 = [20;10]; ang2 = [-30;5]; recsig = collectPlaneWave(array,[x1 x2],[ang1 ang2],fc);
Каждый столбец recsig
представляет принятые сигналы в соответствующем элементе URA.
Постройте график отклика массива в 3D
Можно построить график отклика массива с помощью pattern
способ.
pattern(array,fc,[-180:180],[-90:90],'PropagationSpeed',physconst('LightSpeed'),... 'CoordinateSystem','rectangular','Type','powerdb')