Rapp Power Amplifier

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

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

\[s'(t) = s(t) \cdot \left( 1 + \left( \frac{|s(t)|}{s_\mathrm{sat}} \right)^{2p_\mathrm{Rapp}} \right)^{-\frac{1}{2p_\mathrm{Rapp}}} \text{,}\]

where \(p_\mathrm{Rapp} \in \lbrace x \in \mathbb{R} | x \geq 1 \rbrace\) denotes the smoothness factor of the saturation curve.

class RappPowerAmplifier(smoothness_factor=1.0, **kwargs)[source]

Bases: PowerAmplifier

Model of a power amplifier according to Rapp’s model.

See Rapp[1] for further details.

Parameters:
  • smoothness_factor (float, optional) – Smoothness factor of the amplification saturation characteristics.

  • **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 smoothness_factor: float

Smoothness factor of the amplification saturation characteristics.

Also referred to as Rapp-factor \(p_\mathrm{Rapp}\).

Returns:

Smoothness factor.

Return type:

float

Raises:

ValueError – If smoothness factor is smaller than one.

yaml_tag: str = 'Rapp'

YAML serialization tag.