torchsig.transforms.functional.nonlinear_amplifier_table

torchsig.transforms.functional.nonlinear_amplifier_table(data: ndarray, p_in: ndarray | None = None, p_out: ndarray | None = None, phi: ndarray | None = None, auto_scale: bool = False) ndarray[source]

A nonlinear amplifier (AM/AM, AM/PM) memoryless model that distorts an input complex signal to simulate an amplifier response, based on interpolating a table of provided power input, power output, and phase change data points.

Default very small model parameters depict a 10 dB gain amplifier with P1dB = 9.0 dBW.

p_in = 10**((np.array([-100., -20., -10., 0., 5., 10. ]) / 10)) p_out = 10**((np.array([ -90., -10., 0., 9., 9.9, 10. ]) / 10)) phi = np.deg2rad(np.array([0., -2., -4., 7., 12., 23.]))

Parameters:
  • data – Complex valued IQ data samples.

  • p_in – Model signal power input points. Assumes sorted ascending linear values (Watts).

  • p_out – Model power out corresponding to p_in points (Watts).

  • phi – Model output phase shift values (radians) corresponding to p_in points.

  • auto_scale – Automatically rescale output power to match full-scale peak input power prior to transform, based on peak estimates. Default False.

Raises:

ValueError – If model array arguments are not the same size.

Returns:

Nonlinearly distorted IQ data.