Можно реализовать однородный прямоугольный массив (URA) с phased.URA. Элементы массива распределены в плоскости yz с направлением взгляда массива вдоль положительной оси 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 Гц, прибывающая от азимута на 20 ° и возвышения на 10 °. Второй сигнал - волна синуса на 300 Гц, прибывающая от азимута на-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')
