Antennas
The Antenna (EK_ANTENNA) models an RF antenna or optical aperture.
Entity-Relationship Graph Expectations
There should be an RK_CONTAINS relationship from the Platform to which the antenna is attached:
Platform --RK_CONTAINS--> AntennaThere may also be an RK_CONTROLS relationship from an SdnAgent to indicate which agent is responsible for steering the antenna:
SdnAgent --RK_CONTROLS--> AntennaEIRP
The maximum effective isotropic radiated power (EIRP) in the direction of a link is constrained by the following factors, each of which is considered when present:
- The gain in the link direction based on the antenna pattern (defined in
Antenna.antenna_pattern) plus the per-carrier maximum transmit power (defined inCarrierConfiguration.TransmitCarrier.max_power_w) in dBW - Maximum EIRP (defined in
EirpLimits.maximum_eirp_dbw) - Maximum EIRP spectral density (defined in
EirpLimits.eirpsd_masks) - The PFD target of the link (defined in
EmissionsTarget)
The following table describes how the maximum EIRP of a link is calculated depending on which fields are present:
| EIRP limits | Antenna Pattern | Per-carrier max transmit power | EIRP Calculation |
|---|---|---|---|
| Yes | Yes | Yes | The antenna pattern and per-carrier maximum transmit power, as well as EirpLimits, constrain the EIRP |
| Yes | Yes | No | EIRP is constrained by the limits in EirpLimits |
| Yes | No | Yes | EIRP is constrained by the limits in EirpLimits |
| Yes | No | No | EIRP is constrained by the limits in EirpLimits |
| No | Yes | Yes | EIRP is constrained by the gain in the link direction and the per-carrier maximum transmit power |
| No | Yes | No | Insufficient information; antenna will not be used to transmit |
| No | No | Yes | Insufficient information; antenna will not be used to transmit |
| No | No | No | Insufficient information; antenna will not be used to transmit |
Note: For multi-beam phased array antennas, the maximum EIRP in (EirpLimits.maximum_eirp_dbw) should be interpreted as the maximum EIRP of any beam.
Azimuth-Elevation Masks
An AzimuthElevationMask describes the profile of the horizon as seen from a ground antenna. It models terrain, buildings, or other obstructions that block wireless links in certain directions.
Azimuth-elevation masks are only applicable to antennas on stationary platforms, such as platforms whose motions are described as GeodeticWgs84, GeodeticMsl, or PointAxes.
Overview
The azimuth angle (azimuth_deg) is measured in degrees clockwise from North (0°) toward East (90°).
The elevation angle is measured from the local horizontal plane. Positive values are above the horizon, where 90° is directly up. Setting the obscured elevation to 90° implies that links along that azimuth are always blocked. Negative values are below the horizon, which is useful for antennas on an elevated point (e.g., a tower or hilltop) where the horizon is below the local horizontal plane.
The obscured elevation (maximum_obscured_elevation_deg) is the maximum elevation angle blocked by an obstruction at a given azimuth.
The minimum separation (minimum_azimuth_elevation_mask_separation_deg) defines the required margin between a link’s elevation and the mask’s obscured elevation. A link is considered obstructed when:
link_elevation <= mask_elevation + minimum_azimuth_elevation_mask_separation_deg
For example, with a mask elevation of 10° and a minimum separation of 2°, a link must have an elevation greater than 12° to be considered accessible.
Mask Structure
At each azimuth angle in the mask, an AzimuthElevationMaskElement is used to describe the obscured elevation. For azimuth angles between defined elements, the obscured elevation is computed by linearly interpolating between the two surrounding elements. The azimuth wraps at 360°, so entries approaching 360° interpolate to entries near 0°.
For example, given elements at:
- Azimuth of 0° with obscured elevation of 5°
- Azimuth of 90° with obscured elevation of 15°
- Azimuth of 180° with obscured elevation of 25°
The obscured elevations are:
- Azimuth of 0°: 5°
- Azimuth of 45°: 10° (linearly interpolated between obscured elevations of 5° and 15°)
- Azimuth of 90°: 15°
- Azimuth of 270°: 15° (linearly interpolated between obscured elevations of 25° and 5°, corresponding to azimuths of 180° to 0°)
If needed, each AzimuthElevationMaskElement can also contain a list of ElevationRiseElements in order to define a profile in which the obscured elevation varies with distance from the antenna.Specifically, these elements describe how the obscured elevation angle changes as a function of the distance from the antenna. If no elevation_rise_elements are defined, the maximum_obscured_elevation_deg applies at all distances.
Each ElevationRiseElement defines the obscured elevation for distances greater than distance_m up to and including the next element’s distance. In other words, for distances between defined elements, the obscured elevation is computed by a step function, not linear interpolation. The values of obscured_elevation_deg at successive distances is expected to be monotonically increasing. For example, given a AzimuthElevationMaskElement with a maximum_obscured_elevation_deg of 30° and ElevationRiseElements of:
- Distance of 0m with obscured elevation of 5°
- Distance of 100m with obscured elevation of 20°
- Distance of 200m with obscured elevation of 30°
The obscured elevations are:
- Interval between (0m, 100m]: 5°
- Interval between (100m, 200m]: 20°
- Beyond 200m: 30° (
maximum_obscured_elevation_deg)
Note that each interval is left-exclusive, right-inclusive. The last element’s distance_m defines where the previous interval ends, and its obscured_elevation_deg should match maximum_obscured_elevation_deg. By default, at a distance of exactly 0m (at the antenna), no obstruction is considered to exist.
Example 1: Uniform Horizon
Suppose a tree line surrounds the antenna and blocks links up to 5° elevation in all directions. A corresponding azimuth-elevation mask could be modeled as:
azimuth_elevation_mask {
azimuth_elevation_mask_elements {
azimuth_deg: 0
maximum_obscured_elevation_deg: 5
}
azimuth_elevation_mask_elements {
azimuth_deg: 360
maximum_obscured_elevation_deg: 5
}
minimum_azimuth_elevation_mask_separation_deg: 1
}Note: Both 0° and 360° entries are required to define full azimuth coverage. They represent boundary points and are not considered duplicates.
Due to the minimum_azimuth_elevation_mask_separation_deg (1°) and obstructed elevation (5°), links with an elevation at or below 6° are considered to be obstructed.
Example 2: An obstruction in one direction
Suppose there is a hill to the north of the antenna. From the antenna’s perspective, the top of the hill is at an elevation of 20°. The hill’s total width spans from an azimuth angle of 325° to 33°. Either side of the hill slopes down to the horizon over 3°, which we can consider to be from azimuth angles of 325° to 328° and from 30° to 33°. Apart from this hill, there is a tree line at an elevation of 5° above the horizon. A corresponding azimuth-elevation mask could be modeled as:
azimuth_elevation_mask {
azimuth_elevation_mask_elements {
azimuth_deg: 30
maximum_obscured_elevation_deg: 20
}
azimuth_elevation_mask_elements {
azimuth_deg: 33
maximum_obscured_elevation_deg: 5
}
azimuth_elevation_mask_elements {
azimuth_deg: 325
maximum_obscured_elevation_deg: 5
}
azimuth_elevation_mask_elements {
azimuth_deg: 328
maximum_obscured_elevation_deg: 20
}
minimum_azimuth_elevation_mask_separation_deg: 1
}The obstructed elevation angles are:
- Azimuth 30° to 33°: Linear interpolation from 20° to 5°
- Azimuth 33° to 325°: 5° obstruction (due to the tree line)
- Azimuth 325° to 328°: Linear interpolation from 5° to 20°
- Azimuth 328° to 30°: 20° obstruction (due to the hill)
Due to the minimum_azimuth_elevation_mask_separation_deg, links at or below 1° plus the obstructed elevation at the azimuth of the link are considered to be obstructed.
Example 3: Multiple obstructions along an azimuth
Suppose there are multiple obstructions to the east of the antenna at increasing distances. There is a fence 20m away that peaks at an elevation of 5° from the antenna’s perspective. Beyond the fence, there is a building 100m away that peaks at an elevation of 15° from the antenna’s perspective. There is a hill 500m away whose top is at an elevation of 25° from the antenna’s perspective. In all other directions, there is a tree line at 5° elevation. A corresponding azimuth-elevation mask could be modeled as:
azimuth_elevation_mask {
azimuth_elevation_mask_elements {
azimuth_deg: 0
maximum_obscured_elevation_deg: 5
}
azimuth_elevation_mask_elements {
azimuth_deg: 89
maximum_obscured_elevation_deg: 5
}
azimuth_elevation_mask_elements {
# 90° is the local East direction.
azimuth_deg: 90
maximum_obscured_elevation_deg: 25
# Models the fence.
elevation_rise_elements {
distance_m: 20
obscured_elevation_deg: 5
}
# Models the building.
elevation_rise_elements {
distance_m: 100
obscured_elevation_deg: 15
}
# Models the hill.
elevation_rise_elements {
distance_m: 500
obscured_elevation_deg: 25
}
}
azimuth_elevation_mask_elements {
azimuth_deg: 91
maximum_obscured_elevation_deg: 5
}
azimuth_elevation_mask_elements {
azimuth_deg: 360
maximum_obscured_elevation_deg: 5
}
minimum_azimuth_elevation_mask_separation_deg: 1
}The obstructed elevation angles are:
- Azimuth 0° to 89°: 5° obstruction (due to the tree line)
- Azimuth 89° to 90°: Linear interpolation from 5° to 25°
- Azimuth 90° to 91°: Linear interpolation from 25° to 5°
- Azimuth 91° to 360°: 5° obstruction (due to the tree line)
At azimuth 90° (east), the obstruction varies with distance using step-function interpolation:
- Distance (0m, 20m]: no obstruction
- Distance (20m, 100m]: 5° obstruction (due to the fence)
- Distance (100m, 500m]: 15° obstruction (due to the building)
- Distance >500m: 25° obstruction (due to the hill)
Due to the minimum_azimuth_elevation_mask_separation_deg, links at or below 1° plus the obstructed elevation at the azimuth of the link are considered to be obstructed.