WSF
WsfLASER_CommXmtrComponent::Modulation Class Reference

#include <WsfLASER_CommXmtrComponent.hpp>

Public Types

enum  Type { cUNDEFINED , cOOK , cPPM , cDPSK }

Public Member Functions

 Modulation ()
 ~Modulation ()=default
bool ProcessInput (UtInput &aInput)
bool Initialize (WsfEM_Xmtr &aXmtr)
double GetDataRate () const
 Return the data rate associated with the modulation parameters.
double GetDutyCycle () const
 Return the duty cycle (time the laser is on).
double GetSlotDuration () const
 Return the slot duration (time between bit intervals).
void SetType (Type aType)
 Set type modulation type.
void SetPPM_Order (unsigned aPPM_Order)
 Set the PPM order (2, 4, 8, etc.) if the selected type was cPPM.
const std::string & GetTypeName () const
 Get the name associated with the modulation type.

Member Enumeration Documentation

◆ Type

Enumerator
cUNDEFINED 
cOOK 
cPPM 
cDPSK 

Constructor & Destructor Documentation

◆ Modulation()

WsfLASER_CommXmtrComponent::Modulation::Modulation ( )

References cPPM.

◆ ~Modulation()

WsfLASER_CommXmtrComponent::Modulation::~Modulation ( )
default

Member Function Documentation

◆ GetDataRate()

double WsfLASER_CommXmtrComponent::Modulation::GetDataRate ( ) const
inline

Return the data rate associated with the modulation parameters.

◆ GetDutyCycle()

double WsfLASER_CommXmtrComponent::Modulation::GetDutyCycle ( ) const
inline

Return the duty cycle (time the laser is on).

◆ GetSlotDuration()

double WsfLASER_CommXmtrComponent::Modulation::GetSlotDuration ( ) const
inline

Return the slot duration (time between bit intervals).

◆ GetTypeName()

const std::string & WsfLASER_CommXmtrComponent::Modulation::GetTypeName ( ) const
inline

Get the name associated with the modulation type.

◆ Initialize()

bool WsfLASER_CommXmtrComponent::Modulation::Initialize ( WsfEM_Xmtr & aXmtr)

Initialize for use with a WsfEM_Xmtr. Data rate and duty cycle are calculated, and transmitter values for pulse width and pulse repetition frequency are reconciled with modulation slot width and duty cycle.

Parameters
aXmtrThe associated WsfEM_Xmtr object.

References cPPM, WsfEM_XmtrRcvr::GetPlatform(), WsfEM_Xmtr::GetPulseRepetitionFrequency(), WsfEM_Xmtr::GetPulseWidth(), ok, WsfEM_Xmtr::SetPulseRepetitionFrequency(), and WsfEM_Xmtr::SetPulseWidth().

◆ ProcessInput()

bool WsfLASER_CommXmtrComponent::Modulation::ProcessInput ( UtInput & aInput)

Process input keywords.

Parameters
aInputThe input source.

◆ SetPPM_Order()

void WsfLASER_CommXmtrComponent::Modulation::SetPPM_Order ( unsigned aPPM_Order)
inline

Set the PPM order (2, 4, 8, etc.) if the selected type was cPPM.

◆ SetType()

void WsfLASER_CommXmtrComponent::Modulation::SetType ( Type aType)
inline

Set type modulation type.


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved