edu.nrao.sss.model.resource.vla
Class VlaBasebandPair

java.lang.Object
  extended by edu.nrao.sss.model.resource.CorrelatorBasebandAbs
      extended by edu.nrao.sss.model.resource.vla.VlaBasebandPair
All Implemented Interfaces:
CorrelatorBaseband, HasBandwidth, Identifiable, Cloneable

public class VlaBasebandPair
extends CorrelatorBasebandAbs

A baseband pair of the VLA correlator.

This class is here for completeness but might never be used. We have a short-term mission to support the VLA correlator, but VLA support will end once WIDAR takes over.

Version Info:

$Revision: 2271 $
$Date: 2009-04-28 12:02:17 -0600 (Tue, 28 Apr 2009) $
$Author: dharland $ (last person to modify)

Since:
2008-06-25
Author:
David M. Harland

Field Summary
 
Fields inherited from class edu.nrao.sss.model.resource.CorrelatorBasebandAbs
bandwidth, subbands
 
Fields inherited from interface edu.nrao.sss.util.Identifiable
UNIDENTIFIED
 
Constructor Summary
protected VlaBasebandPair()
           
protected VlaBasebandPair(DigitalSignal inputA, DigitalSignal inputB)
          Helps create a new VLA baseband pair.
 
Method Summary
 void addSubband(CorrelatorSubband newSubband)
          Adds newSubband to this baseband if this baseband is not already full.
 VlaBasebandPair clone()
          Returns a copy of this baseband.
 boolean equals(Object o)
          Returns true if o is equal to this baseband.
 SortedSet<Frequency> getAllowableBandwidths()
          Returns the set of bandwidths to which this object may be set.
protected  CorrelatorConfiguration getContainer()
          Returns the correlator configuration that holds this baseband.
 int getInitialQuantization()
          Returns the number of bits per sample in this baseband.
 Frequency getMaximumBandwidth()
          Returns the largest bandwidth to which this object may be set.
 int getMaxSubbandCount()
          Returns the maximum number of subbands this baseband may hold.
 Frequency getMinimumBandwidth()
          Returns the smallest bandwidth to which this object may be set.
 String getName()
          Returns the name of this baseband.
 PolarizationType getPolarization()
          Deprecated. Use getPolarizations().
 List<PolarizationType> getPolarizations()
          Returns the polarizations of the signals represented by this baseband.
 FrequencyRange getProxiedRange()
          Returns the portion of frequency space for which this baseband is a proxy.
 SortedSet<Frequency> getSubbandGrid()
          Returns a set of frequencies that individual subbands should not cover.
 boolean hasDiscreteBandwidths()
          Returns true if this object may be set only to pretermined bandwidths.
 int hashCode()
          Returns a hash code value for this baseband.
 boolean isSinglet()
          Returns true if this is an unpaired, or singlet, baseband.
 VlaSubband makeNewSubband()
          Creates and returns a new subband that may later be added to this subband.
 boolean proxiedRangeIsReversed()
          Returns true if the high and low frequencies in the proxied range are mapped to the low and high frequencies, respectively, of this baseband.
protected  void setContainer(CorrelatorConfiguration newContainer)
          Sets the correlator configuration to which this baseband belongs.
 
Methods inherited from class edu.nrao.sss.model.resource.CorrelatorBasebandAbs
addNewSubband, clearId, createdSubbandsFromPersistentStore, getAllowableBandwidthClosestTo, getAllowableBandwidthFor, getBandwidth, getId, getProxiedRange, getSubbandCount, getSubbands, isPair, removeAllSubbands, removeOldSubband, removeSubband, removeSubbandAt, setBandwidth, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VlaBasebandPair

protected VlaBasebandPair(DigitalSignal inputA,
                          DigitalSignal inputB)
Helps create a new VLA baseband pair.

Throws:
IllegalArgumentException - if input is null.

VlaBasebandPair

protected VlaBasebandPair()
Method Detail

getName

public String getName()
Description copied from interface: CorrelatorBaseband
Returns the name of this baseband.

Returns:
the name of this baseband.

isSinglet

public boolean isSinglet()
Description copied from interface: CorrelatorBaseband
Returns true if this is an unpaired, or singlet, baseband. If true, then the number of polarizations represented by this baseband should be one.

Either this method or CorrelatorBaseband.isPair(), but not both, should be true. Only single and paired basebands are anticipated.

Returns:
true if this is an unpaired, or singlet, baseband.

getContainer

protected CorrelatorConfiguration getContainer()
Returns the correlator configuration that holds this baseband. It is possible for the returned value to be null. If not null, the returned object will always be of type VlaConfiguration.

Specified by:
getContainer in class CorrelatorBasebandAbs

setContainer

protected void setContainer(CorrelatorConfiguration newContainer)
Sets the correlator configuration to which this baseband belongs. The newContainer is allowed to be null. If not null, the type of newContainer must be VlaConfiguration.

Specified by:
setContainer in class CorrelatorBasebandAbs

getProxiedRange

