поэтапный. ReplicatedSubarray

Поэтапный массив сформирован реплицированными подмассивами

Описание

Объект ReplicatedSubarray представляет поэтапный массив, который содержит копии подмассива, созданного путем тиражирования одного заданного массива.

Получить ответ подмассивов:

  1. Задайте и настройте свой поэтапный массив, содержащий реплицированные подмассивы. Смотрите Конструкцию.

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

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

Примечание

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

Конструкция

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

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

Свойства

Subarray

Подмассив, чтобы реплицировать

Задайте подмассив, который вы используете, чтобы сформировать массив. Подмассивом должен быть phased.ULA, phased.URA или объект phased.ConformalArray.

Значение по умолчанию: phased.ULA со значениями свойств по умолчанию

Layout

Размещение подмассивов

Задайте размещение реплицированных подмассивов как 'Rectangular' или 'Custom'.

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

GridSize

Размер прямоугольной сетки

Задайте размер прямоугольной сетки как одно положительное целое число или 1 2 положительный целочисленный вектор - строка. Это свойство применяется только, когда вы устанавливаете свойство Layout на 'Rectangular'.

Если GridSize является скаляром, массив имеет то же количество подмассивов в каждой строке и столбце.

Если GridSize 1 2 вектор, вектор имеет форму [NumberOfRows, NumberOfColumns]. Первая запись является количеством подмассивов вдоль каждого столбца, в то время как вторая запись является количеством подмассивов в каждой строке. Строка приезжает локальный y - ось, и столбец приезжает локальный z - ось. Эти данные показывают, как 3 2 подмассив URA реплицирован с помощью значения GridSize [1,2].

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

GridSpacing

Интервал прямоугольной сетки

Задайте прямоугольный интервал сетки подмассивов как положительный скаляр с действительным знаком, 1 2 вектор - строка или 'Auto'. Это свойство применяется только, когда вы устанавливаете свойство Layout на 'Rectangular'. Модули разрядки сетки выражаются в метрах.

Если GridSpacing является скаляром, интервал вдоль строки и интервал вдоль столбца являются тем же самым.

Если GridSpacing является длиной 2 вектора - строки, он имеет форму [SpacingBetweenRows, SpacingBetweenColumn]. Первая запись задает интервал между строками вдоль столбца. Вторая запись задает интервал между столбцами вдоль строки.

Если GridSpacing является 'Auto', репликация сохраняет интервал элемента в обеих строках и столбцах. Эта опция доступна, только если вы используете объект phased.ULA или phased.URA в качестве подмассива.

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

SubarrayPosition

Положения подмассива в пользовательской сетке

