Универсальный прямоугольный массив

Поддержка универсальных прямоугольных массивов

Можно реализовать универсальный прямоугольный массив (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')

Figure contains an axes object. The axes object with title 3D Response Pattern contains an object of type surface.