GSoC2014 Turbo Equalizer

Hi everyone,

I am a student at Communications Engineering Lab (CEL) at Karlsruhe
Institute of Technology. I major in “communication systems” and I am
currently doing my masterthesis on “Parallel log-map decoders for
manycore architectures”. I am interested in participating in GSoC 2014.

There is an older GNURadio GSoC proposal from 2013 to implement a turbo
equalizer module in GNURadio in which i am particularly interested
working on, as it is closely connected to my current field of study.
So i would like to share my thoughts on a possible Update of the old
turbo equalizer proposal (and maybe upgrading it to a current proposal

Turbo Equalizer

A Turbo Equalizer is a receiver component that is highly effective when
receiving messages corrupted by Intersymbol Interference (ISI). To
archive this, the turbo equalizer uses an Equalizer to eliminate the ISI
and a Log-Map Decoder for Forward Error Correction. Both components pass
soft information to each other to increase the performance.


Possible (sub-)projects:

  1. Implement the Log-Map decoder
    • preferably it can be fully configurable (constraint length,
      number of states, trellis structure)
    • preferably optimized for real time applications
  2. Implement the linear equalizer
    • preferably optimized for real time applications

Knowledge of digital signal processing, C/C++, Python

Potential mentor(s)
Sebastian Koslowski, Michael Schwall

That would be a project I think would be really interesting to work on
and i think it fits well with some of the other proposals for new GNU
Radio Modules. As the turbo eq itself is a highly complex architecture,
it could also be beneficial to split the tasks in this project. It would
be great to get some feedback from you, if this was a proposal that
would benefit GNURadio and if it has the potential to be included in the
GSoC list of ideas.

Thanks and regards,
Jan Kr?mer

Dear Jan Krmer,

I am very interested in your proposal. However, to my best of knowledge,
turbo equalizer (TB) is pretty complicated and computationally heavy,
it is challenging to have an effective real-time implementation of TB. I
would like to have some questions as follows:

  1. Your ISI channels’ characteristics: fixed/ known beforehand or
    time-variant, how dispersive they are
  2. which techniques do you wish to use for equalizer part: MMSE, MAP, or
  3. coding: as you presented above - it may be a convolutional or turbo
    code, and others?
  4. Some special hardware platform may require
  5. why do you select 2. and 3. to have the best performance in terms of
    complexity or quality, and that combination is realistic to be real-time
    implemented in GnuRadio plus 4.

To be honest, I have desperately struggled these question for quite a
time, then you and some others can help work together to find the

Best regards,
Nguyen Anh Duc

Hey Nguyen Anh Duc,

thanks for your input. It’s nice to see that there seems to be some guys
interested in the whole turbo EQ topic. These are some interesting
points you mentioned. To be honest i never thought about using MLSE/MAP
for the equalizer part. Same goes with another turbo decoder in the
turbo equalizer cause I discarded them as to computationally heavy to be
implemented in software.

But it seems that right now there is greater need to speed up the
gr-trellis module before attempting a full turbo equalizer.

Best regards,
Am 28.02.2014 16:57, schrieb Anh Duc N.:

Hey Guys,

I wrote a blind turbo equaliser for LDPC encoded data a few years ago in
GNU Radio, the code is probably pretty horrific, and it wasn’t optimised
very well, but it worked as a proof on concept, I could dig out the code
anyone was interested?


On Sat, Mar 1, 2014 at 10:33 AM, Jan Kraemer