optic.dsp.equalization.dfe

dfe(x, dx, param)

Decision feedback adaptive equalizer (DFE) for SISO receivers.

Parameters:
  • x (np.array) – Input signal to be equalized.

  • dx (np.array) – Desired (reference) signal.

  • param (optic.utils.parameters object) –

    DFE parameters:

    • param.nTapsFF : number of feedforward taps [default: 5]

    • param.nTapsFB : number of feedback taps [default: 5]

    • param.SpS : samples per symbol [default: 1]

    • param.mu : step size [default: 0.0001]

    • param.nTrain : number of training symbols [default: 1000]

    • param.prec : precision [default: np.float32]

    • param.M : modulation order [default: 4]

    • param.constType : constellation type (‘pam’, ‘qam’, etc.) [default: ‘pam’]

    • param.f : initial feedforward coeffs [default: None]

    • param.b : initial feedback coeffs [default: None]

    • param.trainingMode : operation mode (‘data-aided’, ‘fulltime’) [default: ‘data-aided’]

    • param.preconvIters : number of pre-convergence iterations [default: 1]

Returns:

  • yEq (np.array) – Equalized output signal.

  • f (np.array) – Final feedforward filter coefficients.

  • b (np.array) – Final feedback filter coefficients.

Notes

  • Training mode ‘data-aided’ uses the known training symbols for adaptation, while ‘fulltime’ continues to adapt using decision-directed mode even after the training phase.

  • Pre-convergence iterations can help the algorithm to converge better by restarting the adaptation process after the initial training phase.

References

[1] Proakis, J. G., & Salehi, M. (2008). Digital Communications (5th Edition). McGraw-Hill Education.