Normalization

class Normalization.BaseNormalization[source]

Base class for normalization. Normalization classes let us switch to normalized forms of the transmission equations and back. All normalization classes should be derived from this class.

denorm_alpha(Gamma)[source]

De-normalize a normalized attenuation parameter Gamma.

denorm_dist(xi)[source]

De-normalize a normalized space variable xi.

denorm_field(u)[source]

De-normalize a normalized field u.

denorm_time(tv)[source]

De-normalize a normalized time variable tau.

norm_alpha(alpha)[source]

Apply normalization to an attentuation parameter alpha.

norm_dist(z)[source]

Apply normalization to a space variable z.

norm_field(A)[source]

Apply normalization to a field A.

norm_time(t)[source]

Apply normalization to a time variable t.

class Normalization.Lossless(b2, gamma, Tscal)[source]

The Lossless object allows to normalize and de-normalize field, time and spatial variables.

Here, it is assumed that the fiber is lossless.

Initialization:

normobj = Normalization(b2, gamma, Tscal)

Arguments:

  • b2 : GVD parameter in units of s**2/m
  • gamma : nonlinearity parameter in units of (W m)**(-1)
  • Tscal : scaling time in units of s

Examples

  • initialize:

    b2 = -20e-27 gamma = 0.001 Ts = 1e-12 normobj = Normalization(b2, gamma, Ts)

  • normalize a field amplitude A:

    u = normobj.norm_field(A)

  • de-normalize a normalized field amplitude u:

    A = normobj.denorm_field(u)

  • normalize a time t:

    tau = normobj.norm_time(t)

  • normalize a distance L:

    xi = normobj.norm_dist(L)

__init__(b2, gamma, Tscal)[source]

Initialize self. See help(type(self)) for accurate signature.

__repr__()[source]

Return repr(self).

denorm_alpha(Gamma)[source]

De-normalize a normalized attenuation parameter Gamma.

denorm_dist(xi)[source]

De-normalize a normalized space variable xi.

denorm_field(u)[source]

De-normalize a normalized field u.

denorm_time(tv)[source]

De-normalize a normalized time variable tau.

norm_alpha(alpha)[source]

Apply normalization to an attentuation parameter alpha.

norm_dist(z)[source]

Apply normalization to a space variable z.

norm_field(A)[source]

Apply normalization to a field A.

norm_time(t)[source]

Apply normalization to a time variable t.

class Normalization.Lumped(b2, gamma, Tscal, alpha, zamp)[source]

The Lumped object allows to normalize and de-normalize for the case of lumped amplfication.

Here, it is assumed that fiber losses are compensated by lumped amplification. When the distance between the amplifiers is small compared to e.g. the dispersion length, the lossless case can be simulated using a reduced nonlinearity parameter gamma1.

See: S.T. Le et al.: ‘Nonlinear inverse synthesis technique for optical
links with lumped amplification’, Opt. Expr. 23, 8317 (2015)

Initialization:

normobj = Normalization(b2, gamma, Tscal, alpha, zamp)

Arguments:

  • b2 : GVD parameter in units of s**2/m
  • gamma : nonlinearity parameter in units of (W m)**(-1)
  • Tscal : scaling time in units of s
  • alpha : loss coefficient in units of 1/m
  • zamp : distance between lumped amplifiers in units of m

Examples

  • initialize:

    b2 = -20e-27 gamma = 0.001 Ts = 1e-12 alpha = 4.6e-5 # = 0.2dB/km zamp = 10e3 normobj = NormalizationLumped(b2, gamma, Ts, alpha, zamp)

  • normalize a field amplitude A:

    u = normobj.norm_field(A)

  • de-normalize a normalized field amplitude u:

    A = normobj.denorm_field(u)

  • normalize a time t:

    tau = normobj.norm_time(t)

  • normalize a distance L:

    xi = normobj.norm_dist(L)

__init__(b2, gamma, Tscal, alpha, zamp)[source]

Initialize self. See help(type(self)) for accurate signature.

__repr__()[source]

Return repr(self).