exponenta event banner

Субчипы в массивах

Определение субчипов

В программном обеспечении Phased Array System Toolbox™ подчисток является доступным подмножеством элементов массива. При использовании массива, содержащего подмагистрали, можно получить доступ к измерениям из подмагистралей, но не из отдельных элементов. Аналогично, обработку можно выполнять на уровне субчипов, но не на уровне отдельных элементов. В результате система имеет меньше степеней свободы, чем при управлении системой на уровне отдельных элементов.

Преимущества использования субчипов

Радиолокационные приложения часто используют подрешетки, поскольку операции, такие как фазовый сдвиг и аналого-цифровое преобразование, слишком дороги для реализации для каждого элемента. Менее дорого группировать элементы массива с помощью аппаратных средств, создавая таким образом субчипы внутри массива. Группирование элементов посредством аппаратных средств ограничивает доступ к измерениям и обработке до уровня подмассива.

Поддержка субчипов в массивах

Для работы с субчипами необходимо определить массив и субчипы в нем. Можно либо сначала определить массив, либо начать с подмассива. Выберите один из следующих подходов:

  • Определите один подмагистраль, а затем создайте массив большего размера, расположив копии подмагистрали. Подчисток может представлять собой массив ULA, URA или конформный массив. Копии идентичны, за исключением их расположения и ориентации. Копии можно расположить пространственно в сетке или пользовательском макете.

    При использовании этого подхода большой массив создается путем создания phased.ReplicatedSubarray object™ системы. Этот объект хранит информацию о субчипах и о том, как их копии располагаются для формирования большего массива.

  • Определите массив, а затем разбейте его на подмагистрали. Массив может быть массивом ULA, URA или конформным массивом. Субчипы не обязательно должны быть идентичными. Данный элемент массива может находиться в нескольких субчипах, что приводит к наложению субчипов.

    При использовании этого подхода выполняется разбиение массива на разделы путем создания phased.PartitionedArray Системный объект. Этот объект хранит информацию о массиве и его структуре подмассива.

После создания phased.ReplicatedSubarray или phased.PartitionedArray объект можно использовать для выполнения операций формирования луча, управления или других операций. Для этого укажите объект в качестве значения SensorArray или Sensor в объектах, имеющих такое свойство и поддерживающих субчипы. Объекты, поддерживающие субчипы в их SensorArray или Sensor свойства включают в себя:

  • phased.AngleDopplerResponse

  • phased.ArrayGain

  • phased.ArrayResponse

  • phased.Collector

  • phased.ConstantGammaClutter

  • phased.MVDRBeamformer

  • phased.PhaseShiftBeamformer

  • phased.Radiator

  • phased.STAPSMIBeamformer

  • phased.SteeringVector

  • phased.SubbandPhaseShiftBeamformer

  • phased.WidebandCollector

Прямоугольный массив, разделенный на линейные субчипы

В этом примере показано, как настроить прямоугольный массив, содержащий линейные субчипы. В примере также находят фазовые центры субчипов.

Создайте прямоугольный массив 2 на 3.

array = phased.URA('Size',[2 3]);

Постройте график положения элементов массива в плоскости yz (все координаты x равны нулю). Включить метки, указывающие нумерацию элементов. Нумерация важна для выбора элементов, включенных в каждый подчисток.

viewArray(array,'ShowIndex','All')

Создайте и просмотрите массив, состоящий из трех двухэлементных линейных субчипов, каждый из которых параллелен оси Z. Используйте индексы из графика, чтобы сформировать матрицу для SubarraySelection собственность. getSubarrayPosition возвращает фазовые центры трех подрешеток.

subarray1 = [1 1 0 0 0 0; 0 0 1 1 0 0; 0 0 0 0 1 1];
partitionedarray1 = phased.PartitionedArray('Array',array,...
   'SubarraySelection',subarray1);
viewArray(partitionedarray1)

subarray1pos = getSubarrayPosition(partitionedarray1)
subarray1pos = 3×3

         0         0         0
   -0.5000         0    0.5000
         0         0         0

Создайте и просмотрите другой массив, состоящий из двух 3-элементных линейных субчипов, параллельных оси Y. Использование getSubarrayPosition найдите фазовые центры двух субчипов.

subarray2 = [0 1 0 1 0 1; 1 0 1 0 1 0];
partitionedarray2 = phased.PartitionedArray('Array',array,...
   'SubarraySelection',subarray2);
viewArray(partitionedarray2)

subarraypos2 = getSubarrayPosition(partitionedarray2)
subarraypos2 = 3×2

         0         0
         0         0
   -0.2500    0.2500

Линейный подмассив, реплицированный в прямоугольный массив

В этом примере показано, как расположить копии линейного подмассива для формирования прямоугольного массива.

Создайте четырехэлементный линейный массив, параллельный оси Y.

array = phased.ULA('NumElements',4);

Создайте прямоугольный массив, расположив две копии линейного массива.

replsubarray = phased.ReplicatedSubarray('Subarray',array,'GridSize',[2 1]);

Постройте график положения элементов массива (закрашенных кругов) и фазовых центров субчипов (незаполненных кругов). Элементы лежат в плоскости yz, так как все координаты x равны нулю.

viewArray(replsubarray);
hold on;
subarraypos = getSubarrayPosition(replsubarray);
sx = subarraypos(1,:);
sy = subarraypos(2,:);
sz = subarraypos(3,:);
scatter3(sx,sy,sz,'ro')
hold off

Линейный подчисток, реплицированный в пользовательскую сетку

В этом примере показано расположение копий линейного подмассива в треугольной компоновке.

Создайте четырехэлементный линейный массив.

antenna = phased.CosineAntennaElement('CosinePower',1);
array = phased.ULA('NumElements',4,'Element',antenna);

Создайте массив большего размера, расположив три копии линейного массива. Явно определите центры фаз и направления нормали для трех копий.

vertex_ang = [60 180 -60];
vertex = 2*[cosd(vertex_ang); sind(vertex_ang); zeros(1,3)];
subarray_pos = 1/2*[...
   (vertex(:,1)+vertex(:,2)) ...
   (vertex(:,2)+vertex(:,3)) ...
   (vertex(:,3)+vertex(:,1))];
replsubarray = phased.ReplicatedSubarray('Subarray',array,...
   'Layout','Custom',...
   'SubarrayPosition',subarray_pos,...
   'SubarrayNormal',[120 0;-120 0;0 0].');

Постройте график расположения элементов массива (синий) и центров фазы (красный) субчипов. График находится в плоскости xy, так как все координаты z равны нулю.

viewArray(replsubarray,'ShowSubarray',[])
hold on
scatter3(subarray_pos(1,:),subarray_pos(2,:),...
   subarray_pos(3,:),'ro')
hold off

Связанные темы