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

EngeePhased.Radiator

Излучатель узкополосного сигнала.

Библиотека

EngeePhased

Описание

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

Излучатель преобразует сигналы в излучаемые волновые поля, передаваемые от антенных решеток и отдельных элементов датчиков, таких как антенны и микрофоны.

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

Системный объект излучает поля одним из двух способов, управляемых свойством CombineRadiatedSignals:

  • Если для свойства CombineRadiatedSignals установлено значение true, то излучаемое поле в указанном направлении представляет собой когерентную сумму задержанных излученных полей от всех антенных элементов (или антенных подрешеток, если поддерживаются подрешетки). Объект использует фазосдвиговую аппроксимацию временных задержек для узкополосных сигналов.

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

Вы можете использовать этот системный объект для:

  • Моделирования излучения электромагнитных сигналов в виде поляризованных или неполяризованных полей в зависимости от того, поддерживает ли элемент или антенная решетка поляризацию и каково значение свойства Polarization. Используя поляризацию, вы можете передавать сигнал в виде поляризованного электромагнитного поля или передавать два независимых сигнала, используя двойную поляризацию.

  • Моделирования излучения акустических полей, используя микрофоны, не поддерживающие поляризацию. Для этого необходимо установить для свойства Polarization значение "None", а для свойства PropagationSpeed значение, соответствующее среде.

  • Излучения поля из антенных подрешеток, созданных объектами EngeePhased.ReplicatedSubarray и EngeePhased.PartitionedArray. Вы можете управлять ориентацией всех подрешеток в одном направлении, используя аргумент угла сканирования STEERANG, или управлять каждой подрешеткой в своем направлении с помощью аргумента весовых коэффициентов элементов подрешетки WS. Излучатель распределяет мощность сигнала поровну между элементами каждой подрешетки. Для свойства CombineRadiatedSignals нельзя установить значение false для подрешеток.

Для излучения узкополосных сигналов выполните следующие действия:

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

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

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

Синтаксис

Создание

  • radiator = EngeePhased.Radiator() — создает излучатель узкополосного сигнала со значениями свойств по умолчанию.

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

    Пример:

    radiator = EngeePhased.Radiator(SpecifyPolarizationPattern=true,Polarization="Dual")

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

  • Y = radiator(X,ANG) — излучает поля Y, полученные от сигналов X, в направлениях, указанных в аргументе ANG.

  • Y = radiator(X,ANG,LAXES) — использует аргумент LAXES в качестве направления осей локальной системы координат. Чтобы использовать этот синтаксис, установите для свойства Polarization значение "Combined".

  • Y = radiator(XH,XV,ANG,LAXES) — использует компонент поля с горизонтальной поляризацией XH и компонент поля с вертикальной поляризацией XV. Чтобы использовать этот синтаксис, установите для свойства Polarization значение "Dual".

  • Y = radiator(___,W) — использует аргумент W в качестве весовых коэффициентов элементов антенной решетки или подрешетки. Чтобы использовать этот синтаксис, установите для свойства WeightsInputPort значение true.

  • Y = radiator(___,STEERANG) — использует аргумент STEERANG в качестве угла поворота подрешетки. Чтобы использовать этот синтаксис, установите для свойства Sensor значение решетки, которая поддерживает подрешетки, и установите для свойства SubarraySteering решетки значение "Phase" или "Time".

  • Y = radiator(___,WS) — использует аргумент WS в качестве весовых коэффициентов, применяемых к каждому элементу внутри каждой подрешетки. Чтобы использовать этот синтаксис, установите для свойства Sensor значение решетки, которая поддерживает подрешетки, и установите для свойства SubarraySteering решетки значение "Custom".

Аргументы

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

X — входной сигнал
комплексный вектор M на 1 | комплексная матрица M на N

Details

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

Размеры сигнала X
Размер Сигнал

Вектор на

Один и тот же сигнал излучается со всех элементов антенной решетки (или со всех подрешеток, если они поддерживаются).

Матрица на

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

Зависимости

Чтобы использовать этот аргумент, установите для свойства Polarization значение "None" или "Combined".

Типы данных

Float64

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

Да

ANG — направления излучения сигналов
вещественная матрица 2 на L

Details

Направления излучения сигналов, заданные как вещественная матрица на . Каждый столбец задает направление прихода в виде [AzimuthAngle;ElevationAngle].

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

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

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

Типы данных

Float64

LAXES — локальная система координат
вещественная ортогональная матрица 3 на 3

Details

Локальная система координат, заданная как вещественная ортогональная матрица на .

Столбцы матрицы определяют ортонормированные оси , и локальной системы координат относительно глобальной системы координат.

Зависимости

Чтобы использовать этот аргумент, установите для свойства Polarization значение "Combined" или "Dual".

Типы данных

Float64

XH — H-поляризованный излучаемый сигнал
комплексный вектор M на 1 | комплексная матрица M на N

Details

H-поляризованный излучаемый сигнал, заданный как комплексный вектор на или комплексная матрица на , где — это длина сигнала, а — количество элементов антенной решетки (или подрешеток, если они поддерживаются).

Размеры сигнала XH
Размер Сигнал

Вектор на

Один и тот же сигнал излучается со всех элементов антенной решетки (или со всех подрешеток, если они поддерживаются).

Матрица на

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

Размеры сигналов XH и XV должны быть одинаковыми.

Зависимости

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

Типы данных

Float64

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

Да

XV — V-поляризованный излучаемый сигнал
комплексный вектор M на 1 | комплексная матрица M на N

