EngeePhased.Collector
|
Page in progress. |
A narrowband signal collector.
| Library |
|
Description
System object EngeePhased.Collector simulates a narrowband signal collector.
The collector converts the incident narrow-band wavefronts coming from the specified directions into signals for further processing. Wavefronts fall on antenna or microphone elements, antenna element arrays, or sublattices. The object collects signals in one of two ways, controlled by the Wavefront.
-
If for a property Wavefront value set
"Plane"The collected signals on each element or sublattice are formed as a coherent sum of all incident plane wave fields sampled at the locations of the corresponding elements or sublattices of the lattice. -
If for a property Wavefront value set
"Unspecified"The collected signals are generated based on an independent field incident on each individual element.
You can use this object to:
-
Modeling of incoming signals of polarized or unpolarized fields, depending on whether the element or antenna array supports polarization and what is the value of the property Polarization. Using polarization, you can receive a signal as a polarized electromagnetic field or receive two independent signals using two orthogonal directions of polarization.
-
Simulation of incoming acoustic fields using unpolarized microphones. To do this, set the value Polarization to
"None", and for the property PropagationSpeed the value corresponding to the environment. -
Collecting fields on sublattices created by objects EngeePhased.ReplicatedSubarray and EngeePhased.PartitionedArray. You can point all antenna sublattices in one direction using the STEERANG rotation angle argument, or point each antenna sublattice in a different direction using the WS antenna sublattice weighting argument. The [Property property cannot be set for sublattices.:Wavefront] in value
"Unspecified".
To collect the signals coming to the elements or grids, follow these steps:
-
Create an object EngeePhased.Collector and set its properties.
-
Call the object with arguments as if it were a function.
To learn more about how to work with system objects, see Engee System Objects.
Syntax
Creation
-
collector = EngeePhased.Collector()— creates a narrowband signal collector with default property values. -
collector = EngeePhased.Collector(Name=Value)— creates a narrowband signal collector with specified properties in the form of a pairName=Value, whereName— the name of the property, andValue— the appropriate value. You can specify multiple pairs «name-value» the order of the pairs does not matter. Unspecified properties retain their default values.Example:
collector = EngeePhased.Collector(Wavefront="Unspecified", OperatingFrequency=400)
Using
-
Y = collector(X,ANG)— collects X signals coming from the directions specified in the ANG argument. The output signal Y contains the collected signals. -
Y = collector(X,ANG,LAXES)— uses the LAXES argument as the direction of the axes of the local coordinate system. To use this syntax, set the Polarization property to"Combined". -
YH,YV = collector(X,ANG,LAXES)— returns the component of the field with horizontal polarization YH, and the component of the field with vertical polarization YV. To use this syntax, set the Polarization property to"Dual". -
___ = collector(___,W)— uses the W argument as the weighting coefficients of the antenna array or sublattice elements. To use this syntax, set the WeightsInputPort valuetrue. -
___ = collector(___,STEERANG)— uses the STEERANG argument as the angle of rotation of the sublattice. To use this syntax, set the Sensor the value of the grid that supports sublattices, and set the SubarraySteering grid property to"Phase"or"Time". -
___ = collector(___,WS)— uses the WS argument as the weights applied to each element inside each sublattice. To use this syntax, set the Sensor the value of the grid that supports sublattices, and set the SubarraySteering grid property to"Custom".
Arguments
Input arguments
X — input signal
+
the complex matrix M on L | a complex tuple of length L
Details
Input signals defined as a complex matrix on or a complex tuple of long , where — this is the number of samples of the signal, and — the number of angles of incidence. This argument represents incoming fields.
-
If the property Polarization is set to
"None", X is a matrix on . -
If the property Polarization is set to
"Combined"or"Dual", X is a tuple of elements. Each element corresponds to a separate incident signal. Each tuple contains three column vectors containing the components , and polarized fields defined relative to the global coordinate system.
Dependencies
To use this argument, set the Polarization property to "None" or "Combined".
| Типы данных |
|
| Support for complex numbers |
Yes |
ANG — directions of arrival of the signals
+
the real matrix 2 on L
Details
The directions of arrival of the signals, given as a real matrix on . Each column specifies the direction of arrival in the form [AzimuthAngle;ElevationAngle].
The azimuthal angle should lie between −180° and 180°, inclusive. The angle of the seat should be in the range of −90° before 90°, inclusive.
The units of measurement are degrees.
| Типы данных |
|
LAXES — local coordinate system
+
a real 3-by-3 orthogonal matrix
Details
A local coordinate system defined as a real orthogonal matrix on .
The columns of the matrix define the orthonormal axes , and the local coordinate system is relative to the global coordinate system.
Dependencies
To use this argument, set the Polarization property to "Combined" or "Dual".
| Типы данных |
|
W — weight coefficients of elements or sublattices
+
column vector N by 1
Details
Weighting coefficients of elements or sublattices specified as a complex column vector on , where — the number of antenna array elements (or sublattices, if supported).
Dependencies
To use this argument, set the property to WeightsInputPort value true.
| Типы данных |
|
| Support for complex numbers |
Yes |
WS — weight coefficients of antenna sublattices elements
+
the complex matrix NSE on N | array of cells 1 by N
Details
The weighting coefficients of the antenna sublattices elements, set as a complex matrix on or a tuple of elements where — the number of sublattices. These weights are applied to the individual elements within the sublattice.
| Sublattice | Sublattice weights |
|---|---|
All sublattices have the same dimensions. Then the weights of the sublattices form a matrix on , where is the number of elements in each sublattice, and — the number of sublattices. Each WS column defines the weights for the corresponding sublattice. |
|
The sublattices may not have the same size. In this case, you can set the weights of the sublattices as:
|
Dependencies
To use this argument, set the property to Sensor the value of the antenna array containing the sublattices, and set the SubarraySteering property of the array to "Custom".
| Типы данных |
|
| Support for complex numbers |
Yes |
STEERANG — angle of rotation of the sublattice
+
the real vector is 2 by 1
Details
The angle of rotation of the sublattice, set as a column vector of length .
The vector has the form [azimuthAngle;elevationAngle]. The azimuth angle should be in the range of −180° before 180°, inclusive. The angle of the seat should be from −90° before 90°, inclusive.
The units of measurement are degrees.
Dependencies
To use this argument, set the property to Sensor the value of the grid supporting the sublattices, and set the SubarraySteering grid property to "Phase" or "Time".
| Типы данных |
|
Output arguments
Y — collected signal
+
the complex matrix M by N
Details
The collected signal returned as a complex matrix on , where — the number of grid elements (or sublattices, if supported). Each column corresponds to the signal collected by the corresponding grid element (or the corresponding sublattices, if they are supported).
Dependencies
To use this argument, set the Polarization property to "None" or "Combined".
| Типы данных |
|
| Support for complex numbers |
Yes |
YH is the collected horizontal H-polarization signal
+
the complex matrix M by N
Details
The collected horizontal H-polarization signal returned as a complex matrix on , where — the length of the input signal, — the number of grid elements (or sublattices, if supported). Each column corresponds to the signal collected by the corresponding grid element (or the corresponding sublattices, if they are supported).
Dependencies
To use this argument, set the Polarization property to "Dual".
| Типы данных |
|
| Support for complex numbers |
Yes |
YV — collected vertical V-polarization signal
+
the complex matrix M by N
Details
The collected vertical V-polarization signal returned as a complex matrix on , where — the length of the input signal, — the number of grid elements (or sublattices, if they are supported). Each column corresponds to the signal collected by the corresponding element of the lattice (or sublattices, if they are supported).
Dependencies
To use this argument, set the Polarization property to "Dual".
| Типы данных |
|
| Support for complex numbers |
Yes |
Features
# Sensor — antenna array
+
URA | antenna array system object
Details
Antenna array object, sublattice antennas, or antenna array element. The antenna array may contain sublattices.
For example:
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 — signal propagation speed
+
299792458 (by default) | positive scalar
Details
The propagation velocity of the signal, set as a positive scalar. The default value is the speed of light. 299792458.
The units of measurement are m/s.
# OperatingFrequency — operating frequency
+
3.0e8 (default) | positive scalar
Details
The operating frequency, set as a positive scalar.
The units of measurement are Hz.
# Wavefront — type of incoming wavefront
+
"Plane" (by default) | "Unspecified"
Details
The type of incoming wavefront is set as "Plane" or "Unspecified":
-
"Plane"— The input signals are several plane waves incident on the entire grid. Each plane wave is received by all collecting elements. -
"Unspecified"— the collected signals are independent fields incident on individual grid elements. If the property is Sensor is an antenna array containing sublattices, the Wavefront property cannot be set to"Unspecified".
# Sensorgainmasure — Antenna gain
+
"dB" (by default) | "dBi"
Details
Antenna gain, set to one of the following values: "dB" or "dBi":
-
"dB"— The input signal power is scaled according to the antenna power diagram (in dB) in the appropriate direction, and then combined. -
"dBi"— The input signal power is scaled according to the radiation pattern (in dBi) in the appropriate direction, and then combined. This option is useful when you want to compare the results with the values predicted by the basic radar equation, which uses dBi to determine the antenna gain. Calculations using the option"dBi"They are time-consuming, since integration in all directions is required to calculate the total radiated antenna power.
Dependencies
To use this property, set the Wavefront value "Plane".
# Polarization — polarization configuration
+
None (by default) | "Combined" | "Dual"
Details
The polarization configuration, defined as "None", "Combined" or "Dual":
-
"None"— falling fields are considered scalar. -
"Combined"— the incident fields are polarized and represent one incoming signal, the polarization corresponds to the polarization of the antenna. -
"Dual"— components of polarization and They are independent signals.
# WeightsInputPort — using weights
+
false (by default) | true
Details
Using the weighting factors, set as false or true.
If this property is set to true, then the input argument W is used to set the weighting coefficients. The weights are applied to the individual elements of the antenna array (or to the sublattices, if they are supported).
Examples
Signal reception on a uniform linear antenna array
Details
We use a signal collector object to receive signals in the far zone coming to a three-element uniform linear antenna array (ULA) consisting of isotropic radiating elements.
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