step

Системный объект: phased.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.

Примечание

Объект выполняет инициализацию в первый раз, когда объект выполняется. Эта инициализация блокирует ненастраиваемые свойства и входные технические требования, такие как размерности, сложность и тип данных входных данных. Если вы изменяете ненастраиваемое свойство или входную спецификацию, Системный объект выдает ошибку. Чтобы изменить ненастраиваемые свойства или входные параметры, необходимо сначала вызвать 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);

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

|