Note: This page has been translated by MathWorks. Click here to see

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

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

(To be removed) Construct decision-feedback equalizer object

**dfe will be removed in a future release. Use comm.DecisionFeedback instead.**

`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 Equalization.

`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 Equalization.

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 Equalization) 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 Equalization. |

`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 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,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))` |