Документация Engee

EngeePhased.SteeringVector

Вектор управления антенными элементами.

Описание

Системный объект EngeePhased.SteeringVector вычисляет векторы управления антенной решеткой для заданных направлений и частот.

Чтобы вычислить вектор управления антенной решеткой для заданных направлений и частот, выполните следующие действия:

  1. Создайте объект EngeePhased.SteeringVector и задайте его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Чтобы узнать подробнее о том, как работать с системными объектами, см. Системные объекты Engee.

Синтаксис

Создание

  • steervec = EngeePhased.SteeringVector() — создает векторы управления антенными решетками со значениями свойств по умолчанию.

  • steervec = EngeePhased.SteeringVector(Name=Value) — создает векторы управления антенными решетками с заданными свойствами в виде пары Name=Value, где Name — имя свойства, а Value — соответствующее значение. Можно указать несколько пар «имя-значение», порядок пар не имеет значения. Неуказанные свойства сохраняют свои значения по умолчанию.

Использование

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

    • Если для свойства IncludeElementResponse задано значение true, компоненты SV включают в себя диаграмму направленности отдельных элементов.

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

  • SV = steervec(FREQ,ANG,STEERANG) — использует аргумент STEERANG в качестве угла поворота подрешетки. Чтобы использовать этот синтаксис, установите для свойства SensorArray тип антенной решетки, содержащей антенные подрешетки, а для свойства IncludeElementResponse — значение true. Антенные решетки, содержащие антенные подрешетки, — это системные объекты EngeePhased.PartitionedArray и EngeePhased.ReplicatedSubarray. В этом случае установите для свойства SubarraySteering этих антенных решеток значение "Phase" или "Time".

  • SV = steervec(FREQ,ANG,STEERANG,WS) — использует аргумент WS в качестве весовых коэффициентов, применяемых к каждому элементу внутри каждой подрешетки. Чтобы использовать этот синтаксис, установите для свойства SensorArray значение антенной решетки, поддерживающей антенные подрешетки, и установите для свойства SubarraySteering значение "Custom".

Аргументы

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

ANG — направления вектора управления
вещественный вектор длиной M | вещественная матрица 2 на M

Details

Направления вектора управления в градусах, заданные как вещественный вектор длиной или вещественная матрица на , где — это количество направлений управления.

  • Если ANG — это матрица на , каждый столбец матрицы задает направление в пространстве в виде [azimuth; elevation]. Азимутальный угол должен лежать между −180° и 180° включительно. Угол места должен лежать в диапазоне от −90° до 90° включительно.

  • Если ANG — это вектор длиной , его значения соответствуют азимутальным углам вектора управления, а углы места установлены на ноль.

Типы данных

Float32, Float64

FREQ — рабочие частоты
положительный вектор 1 на L

Details

Рабочие частоты в Гц, заданные как вещественный вектор-строка длиной , содержащий положительные числа.

Типы данных

Float32, Float64

STEERANG — угол поворота антенной подрешетки
скаляр | вещественный вектор 2 на 1

Details

Угол поворота антенной подрешетки в градусах, заданный как скаляр или вещественный вектор на .

  • Если STEERANG — это вектор на , он задает направление управления антенными подрешетками в виде [azimuth; elevation]. Азимутальный угол должен находиться в диапазоне от −180° до 180° включительно. Угол места должен быть от −90° до 90° включительно.

  • Если STEERANG — это скаляр, его значение соответствует азимутальному углу направления антенных подрешеток, при этом угол места равен нулю.

Типы данных

Float32, Float64

WS — весовые коэффициенты антенных подрешеток
комплексная матрица NSE на N | кортеж из N элементов

Details

Весовые коэффициенты антенных подрешеток, заданные как комплексная матрица на или кортеж из элементов, где — количество подрешеток. Эти весовые коэффициенты применяются к отдельным элементам внутри подрешетки.

Весовые коэффициенты элементов подрешетки
Подрешетка Весовые коэффициенты подрешетки

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

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

  • Матрицы на , где — это количество элементов в самой большой подрешетке. Первые записей в каждом столбце — это весовые коэффициенты элементов для подрешетки, где — количество элементов в подрешетке.

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

Зависимости

Чтобы использовать этот аргумент, установите для свойства SensorArray значение антенной решетки, содержащей подрешетки, и установите для свойства SubarraySteering решетки значение "Custom".

Типы данных

Float32, Float64

Поддержка комплексных чисел

Да

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

SV — вектор управления
комплексный массив N на M на L | кортеж

