(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.
Note
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 wi 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 ui 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)) |