forked from stpaine/FERS
-
Notifications
You must be signed in to change notification settings - Fork 1
Antenna Base Class
David Young edited this page Apr 30, 2025
·
1 revision
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.
- 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
getAnglehelper function correctly calculates the scalar angle required by certain derived antenna models.
-
Unimplemented Noise Temperature: The
getNoiseTemperaturemethod 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
getAnglehelper 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.
- All derived concrete antenna classes (e.g., Isotropic Antenna, Sinc Pattern Antenna, Gaussian Pattern Antenna, XML File Antenna Pattern, etc.)
-
AntennaFactory(Responsible for creating antenna instances) -
Radarclass (and derivedTransmitter,Receiver) which holds an instance of anAntenna. - XML Parsing logic for
<antenna>elements.
- 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
getGainvirtual function. - Verify the mathematical correctness of the
getAnglehelper function. - Assess the impact and consistency of how the
_loss_factor(set viasetEfficiencyFactor) is applied (or not applied, e.g., potentially in the Gaussian model) across different derivedgetGainimplementations. - Confirm the
getNoiseTemperaturefunction indeed has no effect in current simulations.
- Confirm all derived antenna classes correctly override and implement the
- Priority: Medium (Issues in the base class or its utilities can affect multiple derived antenna models).