optic.dsp.equalization.mimoAdaptEqualizer

mimoAdaptEqualizer(x, param=None, dx=None)

General \(N \times N\) MIMO adaptive equalizer with several adaptive filtering algorithms available.

Parameters:
  • x (np.array) – Input array.

  • dx (np.array, optional) – Syncronized exact symbol sequence corresponding to the received input array x.

  • param (optic.utils.parameters object, optional) –

    Parameter object containing the following attributes:

    • numIter : int, number of pre-convergence iterations [default: 1]

    • nTaps : int, number of filter taps [default: 15]

    • mu : float or list of floats, step size parameter(s) [default: [1e-3]]

    • lambdaRLS : float, RLS forgetting factor [default: 0.99]

    • SpS : int, samples per symbol [default: 2]

    • H : np.array, coefficient matrix [default: []]

    • L : int or list of ints, length of the output of the training section [default: []]

    • Hiter : list, history of coefficient matrices [default: []]

    • storeCoeff : bool, flag indicating whether to store coefficient matrices [default: False]

    • runWL: bool, flag indicating whether to run the equalizer in the widely-linear mode [default: False]

    • alg : str or list of strs, specifying the equalizer algorithm(s) [default: [‘nlms’]]

    • constType : str, constellation type [default: ‘qam’]

    • M : int, modulation order [default: 4]

    • prgsBar : bool, flag indicating whether to display progress bar [default: True]

    • returnResults : bool, flag indicating whether to return all results [default: False]

    • prec: data type, precision of the computations [default: np.complex64]

Returns:

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

  • H (np.array) – Coefficient matrix.

  • errSq (np.array) – Squared absolute error array.

  • Hiter (list) – History of coefficient matrices.

Notes

Algorithms available: ‘cma’, ‘rde’, ‘nlms’, ‘dd-lms’, ‘da-rde’, ‘rls’, ‘dd-rls’, ‘static’.

References

[1] P. S. R. Diniz, Adaptive Filtering: Algorithms and Practical Implementation. Springer US, 2012.

[2] S. J. Savory, “Digital coherent optical receivers: Algorithms and subsystems”, IEEE Journal on Selected Topics in Quantum Electronics, vol. 16, nº 5, p. 1164–1179, set. 2010, doi: 10.1109/JSTQE.2010.2044751.

[3] K. Kikuchi, “Fundamentals of Coherent Optical Fiber Communications”, J. Lightwave Technol., JLT, vol. 34, nº 1, p. 157–179, jan. 2016.

[4] E. P. Da Silva e D. Zibar, “Widely Linear Equalization for IQ Imbalance and Skew Compensation in Optical Coherent Receivers”, Journal of Lightwave Technology, vol. 34, nº 15, p. 3577–3586, ago. 2016, doi: 10.1109/JLT.2016.2577716.