equalizer_init

Creation of an equalizer object (LMS, CMA, ...)

Calling sequence

eq = equalizer_init(wf); // Default equalizer (DDE, K = 1)
eq = equalizer_init(wf,K,errf,struct,gain,N1[,N2]]);

Parameters

wf:

Waveform specification (see wf_init)

K:

Input over-sampling ratio (number of samples per symbol)

errf:

Error function (either 'slicer' or 'cma')

struct:

Equalizer structure (either 'dde' or 'dfe')

gain:

Update gain (determine the convergence speed)

N1:

Number of taps of the direct FIR equalization filter

N2:

Number of taps of the feedback FIR equalization filter (only for DFE equalization)

eq:

Resulting equalizer object (can be used with equalizer_process)

Description

Initialize an equalizer object, ever symbol sampled (K = 1), or fractionnaly sampled (K > 1). Supported equalization structures are the following:

  • Decision Directed Equalization (DDE) (strucuture = 'dde'): A direct FIR filter is tuned (every symbol period) to minimize the output error.

  • Decision Feedback Equalization (DFE) (strucuture = 'dfe'): Both a direct FIR filter (working at ) and a feedback filter (working at symbol frequency) on the decision (slicer) outputs are used.

Possible cost function are the following:

  • Slicer (errf = 'slicer'): . Note: with this error function, the algorithm is better known as LMS (Least Mean Square).

  • .
  • Constant modulus algorithm (CMA) (errf = 'cma'):

For a complete example, see the equalizer_process function.