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

pattern

Построение графиков коэффициентов направленного действия (КНД) и диаграмм направленности антенной решетки.

Библиотека

EngeePhased

Синтаксис

Вызов функции

  • pattern(array,FREQ) — строит график трехмерной диаграммы направленности (в дБи) антенной решетки, заданной в array. Рабочая частота задается в FREQ. Вы можете использовать эту функцию для отображения диаграмм направленности антенных решеток, поддерживающих поляризацию.

  • pattern(array,FREQ,AZ) — строит диаграмму направленности антенной решетки при заданных азимутальных углах AZ.

  • pattern(array,FREQ,AZ,EL) — строит диаграмму направленности антенной решетки при заданных азимутальных углах AZ и углах места EL.

  • pattern(___,Name=Value) — строит диаграмму направленности антенной решетки с дополнительными параметрами, заданными одним или несколькими аргументами типа «имя-значение».

  • PAT,AZ_ANG,EL_ANG = pattern(___,out=:data) — возвращает диаграмму направленности антенной решетки в PAT. Выходной аргумент AZ_ANG содержит значения координат, соответствующие строкам PAT. Выходной аргумент EL_ANG содержит значения координат, соответствующие столбцам PAT.

Аргументы

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

# array — фазированная антенная решетка
системный объект

Details

Фазированная антенная решетка, заданная как системный объект из библиотеки EngeePhased.

# FREQ — частоты для вычисления КНД и диаграммы направленности
положительный скаляр | вектор-строка 1 на L вещественных значений

Details

Частоты для вычисления КНД и диаграммы направленности, заданные как положительный скаляр или вектор-строка на вещественных значений. Единицы измерения частоты — Гц.

  • Для элемента антенны и микрофона FREQ должно лежать в диапазоне значений, указанных в свойстве FrequencyRange или FrequencyVector соответствующего элемента. В противном случае элемент не дает никакого отклика, а КНД возвращается как −Inf. Большинство элементов используют свойство FrequencyRange, за исключением EngeePhased.CustomAntennaElement и EngeePhased.CustomMicrophoneElement, которые используют свойство FrequencyVector.

  • Для антенной решетки элементов FREQ должен лежать в пределах частотного диапазона элементов, составляющих решетку. В противном случае антенная решетка не дает никакого отклика, а КНД возвращается как −Inf.

Типы данных

Float64

# AZ — азимутальные углы
[−180, 180] | вещественный вектор длиной N

Details

Азимутальные углы для вычисления КНД и диаграммы направленности, заданные как вектор из вещественных значений, где — это количество азимутальных углов. Единицы измерения углов — градусы. Азимутальные углы должны лежать в диапазоне от −180° до 180°.

Азимутальный угол — это угол между осью и проекцией вектора направления на плоскость . При измерении от оси в направлении оси этот угол положителен.

Типы данных

Float64

# EL — углы места
[−90, 90] | вещественный вектор длиной M

Details

Углы места для вычисления КНД и диаграммы направленности, заданные в виде вектора из вещественных значений, где — это количество требуемых направлений. Единицы измерения углов — градусы. Углы места должны лежать в диапазоне от −90° до 90°.

Угол места — это угол между вектором направления и плоскостью . Угол места положителен, если измеряется по направлению к оси .

Типы данных

Float64

Входные аргументы «имя-значение»

Укажите необязательные пары аргументов в формате Name=Value, где Name — имя аргумента, а Value — соответствующее значение. Аргументы типа «имя-значение» должны располагаться после других аргументов, но порядок пар не имеет значения.

Пример: pattern(ULA_Array, fc, CoordinateSystem = "polar") строит диаграмму направленности в полярной системе координат.

# CoordinateSystem — система координат
"polar" (по умолчанию) | "rectangular"

Details

Система координат для построения диаграммы направленности, заданная как "polar" или "rectangular". Если CoordinateSystem имеет значение "polar" или "rectangular", аргументы AZ и EL задают азимутальный угол и угол места соответственно. Значения AZ должны лежать в диапазоне от −180° до 180°. Значения EL должны лежать в диапазоне от −90° до 90°.

Типы данных

String

