public class OpticalImpairmentUtils extends Object
Modifier and Type | Field and Description |
---|---|
static double |
constant_c
speed of light in m/s
|
static double |
constant_h
Plank constant in m^2 kg/sec
|
static String |
stFiber_alpha_dB_per_km |
static String |
stFiber_alpha1st_dB_per_km_per_THz |
static String |
stFiber_beta2_ps2_per_km |
static String |
stFiber_effectiveArea_um2 |
static String |
stFiber_n2Coeff_m2_per_W |
static String |
stSpectrum_aseNoisePower_W |
static String |
stSpectrum_bandwidthPerChannel_THz |
static String |
stSpectrum_nliNoisePowerg_W |
static String |
stSpectrum_powerPerChannel_W |
Modifier and Type | Method and Description |
---|---|
static List<Quadruple<Map<String,double[]>,Double,Map<String,double[]>,Double>> |
computeImpairments(List<Quadruple<Double,String,Double,String>> linkElements,
Map<String,double[]> spectrumParameters,
Map<String,Map<String,Double>> fibersParameters,
double oadm_perChannelOutputPower_W,
double fiber_PMD_ps_per_sqroot_km,
double edfa_PMD,
double pc_PMD,
double oadm_muxDemuxPMD_ps,
double oadm_preAmplifierPMD_ps,
double oadm_boosterPMD_ps,
double[] frequenciesPerChannel_THz,
double centralFrequency_THz,
double tp_inputPowerSensitivityMin_dBm,
double tp_inputPowerSensitivityMax_dBm)
Computes OSNRs and power per channel with the GN formula and PMD according to Net2Plan calculations.
|
static double |
dB2linear(double dB)
Converts dB value into linear
|
static double[] |
dB2linear(double[] dB)
Converts dB array into linear
|
static Triple<double[],double[],double[]> |
getOSNR(Map<String,double[]> spectrum)
Computes linear, non-linear and total OSNR from the data of the given spectrum
|
static double |
linear2dB(double num)
Converts linear value into dBs
|
static double[] |
linear2dB(double[] nums)
Converts linear arrays into dBs
|
public static final double constant_c
public static final double constant_h
public static final String stFiber_alpha_dB_per_km
public static final String stFiber_alpha1st_dB_per_km_per_THz
public static final String stFiber_beta2_ps2_per_km
public static final String stFiber_effectiveArea_um2
public static final String stFiber_n2Coeff_m2_per_W
public static final String stSpectrum_aseNoisePower_W
public static final String stSpectrum_bandwidthPerChannel_THz
public static final String stSpectrum_nliNoisePowerg_W
public static final String stSpectrum_powerPerChannel_W
public static List<Quadruple<Map<String,double[]>,Double,Map<String,double[]>,Double>> computeImpairments(List<Quadruple<Double,String,Double,String>> linkElements, Map<String,double[]> spectrumParameters, Map<String,Map<String,Double>> fibersParameters, double oadm_perChannelOutputPower_W, double fiber_PMD_ps_per_sqroot_km, double edfa_PMD, double pc_PMD, double oadm_muxDemuxPMD_ps, double oadm_preAmplifierPMD_ps, double oadm_boosterPMD_ps, double[] frequenciesPerChannel_THz, double centralFrequency_THz, double tp_inputPowerSensitivityMin_dBm, double tp_inputPowerSensitivityMax_dBm)
linkElements
- List of Quadruples where 1st: position (km); 2nd: Type; 3rd: data; 4th: auxDataspectrumParameters
- Map with keys stSpectrum_XXfibersParameters
- Map with key fiberType, and value a Map of (stFiber_XXX, paramValue)oadm_perChannelOutputPower_W
- output power for all OADMs (per channel)fiber_PMD_ps_per_sqroot_km
- PMD fiber coefficientedfa_PMD
- edfa PMD coefficientpc_PMD
- PC PMD coefficientoadm_muxDemuxPMD_ps
- mux OADM PMD coefficientoadm_preAmplifierPMD_ps
- pre-amplifier OADM PMD coefficientoadm_boosterPMD_ps
- booster OAMD PMD coefficientfrequenciesPerChannel_THz
- array with the frequencies of each channelcentralFrequency_THz
- the central frequency of the used spectrumtp_inputPowerSensitivityMin_dBm
- minimum input power of the final transpondertp_inputPowerSensitivityMax_dBm
- maximum input power of the final transponderpublic static double dB2linear(double dB)
dB
- value in dBpublic static double[] dB2linear(double[] dB)
dB
- array of dB valuespublic static Triple<double[],double[],double[]> getOSNR(Map<String,double[]> spectrum)
spectrum
- (Map with keys: p_ch, p_ase, p_nli)public static double linear2dB(double num)
num
- linear numberpublic static double[] linear2dB(double[] nums)
nums
- linear arrayCopyright © 2018. All rights reserved.