CARMA C++
carma::antenna::common::RxControl Interface Reference

Receiver interface. More...

import "carma/antenna/common/RxControl.idl";

Inheritance diagram for carma::antenna::common::RxControl:
carma::antenna::sza::control::RxControl

Public Types

enum  IF_Type { IF1, IF2, BOTH }
 
enum  Pol_Type { SINGLE, LEFTCIRCULAR, RIGHTCIRCULAR }
 
enum  Type { RX1CM, RX1MM, RX3MM, RXANY }
 Enumerate valid Receiver types. More...
 

Public Member Functions

FrontEndControl FrontEnd (in Pol_Type pol) raises (carma::util::UserException)
 Return a pointer to this Rx's FrontEnd subsystem. More...
 
IFControl IF (in IF_Type ifoutput) raises (carma::util::UserException)
 Return a pointer to this Rx's IF subsystem IF defaults to IFPol1 under the hood IF of BOTH is invalid for this routine. More...
 
LOControl LO () raises (carma::util::UserException)
 Return a pointer to this Rx's LO subsystem. More...
 
void measureTotalPower (in CalibratorControl::Position pos, in unsigned long seqNo) raises (carma::util::UserException)
 Collect a total power reading on a calibration load. More...
 
OpticsControl Optics () raises (carma::util::UserException)
 Return a pointer to this Rx's Optics subsystem. More...
 
PolarizationControl Polarization () raises (carma::util::UserException)
 Return a pointer to this Rx's Polarization subsystem. More...
 
void setFrequency (in double yigFreq, in double LOfreq, in boolean endWithAbsorberInBeam, in boolean optimizeReceiver, in boolean forceRelock, in unsigned long seqNo) raises (carma::util::UserException)
 Set up a receiver for a new frequency, including tuning. More...
 
void setIFAtten (in float atten, in IF_Type ifType) raises ( carma::util::UserException )
 Set the IF attenuation for this receiver. More...
 
void setIFPower (in float power) raises (carma::util::UserException)
 Iterate to a target power [alternative to the setIFAtten() method] This command is identical to the IFControl version except it operates simultaneously on both IFs if receiver is dual pol. More...
 
void setIFPresetPower () raises ( carma::util::UserException )
 Iterate to a saved target power, without having to know what that power is. More...
 
void setObservingFrequency (in double obsFreq, in unsigned long seqNo) raises (carma::util::UserException)
 Set observing frequency. More...
 
void toggleFastSampling (in unsigned long channel, in boolean start) raises (carma::util::UserException)
 Start fast sampling for this receiver. More...
 

Detailed Description

Receiver interface.

The receiver is a logical construct that controls the antenna Local Oscillator, the FrontEnd, the IF, the Optics and Polar interfaces.

Definition at line 31 of file RxControl.idl.

Member Enumeration Documentation

Enumerate valid Receiver types.

Enumerator
RX1CM 

1 cm

RX1MM 

1 mm - Polarization 1 only

RX3MM 

3 mm - Polarization 1 only

RXANY 

Any?

Definition at line 36 of file RxControl.idl.

Member Function Documentation

FrontEndControl carma::antenna::common::RxControl::FrontEnd ( in Pol_Type  pol)
raises (carma::util::UserException
)

Return a pointer to this Rx's FrontEnd subsystem.

IFControl carma::antenna::common::RxControl::IF ( in IF_Type  ifoutput)
raises (carma::util::UserException
)

Return a pointer to this Rx's IF subsystem IF defaults to IFPol1 under the hood IF of BOTH is invalid for this routine.

LOControl carma::antenna::common::RxControl::LO ( )
raises (carma::util::UserException
)

Return a pointer to this Rx's LO subsystem.

void carma::antenna::common::RxControl::measureTotalPower ( in CalibratorControl::Position  pos,
in unsigned long  seqNo 
)
raises (carma::util::UserException
)

Collect a total power reading on a calibration load.

The total power used for Tsys is measured in the correlator downconverters that are continuously looking for the absorber to be in the beam and the IF power to be stable - they then read the total power in their band.