Details

Вектор управления, возвращаемый в виде комплексного массива на на или кортежа, содержащего массивы.

Форма вектора управления зависит от того, какое значение установлено для свойства EnablePolarization:

  • Если для свойства EnablePolarization установлено значение false, вектор управления SV представляет собой массив на на . Длина первого измерения — это количество элементов фазированной антенной решетки. Если SensorArray содержит антенные подрешетки, — это количество антенных подрешеток. Длина второго измерения соответствует количеству направлений управления, указанных в аргументе ANG. Длина третьего измерения соответствует количеству частот, указанных в аргументе FREQ.

  • Если для свойства EnablePolarization установлено значение true, SV — это кортеж, содержащий два элемента SV.H и SV.V. Эти два элемента представляют горизонтальную (H) и вертикальную (V) компоненты поляризации вектора управления. Каждый элемент представляет собой массив размером на на . Длина первого измерения — это количество элементов фазированной антенной решетки. Если SensorArray содержит антенные подрешетки, — это количество антенных подрешеток. Длина второго измерения соответствует количеству направлений управления, указанных в аргументе ANG. Длина третьего измерения соответствует количеству частот, указанных в аргументе FREQ. Моделирование поляризации также требует, чтобы антенные подрешетки, указанные в свойстве SensorArray, могли моделировать поляризацию и чтобы для свойства IncludeElementResponse было установлено значение true.

Типы данных

Float32, Float64

Свойства

# SensorArray — объект антенной решетки
ULA (по умолчанию) | системный объект антенной решетки

Details

Объект антенной решетки, антенны из подрешеток или элемента антенной решетки. Антенная решетка может содержать подрешетки.

Например:

using EngeePhased

ura = EngeePhased.URA()
steervect = EngeePhased.SteeringVector(SensorArray=ura)
SteeringVector:
    SensorArray=URA:
    Element=IsotropicAntennaElement:
    FrequencyRange=[0.0 1.0e20]
    BackBaffled=false
    UseThreads=true
    Size=[2 2]
    ElementSpacing=[0.5 0.5]
    Lattice=Rectangular
    ArrayNormal=x
    Taper=1
    UseThreads=true
    PropagationSpeed=299792458
    IncludeElementResponse=false
    NumPhaseShifterBits=0
    EnablePolarization=false
    UseThreads=true

# PropagationSpeed — скорость распространения сигнала
299792458 (по умолчанию) | положительный скаляр

Details

Скорость распространения сигнала, заданная как положительный скаляр. По умолчанию используется значение скорости света 299792458.

Единицы измерения — м/с.

# IncludeElementResponse — включение диаграмм направленности отдельных элементов в вектор управления
false (по умолчанию) | true

Details

Опция включения диаграмм направленности отдельных элементов в вектор управления, заданная как false или true.

  • Если для свойства IncludeElementResponse установлено значение true, вектор управления включает в себя диаграммы направленности отдельных элементов антенной решетки.

  • Если для свойства IncludeElementResponse установлено значение false, вектор управления вычисляется в предположении, что элементы изотропны, независимо от того, как указаны элементы. Установите для этого свойства значение true при использовании поляризованных сигналов.

Если антенная решетка, указанная в свойстве SensorArray, содержит антенные подрешетки, вектор направления применяется к антенным подрешеткам. Если SensorArray не содержит антенных подрешеток, вектор направления применяется к элементам антенной решетки.

NumPhaseShifterBits — разрядность квантования фазовращателя
0 (по умолчанию) | целое число от 0 до 64

Details

Количество бит квантования фазового сдвига, заданное как целое число от 0 до 64 включительно. Количество бит используется для квантования компонента фазового сдвига весовых коэффициентов формирователя луча или вектора управления. Значение, равное нулю, означает, что квантование не выполняется.

# EnablePolarization — включение поляризации
false (по умолчанию) | true

Details

Опция включения поляризованных полей, заданная как false или true.

  • Если установить для свойства EnablePolarization значение true, включается поляризация.

  • Если установить для свойства EnablePolarization значение false, поляризация не включается.

Включение поляризации требует, чтобы антенная решетка, указанная в свойстве SensorArray, поддерживала поляризацию.

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

Методы

Общие для всех системных объектов

step!

Запуск алгоритма работы системного объекта

release!

Разрешение изменения значения свойства системного объекта

reset!

Сброс внутренних состояний системного объекта

Литература

  1. Van Trees, H. Optimum Array Processing. New York: Wiley-Interscience, 2002.