Signal Integrity

Power-aware Signal Integrity and EMI/EMC On High-speed Digital Chip-to-Chip Links

Signal Integrity header image 2

Equalizer Design

Posted June 29th, 2010 · 9 Comments · Application Note

Posted by Colin Warwick

This post is based on my response to a question from the si-list Generic receiver equalization setting.

Updated July 2, 2013 with FFE info

The Channel Simulator in W2302 ADS Transient Convolution Element contains a general purpose high speed digital IC I/O receiver that includes three kinds of equalizer (continuous-time linear equalizer (CTLE), feed-forward equalizer (FFE), and decision feedback equalizer (DFE)). Here’s its dialog box:

Dialog box of general purpose receiver of Channel Simulator in W2302 ADS Transient Convolution Element

For the CTLE you have to enter the gain, poles, and zeros manually and so my colleague Sanjeev Gupta wrote an article on how to do this in EDN entitled Continuous-time equalizers improve high-speed serial links: You can design an effective serial-channel equalizer in a few minutes (By the way, if the figures are fuzzy the originals are here)

The FFE and DFE are normally used with the Optimized setting, which calculates the tap coefficients automatically, but occasionally you might want to manually set the responses for those too. This article by Jared Zerbe Communication Techniques: Equalization & Modulation that shows the problem of FFE and DFE design is really the problem of FIR filter design. And the problem of optimal FIR filter design was largely solved by an algorithm by James McClellan and Thomas Parks.

So you can use your favorite digital signal processing package that contains the Parks-McClellan algorithm. You plug in 1) the desired frequency response and 2) the maximum number of taps you want to expend, and out pops a list of tap coefficients. In SystemVue’s HPF_ParksMcClellan block we call the GNU remez() function that is also available in GNU Octave. MATLAB has both remez() and a newer function called firpm(), but for the few simple cases I tried the results were the same.

For an explanation of how this works with a given channel response see “Part 2” Tutorial: Mitigate Inter-Symbol Interference by using an Equalization Filter

Please add a comment in the likely event that I’ve missed something!

Tags: ····

9 Comments so far ↓

  • xin li


    is that CTLE funcationly the same as FFE?



  • Colin Warwick

    Thanks for your question, Xin. FFE and CTLE give a similar result. The main difference is implementation: FFE is a medium-sized digital circuit so it’s expensive but adjustable and consistent. CTLE is implemented in small analog circuit so is less expensive but less tunable and more susceptible to manufacturing variation.

    — Colin

  • xin li


    Thanks for the reply.

    In high speed application, people use both CTLE and FFE on the receiver side, would it be redundant?

    Also I heard for severely degraded eyes, we need CTLE to improve the eye to the point where FFE and DFE can be used otherwise FFE and DFE training may fail.

    Maybe for training FFE, a CTLE is necessary?



  • Colin Warwick


    I’m not sure but I can think of a couple of reason why one might want to cascade CTLE and FFE. One is that CTLE is in the analog domain before time discretization. Thus CTLE is immune to aliasing effects due to the Nyquist limit of subsequent sampling. Another is that CTLE, as you say, give first order improvement to the signal without training. (But a fixed tap FFE could do this as well as a CTLE.) The first order improvement is sufficient to allow the training of downstream filters in the cascade to “lock”

    Readers, please leave your comments!

    — Colin

  • rajasekhar

    dear colin,
    My name is raj, i would like to know few things abut equalization.

    1. would you mind if i ask you explain little bit clear abut CTLE noise aliasing? ctle can correct pre-cursor? i saw mixed response from from different people, as a matter of fact only FFE can cancel this.

    Thanks for your time,

  • Colin Warwick

    Hello Raj,

    Thanks you for your questions.

    1) I haven’t heard of noise aliasing in the context of continuous time circuits. I’ve only heard of it in the context of discrete time signal processing. Can you elaborate on your question?

    2) Pre-cursor response requires that the filter introduces a delayed response in order to maintain causality. Implementing a true delay is trivial in a digital filter but more complicated in an analog one. So I’d guess that it’s possible, but complicated.

    For more details, I’d suggest some of the standard textbooks like Zverev (“Handbook of Filter Synthesis”), Rabiner & Gold (“Theory and Application of Digital Signal Processing”), Oppenheim & Schafer (“Discrete-Time Signal Processing”), Proakis & Manolakis (“Digital Signal Processing”) etc.

    Hope this helps!

    — Colin

  • behzad

    dear colin

    i want to design XDeaf equalizer (simulink_matlab), can you help me?



  • Colin Warwick

    Hi Behzad, Sorry, no, I don’t know what that is and I don’t have access to Simulink. I suggest you contact The MathWorks or their community forum (MATLAB Central).

    Best regards,

    — Colin

  • Anthony Chan

    How can I design a CTLE for 35 Gb/s?

Leave a Comment