comnum.pa_rapp#

comnum.pa_rapp(x, *, gain=Ellipsis, saturation=Ellipsis, smoothness=Ellipsis, obo_db=None)#

Rapp’s solid-state amplifier: A(r) = g r / (1 + (g r / A_sat)^(2p))^(1/(2p)), no AM/PM (Rapp 1991).

Parameters:
  • x (array_like) – the input envelope.

  • gain (float) – the small-signal gain g.

  • saturation (float) – the saturation amplitude A_sat.

  • smoothness (float) – the smoothness p.

  • obo_db (float | None) – when given, the input is first scaled so that the mean output power of the block sits obo_db dB below the saturation power (the output back-off of Saul, VTC2004-Fall, eq. (3)); by bisection.

Returns:

the output (complex128).

Return type:

numpy.ndarray

Raises:

ValueError – for an input that is not an array of numbers of the expected shape, a back-off that is not positive, or a silent input with a back-off.