# Type — отображаемый тип диаграммы направленности
"directivity" (по умолчанию) | "efield" | "power" | "powerdb"

Details

Отображаемый тип диаграммы направленности, заданный одним из следующих значений:

  • "directivity" — КНД, измеряемый в дБи.

  • "efield" — диаграмма направленности датчика или антенной решетки. Для микрофонов отображается диаграмма направленности скалярного звукового поля.

  • "power" — диаграмма направленности мощности датчика или антенной решетки, определяемая как квадрат диаграммы направленности.

  • "powerdb" — диаграмма направленности мощности, преобразованная в дБ.

Типы данных

String

# Orientation — ориентация антенной решетки
[0,0,0] (по умолчанию) | вектор-столбец 3 на 1 вещественных значений

Details

Ориентация антенной решетки, заданная как вектор-столбец на вещественных значений, содержащий три угла поворота. Эти три угла определяют ортогональные повороты относительно осей , и локальной системы координат. Чтобы создать полную матрицу ориентации, ортогональные повороты применяются в таком порядке:

  1. Поворот относительно положительной оси на угол .

  2. Поворот относительно положительной оси на угол .

  3. Поворот относительно положительной оси на угол .

Положительные углы определяются по правилу правой руки. Положительный угол определяет поворот против часовой стрелки, если смотреть в положительном направлении оси, а отрицательный угол — поворот по часовой стрелке. Правило правой руки определяется следующим образом: если большой палец правой руки направить вдоль положительного направления оси, то остальные пальцы будут сгибаться в направлении положительного поворота.

# Normalize — отобразить нормализованную диаграмму направленности
true (по умолчанию) | false

Details

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

Зависимости

Этот аргумент нельзя использовать, если для Type установлено значение "directivity". Диаграмма направленности в этом случае уже нормализована.

Типы данных

Bool

# ShowLocalCoordinates — отобразить локальные координатные оси
true (по умолчанию) | false

Details

Опция отображения локальных координатных осей, заданная как логическое значение.

Типы данных

Bool

# ShowColorbar — отобразить цветовую панель
true (по умолчанию) | false

Details

Опция отображения цветовой панели, заданная как логическое значение.

Типы данных

Bool

# Polarization — тип поляризации
"combined" (по умолчанию) | "H" | "V"

Details

Тип поляризации, заданный одним из следующих значений:

  • "combined" — горизонтальная и вертикальная поляризации объединяются;

  • "H" — отображается только горизонтальная поляризация;

  • "V" — отображается только вертикальная поляризация.

Зависимости

Чтобы использовать этот аргумент, используйте для аргумента array фазированные антенные решетки, поддерживающие поляризацию, а затем установите для аргумента Type значение "efield", "power" или "powerdb".

Типы данных

String

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

Details

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

Типы данных

Float64

# Weights — весовые коэффициенты антенных решеток
1 (по умолчанию) | вектор-столбец N на 1 комплексных значений | матрица N на L комплексных значений

Details

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

Размерность Weights Размерность FREQ Назначение

Вектор-столбец на комплексных значений.

Скаляр или вектор-строка на .

Применяет весовые коэффициенты к одной частоте или ко всем частотам.

Матрица на комплексных значений.

Вектор-строка на .

Применяет каждый из столбцов Weights к соответствующей частоте в FREQ.

Используйте комплексные весовые коэффициенты, чтобы направить отклик антенной решетки в разные стороны. Вы можете создать веса с помощью системного объекта EngeePhased.SteeringVector или вычислить собственные весовые коэффициенты. Как правило, перед использованием весовых коэффициентов в любой функции или системном объекте библиотеки EngeePhased, таком как EngeePhased.Radiator или EngeePhased.Collector, применяется эрмитово сопряжение. Однако для функций directivity, pattern, patternAzimuth и patternElevation любого системного объекта антенной решетки используйте вектор управления без сопряжения.
Типы данных

Float64

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

Да

# ElementWeights — весовые коэффициенты элементов антенных подрешеток
ones() (по умолчанию) | матрица NSE на N

Details

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

Зависимости

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

Типы данных

Float64

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

Да

# out — тип выходных данных
:plot (по умолчанию) | :data

Details