Details

V-поляризованный излучаемый сигнал, заданный как комплексный вектор на или комплексная матрица на . — это длина сигнала, а — количество элементов антенной решетки (или подрешеток, если они поддерживаются).

Размеры сигнала XV
Размер Сигнал

Вектор на

Один и тот же сигнал излучается со всех элементов антенной решетки (или со всех подрешеток, если они поддерживаются).

Матрица на

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

Размеры сигналов XH и XV должны быть одинаковыми.

Зависимости

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

Типы данных

Float64

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

Да

W — весовые коэффициенты элементов или подрешеток
вектор-столбец N на 1

Details

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

Зависимости

Чтобы использовать этот аргумент, установите для свойства WeightsInputPort значение true.

Типы данных

Float64

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

Да

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

Details

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

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

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

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

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

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

Зависимости

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

Типы данных

Float64

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

Да

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

Details

Угол поворота подрешетки, заданный как вектор-столбец длиной .

Вектор имеет вид [azimuthAngle;elevationAngle]. Азимутальный угол должен находиться в диапазоне от −180° до 180°, включительно. Угол места должен быть от −90° до 90°, включительно.

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

Зависимости

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

Типы данных

Float64

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

Y — излучаемые сигналы
комплексная матрица M на L | комплексный кортеж из L элементов

Details

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

Если для свойства Polarization установлено значение "None", то выходной аргумент Y будет матрицей на .

Если для свойства Polarization установлено значение "Combined" или "Dual", Y представляет собой кортеж из элементов. Каждый элемент соответствует отдельному излученному сигналу. Каждый кортеж содержит три вектора-столбца, содержащих компоненты , и поляризованных полей, определенных относительно глобальной системы координат.

Типы данных

Float64

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

Да

Свойства

# Sensor — антенная решетка
URA | системный объект антенной решетки

Details

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

Например:

using EngeePhased

ura = EngeePhased.URA()
radiator = EngeePhased.Radiator(Sensor=ura)
Radiator:
    Sensor=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
    OperatingFrequency=3.0e8
    Wavefront=Plane
    SensorGainMeasure=dB
    WeightsInputPort=false

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

Details

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

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

# OperatingFrequency — рабочая частота
3.0e8 (по умолчанию) | положительный скаляр

Details

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

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

# CombineRadiatedSignals — объединение излучаемых сигналов
true (по умолчанию) | false

Details

Объединение излучаемых сигналов, заданное как true или false.

Это свойство позволяет когерентно суммировать излучаемые сигналы от всех элементов антенной решетки для получения плоских волн.

Если для свойства CombineRadiatedSignals установлено значение false, каждый излучающий элемент имеет индивидуальный излучаемый сигнал. При этом каждый элемент может излучать в независимом направлении.

Если для свойства CombineRadiatedSignals установлено значение true, то излучаемое поле в заданном направлении является когерентной суммой задержанных излученных полей от всех элементов (или подрешеток, если они поддерживаются). Объект использует фазосдвиговую аппроксимацию временных задержек для узкополосных сигналов.

Зависимости

Если свойство Sensor представляет собой антенную решетку, содержащую подрешетки, то для свойства CombineRadiatedSignals нельзя установить значение false.

# SensorGainMeasure — коэффициент усиления антенной антенны
"dB" (по умолчанию) | "dBi"

Details

Коэффициент усиления антенны, заданный одним из следующих значений: "dB" или "dBi":

  • "dB" — мощность входного сигнала масштабируется по диаграмме мощности антенны (в дБ) в соответствующем направлении, а затем объединяется.

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

Зависимости

Чтобы использовать это свойство, установите для свойства CombineRadiatedSignals значение true.

# Polarization — конфигурация поляризации
None (по умолчанию) | "Combined" | "Dual"

Details

Конфигурация поляризации, заданная как "None", "Combined" или "Dual":

  • "None" — излучаемое поле считается скалярными.

  • "Combined" — излучаемые поля поляризованы и представляют собой один излученный сигнал, поляризация соответствует поляризации антенны.

  • "Dual" — компоненты поляризации и представляют собой независимые сигналы.

# WeightsInputPort — использование весовых коэффициентов
false (по умолчанию) | true

Details

Использование весовых коэффициентов, указывается как false или true.

Если для этого свойства установлено значение true, то для задания весовых коэффициентов используется входной аргумент W. Весовые коэффициенты применяются к отдельным элементам антенной решетки (или к подрешеткам, если они поддерживаются).

Методы

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

step!

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

release!

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

reset!

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

Примеры

Излучение от 5-элементной линейной антенной решетки

Details

Распространим и объединим излучение от пяти изотропных элементов антенны. Создадим равномерную линейную антенную решетку (ULA), состоящую из изотропных излучающих элементов.

using EngeePhased

array = EngeePhased.ULA(NumElements=5);
radiator = EngeePhased.Radiator(Sensor=array,OperatingFrequency=300e6,CombineRadiatedSignals=true);
x = [1;-1;1;-1;1;-1];
radiatingAngle = [30;10];
y = radiator(x,radiatingAngle)
6×1 Matrix{ComplexF64}:
 -0.9523402087708812 + 2.0816681711721685e-17im
  0.9523402087708812 - 2.0816681711721685e-17im
 -0.9523402087708812 + 2.0816681711721685e-17im
  0.9523402087708812 - 2.0816681711721685e-17im
 -0.9523402087708812 + 2.0816681711721685e-17im
  0.9523402087708812 - 2.0816681711721685e-17im

Литература

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