GSoC2014 Turbo Equalizer

Just FYI, the gr-trellis has implementations of all these components you
suggested.

One interesting project is to take the core algorithms of gr-trellis
(Viterbi and SISO) and make them threaded for multi-core
(eg, by parallelizing forward/backward recursions, or by parallelizing
using overlapping subblocks, etc)

best
Achilleas

On Tue, Feb 25, 2014 at 10:39 AM, Achilleas A.
[email protected] wrote:

Just FYI, the gr-trellis has implementations of all these components you
suggested.

One interesting project is to take the core algorithms of gr-trellis
(Viterbi and SISO) and make them threaded for multi-core
(eg, by parallelizing forward/backward recursions, or by parallelizing using
overlapping subblocks, etc)

best
Achilleas

Also using VOLK inside gr-trellis blocks should provide significant
speedup there.

Tom

On 02/25/2014 04:39 PM, Achilleas A. wrote:

Just FYI, the gr-trellis has implementations of all these components you
suggested.

One interesting project is to take the core algorithms of gr-trellis
(Viterbi and SISO) and make them threaded for multi-core
(eg, by parallelizing forward/backward recursions, or by parallelizing
using overlapping subblocks, etc)

Jan,

gr-trellis would be a good place to start looking, but there’s still
enough to do between gr-trellis and a fully working, optimized,
real-time capable Parallel log-map-siso turbo equalizer. When you write
a proposal, make sure you’ve had a look at gr-trellis beforehand.

M

Yes, I agree with Tom.
A good starting point is the three or four core algorithms in
gr-trellis/lib/core_algorithms.cc

viterbi_algorithm,
siso_algorithm,
sccc_decoder
pccc_decoder
(and their “_combined” versions)

Jan, let me know if you decide to work on these; I can provide
some ideas if you are interested.

best,
Achilleas

I know I could look to Google / do an internet search, but maybe asking
here would be better. What is/are the -seminal- paper/s on “parallel
log-map-siso decoding”?

I implemented the non-parallel version of the log-map algorithm -way-
back in 2001 on whatever the portable Mac was at the time (5300ce,
IIRC). I stripped all of the crap out, and made it -really- fast for
non-parallel / non-intrinsics / non-Altivec / non-SIMD / non-accelerated
(beyond whatever the compiler did). I thought a lot about how to
parallelize the algorithm, but since this was for a class & all I needed
was the fastest (which it was) my thoughts ended in May with graduation.
I have no idea if I still have this code around, but I keep up with
channel coding research to some degree since it’s been an interest for
years.

Hence, my question. Thanks! - MLD

On 25.02.2014 19:09, Martin B. wrote:

gr-trellis would be a good place to start looking, but there’s still
enough to do between gr-trellis and a fully working, optimized,
real-time capable Parallel log-map-siso turbo equalizer. When you write
a proposal, make sure you’ve had a look at gr-trellis beforehand.

M
Hi,

Thanks to all for their input. I will have a look at gr-trellis but this
definitely sounds like something I’d like to work on!
Achilleas, I’d be happy to exchange ideas about parallelizing the SiSo
and Viterbi algorithms in gr-trellis.

Jan