comnum.zf_precoder#

comnum.zf_precoder(h, *, total_power=1.0, alpha=0.0)#

The (regularised) zero-forcing precoder Hᴴ(H Hᴴ + αI)⁻¹ of the users of the rows of h, scaled to total_power (α = 0 for zero forcing, K σ²/P for the regularised version).

Parameters:
  • h (array_like) – the channel (n_users, n_tx).

  • total_power (float) – the total transmit power.

  • alpha (float) – the regularisation α.

Returns:

the precoder (n_tx, n_users) (complex128).

Return type:

numpy.ndarray

Raises:

ValueError – for an invalid parameter or input (the message names it).