Class OchSignal

  • All Implemented Interfaces:
    Lambda

    public class OchSignal
    extends Object
    implements Lambda
    Implementation of Lambda representing OCh (Optical Channel) Signal.

    See ITU G.709 "Interfaces for the Optical Transport Network (OTN)". ITU G.694.1 "Spectral grids for WDM applications: DWDM frequency grid".

    • Field Detail

      • FIXED_GRID_SLOT_GRANULARITIES

        public static final Set<Integer> FIXED_GRID_SLOT_GRANULARITIES
    • Constructor Detail

      • OchSignal

        public OchSignal​(GridType gridType,
                         ChannelSpacing channelSpacing,
                         int spacingMultiplier,
                         int slotGranularity)
        Creates an instance with the specified arguments. It it recommended to use Lambda.ochSignal(GridType, ChannelSpacing, int, int) unless you want to use the concrete type, OchSignal, directly.
        Parameters:
        gridType - grid type
        channelSpacing - channel spacing
        spacingMultiplier - channel spacing multiplier
        slotGranularity - slot width granularity
    • Method Detail

      • newFlexGridSlot

        public static OchSignal newFlexGridSlot​(int index)
        Creates an instance of OchSignal representing a flex grid frequency slot.
        Parameters:
        index - slot index (relative to "the center frequency" 193.1THz)
        Returns:
        FlexGrid OchSignal
      • newDwdmSlot

        public static OchSignal newDwdmSlot​(ChannelSpacing spacing,
                                            int index)
        Creates an instance of OchSignal representing a fixed DWDM frequency slot.
        Parameters:
        spacing - channel spacing
        index - slot index (relative to "the center frequency" 193.1THz)
        Returns:
        DWDM OchSignal
      • gridType

        public GridType gridType()
        Returns grid type.
        Returns:
        grid type
      • channelSpacing

        public ChannelSpacing channelSpacing()
        Returns channel spacing.
        Returns:
        channel spacing
      • spacingMultiplier

        public int spacingMultiplier()
        Returns spacing multiplier.
        Returns:
        spacing multiplier
      • slotGranularity

        public int slotGranularity()
        Returns slot width granularity.
        Returns:
        slot width granularity
      • centralFrequency

        public org.onlab.util.Frequency centralFrequency()
        Returns central frequency in MHz.
        Returns:
        frequency in MHz
      • slotWidth

        public org.onlab.util.Frequency slotWidth()
        Returns slot width.
        Returns:
        slot width
      • toFlexGrid

        public static SortedSet<OchSignal> toFlexGrid​(OchSignal ochSignal)
        Convert fixed grid OCh signal to sorted set of flex grid slots with 6.25 GHz spacing and 12.5 GHz slot width.
        Parameters:
        ochSignal - fixed grid lambda
        Returns:
        sorted set of flex grid OCh lambdas
      • toFixedGrid

        public static OchSignal toFixedGrid​(List<OchSignal> lambdas,
                                            ChannelSpacing spacing)
        Convert list of lambdas with flex grid 6.25 GHz spacing and 12.5 GHz width into fixed grid OCh signal.
        Parameters:
        lambdas - list of flex grid lambdas in sorted order
        spacing - desired fixed grid spacing
        Returns:
        fixed grid lambda
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object