# GSoC2014 Turbo Equalizer

**URL:** <https://www.ruby-forum.com/t/gsoc2014-turbo-equalizer/239412>\
**Category:** GNU Radio\
**Created:** [February 25, 2014, 3:00pm UTC](https://www.ruby-forum.com/t/gsoc2014-turbo-equalizer/239412 "2014-02-25T15:00:47Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [February 25, 2014, 3:00pm UTC](https://www.ruby-forum.com/t/gsoc2014-turbo-equalizer/239412/1 "2014-02-25T15:00:47Z")

</div>

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.

_Objectives_

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

_Skills_  
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

---

<div class="post-metadata">

**Author:** ![Jan\_KrS\_mer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b5e925/32.png) [@Jan\_KrS\_mer](https://www.ruby-forum.com/u/Jan_KrS_mer)\
**Post date:** [February 28, 2014, 4:59pm UTC](https://www.ruby-forum.com/t/gsoc2014-turbo-equalizer/239412/2 "2014-02-28T16:59:26Z")

</div>

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,  
then  
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  
MLSE?
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  
long  
time, then you and some others can help work together to find the  
answers,

Best regards,  
Nguyen Anh Duc

---

<div class="post-metadata">

**Author:** ![Jan\_KrS\_mer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b5e925/32.png) [@Jan\_KrS\_mer](https://www.ruby-forum.com/u/Jan_KrS_mer)\
**Post date:** [March 1, 2014, 11:35am UTC](https://www.ruby-forum.com/t/gsoc2014-turbo-equalizer/239412/3 "2014-03-01T11:35:09Z")

</div>

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,  
Jan  
Am 28.02.2014 16:57, schrieb Anh Duc N.:

---

<div class="post-metadata">

**Author:** ![Jan\_KrS\_mer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/b5e925/32.png) [@Jan\_KrS\_mer](https://www.ruby-forum.com/u/Jan_KrS_mer)\
**Post date:** [March 3, 2014, 8:44am UTC](https://www.ruby-forum.com/t/gsoc2014-turbo-equalizer/239412/4 "2014-03-03T08:44:57Z")

</div>

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  
if  
anyone was interested?

John

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