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.