Skip to content

Antenna Base Class

David Young edited this page Apr 30, 2025 · 1 revision

Description

This abstract base class (Antenna) defines the common interface and stores fundamental properties for all antenna models used within FERS. It establishes the core methods that specific antenna implementations must provide, namely getGain (to determine directional gain) and getNoiseTemperature (intended for antenna noise contribution). It also stores a common efficiency factor (_loss_factor) that can be applied to the gain calculations. A helper function (getAngle) is provided for calculating a scalar angle between vectors, used by some derived models.

Assumptions

  • Assumes antenna gain is the primary characteristic required from derived classes for simulation calculations.
  • Assumes antenna efficiency can be represented as a single, constant multiplicative factor (_loss_factor).
  • Assumes the provided getAngle helper function correctly calculates the scalar angle required by certain derived antenna models.

Limitations

  • Unimplemented Noise Temperature: The getNoiseTemperature method is defined in the interface but the base implementation returns 0 with a "TODO" comment, and no known derived classes currently provide a meaningful implementation. Therefore, antenna noise temperature is not effectively modeled.
  • Inconsistent Angle Calculation Method: The base class provides a getAngle helper returning a scalar angle, which is used by some older/simpler derived models (e.g., Sinc, Square Horn, Parabolic). However, other derived models (e.g., Gaussian, XML File, Generic File, Python) calculate gain based on vector differences relative to the antenna's pointing direction, indicating an inconsistent approach to angle handling across different antenna types.

Related Components

Validation Status

  • Needs Verification: Primarily focuses on the interface contract and utility function correctness rather than direct simulation output validation.
  • Key Areas for Validation:
    • Confirm all derived antenna classes correctly override and implement the getGain virtual function.
    • Verify the mathematical correctness of the getAngle helper function.
    • Assess the impact and consistency of how the _loss_factor (set via setEfficiencyFactor) is applied (or not applied, e.g., potentially in the Gaussian model) across different derived getGain implementations.
    • Confirm the getNoiseTemperature function indeed has no effect in current simulations.
  • Priority: Medium (Issues in the base class or its utilities can affect multiple derived antenna models).

Clone this wiki locally