step

Системный объект: фазированный. PartitionedArray
Пакет: поэтапный

Выходные отклики подрешеток

Описание

Примечание

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

пример

RESP = step(H,FREQ,ANG,V) возвращает ответы RESP из подрешеток в массиве, на рабочих частотах, заданных в FREQ и направления, указанные в ANG. Центр фазы каждой подрешетки находится в его геометрическом центре. V - скорость распространения. Элементы внутри каждой подрешетки соединяются с центром фазы подрешетки с помощью передачи с равным путем.

RESP = step(H,FREQ,ANG,V,STEERANGLE) использует STEERANGLE как направление управления подрешетки. Этот синтаксис доступен, когда вы устанавливаете SubarraySteering свойство любому из 'Phase' или 'Time'.

пример

RESP = step(H,FREQ,ANG,V,WS) использует WS как веса элемента подрешетки. Этот синтаксис доступен, когда вы устанавливаете SubarraySteering свойство к 'Custom'.

Примечание

Объект выполняет инициализацию при первом выполнении объекта. Эта инициализация блокирует нетронутые свойства и входные спецификации, такие как размерности, сложность и тип данных входных данных. Если вы изменяете свойство nontunable или спецификацию входа, системный объект выдает ошибку. Чтобы изменить нетронутые свойства или входы, необходимо сначала вызвать release метод для разблокировки объекта.

Входные параметры

H

Секционированный объект массива.

FREQ

Рабочие частоты массива в герцах. FREQ является вектор-строка длины L. Типичные значения находятся в пределах области значений, заданной свойством H.Array.Element. Это свойство названо FrequencyRange или FrequencyVector, в зависимости от типа элемента в массиве. Элемент имеет нулевую характеристику на частотах вне этой области значений.

ANG

Направления в степенях. ANG может быть либо матрицей 2-by-M, либо вектор-строка длины M.

Если ANG является матрицей 2-by-M, каждый столбец матрицы задает направление в виде [азимута; повышение]. Угол азимута должен быть между -180 и 180 степенями включительно. Угол возвышения должен быть от -90 до 90 степени включительно.

Если ANG является вектор-строка длины M, каждый элемент задает угол азимута направления. В этом случае соответствующий угол возвышения принимается равным 0.

V

Скорость распространения в метрах в секунду. Это значение должно быть скаляром.

STEERANGLE

Направление рулевого управления подрешетки. STEERANGLE может быть либо 2-элементным вектором-столбцом либо скаляром.

Если STEERANGLE является 2-элементным вектором-столбцом, имеет форму [azimuth; elevation]. Угол азимута должен быть между -180 и 180 степенями включительно. Угол возвышения должен быть от -90 до 90 степени включительно.

Если STEERANGLE является скаляром, он задает угол азимута направления. В этом случае угол возвышения принимается равным 0.

WS

Веса элементов подрешетки

Веса элемента подрешетки, заданные как комплексно-значимый NSE -by- N матрица или 1-by- N массив ячеек, где N - количество подрешеток.

Подрешетки не должен иметь одинаковые размеры и размерности. В этом случае вы задаете веса подрешетки как

  • матрица NSE -by N, где NSE - количество элементов в самой большой подрешетке. Первые Q значения в каждом столбце являются весами элементов для подрешетки, где Q - количество элементов в подрешетке.

  • массив ячеек 1 N байта. Каждая камера содержит вектор-столбец весов для соответствующих подрешеток. Длины векторов-столбцов равны количеству элементов в соответствующих подрешетках.

Зависимости

Чтобы включить этот аргумент, установите SubarraySteering на 'Custom'.

Выходные аргументы

RESP

Характеристики напряжения подрешеток фазированной решетки. Это выход зависит от того, поддерживает ли массив поляризацию или нет.

  • Если массив не способен поддерживать поляризацию, характеристика напряжения, RESP, имеет размерности N -by- M -by- L. Size N представляет количество подрешеток в фазированной решетке, M представляет количество углов, заданных в ANG, и L представляет количество частот, заданное в FREQ. Для определенной подрешетки каждый столбец RESP содержит ответы подрешетки для соответствующего направления, заданного в ANG. Каждая из L страниц RESP содержит ответы подрешеток на соответствующую частоту, указанную в FREQ.

  • Если массив способен поддерживать поляризацию, ответ на напряжение, RESP, является MATLAB® struct содержащие два поля, RESP.H и RESP.V. Полевые RESP.H представляет горизонтальную поляризационную характеристику массива в то время как RESP.V представляет вертикальную поляризационную характеристику массива. Каждое поле имеет размерности N -by- M -by- L. Size N представляет количество подрешеток в фазированной решетке, M представляет количество углов, заданных в ANG, и L представляет количество частот, заданное в FREQ. Для определенной подрешетки каждый столбец RESP содержит ответы подрешетки для соответствующего направления, заданного в ANG. Каждая из L страниц RESP содержит ответы подрешеток на соответствующую частоту, указанную в FREQ.

Примеры

расширить все

Вычислите ответ при выявлении ULA с 4 элементами, разделенными на два ULA с 2 элементами.

Примечание.Этот пример выполняется только в R2016b или более поздней версии. Если вы используете более ранний релиз, замените каждый вызов функции на эквивалентный step синтаксис. Для примера замените myObject(x) с step(myObject,x).

Настройте секционированный массив.

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

Вычислите ответ подрешеток при boresight. Предположим, что рабочая частота составляет 1 ГГц, а скорость распространения - это скорость света.

resp = partitionedarray(1.0e9,[0;0],physconst('Lightspeed'))
resp = 2×1

     2
     2

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

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

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

См. также

|