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