step

Системный объект: поэтапный. 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 trueSV включает ответы отдельного элемента.

  • Если 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 установлен в trueSV 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);

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

|