Package ons
Class PhysicalImpairments
java.lang.Object
ons.PhysicalImpairments
public class PhysicalImpairments
extends java.lang.Object
-
Method Summary
Modifier and Type Method Description booleancheckCrosstalk(int[] links, int[] cores, int firstSlot, int requiredSlots, int modulation)Verificacao de XT.booleancheckCrosstalk(EONLightPath lp)protected intcheckNumberOfNeighbors(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.booleancheckXTNeighbors(LightPath lp)booleancheckXTNeighbors(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.doublecomputeDeltaSNRNeighbors(LightPath lightpath)Computes the smallest variation (DELTA) of neighboring SNR if this lightpath is allocated.protected voidcomputeSNR(LightPath lightpath)Computes the SNR value of this lightpath and its neighbors.doublecomputeSNRlightpath(LightPath lp)Compute the SNR of this lp.doublecrosstalk(int x, double L)Retorna valor de crosstalk Referencia: Ruijie Zhu, Yongli Zhao, Hui Yang, Haoran Chen, Jie Zhang, and Jason P.doublegetBeta()doublegetK()doublegetLightPathLength(LightPath lp)Retrieves the length of this lightpath's linksstatic PhysicalImpairmentsgetPhysicalImpairmentsObject()static PhysicalImpairmentsgetPhysicalImpairmentsObject(org.w3c.dom.Element xml)doublegetR()doublegetSNR(LightPath lp)Computes and retrieves the SNR of this lightpathdoublegetW_tr()booleanisCheckQoT()booleanisDynamicActiveNeighborNumber()booleanisPhysicalDistance()booleanisSNRaware()booleanisXTaware()booleanisXTonOthers()static doubleratioForDB(double ratio)Converts a ratio (linear) to decibeldoubleratioOfDB(double dB)Converts a value in dB to a linear value (ratio)voidsetBeta(double beta)voidsetDynamicActiveNeighborNumber(boolean dynamicActiveNeighborNumber)voidsetK(double k)protected voidsetPT(PhysicalTopology pt)voidsetR(double r)protected voidsetVT(VirtualTopology vt)voidsetW_tr(double w_tr)voidsetXTaware(boolean xTaware)voidsetXTonOthers(boolean xTonOthers)booleantestSNR(LightPath lightpath)Checks whether this lightpath can be set by meeting all QoT, (QoTN and QoTO) requirements.
-
Method Details
-
setPT
-
setVT
-
getPhysicalImpairmentsObject
-
getPhysicalImpairmentsObject
-
computeSNR
Computes the SNR value of this lightpath and its neighbors.- Parameters:
lightpath- the LightPath Object
-
testSNR
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
Compute the SNR of this lp.- Parameters:
lp- the LightPath Object- Returns:
- the SNR of this lp
-
computeDeltaSNRNeighbors
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
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
-
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 rotacores- lista de nucleos da rotafirstSlot- slot inicial para o circuitorequiredSlots- 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
-
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 adjacentesL- 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
Retrieves the length of this lightpath's links- Parameters:
lp- yhe lightpath- Returns:
- the length of this lightpath's links
-