edu.nrao.sss.model.resource
Class AntennaFrontEnd

java.lang.Object
  extended by edu.nrao.sss.model.resource.AntennaFrontEnd

public class AntennaFrontEnd
extends Object

The portion of an antenna's electronics that immediately follows the collector of the sky signal.

Version Info:

$Revision: 1710 $
$Date: 2008-11-14 11:54:07 -0700 (Fri, 14 Nov 2008) $
$Author: dharland $ (last person to modify)

Since:
2007-11-01
Author:
David M. Harland

Constructor Summary
AntennaFrontEnd(ReceiverBand band, Set<PolarizationType> polarizations)
          Creates a new front end whose output signals are the same as those of its receiver band.
AntennaFrontEnd(ReceiverBand band, Set<PolarizationType> polarizations, SignalSource localOscillator, int loMultiplier, FrequencyRange filterRange, boolean mixDown)
          Creates a new front end that is initially turned off.
 
Method Summary
 void execute()
          Executes all the devices that are connected to the outputs of this front end.
 ReceiverBand getBand()
          Returns the receiver band handled by this front end.
 LocalOscillatorPath getLocalOscillatorPath()
          Returns the local oscillator path, if any, for this front end.
 SignalPipe getOuputPipe(PolarizationType polarizationType)
          Returns the output of this front end that produces signals with the given polarization.
 Set<PolarizationType> getPolarizations()
          Returns the polarizations of the outputs produced by this front end.
 boolean isOff()
          Returns true if this front end is not picking up signals.
 boolean isOn()
          Returns true if this front end is picking up signals.
static Map<ReceiverBand,AntennaFrontEnd> makeEvlaFrontEnds(Map<ReceiverBand,SignalSource> loSignals)
          Creates all of the EVLA front ends and returns them in a map whose key is the receiver band of that front end.
 Frequency suggestLOFrequencyToMoveOutputCenterTo(Frequency ifCenter)
          Returns a frequency that can be used to shift the center frequency of this front end to ifCenter.
 void turnOff()
          Turns off this front end so that it does not pick up signals.
 void turnOn()
          Turns on this front end so that it picks up signals.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AntennaFrontEnd

public AntennaFrontEnd(ReceiverBand band,
                       Set<PolarizationType> polarizations)
Creates a new front end whose output signals are the same as those of its receiver band. To create a front end that mixes its receiver band's signals up or down, see the other constructor. This constructor is equivalent to calling AntennaFrontEnd(band, polarizations, null, 1.0, true). Note that this front end is initially turned off.

Parameters:
band - the receiver band that this front end handles.
polarizations - the polarizations of the outputs of this feed. This feed will have one output for each of these polarizations.
See Also:
turnOn()

AntennaFrontEnd

public AntennaFrontEnd(ReceiverBand band,
                       Set<PolarizationType> polarizations,
                       SignalSource localOscillator,
                       int loMultiplier,
                       FrequencyRange filterRange,
                       boolean mixDown)
Creates a new front end that is initially turned off.

Parameters:
band - the receiver band that this front end handles.
polarizations - the polarizations of the outputs of this feed. This feed will have one output for each of these polarizations.
localOscillator - the source of the signal, if any, to mix with the feed before producing the outputs of this front end. For front ends that do no mixing, use a value of null here.
loMultiplier - the factor to apply to the signal of the localOscillator before mixing with the sky signal. This value will be ignored if localOscillator is null. If this feed has an LO that does not get multiplied, use a value of 1.0 here.
filterRange - the range of the filter, if any, attached to the output of the multiplier, or directly to the LO if there is no multiplier. If no filter is used, pass a value of null.
mixDown - true if the localOscillator's signal should be used to mix this front end's signal down to lower frequencies, false if it should use the LO to mix it upward. Even if no mixing is required (as indicated by a null localOscillator), this value has an impact on the way suggestLOFrequencyToMoveOutputCenterTo(Frequency) calculates its result.
See Also:
turnOn()
Method Detail

makeEvlaFrontEnds

public static Map<ReceiverBand,AntennaFrontEnd> makeEvlaFrontEnds(Map<ReceiverBand,SignalSource> loSignals)
Creates all of the EVLA front ends and returns them in a map whose key is the receiver band of that front end.

Parameters:
loSignals - a map whose key is a receiver band and whose value will be treated as a local oscillator of the front end for that band. Only those front ends that use LOs need have an entry in this map.
Returns:
a map containing all the EVLA front ends, keyed by receiver band.

getBand

public ReceiverBand getBand()
Returns the receiver band handled by this front end.

Returns:
the receiver band handled by this front end.

getPolarizations

public Set<PolarizationType> getPolarizations()
Returns the polarizations of the outputs produced by this front end. This front end will have one output for each of these polarizations.

Returns:
the polarizations of the outputs produced by this front end.

getOuputPipe

public SignalPipe getOuputPipe(PolarizationType polarizationType)
Returns the output of this front end that produces signals with the given polarization. If this front end has no such outputs, null is returned.

Parameters:
polarizationType - the polarization of signals produced by the returned output.
Returns:
an output whose signals have polarizationType polarization.

getLocalOscillatorPath

public LocalOscillatorPath getLocalOscillatorPath()
Returns the local oscillator path, if any, for this front end.

Returns:
the local oscillator path for this front end. If this front end has no local oscillator path, null is returned.

suggestLOFrequencyToMoveOutputCenterTo

public Frequency suggestLOFrequencyToMoveOutputCenterTo(Frequency ifCenter)
Returns a frequency that can be used to shift the center frequency of this front end to ifCenter.

TODO: determine how to handle impossible requests.

Parameters:
ifCenter - the central frequency produced by mixing this front end's signal with a local oscillator's signal.
Returns:
a frequency that can be used to shift the center frequency of this front end to ifCenter.

execute

public void execute()
Executes all the devices that are connected to the outputs of this front end.


isOn

public boolean isOn()
Returns true if this front end is picking up signals.

Returns:
true if this front end is picking up signals.

isOff

public boolean isOff()
Returns true if this front end is not picking up signals.

Returns:
true if this front end is not picking up signals.

turnOn

public void turnOn()
Turns on this front end so that it picks up signals.


turnOff

public void turnOff()
Turns off this front end so that it does not pick up signals.



Copyright © 2009. All Rights Reserved.