comnum.iqm#

comnum.iqm(e, u, *, vpi=Ellipsis, vb_i=Ellipsis, vb_q=Ellipsis, vphi=Ellipsis, er_i_db=Ellipsis, er_q_db=Ellipsis)#

IQ modulator (OptiCommPy iqm): two MZMs driven by Re u and Im u on the halves of the field and recombined with the phase π V_φ/V_π.

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

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

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

  • vb_i (float) – the bias of the in-phase MZM (V).

  • vb_q (float) – the bias of the quadrature MZM (V).

  • vphi (float) – the voltage of the phase shifter V_φ (V).

  • er_i_db (float) – the extinction ratio of the in-phase MZM (dB).

  • er_q_db (float) – the extinction ratio of the quadrature MZM (dB).

Returns:

the modulated field (complex128).

Return type:

numpy.ndarray

Raises:

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