шаг

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

Вычислите держащийся вектор

Синтаксис

SV = step(H,FREQ,ANG)
SV = step(H,FREQ,ANG,STEERANGLE)
SV = step(H,FREQ,ANG,WS)

Описание

Примечание

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

SV = step(H,FREQ,ANG) возвращает держащийся векторный SV массива для направлений, заданных в ANG. Рабочие частоты заданы в FREQ. Значение SV зависит от свойства IncludeElementResponse H, можно следующим образом:

  • Если IncludeElementResponse является true, SV включает ответы отдельного элемента.

  • Если IncludeElementResponse является false, вычисление принимает, что элементы являются изотропными, и SV не включает ответы отдельного элемента. Кроме того, если свойство SensorArray H содержит подмассивы, SV является фактором массивов среди подмассивов, и центр фазы каждого подмассива в его геометрическом центре. Если SensorArray не содержит подмассивы, SV является фактором массивов среди элементов.

SV = step(H,FREQ,ANG,STEERANGLE) использование STEERANGLE как руководящий угол подмассива. Этот синтаксис доступен, когда вы конфигурируете H так, чтобы H.Sensor был массивом, который содержит подмассивы, H.Sensor.SubarraySteering является или 'Phase' или 'Time', и H.IncludeElementResponse является true.

SV = step(H,FREQ,ANG,WS) использование WS как веса применилось к каждому элементу в каждом подмассиве. Чтобы использовать этот синтаксис, установите свойство SensorArray на массив, который поддерживает подмассивы и устанавливает свойство SubarraySteering массива к 'Custom', и H.IncludeElementResponse является true.

Примечание

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

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

H

Регулирование векторного объекта.

FREQ

Рабочие частоты в герц. FREQ является вектором - строкой из длины L.

ANG

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

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

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

STEERANGLE

Руководящий угол подмассива в градусах. STEERANGLE может быть длиной 2 вектор-столбца или скаляр.

Если STEERANGLE является длиной 2 вектора, он имеет форму [азимут; повышение]. Угол азимута должен быть между –180 градусами и 180 градусами, и угол повышения должен быть между –90 градусами и 90 градусами.

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

WS

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

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

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

Сенсорная матрицаВеса подмассива
phased.ReplicatedSubarray

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

phased.PartitionedArray

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

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

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

Зависимости

Чтобы включить этот аргумент, установите свойство SensorArray на массив, который содержит подмассивы и устанавливает свойство SubarraySteering массива к 'Custom', и H.IncludeElementResponse является true.

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

SV

Регулирование вектора. Форма держащегося вектора зависит от того, установлено ли свойство EnablePolarization в true или false.

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

    Если вы устанавливаете свойство H.IncludeElementResponse на true, держащийся вектор включает ответы отдельного элемента. Если вы устанавливаете свойство H.IncludeElementResponse на false, элементы приняты, чтобы быть изотропными. Затем держащийся вектор не включает ответы отдельного элемента.

  • Если EnablePolarization установлен в true, SV является struct MATLAB, содержащий два поля, SV.H и SV.V. Эти поля представляют держащиеся векторные горизонтальные и вертикальные компоненты поляризации. Каждое поле имеет размерности N-by-M-by-L. Первая размерность, N, является числом элементов поэтапного массива. Если H.SensorArray содержит подмассивы, N является количеством подмассивов. Каждый столбец SV содержит держащийся вектор массива для соответствующего направления, заданного в ANG. Каждая из страниц L SV содержит держащиеся векторы массива для соответствующей частоты, заданной в FREQ.

    Если вы устанавливаете EnablePolarization на false для массива, который поддерживает поляризацию, то вся информация о поляризации отбрасывается. Объединенный шаблон и от H и от поляризации V используется в каждом элементе, чтобы вычислить держащийся вектор.

    Симуляция поляризации также требует, чтобы сенсорная матрица, заданная в свойстве SensorArray, могла моделировать поляризацию, и свойство IncludeElementResponse установлено в true.

Примеры

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

Вычислите держащийся вектор для универсальной линейной матрицы в направлении азимута на 30 ° и повышения на 20 °. Примите, что массив’ действует на уровне 300 МГц.

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

array = phased.ULA('NumElements',2);
steeringvector = phased.SteeringVector('SensorArray',array);
fc = 300.0e6;
ang = [30;20];
sv = steeringvector(fc,ang);

Смотрите также

|