comnum.ofdm_budget#

comnum.ofdm_budget(snr_db, loss_db)#

The SNR-loss budget of an OFDM receiver (Speth, Fechtel, Fock & Meyr 1999): the largest residual impairments for an allowed loss of SNR.

Parameters:
  • snr_db (float) – the SNR per subcarrier (dB).

  • loss_db (float) – the allowed loss of SNR (dB).

Returns:

noise (the largest total power of the residual noises, relative to a subcarrier, eq. (51)), cfo (the largest carrier frequency offset in subcarrier spacings, eq. (43)), doppler (the largest f_D T_u, Fig. 7) and estimator_gain (the gain a channel estimator needs, eq. (20)).

Return type:

dict

Raises:

ValueError – for a loss that is not positive or a non-finite SNR.

Example

>>> import comnum
>>> b = comnum.ofdm_budget(20.0, 1.0)
>>> round(b["doppler"], 4), round(b["estimator_gain"], 2)
(0.0354, 3.86)