phased.PartitionedArray

Фазированная решетка разделена в подрешетки

Описание

PartitionedArray объект представляет фазированную решетку, которая разделена в одну или несколько подрешеток.

Получить ответ подрешеток в разделенном массиве:

  1. Задайте и настройте свой разделенный массив. Смотрите Конструкцию.

  2. Вызовите step вычислить ответ подрешеток согласно свойствам phased.PartitionedArray. Поведение step характерно для каждого объекта в тулбоксе.

Можно также задать PartitionedArray возразите как значение SensorArray или Sensor свойство объектов, которые выполняют beamforming, регулирование и другие операции.

Примечание

Запуск в R2016b, вместо того, чтобы использовать step метод, чтобы выполнить операцию, заданную Системой object™, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x) и y = obj(x) выполните эквивалентные операции.

Конструкция

H = phased.PartitionedArray создает разделенный Системный объект массивов, H. Этот объект представляет массив, который разделен в подрешетки.

H = phased.PartitionedArray(Name,Value) создает разделенный объект массивов, H, с каждым заданным набором имени свойства к заданному значению. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

Свойства

Array

Сенсорная матрица

Сенсорная матрица в виде любого Системного объекта массивов, принадлежащего Phased Array System Toolbox™.

Значение по умолчанию: phased.ULA('NumElements',4)

SubarraySelection

Матрица определения подрешетки

Задайте выбор подрешетки как M-by-N матрица. M является количеством подрешеток, и N является числом элементов в массиве. Каждая строка матрицы соответствует подрешетке, и каждая запись в строке указывает, принадлежит ли элемент подрешетке. Когда запись является нулем, элемент не принадлежит подрешетке. Ненулевая запись представляет вес с комплексным знаком, применился к соответствующему элементу. Каждая строка должна содержать по крайней мере одну ненулевую запись.

Центр фазы каждой подрешетки является в подрешетке геометрическим центром. SubarraySelection и Array свойства определяют геометрический центр.

Значение по умолчанию: [1 1 0 0; 0 0 1 1]

SubarraySteering

Руководящий метод подрешетки

Задайте метод подрешетки, держащейся как любой 'None' | 'Phase' | 'Time' | 'Custom'.

  • Когда вы устанавливаете это свойство на 'Phase', фазовращатель используется, чтобы регулировать подрешетку. Используйте STEERANG аргумент step метод, чтобы задать держащееся направление.

  • Когда вы устанавливаете это свойство на 'Time', подрешетки управляются с помощью задержек. Используйте STEERANG аргумент step метод, чтобы задать держащееся направление.

  • Когда вы устанавливаете это свойство на 'Custom', подрешетки управляются путем установки независимых весов для всех элементов в каждой подрешетке. Используйте WS аргумент step метод, чтобы задать веса для всех подрешеток.

Значение по умолчанию: 'None'

PhaseShifterFrequency

Частота фазовращателя подрешетки

Задайте рабочую частоту фазовращателей, которые выполняют регулирование подрешетки. Значение свойства является положительной скалярной величиной в герц. Это свойство применяется, когда вы устанавливаете SubarraySteering свойство к 'Phase'.

Значение по умолчанию: 300e6

NumPhaseShifterBits

Количество битов квантования фазовращателя

Количество битов раньше квантовало компонент сдвига фазы формирователя луча или регулирующий векторные веса. Задайте количество битов как неотрицательное целое число. Значение нуля указывает, что никакое квантование не выполняется.

Значение по умолчанию: 0

Методы

Характерный для phased.PartitionedArray Объект
beamwidth

Вычислите и отобразите ширину луча для подрешетки

collectPlaneWave

Симулируйте полученные плоские волны

directivity

Направленность разделенного массива

getElementPosition

Положения элементов массива

getNumElements

Число элементов в массиве

getNumSubarrays

Количество подрешеток в массиве

getSubarrayPosition

Положения подрешеток в массиве

isPolarizationCapable

Возможность поляризации

pattern

Постройте разделенную направленность массивов, поле и шаблоны степени

patternAzimuth

Постройте разделенную направленность массивов или шаблон по сравнению с азимутом

patternElevation

Постройте разделенную направленность массивов или шаблон по сравнению с вертикальным изменением

plotResponse

Постройте диаграмму направленности массива

step

Выведите ответы подрешеток

viewArray

Просмотрите геометрию массивов

Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Примеры

свернуть все

Постройте ответ азимута ULA с 4 элементами, разделенного в два ULA's с 2 элементами. Интервал элемента является половиной длины волны.

Создайте ULA и разделите его в два ULA's с 2 элементами.

sULA = phased.ULA('NumElements',4,'ElementSpacing',0.5);
sPA = phased.PartitionedArray('Array',sULA,...
    'SubarraySelection',[1 1 0 0;0 0 1 1]);

Постройте ответ азимута массива. Примите, что рабочая частота составляет 1 ГГц, и скорость распространения является скоростью света.

fc = 1e9;
pattern(sPA,fc,[-180:180],0,'Type','powerdb',...
    'CoordinateSystem','polar',...
    'Normalize',true)

Создайте ULA с 4 элементами. Затем разделите ULA в два ULAs с 2 элементами. Затем вычислите ответ в опорном направлении ULA с 4 элементами, разделенного в два ULAs с 2 элементами.

sULA = phased.ULA('NumElements',4,'ElementSpacing',0.5);
sPA = phased.PartitionedArray('Array',sULA,...
   'SubarraySelection',[1 1 0 0;0 0 1 1]);

Вычислите ответ на уровне 1 ГГц. Скорость распространения сигнала является скоростью света.

fc = 1e9;
resp = step(sPA,fc,[0;0],physconst('LightSpeed'))
resp = 2×1

     2
     2

Создайте разделенный массив URA с тремя подрешетками различных размеров. Подрешетки имеют 8, 16, и 32 элемента. Используйте различные наборы весов элемента подрешетки для каждой подрешетки.

Создайте 4 56 элемент URA.

antenna = phased.IsotropicAntennaElement;
fc = 300e6;
c = physconst('LightSpeed');
lambda = c/fc;
n1 = 2^3;
n2 = 2^4;
n3 = 2^5;
nrows = 4;
ncols = n1 + n2 + n3;
array = phased.URA('Element',antenna,'Size',[nrows,ncols]);

Выберите эти три подрешетки путем установки матрицы выбора.

sel1 = zeros(nrows,ncols);
sel2 = sel1;
sel3 = sel1;
sel = zeros(3,nrows*ncols);
for r = 1:nrows
    sel1(r,1:n1) = 1;
    sel2(r,(n1+1):(n1+n2)) = 1;
    sel3(r,((n1+n2)+1):ncols) = 1;
end
sel(1,:) = sel1(:);
sel(2,:) = sel2(:);
sel(3,:) = sel3(:);

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

partarray = phased.PartitionedArray('Array',array, ...
    'SubarraySelection',sel,'SubarraySteering','Custom');
viewArray(partarray,'ShowSubarray','All');

Установите веса для каждой подрешетки и получите ответ каждой подрешетки. Поместите веса в массив ячеек.

wts1 = ones(nrows*n1,1);
wts2 = 1.5*ones(nrows*n2,1);
wts3 = 3*ones(nrows*n3,1);
resp = partarray(fc,[30;0],c,{wts1,wts2,wts3})
resp = 3×1 complex

   0.0246 + 0.0000i
   0.0738 - 0.0000i
   0.2951 - 0.0000i

Ссылки

[1] Деревья фургона, H.L. Оптимальная обработка матриц. Нью-Йорк: Wiley-межнаука, 2002.

Расширенные возможности

Представленный в R2012a