edu.nrao.sss.model.resource.evla
Class T303

java.lang.Object
  extended by edu.nrao.sss.model.resource.evla.T303
All Implemented Interfaces:
SignalProcessor

public class T303
extends Object
implements SignalProcessor

The EVLA T303 UX Converter.

This device has two halves that are identical. Each half has a single input1, three internal pathways, and two outputs. There are two switches near the outputs that determine which pathways are output. One of these pathways filters the signal and uses no mixer. Each of the other two pathways uses a distinct local oscillator for mixing the input. Both of these oscillators are used for a single path in each of the two halves. That is, LO1 is used in one path in the top half, and in the parallel path in the bottom half, and likewise for L02.

As used by the EVLA electronics, the top input carries left circular polarized signals that have come from either the Q, Ka, K, or Ku band front ends. The bottom inputs are similar, except that they carry RCP signals. Each of the four outputs is sent to a different switch, the outputs of which are connected to different T304 converters.

T303 Dgm

1In the diagram, switches S1-1 and S1-2 are shown as residing within the T303 UX converter. However, in this software model, those switches are considered to lie outside the T303.

Version Info:

$Revision: 1706 $
$Date: 2008-11-13 16:09:36 -0700 (Thu, 13 Nov 2008) $
$Author: dharland $ (last person to modify)

Since:
2007-10-29
Author:
David M. Harland

Constructor Summary
T303(SignalSource LO1, SignalSource LO2)
          Creates a new T303 UX Converter that uses the given sources as its local oscillators.
 
Method Summary
 void execute()
          See SignalProcessor.execute().
 void executeFromStartOfChainUpTo(SignalProcessor firstUnexecutedDevice)
          See SignalProcessor.executeFromStartOfChainUpTo(SignalProcessor).
 void executeUpTo(SignalProcessor firstUnexecutedDevice)
          See SignalProcessor.executeUpTo(SignalProcessor).
 SignalPipe getBottomInputPipe()
          Returns the bottom input for this converter.
 List<SignalPipe> getBottomOutputPipes()
          Returns the bottom outputs for this converter.
 FrequencyRange getDirectPathFilterPassBand()
          Returns the pass band for the filter on the path that has no local oscillator.
 FrequencyRange getLocOsc1FilterPassBand()
          Returns the pass band for the filter that is between the multiplier and mixer for local oscillator one.
 BigDecimal getLocOsc1Multiplier()
          Returns the factor by which the signal from the LO-1 is multiplied.
 FrequencyRange getLocOsc2FilterPassBand()
          Returns the pass band for the filter that is between the multiplier and mixer for local oscillator two.
 BigDecimal getLocOsc2Multiplier()
          Returns the factor by which the signal from the LO-2 is multiplied.
 FrequencyRange getLocOscPathFilterPassBand()
          Returns the pass band for the filter that is upstream of the two local oscillator pathways.
 Collection<Signal> getSignals()
          Returns the signals produced by this converter.
 SignalPipe getTopInputPipe()
          Returns the top input for this converter.
 List<SignalPipe> getTopOutputPipes()
          Returns the top outputs for this converter.
 void setOutputSwitches(String output1, String output2)
          Sets internal switches that determine which internal pathways reach the outputs.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

T303

public T303(SignalSource LO1,
            SignalSource LO2)
Creates a new T303 UX Converter that uses the given sources as its local oscillators.

Parameters:
LO1 - provider of the LO-1 local oscillator signal.
LO2 - provider of the LO-2 local oscillator signal.
Method Detail

getTopInputPipe

public SignalPipe getTopInputPipe()
Returns the top input for this converter.

Returns:
the top input for this converter.

getBottomInputPipe

public SignalPipe getBottomInputPipe()
Returns the bottom input for this converter.

Returns:
the bottom input for this converter.

getTopOutputPipes

public List<SignalPipe> getTopOutputPipes()
Returns the top outputs for this converter.

The returned list will contain two outputs. The output at index 0 will hold a signal that came either from the direct path, or from the LO-1 path. The output at index 0 will hold a signal that came either from the direct path, the LO-1 path, or the LO-2 path. The valid pairs of output pathways are:

The above pairs are dependent on the settings of this converter's output switches.

Returns:
the top outputs for this converter.

getBottomOutputPipes

public List<SignalPipe> getBottomOutputPipes()
Returns the bottom outputs for this converter.

The returned list will contain two outputs. The output at index 0 will hold a signal that came either from the direct path, or from the LO-1 path. The output at index 0 will hold a signal that came either from the direct path, the LO-1 path, or the LO-2 path. The valid pairs of output pathways are:

The above pairs are dependent on the settings of this converter's output switches.

Returns:
the bottom outputs for this converter.

setOutputSwitches

public void setOutputSwitches(String output1,
                              String output2)
Sets internal switches that determine which internal pathways reach the outputs. There are three internal pathways: a direct pathway that is not mixed down, a pathway that is mixed with LO1 (where "LO1" is the first parameter of the constructor used to build this device), and a pathway that is mixed with LO2. Only certain combinations are permitted, and are as follows:

The above names are not case sensitive.

This method sets the top half and bottom half output switches in tandem. That is, if the top half is set to produce outputs LO1 / LO2, so is the bottom half.

Parameters:
output1 - the name of the pathway ("Direct", "LO1") to be sent through the 0th output.
output2 - the name of the pathway ("Direct", "LO1", "LO2") to be sent through the 1st output.

getSignals

public Collection<Signal> getSignals()
Returns the signals produced by this converter. The returned collection will hold four signals.

Returns:
the signals produced by this converter.

getDirectPathFilterPassBand

public FrequencyRange getDirectPathFilterPassBand()
Returns the pass band for the filter on the path that has no local oscillator.

Returns:
pass band of filter on direct (no LO) path.
Since:
2008-10-28

getLocOscPathFilterPassBand

public FrequencyRange getLocOscPathFilterPassBand()
Returns the pass band for the filter that is upstream of the two local oscillator pathways.

Returns:
pass band of filter on fork leading to LO pathways.
Since:
2008-10-20

getLocOsc1FilterPassBand

public FrequencyRange getLocOsc1FilterPassBand()
Returns the pass band for the filter that is between the multiplier and mixer for local oscillator one. This filter effectively narrows the allowable tunings for that local oscillator.

Returns:
pass band for LO-1's signal.

getLocOsc2FilterPassBand

public FrequencyRange getLocOsc2FilterPassBand()
Returns the pass band for the filter that is between the multiplier and mixer for local oscillator two. This filter effectively narrows the allowable tunings for that local oscillator.

Returns:
pass band for LO-1's signal.

getLocOsc1Multiplier

public BigDecimal getLocOsc1Multiplier()
Returns the factor by which the signal from the LO-1 is multiplied.

Returns:
the multiplier for local oscillator one.

getLocOsc2Multiplier

public BigDecimal getLocOsc2Multiplier()
Returns the factor by which the signal from the LO-2 is multiplied.

Returns:
the multiplier for local oscillator two.

execute

public void execute()
See SignalProcessor.execute().

Specified by:
execute in interface SignalProcessor

executeUpTo

public void executeUpTo(SignalProcessor firstUnexecutedDevice)
See SignalProcessor.executeUpTo(SignalProcessor).

Specified by:
executeUpTo in interface SignalProcessor

executeFromStartOfChainUpTo

public void executeFromStartOfChainUpTo(SignalProcessor firstUnexecutedDevice)
See SignalProcessor.executeFromStartOfChainUpTo(SignalProcessor).

Specified by:
executeFromStartOfChainUpTo in interface SignalProcessor


Copyright © 2009. All Rights Reserved.