Isomet Modular Synthesiser (iMS) API
v1.4.2
iMS API
|
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. | |
CompensationPoint & | operator= (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 &l) |
Setter for Amplitude field. More... | |
const Percent & | Amplitude () const |
Getter for Amplitude field. More... | |
void | Phase (const Degrees &phase) |
Setter for Phase field. More... | |
const Degrees & | Phase () 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... | |
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.
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
[in] | ampl | The initial Amplitude Compensation value |
[in] | phase | The initial Phase Steering value |
[in] | sync_dig | The initial Synchronous Digital Data value |
[in] | sync_anlg | The initial Synchronous Analogue Data value |
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.
[in] | ampl | The Amplitude value to set the Compensation field to |
const Percent& iMS::CompensationPoint::Amplitude | ( | ) | const |
Getter for Amplitude field.
bool iMS::CompensationPoint::operator== | ( | CompensationPoint const & | rhs | ) | const |
Equality Operator.
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.
[in] | phase | The Phase value to set the Compensation field to |
const Degrees& iMS::CompensationPoint::Phase | ( | ) | const |
Getter for Phase field.
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.
[in] | sync | The Analogue Sync value to set the Compensation field to |
const double& iMS::CompensationPoint::SyncAnlg | ( | ) | const |
Getter for 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]
[in] | sync | The Digital Sync value to set the Compensation field to |
const std::uint32_t& iMS::CompensationPoint::SyncDig | ( | ) | const |
Getter for Digital Sync Data field.