This method initiates a state machine that:

  • Moves the requested load (cal position) into beam
  • Waits for one blanking frame with load in
  • Moves the load out of beam

In the long term, the accuracy will be improved by setting the IF attenuation to keep the IF level in the linear region when the load is in place. In this case the IF attenuation must be sent to the pipeline for the calibration algorithm. The sequence number is used to verify the remote system has completed the requested operation. The sequence number is stored locally on the remote system and once complete, the corresponding monitor point for this sequence number is set to the one passed as seqNo.

OpticsControl carma::antenna::common::RxControl::Optics ( )
raises (carma::util::UserException
)

Return a pointer to this Rx's Optics subsystem.

PolarizationControl carma::antenna::common::RxControl::Polarization ( )
raises (carma::util::UserException
)

Return a pointer to this Rx's Polarization subsystem.

void carma::antenna::common::RxControl::setFrequency ( in double  yigFreq,
in double  LOfreq,
in boolean  endWithAbsorberInBeam,
in boolean  optimizeReceiver,
in boolean  forceRelock,
in unsigned long  seqNo 
)
raises (carma::util::UserException
)

Set up a receiver for a new frequency, including tuning.

Automatically sets up the IF receiver selection, makes any necessary changes in the optics (moves mirrors), sets the LO frequency, waits for the LO to lock, and then sends the LO frequency to the FirstStage, which initiates tuning. The tuning may include optimization, which may move the ambient load into the beam. 10m dishes move the absorber into the beam after all other tuning has completed. After tuning, the IF level is set to the optimal value. The sequence number is used to verify the remote system has completed the requested operation, including optics changes, optimization and IF level setup. The sequence number is stored locally on the remote system and once all operations are complete or failed, the corresponding monitor point for the tuning sequence number is set to the one passed as seqNo.

Parameters
yigFreqYIG oscillator output frequency in GHz
LOfreqLO frequency in GHz, including any tripling
endWithAbsorberInBeamPlace (or keep) the absorber in the beam following tuning.
optimizeReceiverOptimize the receiver during or following tuning.
See Also
LocalOscillator, FirstStage, IF, Optics, Polarization
void carma::antenna::common::RxControl::setIFAtten ( in float  atten,
in IF_Type  ifType 
)
raises (carma::util::UserException
)

Set the IF attenuation for this receiver.

Parameters
attenAttenuation in dB, range 0-63 in 0.5 dB steps.
void carma::antenna::common::RxControl::setIFPower ( in float  power)
raises (carma::util::UserException
)

Iterate to a target power [alternative to the setIFAtten() method] This command is identical to the IFControl version except it operates simultaneously on both IFs if receiver is dual pol.

Parameters
powerlevel in mW
void carma::antenna::common::RxControl::setIFPresetPower ( )
raises (carma::util::UserException
)

Iterate to a saved target power, without having to know what that power is.

This command takes as its default target the power level saved on the last call to saveCurrentPower(). This command is identical to the IFControl version except it operates simultaneously on both IFs if receiver is dual pol.

void carma::antenna::common::RxControl::setObservingFrequency ( in double  obsFreq,
in unsigned long  seqNo 
)
raises (carma::util::UserException
)

Set observing frequency.

This is meant to provide a hint to the polarization subsystems, tuning algorithms or anything else that might need the observing frequency for optimization purposes. Note this differs from the LoFreq by providing the exact sideband and frequency the observer is interested in. This should be set before setFrequency is called. The sequence number is used to verify the remote system has completed the requested operation. The sequence number is stored locally on the remote system and once complete, the corresponding monitor point for this sequence number is set to the one passed as seqNo. This should be called before setFrequency is called.

Parameters
obsFreqObserving frequency in GHz.
See Also
setFrequency
setObservingFrequency
void carma::antenna::common::RxControl::toggleFastSampling ( in unsigned long  channel,
in boolean  start 
)
raises (carma::util::UserException
)

Start fast sampling for this receiver.

Parameters
channelwhich channel?
startstart/stop

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