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 является 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.

Примечание

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

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

H

Объект вектора управления.

FREQ

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

ANG

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

Если ANG является матрицей 2-by-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-by- 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 является MATLAB struct содержащие два поля, 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);

См. также

|