comnum.evm#

comnum.evm(symbols, constellation, *, tx=None)#

Error vector magnitude as a power ratio E|y - x̂|² / E|x̂|² (OptiCommPy calcEVM); the EVM in percent is 100·√evm.

With tx, x̂ is the transmitted sequence (after the same preprocessing as fast_ber_calc); without, the nearest points of the normalised constellation.

Parameters:
  • symbols (array_like) – the received symbols.

  • constellation (Constellation) – the alphabet.

  • tx (array_like, optional) – the transmitted symbols.

Returns:

the EVM as a power ratio.

Return type:

float

Raises:

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