torchsig.transforms.functional.nonlinear_amplifier_table¶
- torchsig.transforms.functional.nonlinear_amplifier_table(data: ndarray, Pin: ndarray = array([1.00000000e-10, 1.00000000e-02, 1.00000000e-01, 1.00000000e+00, 3.16227766e+00, 1.00000000e+01]), Pout: ndarray = array([1.00000000e-09, 1.00000000e-01, 1.00000000e+00, 7.94328235e+00, 9.77237221e+00, 1.00000000e+01]), Phi: ndarray = array([0., -0.03490659, -0.06981317, 0.12217305, 0.20943951, 0.40142573]), 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.
Pin = 10**((np.array([-100., -20., -10., 0., 5., 10. ]) / 10)) Pout = 10**((np.array([ -90., -10., 0., 9., 9.9, 10. ]) / 10)) Phi = np.deg2rad(np.array([0., -2., -4., 7., 12., 23.]))
- Parameters:
data (np.ndarray) – Complex valued IQ data samples.
Pin (np.ndarray) – Model signal power input points. Assumes sorted ascending linear values (Watts).
Pout (np.ndarray) – Model power out corresponding to Pin points (Watts).
Phi (np.ndarray) – Model output phase shift values (radians) corresponding to Pin points.
auto_scale (bool) – 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.
- Return type:
np.ndarray