Reed-Muller Codes, Spectral Estimation and clever students

Hi everyone,

there’s new stuff on our CGRAN repositories you might enjoy.

  • Channel Coding Toolbox

We’ve created a new toolbox for channel coding stuff.
https://www.cgran.org/wiki/chancoding

It includes some simple bit-based channel models (a standard BSC and
Markov-modeled BC) and generic block interleavers. The most interesting
part is definitely an implementation of binary Reed-Muller codes. These
codes have some uses; among others, sub-sets of these codes can be used
to bound the PAPR of OFDM signals (pre-set code is available).
One of our students (Nico Otterbach) implemented these codes as part of
his Bachelor’s degree. A very well-written thesis with a nice
introduction to RM-codes is in the repository, unfortunately (for most
of you) it’s in German.

  • More Spectral Estimation Codes!

https://www.cgran.org/wiki/SpecEst

As part of another students project, spectral estimation based on ESPRIT
and MUSIC is now part of of the Spectral Estimation Toolbox (this means
we now have more spectral estimators implemented than Matlab does :-).
I’d like to thank Manuel F. and Moritz Fischer for doing the hard
coding work.
This toolbox now has some cool elements: for one, it includes Fortran
code, which is quite an achievement by itself. Next, Moritz has ported
the whole thing to CMake. If you’re interested to see how this can work
for complicated out-of-tree modules, have a peek at the code!

Both projects include Doxygen-generated documentation and GRC bindings
for most blocks.

Besides announcing this, I’d like to encourage the use of GNU Radio
stuff for university credits. Obviously, we’ve had a lot of good
experiences with this, but it’s also a good deal for the students:
fundamental understanding of signal processing requires implementation
(at least that’s my opinion), and it is very satisfying to have a
working, reusable product when finishing such a project.

Cheers,
MB


Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin B.
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT – University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association

On Thu, Jun 16, 2011 at 9:52 AM, Martin B. [email protected]
wrote:

Markov-modeled BC) and generic block interleavers. The most interesting

for complicated out-of-tree modules, have a peek at the code!
working, reusable product when finishing such a project.

Martin,
That is fantastic works! Thanks for putting it out there!

I have a question on the channel coding work done. Was there any
benchmarking performed on it to test the throughput speed? Also, is
there
any SIMD code used to improve the performance? If not, I wonder how
difficult it might be to use Volk functions for that?

Thanks again!
Tom

On Wed, Jun 22, 2011 at 07:59:40PM -0400, Tom R. wrote:

Martin,

That is fantastic works! Thanks for putting it out there!

I have a question on the channel coding work done. Was there any benchmarking
performed on it to test the throughput speed? Also, is there any SIMD code used
to improve the performance? If not, I wonder how difficult it might be to use
Volk functions for that?

Thanks again!

Hi Tom and everyone,

some basic benchmarks were done (if your interested in the details, see
pp59 in the included PDF. You’ll find the specs of the test system
there. Figure 5.2 is memory usage in bits, Figure 5.4 is the average
time to encode one information bit in µs, Figure 5.6 is the average CPU
load when transmitting 100 kbit/s (goodput). Way more interesting is the
decoding: Figure 5.7 is the average decoding time needed to decode one
code bit. Figure 5.9 shows achievable bit rates on the given system).

As for SIMD code and Volk: Nope, we’ve done nothing here. But it’s a
good point. In particular, the Fast Hadamard Transform was implemented
as part of this toolbox, and I guess that alone could be optimized a
great deal. I’ll look into it… could be interesting. Thanks for the
feedback!

MB


Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin B.
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT – University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association