Тип выходных данных:

  • :plot — функция возвращает график;

  • :data — функция возвращает данные.

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

# PAT — диаграмма направленности антенной решетки
матрица N на M вещественных значений

Details

Диаграмма направленности антенной решетки, возвращаемая в виде матрицы на вещественных значений. Диаграмма направленности является функцией азимутальных углов и углов места. Строки PAT соответствуют азимутальным углам в векторе AZ_ANG. Столбцы соответствуют углам места в векторе EL_ANG.

# AZ_ANG — азимутальные углы
скаляр | вектор-строка 1 на N вещественных значений

Details

Азимутальные углы для построения диаграммы направленности, возвращаемые в виде скаляра или вектора-строки на вещественных значений, соответствующей размерности, заданной в AZ. Столбцы PAT соответствуют значениям в AZ_ANG.

Единицы измерения углов — градусы.

# EL_ANG — углы места
скаляр | вектор-строка 1 на M вещественных значений

Details

Углы места для построения диаграммы направленности, возвращаемые в виде скаляра или вектора-строки на вещественных значений, соответствующей размерности, заданной в EL. Строки PAT соответствуют значениям в EL_ANG.

Единицы измерения углов — градусы.

Примеры

Построение диаграммы направленности антенной решетки

Details

Зададим основные параметры антенных элементов, в качестве элемента антенной решетки выберем изотропный элемент. Первой самой базовой геометрией антенной решетки является линейная эквидистантная антенна. Зададим данную геометрию с помощью системного объекта ULA.

using EngeePhased

fc = 300e6 # частота излучения антенны
c = 3e8 # скорость распространения сигнала
lambda = c/fc # длина волны
freq_rng = [50e6 1000e6] # частотный диапазон антенны

element = EngeePhased.IsotropicAntennaElement(
    FrequencyRange = freq_rng,
    BackBaffled=false
)

ULA_Array = EngeePhased.ULA(
    Element = element, # элемент антенной решетки
    NumElements = 10, # количество элементов
    ElementSpacing = lambda/2, # расстояние между элементами
    ArrayAxis = "z", # ориентация антенны
    Taper = 1 # весовой коэффициент
)
ULA:
    Element=IsotropicAntennaElement:
    FrequencyRange=[5.0e7 1.0e9]
    BackBaffled=false
    UseThreads=true
    NumElements=10
    ElementSpacing=0.5
    ArrayAxis=z
    Taper=1
    UseThreads=true

Построим диаграмму направленности.

pattern(ULA_Array,fc)

pattern 1

Рассмотрим вторую разновидность геометрии антенной решетки — прямоугольную. В отличие от предыдущей геометрии, антенная решетка имеет двумерную структуру. Зададим такую геометрию с помощью системного объекта URA и построим диаграмму направленности.

URA_Array = EngeePhased.URA(
    # задание антенного элемента
    Element = element,
    Size=[5 5], # размер решетки
    ElementSpacing=[0.5 0.5], # расстояние между элементами
    ArrayNormal = "z",# ориентация антенны
    Taper=1 # весовой коэффициент
)

fig_ura = pattern(URA_Array,fc)

pattern 2

Дополнительно

Коэффициент направленного действия

Details

Коэффициент направленного действия (КНД) характеризует, насколько направленным является излучение сенсорного элемента или решетки сенсорных элементов.

Более высокий КНД желателен, когда нужно передать больше излучения в определенном направлении. КНД — это отношение интенсивности излучения, передаваемого в определенном направлении, к интенсивности излучения, передаваемого изотропным излучателем с той же общей передаваемой мощностью:

где

  • — интенсивность излучения передатчика в направлении ;

  • — полная мощность, передаваемая изотропным излучателем.

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

Азимутальные углы и углы места

Details

Азимутальный угол вектора — это угол между осью и его ортогональной проекцией на плоскость . Угол положителен при повороте от оси к оси . Азимутальные углы лежат в диапазоне от −180° до 180° включительно. Угол места — это угол между вектором и его ортогональной проекцией на плоскость . Угол положителен, если он направлен к положительной оси от плоскости . Углы места лежат в диапазоне от −90° до 90° включительно.

pattern