Main Content

(To be removed) Construct linear equalizer object

**lineareq will be removed in a future release. Use comm.LinearEqualizer instead.**

`eqobj = lineareq(nweights,alg)`

eqobj = lineareq(nweights,alg,sigconst)

eqobj = lineareq(nweights,alg,sigconst,nsamp)

The `lineareq`

function creates an equalizer object that you can
use with the `equalize`

function to equalize a
signal. To learn more about the process for equalizing a signal, see Equalization.

`eqobj = lineareq(nweights,alg)`

constructs
a symbol-spaced linear equalizer object. The equalizer has `nweights`

complex weights, which are initially all zeros. `alg`

describes the
adaptive algorithm that the equalizer uses; you should create `alg`

using any of these functions: `lms`

, `signlms`

, `normlms`

, `varlms`

, `rls`

, or `cma`

. The signal constellation of the desired output is ```
[-1
1]
```

, which corresponds to binary phase shift keying (BPSK).

`eqobj = lineareq(nweights,alg,sigconst)`

specifies the signal constellation vector of the desired output.

`eqobj = lineareq(nweights,alg,sigconst,nsamp)`

constructs a fractionally spaced linear equalizer object. The equalizer has
`nweights`

complex weights spaced at `T/nsamp`

,
where `T`

is the symbol period and `nsamp`

is a
positive integer. `nsamp = 1`

corresponds to a symbol-spaced
equalizer.

The table below describes the properties of the linear equalizer object. To learn how to view or change the values of a linear equalizer object, see Equalization.

**Tip**

To initialize or reset the equalizer object `eqobj`

, enter
`reset(eqobj)`

.

Property | Description |
---|---|

`EqType` | Fixed value, `'Linear Equalizer'` |

`AlgType` | Name of the adaptive algorithm represented by
`alg` |

`nWeights` | Number of weights |

`nSampPerSym` | Number of input samples per symbol (equivalent to
`nsamp` input argument). This value relates to
both the equalizer structure (see the use of K in Equalization) and an assumption about the
signal to be equalized. |

`RefTap` (except for CMA equalizers) | Reference tap index, between 1 and `nWeights` .
Setting this to a value greater than 1 effectively delays the
reference signal and the output signal by
`RefTap-1` with respect to the equalizer's
input signal. |

`SigConst` | Signal constellation, a vector whose length is typically a power of 2 |

`Weights` | Vector of complex coefficients. This is the set of
w_{i} values in the schematic in Equalization. |

`WeightInputs` | Vector of tap weight inputs. This is the set of
u_{i} values in the schematic in Equalization. |

`ResetBeforeFiltering` | If `1` , each call to
`equalize` resets the state of
`eqobj` before equalizing. If
`0` , the equalization process maintains
continuity from one call to the next. |

`NumSamplesProcessed` | Number of samples the equalizer processed since the last reset.
When you create or reset `eqobj` , this property
value is `0` . |

Properties specific to the adaptive algorithm represented by
`alg` | See reference page for the adaptive algorithm function that
created `alg` : `lms` , `signlms` ,
`normlms` ,
`varlms` , `rls` , or `cma` . |

If you change `nWeights`

, MATLAB maintains consistency in the
equalizer object by adjusting the values of the properties listed below.

Property | Adjusted Value |
---|---|

`Weights` | `zeros(1,nWeights)` |

`WeightInputs` | `zeros(1,nWeights)` |

`StepSize` (Variable-step-size LMS
equalizers) | `InitStep*ones(1,nWeights)` |

`InvCorrMatrix` (RLS equalizers) | `InvCorrInit*eye(nWeights)` |