Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Construct decision-feedback equalizer object

`eqobj = dfe(nfwdweights,nfbkweights,alg)`

eqobj = dfe(nfwdweights,nfbkweights,alg,sigconst)

eqobj = dfe(nfwdweights,nfbkweights,alg,sigconst,nsamp)

The `dfe`

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 Adaptive Algorithms.

`eqobj = dfe(nfwdweights,nfbkweights,alg)`

constructs
a decision feedback equalizer object. The equalizer's feedforward
and feedback filters have `nfwdweights`

and `nfbkweights`

symbol-spaced
complex weights, respectively, 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 = dfe(nfwdweights,nfbkweights,alg,sigconst)`

specifies
the signal constellation vector of the desired output.

`eqobj = dfe(nfwdweights,nfbkweights,alg,sigconst,nsamp)`

constructs
a DFE with a fractionally spaced forward filter. The forward filter
has `nfwdweights`

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 forward filter.

The table below describes the properties of the decision feedback equalizer object. To learn how to view or change the values of a decision feedback equalizer object, see Accessing Properties of an Equalizer.

To initialize or reset the equalizer object `eqobj`

,
enter `reset(eqobj)`

.

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

`EqType` | Fixed value, ```
'Decision
Feedback Equalizer'
``` |

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

`nWeights` | Number of weights in the
forward filter and the feedback filter, in the format ```
[nfwdweights,
nfbkweights]
``` . The number of weights in the forward filter
must be at least 1. |

`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 Decision-Feedback Equalizers) and an assumption about
the signal to be equalized. |

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

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

`Weights` | Vector that concatenates
the complex coefficients from the forward filter and the feedback
filter. This is the set of w_{i} values in the
schematic in Decision-Feedback Equalizers. |

`WeightInputs` | Vector that concatenates
the tap weight inputs for the forward filter and the feedback filter.
This is the set of u_{i} values in the schematic
in Decision-Feedback Equalizers. |

`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,sum(nWeights))` |

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

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

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

An example illustrating relationships among properties is in Linked Properties of an Equalizer Object.

Was this topic helpful?