comnum.amp_state_evolution#
- comnum.amp_state_evolution(constellation, beta, noise_var, iterations, *, px=None, real=False)#
The state evolution of LAMA (Jeon et al. 2018, Corollary 2): the variance of the decoupled channel and the predicted MSE of every iteration, in the large-system limit with columns of unit norm.
- Parameters:
constellation (Constellation) – the alphabet of every stream.
beta (float) – the system ratio
n_tx / n_rx.noise_var (float) – noise variance per receive antenna, relative to columns of unit norm (
β Es / SNR).iterations (int) – iterations.
px (array_like, optional) – prior probabilities of the points (uniform by default).
real (bool) – a real model.
- Returns:
noise_varandmse, one value per iteration.- Return type:
- Raises:
ValueError – for an input that is not an array of numbers of the expected shape.
Examples
>>> import comnum >>> c = comnum.Constellation("qam", 4).normalized() >>> se = comnum.amp_state_evolution(c, 0.5, 0.05, 20) >>> bool(se["mse"][-1] < se["mse"][0]) True