Main Content

(Legacy) Memoryless Nonlinearity

(To be removed) Apply memoryless nonlinearity to complex baseband signal

In R2023a, the (Legacy) Memoryless Nonlinearity block updates the methods for applying memoryless nonlinearity impairments in amplifier models. For the new interface, see the Memoryless Nonlinearity reference page instead. (since R2023a) For more information, see Version History.

  • Memoryless Nonlinearity block

Libraries:
Communications Toolbox / RF Impairments and Components

Description

The (Legacy) Memoryless Nonlinearity block applies memoryless nonlinear impairments to a complex baseband signal. Use this block to model memoryless nonlinear impairments caused by signal amplification in the radio frequency (RF) transmitter or receiver. For more information, see Memoryless Nonlinear Impairments.

Note

All values of power assume a nominal impedance of 1 ohm.

Ports

Input

expand all

Input RF baseband signal, specified as a scalar or column vector. Values in this input must be complex.

Data Types: double
Complex Number Support: Yes

Output

expand all

Output RF baseband signal, returned as a scalar or column vector. The output is of the same data type as the input.

Parameters

expand all

Nonlinearity modeling method, specified as Cubic polynomial, Hyperbolic tangent, Saleh model, Ghorbani model, Rapp model, or Lookup table. For more information, see Memoryless Nonlinear Impairments.

Linear gain in decibels, specified as a scalar. This parameter scales the power gain of the output signal.

Tunable: Yes

Dependencies

To enable this parameter, set the Method to Cubic polynomial, Hyperbolic tangent, or Rapp model.

Third-order input intercept point in dBm, specified as a scalar.

Tunable: Yes

Dependencies

To enable this parameter, set the Method to Cubic polynomial or Hyperbolic tangent.

AM/PM conversion factor in degrees per decibel, specified as a scalar. For more information, see Cubic Polynomial and Hyperbolic Tangent Model Methods.

Tunable: Yes

Dependencies

To enable this parameter, set the Method to Cubic polynomial or Hyperbolic tangent.

Input power lower limit in dBm, specified as a scalar less than the Upper input power limit for AM/PM conversion (dBm) parameter value. The AM/PM conversion scales linearly for input power values in the range [Lower input power limit for AM/PM conversion (dBm), Upper input power limit for AM/PM conversion (dBm)]. If the input signal power is below the input power lower limit, the phase shift resulting from AM/PM conversion is zero. For more information, see Cubic Polynomial and Hyperbolic Tangent Model Methods.

Tunable: Yes

Dependencies

To enable this parameter, set the Method to Cubic polynomial or Hyperbolic tangent.

Input power upper limit in dBm, specified as a scalar greater than the Lower input power limit for AM/PM conversion (dBm) parameter value. The AM/PM conversion scales linearly for input power values in the range [Lower input power limit for AM/PM conversion (dBm), Upper input power limit for AM/PM conversion (dBm)]. If the input signal power is below the input power lower limit, the phase shift resulting from AM/PM conversion is zero. For more information, see Cubic Polynomial and Hyperbolic Tangent Model Methods.

Tunable: Yes

Dependencies

To enable this parameter, set the Method to Cubic polynomial or Hyperbolic tangent.

Input signal scaling factor in decibels, specified as a scalar. This parameter scales the power gain of the input signal.

Tunable: Yes

Dependencies

To enable this parameter, set the Method to Saleh model or Ghorbani model.

AM/AM parameters for Saleh model, used to compute the amplitude gain for an input signal, specified as a two-element vector. For more information, see Saleh Model Method.

Tunable: Yes

Dependencies

To enable this parameter, set the Method to Saleh model.

AM/PM parameters for Saleh model, used to compute the phase change for an input signal, specified as a two-element vector. For more information, see Saleh Model Method.

Tunable: Yes

Dependencies

To enable this parameter, set the Method to Saleh model.

AM/AM parameters for Ghorbani model, used to compute the amplitude gain for an input signal, specified as a four-element vector. For more information, see Ghorbani Model Method.

Tunable: Yes

Dependencies

To enable this parameter, set the Method to Ghorbani model.

AM/PM parameters for Ghorbani model, used to compute the phase change for an input signal, specified as a four-element vector. For more information, see Ghorbani Model Method.

Tunable: Yes

Dependencies

To enable this parameter, set the Method to Ghorbani model.

Output signal scaling factor in decibels, specified as a scalar. This parameter scales the power gain of the output signal.

Tunable: Yes

Dependencies

To enable this parameter, set the Method to Saleh model or Ghorbani model.

Smoothness factor, specified as a scalar. For more information, see Rapp Model Method.

Tunable: Yes

Dependencies

To enable this parameter, set the Method to Rapp model.

Output saturation level, specified as a scalar. For more information, see Rapp Model Method.

Tunable: Yes

Dependencies

To enable this parameter, set the Method to Rapp model.

Block Characteristics

Data Types

double | single

Multidimensional Signals

no

Variable-Size Signals

yes

More About

expand all

References

[1] Saleh, A.A.M. “Frequency-Independent and Frequency-Dependent Nonlinear Models of TWT Amplifiers.” IEEE Transactions on Communications 29, no. 11 (November 1981): 1715–20. https://doi.org/10.1109/TCOM.1981.1094911.

[2] Ghorbani, A., and M. Sheikhan. "The Effect of Solid State Power Amplifiers (SSPAs) Nonlinearities on MPSK and M-QAM Signal Transmission." In 1991 Sixth International Conference on Digital Processing of Signals in Communications, 193–97, 1991.

[3] Rapp, Ch. "Effects of HPA-Nonlinearity on a 4-DPSK/OFDM-Signal for a Digital Sound Broadcasting System." In Proceedings Second European Conf. on Sat. Comm. (ESA SP-332), 179–84. Liege, Belgium, 1991. https://elib.dlr.de/33776/.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced before R2006a

expand all