Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

DFE Equalization in MATLAB

Status
Not open for further replies.

David83

Advanced Member level 1
Joined
Jan 21, 2011
Messages
410
Helped
45
Reputation
92
Reaction score
45
Trophy points
1,308
Activity points
3,639
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?

Thanks in advance
 

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
 
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]?
 

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
 

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?

Thanks in advance
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top