Table of Contents

Class Antenna

Namespace
NominalSystems.Classes
Assembly
NominalSystems.Classes.dll

[Nominal] The antenna is able to handle a connection between two objects, which could be a combination of spacecraft and ground station. Antenna use data and can be connected to power sources. They implement telemetry interfaces and can communicate via packets.


public class Antenna : PhysicalObject
Inheritance
Antenna
Derived

Constructors

Antenna()

Default constructor

protected Antenna()

Fields

ElectromagneticModel

A reference to the electromagnetic model if it does exist which will be connected via the EM model if the Lookup table is invoked.

[Hidden]
public ElectromagneticModel? ElectromagneticModel

Field Value

ElectromagneticModel

[-] Stores the current links added by the data subsystem

[Hidden]
public List<LinkBlock> Links

Field Value

List<LinkBlock>

ModelType

Analysis type for the antenna dish

[Unit(UnitType.NONE)]
[ReadOnly]
[Metadata(IsAdvanced = true)]
public AnalysisModelType ModelType

Field Value

AnalysisModelType

Out_AntennaConfigMsg

The antenna configuration message that contains the data about the antenna.

public AntennaConfigMessage? Out_AntennaConfigMsg

Field Value

AntennaConfigMessage

Properties

AntennaGain

Antenna Gain of the transmission

[Unit(UnitType.DECIBEL)]
[Metadata(ContainedIn = "Out_AntennaConfigMsg")]
public double AntennaGain { get; set; }

Property Value

double

Bandwidth

The bandwidth of the targeted frequency

[Unit(UnitType.HERTZ)]
[Range(0, 1.7976931348623157E+308)]
[Metadata(ContainedIn = "Out_AntennaConfigMsg")]
public double Bandwidth { get; set; }

Property Value

double

BitRate

The bit rate of the data being processed. This is either the amount of data that can be transmitted per second or received per second.

[Unit("bps")]
[Range(0, 1.7976931348623157E+308)]
[Metadata(ContainedIn = "Out_AntennaConfigMsg")]
public double BitRate { get; set; }

Property Value

double

DivergenceAngle

Divergence angle of the antenna

[Unit(UnitType.DEGREE)]
[Range(0, 360)]
[Metadata(ContainedIn = "Out_AntennaConfigMsg")]
public double DivergenceAngle { get; set; }

Property Value

double

Frequency

The targeted frequency for the antenna

[Unit(UnitType.HERTZ)]
[Range(0, 1.7976931348623157E+308)]
[Metadata(ContainedIn = "Out_AntennaConfigMsg")]
public double Frequency { get; set; }

Property Value

double

NumConnections

Returns the number of connections that are currently valid on the antenna

[Unit(UnitType.NONE)]
[ReadOnly]
public int NumConnections { get; }

Property Value

int

Returns the number of valid links that the antenna have connected

[Unit(UnitType.NONE)]
[ReadOnly]
public int NumLinks { get; }

Property Value

int

OpticalLoss

Optical Loss of the transmission

[Unit(UnitType.DECIBEL)]
[Metadata(IsAdvanced = true, ContainedIn = "Out_AntennaConfigMsg")]
public double OpticalLoss { get; set; }

Property Value

double

PointingLoss

Pointing loss of the transmission

[Unit(UnitType.DECIBEL)]
[Metadata(IsAdvanced = true, ContainedIn = "Out_AntennaConfigMsg")]
public double PointingLoss { get; set; }

Property Value

double

Power

Power of the transmission

[Unit("dBm")]
[Metadata(ContainedIn = "Out_AntennaConfigMsg")]
public double Power { get; set; }

Property Value

double

TransmissionType

The transmission type for the antenna. This will define what type of connection is required.

public TransmissionType TransmissionType { get; protected set; }

Property Value

TransmissionType

Methods

ConfigureEMLookupTable(string)

Loads the EM signature properties from a CSV table. This will read a CSV file and will interpolate the data to create a lookup table for the EM signature.

public bool ConfigureEMLookupTable(string filename)

Parameters

filename string

Returns

bool

A flag indicating whether the data was created correctly

GetLoadedSignaturePattern(double, double, double, bool)

Gets the currently loaded RF pattern and returns the data in degrees as an array from 0 to 360.

public double[] GetLoadedSignaturePattern(double from, double to, double increment, bool useFloor = true)

Parameters

from double

[deg] The starting angle to search (inclusive)

to double

[deg] The final angle to search (inclusive)

increment double

[deg] The increment between angles

useFloor bool

A flag whether to add the floor of the value

Returns

double[]

The RF pattern array from 0 to 360

OnCreate()

Called when the 'Component' is created from the controller.

protected override void OnCreate()

OnFinish(double)

Called when the object is deleted from the simulation and can handle any cleanup of variables.

protected override void OnFinish(double time)

Parameters

time double

[s] The current clock time when deleted

UpdatePointingLoss(double)

Updates the pointing loss of the antenna based on the angle of the component.

public void UpdatePointingLoss(double angle)

Parameters

angle double

[deg] The angle to calculate the pointing loss to