Saleh Power Amplifier

Inheritance diagram of hermespy.simulation.rf_chain.power_amplifier.SalehPowerAmplifier

Model of a power amplifier according to Saleh[1]. Implements a saturation characteristic according to

\[s'(t) = s(t) \cdot A\lbrace s(t) \rbrace e^{\mathrm{j} \Phi\lbrace s(t) \rbrace}\]

where

\[A\lbrace s \rbrace = \frac{ \alpha_\mathrm{a} \frac{|s|}{s_\mathrm{sat}} } { 1 + \beta_\mathrm{a} \frac{|s|^2}{s_\mathrm{sat}^2} }\]

describes the amplitude model depending on two parameters \(\alpha_\mathrm{a}, \beta_\mathrm{a} \in \mathbb{R}_{+}\) and

\[\Phi\lbrace s \rbrace = \frac{ \alpha_\Phi \frac{|s|}{s_\mathrm{sat}} } { 1 + \beta_\Phi \frac{|s|^2}{s_\mathrm{sat}^2} }\]

describes the phase model depending on \(\alpha_\Phi, \beta_\Phi \in \mathbb{R}\), respectively.

class SalehPowerAmplifier(amplitude_alpha, amplitude_beta, phase_alpha, phase_beta, **kwargs)[source]

Bases: PowerAmplifier

Model of a power amplifier according to Saleh.

See Saleh[1] for further details.

Parameters:
  • amplitude_alpha (float) – Amplitude model factor alpha.

  • amplitude_beta (float) – Amplitude model factor beta.

  • phase_alpha (float) – Phase model factor alpha.

  • phase_beta (float) – Phase model factor beta.

  • **kwargs (Any) – PowerAmplifier base class initialization arguments.

model(input_signal)[source]

Model signal amplification characteristics.

Parameters:

input_signal (numpy.ndarray) – Sample vector of the signal feeding into the power amplifier.

Returns:

Distorted signal after amplification modeling.

Return type:

np.ndarray

property amplitude_alpha: float

Amplitude model factor \(\alpha_\mathrm{a}\).

Returns:

Amplitude factor.

Return type:

float

Raises:

ValueError – If the factor is smaller than zero.

property amplitude_beta: float

Amplitude model factor \(\beta_\mathrm{a}\).

Returns:

Amplitude factor.

Return type:

float

Raises:

ValueError – If the factor is smaller than zero.

phase_alpha: float

Phase model factor \(\alpha_\Phi\).

phase_beta: float

Phase model factor \(\beta_\Phi\).