Isomet Modular Synthesiser (iMS) API  v1.4.2
iMS API
Public Member Functions | List of all members
iMS::CompensationPoint Class Reference

Stores 4 data fields containing amplitude, phase, sync analogue and sync digital compensation data. More...

#include <include/Compensation.h>

Public Member Functions

 CompensationPoint (const CompensationPoint &)
 Copy Constructor.
 
CompensationPointoperator= (const CompensationPoint &)
 Assignment Constructor.
 
bool operator== (CompensationPoint const &rhs) const
 Equality Operator. More...
 
Constructors & Destructor
 CompensationPoint (Percent ampl=0.0, Degrees phase=0.0, unsigned int sync_dig=0, double sync_anlg=0.0)
 
 ~CompensationPoint ()
 
Get/Set field data for the CompensationPoint
void Amplitude (const Percent &ampl)
 Setter for Amplitude field. More...
 
const PercentAmplitude () const
 Getter for Amplitude field. More...
 
void Phase (const Degrees &phase)
 Setter for Phase field. More...
 
const DegreesPhase () const
 Getter for Phase field. More...
 
void SyncDig (const unsigned int &sync)
 Setter for Digital Sync Data field. More...
 
const std::uint32_t & SyncDig () const
 Getter for Digital Sync Data field. More...
 
void SyncAnlg (const double &sync)
 Setter for Analogue Sync Data field. More...
 
const double & SyncAnlg () const
 Getter for Analogue Sync Data field. More...
 

Detailed Description

Stores 4 data fields containing amplitude, phase, sync analogue and sync digital compensation data.

A CompensationPoint represents one entry in the CompensationTable and is defined for a fixed frequency that is linearly spaced within the frequency range reproducible by the Synthesiser.

Each point has 4 fields, one each for amplitude compensation, phase steering, synchronous analogue and digital data.

Author
Dave Cowan
Date
2015-11-03
Since
1.0

Constructor & Destructor Documentation

iMS::CompensationPoint::CompensationPoint ( Percent  ampl = 0.0,
Degrees  phase = 0.0,
unsigned int  sync_dig = 0,
double  sync_anlg = 0.0 
)

brief Compensation Point Constructor

Parameters
[in]amplThe initial Amplitude Compensation value
[in]phaseThe initial Phase Steering value
[in]sync_digThe initial Synchronous Digital Data value
[in]sync_anlgThe initial Synchronous Analogue Data value
Since
1.0

Member Function Documentation

void iMS::CompensationPoint::Amplitude ( const Percent ampl)

Setter for Amplitude field.

Amplitude, specified as a percentage figure from 0 - 100%, is applied to the signal amplitude passing from the Controller to the Synthesiser, resulting in a combined amplitude signal that is compensated for any variation in frequency response of the RF signal chain.

Parameters
[in]amplThe Amplitude value to set the Compensation field to
const Percent& iMS::CompensationPoint::Amplitude ( ) const

Getter for Amplitude field.

Returns
the CompensationPoint's Amplitude value
bool iMS::CompensationPoint::operator== ( CompensationPoint const &  rhs) const

Equality Operator.

Since
1.3
void iMS::CompensationPoint::Phase ( const Degrees phase)

Setter for Phase field.

Phase, specified in Degrees from 0 - 360, defines an additional phase offset applied to RF Channel 2 compared with RF Channel 1. The same phase offset is added cumulatively to subsequent output channels so that RF Channel 4 has an offset of 3 times the table phase value when compared with RF Channel 1.

Parameters
[in]phaseThe Phase value to set the Compensation field to
const Degrees& iMS::CompensationPoint::Phase ( ) const

Getter for Phase field.

Returns
the CompensationPoint's Phase value
void iMS::CompensationPoint::SyncAnlg ( const double &  sync)

Setter for Analogue Sync Data field.

Analogue Sync data can be routed to the SDAC signals output externally from the Synthesiser. They can be used for custom-scaled analogue frequency signals or any other purpose that requires a frequency-dependent analogue signal. The analogue value is specified in the range 0.0 to +1.0 which is converted to an unsigned bit representation stored in the CompensationTable. Any values outside the range will be clamped. The number of bits used is hardware dependent and can be read from the IMSSynthesiser::Capabilities struct.

Parameters
[in]syncThe Analogue Sync value to set the Compensation field to
const double& iMS::CompensationPoint::SyncAnlg ( ) const

Getter for Analogue Sync Data field.

Returns
the CompensationPoint's Analogue Sync Data field
void iMS::CompensationPoint::SyncDig ( const unsigned int &  sync)

Setter for Digital Sync Data field.

Digital Sync data can be routed to the SDIO signals output externally from the Synthesiser. They can be used for triggering external hardware, for test purposes, or anything else that requires a frequency-dependent logic signal. The number of bits available is dependent on the hardware and can be read from the IMSSynthesiser::Capabilities struct. The least significant bit of the unsigned int always maps to SDIO[0]

Parameters
[in]syncThe Digital Sync value to set the Compensation field to
const std::uint32_t& iMS::CompensationPoint::SyncDig ( ) const

Getter for Digital Sync Data field.

Returns
the CompensationPoint's Digital Sync Data field

The documentation for this class was generated from the following file: