Add Noise and CFO at Receiver

This module add the additive white Gaussian noise and apply the carrier frequency offset to the input signal. The details about the input and output interface of the module are provided below.

Note

The multiplicative model is used for carrier frequency offset (CFO).

class toolkit5G.ChannelProcessing.AddNoise(addCFO=False)[source]

Add the additive while Gaussian noise and CFO in the input signal.

Parameters:

addCFO (bool) – Flag to add the CFO to the input signal post adding the noise. Default value is False.

Input:
  • input ((shape) NumPy array, np.complex) – Input signal to be processed.

  • n0 (float) – Power spectral density of the noise at the receiver.

  • cfo (float) – Carrier frequency offset value to be introduced to the input signal. The value is relevant only when the addCFO is enabled. Default value is None.

Warning

If the addCFO is true, the cfo must be passed.

Output:

(shape) NumPy array, np.complex – Noisy and carrier frequency offseted input signal.

Raises:
  • ValueError – “[AddNoise-Error]: ‘addCFO’ must be a bool!”

  • ValueError – “[AddNoise-Error]: ‘inputs’ must be a NumPy array!”

  • ValueError – “[AddNoise-Error]: ‘n0’ must be a number!”

  • ValueError – “[AddNoise-Error]: ‘cfo’ must be a number!”