exponenta event banner

шаг

Системный объект: поэтапный. ReplicatedSubarray
Пакет: поэтапный

Выходные отклики субчипов

Описание

Примечание

Начиная с 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'.

Примечание

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

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

H

Фазированный массив, сформированный реплицированными субчипами.

FREQ

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

ANG

Проезд в градусах. ANG может быть либо 2-by-M матрицей, либо вектором строки длиной М.

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

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

V

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

STEERANGLE

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

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

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

Зависимости

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

WS

Веса элементов субчипов

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

Зависимости

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

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

RESP

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

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

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

Примеры

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

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

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

Создайте двухэлементную ULA элементов короткодипольной антенны. Затем расположите две копии для формирования 4-элементной ULA.

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

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

c = physconst('LightSpeed');
resp = replicatedarray(1.0e9,[0;0],c)
resp = struct with fields:
    H: [2x1 double]
    V: [2x1 double]

Создайте массив, состоящий из трех копий 4-элементной ULA с элементами, разнесенными на 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')

Figure contains an axes. The axes with title Azimuth Cut (elevation angle = 0.0°) contains an object of type line. This object represents 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

Figure contains an axes. The axes with title Azimuth Cut (elevation angle = 0.0°) contains an object of type line. This object represents independent subarrays.

См. также

|