Можно реализовать универсальный прямоугольный массив (URA) с phased.URA
. Элементы массива распределяются в z y - плоскости с направлением взгляда массивов вдоль положительного x - ось. Когда вы используете phased.URA
, необходимо задать эти аспекты массива:
Элементы датчика массива
Количество строк и интервала между ними
Количество столбцов и интервала между ними
Геометрия плоской решетки, которая может быть прямоугольной или треугольной
Этот пример показывает вам, как создать универсальный прямоугольный массив (URA) и получить информацию о положениях элемента, ответе массивов и межэлементных задержках. Затем моделируйте прием двух синусоид, прибывающих из различных направлений. Оба сигнала имеют несущую частоту на 1 ГГц.
Примечание: Этот пример запускается только в 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')