public FrequencyRange getProxiedRange()
Description copied from interface: CorrelatorBaseband
Returns the portion of frequency space for which this baseband is a proxy.

Returns:
the portion of frequency space for which this baseband is a proxy.

proxiedRangeIsReversed

public boolean proxiedRangeIsReversed()
Description copied from interface: CorrelatorBaseband
Returns true if the high and low frequencies in the proxied range are mapped to the low and high frequencies, respectively, of this baseband.

An example where the return value of this method would be true is if this baseband had a width of 2 GHz and proxied an original range of 45 GHz - 43 GHz, respectively. That is, the 2 GHz signal in the baseband would represent 45 GHz, 1 GHz would represent 44 GHz, and 0 GHz would represent 43 GHz.

Returns:
true if the high and low frequencies of the proxied rage are reversed with respect to this baseband.

getMinimumBandwidth

public Frequency getMinimumBandwidth()
Description copied from interface: HasBandwidth
Returns the smallest bandwidth to which this object may be set.

Returns:
the smallest bandwidth to which this object may be set.

getMaximumBandwidth

public Frequency getMaximumBandwidth()
Description copied from interface: HasBandwidth
Returns the largest bandwidth to which this object may be set.

Returns:
the largest bandwidth to which this object may be set.

hasDiscreteBandwidths

public boolean hasDiscreteBandwidths()
Description copied from interface: HasBandwidth
Returns true if this object may be set only to pretermined bandwidths. A return value of false indicates that this object may be set to any bandwidth in the range allowed by HasBandwidth.getMinimumBandwidth() and HasBandwidth.getMaximumBandwidth().

If the returned value is true, the method HasBandwidth.getAllowableBandwidths() will give the set of predetermined bandwidths.

Returns:
true if this object may be set only to pretermined bandwidths.

getAllowableBandwidths

public SortedSet<Frequency> getAllowableBandwidths()
Description copied from interface: HasBandwidth
Returns the set of bandwidths to which this object may be set.

If the return value of HasBandwidth.hasDiscreteBandwidths() is false all frequencies in the range allowed by HasBandwidth.getMinimumBandwidth() and HasBandwidth.getMaximumBandwidth() are valid and this method will return an empty set. Otherwise it will return the set of allowable bandwidths.

Returns:
the set of bandwidths to which this object may be set.

getInitialQuantization

public int getInitialQuantization()
Description copied from interface: CorrelatorBaseband
Returns the number of bits per sample in this baseband. This quantity is called the initial quantization because some correlators allow clients to requantize the data during processing. The initial quantization, or IQ, is typically a property of the signal before it ever reaches the correlator.

Returns:
the number of bits per sample in this baseband.

getPolarization

@Deprecated
public PolarizationType getPolarization()
Deprecated. Use getPolarizations().


getPolarizations

public List<PolarizationType> getPolarizations()
Description copied from interface: CorrelatorBaseband
Returns the polarizations of the signals represented by this baseband.

Returns:
the polarizations of the signals represented by this baseband.

getMaxSubbandCount

public int getMaxSubbandCount()
Description copied from interface: CorrelatorBaseband
Returns the maximum number of subbands this baseband may hold.

Returns:
the maximum number of subbands this baseband may hold.

makeNewSubband

public VlaSubband makeNewSubband()
Description copied from interface: CorrelatorBaseband
Creates and returns a new subband that may later be added to this subband. Each implementation of this CorrelatorBaseband interface will decide which implementation of CorrelatorSubband it constructs.

The returned subband will belong to no baseband.

Returns:
a new subband of a type that is compatible with this baseband.

getSubbandGrid

public SortedSet<Frequency> getSubbandGrid()
Description copied from interface: CorrelatorBaseband
Returns a set of frequencies that individual subbands should not cover. Not all implementations of basebands will have such frequencies. For those that do not, an empty set will be returned.

The frequencies in the returned set represent a preset subband grid. Subbands may start or end exactly on these frequencies, but should not otherwise contain them. The low and high frequencies of this baseband are included in the returned range. The high frequency is included even if it is not a natural grid point. For example, if this baseband covers the frequency range from 0 to 45 units, with a grid line every 10 units, the returned set will contain 0, 10, 20, 30, 40, and 45 units.

Returns:
a set of frequencies that individual subbands should not cover.

addSubband

public void addSubband(CorrelatorSubband newSubband)
Description copied from interface: CorrelatorBaseband
Adds newSubband to this baseband if this baseband is not already full.

Parameters:
newSubband - a subband to be added to this baseband.

clone

public VlaBasebandPair clone()
Returns a copy of this baseband.

If anything goes wrong during the cloning procedure, a RuntimeException will be thrown.

Specified by:
clone in interface CorrelatorBaseband
Overrides:
clone in class CorrelatorBasebandAbs
Returns:
a copy of this baseband.

equals

public boolean equals(Object o)
Returns true if o is equal to this baseband.

Overrides:
equals in class CorrelatorBasebandAbs

hashCode

public int hashCode()
Returns a hash code value for this baseband.

Overrides:
hashCode in class CorrelatorBasebandAbs


Copyright © 2009. All Rights Reserved.