Задайте положения подмассивов в пользовательской сетке. Это значение свойства является 3 N матрицей, где N указывает на количество подмассивов в массиве. Каждый столбец матрицы представляет положение одного подмассива в системе локальной координаты массива, в метрах, с помощью формы [x; y; z.

Это свойство применяется, когда вы устанавливаете свойство Layout на 'Custom'.

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

SubarrayNormal

Подмассив нормальные направления в пользовательской сетке

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

Можно использовать свойства SubarrayPosition и SubarrayNormal представлять любое расположение, по которому пары подмассивов отличаются определенными преобразованиями. Преобразования могут объединить перевод, вращение азимута и вращение повышения. Однако вы не можете использовать преобразования, которые требуют вращения вокруг нормального.

Это свойство применяется, когда вы устанавливаете свойство Layout на 'Custom'.

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

SubarraySteering

Руководящий метод подмассива

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

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

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

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

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

PhaseShifterFrequency

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

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

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

NumPhaseShifterBits

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

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

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

Методы

collectPlaneWaveМоделируйте полученные плоские волны
направленностьНаправленность реплицированного подмассива
getElementPositionПоложения элементов массива
getNumElementsЧисло элементов в массиве
getNumSubarraysКоличество подмассивов в массиве
getSubarrayPositionПоложения подмассивов в массиве
isPolarizationCapableВозможность поляризации
шаблонПостройте реплицированную направленность подмассива и шаблоны
patternAzimuthПостройте реплицированную направленность подмассива или шаблон по сравнению с азимутом
patternElevationПостройте реплицированную направленность подмассива или шаблон по сравнению с повышением
plotResponseПостройте шаблон ответа массива
шагВыведите ответы подмассивов
viewArrayПросмотрите геометрию массивов
Характерный для всех системных объектов
release

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

Примеры

развернуть все

Постройте ответ азимута ULA с 4 элементами, состоявшего из двух ULAs с 2 элементами. По умолчанию элементы антенны являются изотропными.

sArray = phased.ULA('NumElements',2,'ElementSpacing',0.5);
sRSA = phased.ReplicatedSubarray('Subarray',sArray,...
   'Layout','Rectangular','GridSize',[1 2],...
   'GridSpacing','Auto');

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

fc = 1.0e9;
pattern(sRSA,fc,[-180:180],0,...
    'PropagationSpeed',physconst('LightSpeed'),...
    'Type','powerdb',...
    'Normalize',true,...
    'CoordinateSystem','polar')

Создайте ULA с 4 элементами из двух подмассивов ULA с 2 элементами, состоящих из элементов антенны короткого диполя. Затем вычислите ответ в опорном направлении. Поскольку элементы массива поддерживают поляризацию, ответ состоит из горизонтальных и вертикальных составляющих.

Создайте массивы из подмассивов.

sSD = phased.ShortDipoleAntennaElement;
sULA = phased.ULA('Element',sSD,...
    'NumElements',2,...
    'ElementSpacing',0.5);
sRSA = phased.ReplicatedSubarray('Subarray',sULA,...
    'Layout','Rectangular',...
    'GridSize',[1 2],...
    'GridSpacing','Auto');

Покажите вертикальный ответ поляризации для подмассивов.

fc = 1.0e9;
ang = [0;0];
resp = step(sRSA,fc,ang,physconst('LightSpeed'));
disp(resp.V)
   -2.4495
   -2.4495

Создайте массив, состоящий из трех копий ULA с 4 элементами разрядка элементов 1/2 длина волны независимо. Массив действует на уровне 300 МГц.

c = physconst('LightSpeed'); 
fc = 300e6;
lambda = c/fc;
subarray = phased.ULA(4,0.5*lambda);

Регулируйте все подмассивы общим сдвигом фазы на 10 азимутов степеней.

array = phased.ReplicatedSubarray('Subarray',subarray,'GridSize',[1 3], ... 
    'SubarraySteering','Phase','PhaseShifterFrequency',fc); 
steer_ang = [10;0]; 
sv_array = phased.SteeringVector('SensorArray',array,... 
    'PropagationSpeed',c); 
wts_array = sv_array(fc,steer_ang);
pattern(array,fc,-90:90,0,'CoordinateSystem','Rectangular',... 
    'Type','powerdb','PropagationSpeed',c,'Weights',wts_array,... 
    'SteerAngle',steer_ang);
legend('phase-shifted subarrays')

Вычислите независимые веса подмассива из руководящих векторов подмассива. Веса указывают на 5, 15, и 30 азимутов степеней. Установите свойство SubarraySteering на 'Custom'.

steer_ang_subarrays = [5 15 30;0 0 0];
sv_subarray = phased.SteeringVector('SensorArray',subarray,... 
    'PropagationSpeed',c);
wc = sv_subarray(fc,steer_ang_subarrays); 
array.SubarraySteering = 'Custom';
pattern(array,fc,-90:90,0,'CoordinateSystem','Rectangular',... 
    'Type','powerdb','PropagationSpeed',c,'Weights',wts_array,... 
    'ElementWeight',conj(wc)); 
legend('independent subarrays') 
hold off

Ссылки

[1] Mailloux, Роберт Дж. Электронно отсканированные массивы. Сан-Рафаэль, CA: Morgan & Claypool Publishers, 2007.

[2] Mailloux, Роберт Дж. Поэтапное руководство антенны массивов, 2-й Эд. Норвуд, MA: дом Artech, 2005.

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

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