Package ons

Class PhysicalImpairments

java.lang.Object
ons.PhysicalImpairments

public class PhysicalImpairments
extends java.lang.Object
  • Method Details

    • setPT

      protected void setPT​(PhysicalTopology pt)
    • setVT

      protected void setVT​(VirtualTopology vt)
    • getPhysicalImpairmentsObject

      public static PhysicalImpairments getPhysicalImpairmentsObject()
    • getPhysicalImpairmentsObject

      public static PhysicalImpairments getPhysicalImpairmentsObject​(org.w3c.dom.Element xml)
    • computeSNR

      protected void computeSNR​(LightPath lightpath)
      Computes the SNR value of this lightpath and its neighbors.
      Parameters:
      lightpath - the LightPath Object
    • testSNR

      public boolean testSNR​(LightPath lightpath)
      Checks whether this lightpath can be set by meeting all QoT, (QoTN and QoTO) requirements.
      Parameters:
      lightpath - the LightPath Object
      Returns:
      true if is possible, false otherwise.
    • ratioOfDB

      public double ratioOfDB​(double dB)
      Converts a value in dB to a linear value (ratio)
      Parameters:
      dB - valeu
      Returns:
      ratio
    • computeSNRlightpath

      public double computeSNRlightpath​(LightPath lp)
      Compute the SNR of this lp.
      Parameters:
      lp - the LightPath Object
      Returns:
      the SNR of this lp
    • computeDeltaSNRNeighbors

      public double computeDeltaSNRNeighbors​(LightPath lightpath)
      Computes the smallest variation (DELTA) of neighboring SNR if this lightpath is allocated.
      Parameters:
      lightpath - the LightPath Object
      Returns:
      deltaSNR, If retrieves MAX_VALUE its not possible established this lp
    • ratioForDB

      public static double ratioForDB​(double ratio)
      Converts a ratio (linear) to decibel
      Parameters:
      ratio -
      Returns:
      dB
    • getSNR

      public double getSNR​(LightPath lp)
      Computes and retrieves the SNR of this lightpath
      Parameters:
      lp - the LightPath Object
      Returns:
      the SNR of this lightpath
    • checkXTNeighbors

      public boolean checkXTNeighbors​(LightPath lp, int[] links, int[] cores, int firstSlot, int requiredSlots)
      Usado para verificar se o XT eh viavel para os circuitos ja alocados nos nucleos vizinhos ao nucleo escolhido, dentro dos indices de slots do novo circuito.
      Parameters:
      lp -
      links -
      cores -
      firstSlot -
      requiredSlots -
      Returns:
    • checkXTNeighbors

      public boolean checkXTNeighbors​(LightPath lp)
    • checkNumberOfNeighbors

      protected int checkNumberOfNeighbors​(int[] links, int[] cores, int firstSlot, int requiredSlots)
      Para cenario de vizinhos dinamicos, o algoritmo percorre a lista de links, e verifica quais nucleos estao ocupados na faixa espectral a ser ocupada pelo novo circuito. Em necario de vizinhos estaticos, verifica qual dos nucleos escolhidos apresenta a maior quantidade de vizinhos.
      Parameters:
      links - lista de enlaces da rota
      cores - lista de nucleos da rota
      firstSlot - slot inicial para o circuito
      requiredSlots - numero de slots do circuito
      Returns:
      int quantidade de vizinhos diferentes ocupados ao longo da rota.
    • checkCrosstalk

      public boolean checkCrosstalk​(int[] links, int[] cores, int firstSlot, int requiredSlots, int modulation)
      Verificacao de XT.
      Parameters:
      links -
      cores -
      firstSlot -
      requiredSlots -
      modulation -
      Returns:
    • checkCrosstalk

      public boolean checkCrosstalk​(EONLightPath lp)
    • crosstalk

      public double crosstalk​(int x, double L)
      Retorna valor de crosstalk Referencia: Ruijie Zhu, Yongli Zhao, Hui Yang, Haoran Chen, Jie Zhang, and Jason P. Jue, "Crosstalk-aware RCSA for spatial division multiplexing enabled elastic optical networks with multi-core fibers," Chin. Opt. Lett. 14, 100604- (2016) Limiar de XT desta referencia = -25 dB
      Parameters:
      x - numero de nucleos adjacentes
      L - comprimento do enlace, em km
      Returns:
      double - valor de crosstalk para o nucleo
    • isXTaware

      public boolean isXTaware()
    • setXTaware

      public void setXTaware​(boolean xTaware)
    • isDynamicActiveNeighborNumber

      public boolean isDynamicActiveNeighborNumber()
    • setDynamicActiveNeighborNumber

      public void setDynamicActiveNeighborNumber​(boolean dynamicActiveNeighborNumber)
    • isXTonOthers

      public boolean isXTonOthers()
    • setXTonOthers

      public void setXTonOthers​(boolean xTonOthers)
    • getK

      public double getK()
    • setK

      public void setK​(double k)
    • getR

      public double getR()
    • setR

      public void setR​(double r)
    • getBeta

      public double getBeta()
    • setBeta

      public void setBeta​(double beta)
    • getW_tr

      public double getW_tr()
    • setW_tr

      public void setW_tr​(double w_tr)
    • isSNRaware

      public boolean isSNRaware()
    • isCheckQoT

      public boolean isCheckQoT()
    • isPhysicalDistance

      public boolean isPhysicalDistance()
    • getLightPathLength

      public double getLightPathLength​(LightPath lp)
      Retrieves the length of this lightpath's links
      Parameters:
      lp - yhe lightpath
      Returns:
      the length of this lightpath's links