EngeePhased.Collector
|
Страница в процессе разработки. |
Сборщик узкополосных сигналов.
| Библиотека |
|
Описание
Системный объект EngeePhased.Collector моделирует сборщик узкополосных сигналов.
Сборщик преобразует падающие узкополосные волновые фронты, приходящие с заданных направлений, в сигналы для дальнейшей обработки. Волновые фронты падают на элементы антенны или микрофона, решетки антенных элементов или подрешетки. Объект собирает сигналы одним из двух способов, управляемых свойством Wavefront.
-
Если для свойства Wavefront установлено значение
"Plane", собранные сигналы на каждом элементе или подрешетке формируются как когерентная сумма всех падающих плоских волновых полей, дискретизированных в точках расположения соответствующих элементов или подрешеток решетки. -
Если для свойства Wavefront установлено значение
"Unspecified", собранные сигналы формируются на основе независимого поля, падающего на каждый отдельный элемент.
Вы можете использовать этот объект для:
-
Моделирования приходящих сигналов поляризованных или неполяризованных полей в зависимости от того, поддерживает ли элемент или антенная решетка поляризацию и каково значение свойства Polarization. Используя поляризацию, вы можете принимать сигнал как поляризованное электромагнитное поле или принимать два независимых сигнала, используя два ортогональных направления поляризации.
-
Моделирования приходящих акустических полей с использованием неполяризованных микрофонов. Для этого необходимо установить для свойства Polarization значение
"None", а для свойства PropagationSpeed значение, соответствующее среде. -
Собирания полей на подрешетках, созданных объектами EngeePhased.ReplicatedSubarray и EngeePhased.PartitionedArray. Вы можете направить все антенные подрешетки в одном направлении с помощью аргумента угла поворота STEERANG или направить каждую антенную подрешетку в другом направлении с помощью аргумента весовых коэффициентов антенных подрешеток WS. Для подрешеток нельзя устанавливать свойство Wavefront в значение
"Unspecified".
Чтобы собрать приходящие на элементы или решетки сигналы, выполните следующие действия:
-
Создайте объект EngeePhased.Collector и установите его свойства.
-
Вызовите объект с аргументами, как если бы это была функция.
Чтобы узнать подробнее о том, как работать с системными объектами, см. Системные объекты Engee.
Синтаксис
Создание
-
collector = EngeePhased.Collector()— создает сборщик узкополосных сигналов со значениями свойств по умолчанию. -
collector = EngeePhased.Collector(Name=Value)— создает сборщик узкополосных сигналов с заданными свойствами в виде парыName=Value, гдеName— имя свойства, аValue— соответствующее значение. Можно указать несколько пар «имя-значение», порядок пар не имеет значения. Неуказанные свойства сохраняют свои значения по умолчанию.Пример:
collector = EngeePhased.Collector(Wavefront="Unspecified", OperatingFrequency=400)
Использование
-
Y = collector(X,ANG)— собирает сигналы X, поступающие с направлений, указанных в аргументе ANG. Выходной сигнал Y содержит собранные сигналы. -
Y = collector(X,ANG,LAXES)— использует аргумент LAXES в качестве направления осей локальной системы координат. Чтобы использовать этот синтаксис, установите для свойства Polarization значение"Combined". -
YH,YV = collector(X,ANG,LAXES)— возвращает компонент поля с горизонтальной поляризацией YH, и компонент поля с вертикальной поляризацией YV. Чтобы использовать этот синтаксис, установите для свойства Polarization значение"Dual". -
___ = collector(___,W)— использует аргумент W в качестве весовых коэффициентов элементов антенной решетки или подрешетки. Чтобы использовать этот синтаксис, установите для свойства WeightsInputPort значениеtrue. -
___ = collector(___,STEERANG)— использует аргумент STEERANG в качестве угла поворота подрешетки. Чтобы использовать этот синтаксис, установите для свойства Sensor значение решетки, которая поддерживает подрешетки, и установите для свойства SubarraySteering решетки значение"Phase"или"Time". -
___ = collector(___,WS)— использует аргумент WS в качестве весовых коэффициентов, применяемых к каждому элементу внутри каждой подрешетки. ЧЧтобы использовать этот синтаксис, установите для свойства Sensor значение решетки, которая поддерживает подрешетки, и установите для свойства SubarraySteering решетки значение"Custom".
Аргументы
Входные аргументы
X — входной сигнал
комплексная матрица M на L | комплексный кортеж длиной L
Details
Входные сигналы, заданные как комплексная матрица на или комплексный кортеж длинной , где — это количество отсчетов сигнала, а — количество углов падения. Этот аргумент представляет приходящие поля.
-
Если для свойства Polarization установлено значение
"None", X — это матрица на . -
Если для свойства Polarization установлено значение
"Combined"или"Dual", X — это кортеж из элементов. Каждый элемент соответствует отдельному падающему сигналу. Каждый кортеж содержит три вектора-столбца, содержащих компоненты , и поляризованных полей, определенных относительно глобальной системы координат.
Зависимости
Чтобы использовать этот аргумент, установите для свойства Polarization значение "None" или "Combined".
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
ANG — направления прихода сигналов
вещественная матрица 2 на L
Details
Направления прихода сигналов, заданные как вещественная матрица на . Каждый столбец задает направление прихода в виде [AzimuthAngle;ElevationAngle].
Азимутальный угол должен лежать между −180° и 180°, включительно. Угол места должен лежать в диапазоне от −90° до 90°, включительно.
Единицы измерения — градусы.
| Типы данных |
|
LAXES — локальная система координат
вещественная ортогональная матрица 3 на 3
Details
Локальная система координат, заданная как вещественная ортогональная матрица на .
Столбцы матрицы определяют ортонормированные оси , и локальной системы координат относительно глобальной системы координат.
Зависимости
Чтобы использовать этот аргумент, установите для свойства Polarization значение "Combined" или "Dual".
| Типы данных |
|
W — весовые коэффициенты элементов или подрешеток
вектор-столбец N на 1
Details
Весовые коэффициенты элементов или подрешеток, заданные как комплексный вектор-столбец на , где — количество элементов антенных решеток (или подрешеток, если они поддерживаются).
Зависимости
Чтобы использовать этот аргумент, установите для свойства WeightsInputPort значение true.
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
WS — весовые коэффициенты элементов антенных подрешеток
комплексная матрица NSE на N | массив ячеек 1 на N
Details
Весовые коэффициенты элементов антенных подрешеток, заданные как комплексная матрица на или кортеж из элементов, где — количество подрешеток. Эти весовые коэффициенты применяются к отдельным элементам внутри подрешетки.
| Подрешетка | Весовые коэффициенты подрешетки |
|---|---|
Все подрешетки имеют одинаковые размеры. Тогда весовые коэффициенты подрешеток образуют матрицу на , где — это количество элементов в каждой подрешетке, а — количество подрешеток. Каждый столбец WS определяет весовые коэффициенты для соответствующей подрешетки. |
|
Подрешетки могут не иметь одинаковых размеров. В этом случае можно задать весовые коэффициенты подрешеток в виде:
|
Зависимости
Чтобы использовать этот аргумент, установите для свойства Sensor значение антенной решетки, содержащей подрешетки, и установите для свойства SubarraySteering решетки значение "Custom".
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
STEERANG — угол поворота подрешетки
вещественный вектор 2 на 1
Details
Угол поворота подрешетки, заданный как вектор-столбец длиной .
Вектор имеет вид [azimuthAngle;elevationAngle]. Азимутальный угол должен находиться в диапазоне от −180° до 180°, включительно. Угол места должен быть от −90° до 90°, включительно.
Единицы измерения — градусы.
Зависимости
Чтобы использовать этот аргумент, установите для свойства Sensor значение решетки, поддерживающей подрешетки, и установите для свойства SubarraySteering решетки значение "Phase" или "Time".
| Типы данных |
|
Выходные аргументы
Y — собранный сигнал
комплексная матрица M на N
Details
Собранный сигнал, возвращаемый как комплексная матрица на , где — количество элементов решетки (или подрешеток, если они поддерживаются). Каждый столбец соответствует сигналу, собранному соответствующим элементом решетки (или соответствующими подрешетками, если они поддерживаются).
Зависимости
Чтобы использовать этот аргумент, установите для свойства Polarization значение "None" или "Combined".
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
YH — собранный сигнал горизонтальной H-поляризации
комплексная матрица M на N
Details
Собранный сигнал горизонтальной H-поляризации, возвращаемый как комплексная матрица на , где — длина входного сигнала, — количество элементов решетки (или подрешеток, если они поддерживаются). Каждый столбец соответствует сигналу, собранному соответствующим элементом решетки (или соответствующими подрешетками, если они поддерживаются).
Зависимости
Чтобы использовать этот аргумент, установите для свойства Polarization значение "Dual".
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
YV — собранный сигнал вертикальной V-поляризации
комплексная матрица M на N
Details
Собранный сигнал вертикальной V-поляризации, возвращаемый как комплексная матрица на , где — длина входного сигнала, — количество элементов решетки (или подрешетки, если они поддерживаются). Каждый столбец соответствует сигналу, собранному соответствующим элементом решетки (или подрешетки, если они поддерживаются).
Зависимости
Чтобы использовать этот аргумент, установите для свойства Polarization значение "Dual".
| Типы данных |
|
| Поддержка комплексных чисел |
Да |
Свойства
#
Sensor — антенная решетка
URA | системный объект антенной решетки
Details
Объект антенной решетки, антенны из подрешеток или элемент антенной решетки. Антенная решетка может содержать подрешетки.
Например:
using EngeePhased
ura = EngeePhased.URA()
detector = EngeePhased.Collector(Sensor=ura)
Collector:
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
Рабочая частота, заданная как положительный скаляр.
Единицы измерения — Гц.
#
Wavefront — тип входящего волнового фронта
"Plane" (по умолчанию) | "Unspecified"
Details
Тип входящего волнового фронта, задается как "Plane" или "Unspecified":
-
"Plane"— входные сигналы представляют собой несколько плоских волн, падающих на всю решетку. Каждая плоская волна принимается всеми собирающими элементами. -
"Unspecified"— собранные сигналы представляют собой независимые поля, падающие на отдельные элементы решетки. Если свойство Sensor представляет собой антенную решетку, содержащую подрешетки, нельзя задать свойству Wavefront значение"Unspecified".
#
SensorGainMeasure — коэффициент усиления антенной антенны
"dB" (по умолчанию) | "dBi"
Details
Коэффициент усиления антенны, заданный одним из следующих значений: "dB" или "dBi":
-
"dB"— мощность входного сигнала масштабируется по диаграмме мощности антенны (в дБ) в соответствующем направлении, а затем объединяется. -
"dBi"— мощность входного сигнала масштабируется по диаграмме направленности (в дБи) в соответствующем направлении, а затем объединяется. Эта опция полезна, когда вы хотите сравнить результаты со значениями, предсказанными основным уравнением радиолокации, в котором для определения коэффициента усиления антенны используются дБи. Вычисления с использованием опции"dBi"являются трудоемкими, так как для вычисления общей излучаемой мощности антенны требуется интегрирование по всем направлениям.
Зависимости
Чтобы использовать это свойство, установите для свойства Wavefront значение "Plane".
#
Polarization — конфигурация поляризации
None (по умолчанию) | "Combined" | "Dual"
Details
Конфигурация поляризации, заданная как "None", "Combined" или "Dual":
-
"None"— падающие поля считаются скалярными. -
"Combined"— падающие поля поляризованы и представляют собой один приходящий сигнал, поляризация соответствует поляризации антенны. -
"Dual"— компоненты поляризации и представляют собой независимые сигналы.
#
WeightsInputPort — использование весовых коэффициентов
false (по умолчанию) | true
Details
Использование весовых коэффициентов, заданное как false или true.
Если для этого свойства установлено значение true, то для задания весовых коэффициентов используется входной аргумент W. Весовые коэффициенты применяются к отдельным элементам антенной решетки (или к подрешеткам, если они поддерживаются).
Примеры
Прием сигнала на равномерной линейной антенной решетке
Details
Используем объект сборщика сигналов для приема сигналов в дальней зоне, поступающих на трехэлементную равномерную линейную антенную решетку (ULA), состоящую из изотропных излучающих элементов.
using EngeePhased
antenna = EngeePhased.ULA(NumElements=3);
collector = EngeePhased.Collector(Sensor=antenna, OperatingFrequency=1e9);
x = [1;0;-1];
incidentAngle = [10 30]';
y = collector(x,incidentAngle)
3×3 Matrix{ComplexF64}:
-0.00510864-0.999987im 1.0+0.0im -0.00510864+0.999987im
0.0+0.0im 0.0+0.0im 0.0+0.0im
0.00510864+0.999987im -1.0+0.0im 0.00510864-0.999987im