Re: [Discuss-gnuradio] GSoC2014 Turbo Equalizer

2014-03-02 Thread John Wilson
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
krae...@int.uni-karlsruhe.dewrote:

  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 Nguyen:

 Dear Jan Krämer,

  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


 On Tue, Feb 25, 2014 at 8:59 PM, Jan Krämer 
 krae...@int.uni-karlsruhe.dewrote:

  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


 ___
 Discuss-gnuradio mailing list
 Discuss-gnuradio@gnu.org
 https://lists.gnu.org/mailman/listinfo/discuss-gnuradio




 ___
 Discuss-gnuradio mailing 
 listDiscuss-gnuradio@gnu.orghttps://lists.gnu.org/mailman/listinfo/discuss-gnuradio



 ___
 Discuss-gnuradio mailing list
 Discuss-gnuradio@gnu.org
 https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] GSoC2014 Turbo Equalizer

2014-03-01 Thread Jan Kraemer

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 Nguyen:

Dear Jan Krämer,

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


On Tue, Feb 25, 2014 at 8:59 PM, Jan Krämer 
krae...@int.uni-karlsruhe.de mailto:krae...@int.uni-karlsruhe.de 
wrote:


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


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org mailto:Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio




___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] GSoC2014 Turbo Equalizer

2014-02-28 Thread Anh Duc Nguyen
Dear Jan Krämer,

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


On Tue, Feb 25, 2014 at 8:59 PM, Jan Krämer krae...@int.uni-karlsruhe.dewrote:

  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


 ___
 Discuss-gnuradio mailing list
 Discuss-gnuradio@gnu.org
 https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] GSoC2014 Turbo Equalizer

2014-02-26 Thread Jan Krämer

On 25.02.2014 19:09, Martin Braun wrote:

On 02/25/2014 04:39 PM, Achilleas Anastasopoulos 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

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

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] GSoC2014 Turbo Equalizer

2014-02-25 Thread Tom Rondeau
On Tue, Feb 25, 2014 at 10:39 AM, Achilleas Anastasopoulos
anas...@umich.edu 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

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] GSoC2014 Turbo Equalizer

2014-02-25 Thread Achilleas Anastasopoulos
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

On Tue, Feb 25, 2014 at 10:47 AM, Tom Rondeau t...@trondeau.com wrote:

 On Tue, Feb 25, 2014 at 10:39 AM, Achilleas Anastasopoulos
 anas...@umich.edu 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

___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] GSoC2014 Turbo Equalizer

2014-02-25 Thread Martin Braun
On 02/25/2014 04:39 PM, Achilleas Anastasopoulos 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


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] GSoC2014 Turbo Equalizer

2014-02-25 Thread Michael Dickens
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


___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Re: [Discuss-gnuradio] GSoC2014 Turbo Equalizer

2014-02-25 Thread Achilleas Anastasopoulos
Mike,

there are roughly 3 ways you can parallelize these algorithms:
1) packet-level: run a lot of codewords at the same time
2) subblock level: divide each codeword into pieces (overlapping) and run
SISOs on each one of them in parallel
3) trellis level: do ACS operations in parallel

take a look at the following link and references to get some ideas (not
claiming it is a seminal paper though :-))

http://web.eecs.umich.edu/~anastas/docs/turbogpu.pdf

best,
Achilleas
___
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio