comnum.mzm#

comnum.mzm(e, u, *, vpi=Ellipsis, vb=Ellipsis, er_db=Ellipsis)#

Push-pull Mach–Zehnder modulator (OptiCommPy mzm): E [c_I cos θ + j c_Q sin θ] with θ = π(u + V_b)/(2V_π) and the arm coefficients of the extinction ratio (cos θ for an infinite one); the bias -V_π is the null (carrier suppression), -V_π/2 the quadrature point.

Parameters:
  • e (array_like) – the optical field (√W).

  • u (array_like) – the driving voltage (V), one value per sample.

  • vpi (float) – the half-wave voltage V_π (V).

  • vb (float) – the bias voltage V_b (V).

  • er_db (float) – the extinction ratio (dB).

Returns:

the modulated field (complex128).

Return type:

numpy.ndarray

Raises:

ValueError – for an invalid parameter or input (the message names it).