# DFE Equalization in MATLAB

Status
Not open for further replies.

#### David83

Hello,

To compute the output of the DFE, do we write in MATLAB:

y=filter(gFB,1,s);

where s is the hard decision sequence of the previous symbols, and gFB are the feedback coefficients?

#### senaydud

Check out the DFE toolbox of Matlab.

Construct decision-feedback equalizer object - MATLAB

Once you find the coefficients for the feedforward and feedback filters using the ttolbox, you can filter the signal simply by "filter(gFF, gFB, s)". I am not sure but you may need to place an extra 1 to the beginning of your feedback filterlike; "filter(gFF, [1 gFB],s)". Try and see

David83

### David83

points: 2

#### David83

Indeed it works, but the curve is not smooth.

---------- Post added at 23:55 ---------- Previous post was at 23:43 ----------

But we write [1 gFB] and not [0 gFB]?

#### senaydud

No, not [0 gFB]. DFE is an IIR filter and there is always a 1 in the denominator of the transfer function for an IIR . Click on the link and take a look at the derivation of Y(z) at the bottom of the page. The denominator of Y(z) starts with a 1.

1-D digital filter - MATLAB

#### David83

Ok. I am actually try to simulate Hybrid-DFE, where the feedforward filter is implemented in frequency domain, while the feedback filter is implemented in time domain. Now, I have gFB, GFB=fft([1 gFB]), GFF, and yFF, where {gFB},{GFB} are the feedback coefficients in the time and frequency domain respectively, {GFF} are the frequency domain coefficients of the feedforward filter, and {yFF} is the time domain output of the feedforward filter. Now I try to do the feedback filtering as:

y=yFF+filter([1 gFB],1,s);

where {s} are the previous decisions. But I got non-smooth results even at high number of bits. Is my approach correct? I mean the feedback filter, and the GFB transformation of gFB?