comnum.amplifier_bussgang#
- comnum.amplifier_bussgang(model, power, *, saturation=Ellipsis, smoothness=Ellipsis, alpha_a=Ellipsis, beta_a=Ellipsis, alpha_p=Ellipsis, beta_p=Ellipsis)#
Bussgang’s decomposition
y = K x + dof a memoryless amplifier driven by a circular complex Gaussian signal: the complex gain and the power of the distortion.The parameters of each model default to those of
pa_rapp()andpa_saleh()(Rapp withp = 2, Saleh’s fit of 1981).- Parameters:
model (str) –
"rapp"(gain 1,saturation,smoothness) or"saleh"(alpha_a,beta_a,alpha_p,beta_p).power (float) – the input power.
saturation (float) – Rapp’s saturation amplitude.
smoothness (float) – Rapp’s smoothness
p.alpha_a (float) – Saleh’s AM/AM gain.
beta_a (float) – Saleh’s AM/AM compression.
alpha_p (float) – Saleh’s AM/PM gain (rad).
beta_p (float) – Saleh’s AM/PM compression.
- Returns:
Kandσ_d².- Return type:
- Raises:
ValueError – for an unknown model.
Examples
The TWTA of Bouhadda et al. (2014, Table 3) at 4 dB of input back-off,
φ₀ = π/6:>>> import comnum, math >>> k, d = comnum.amplifier_bussgang("saleh", 10 ** -0.4, alpha_a=1.0, beta_a=1.0, ... alpha_p=math.pi / 6, beta_p=1.0) >>> round(k.real, 4), round(k.imag, 4) (0.5917, 0.1106)