[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] IT++ functions
From: |
Martin Braun |
Subject: |
Re: [Discuss-gnuradio] IT++ functions |
Date: |
Mon, 15 Mar 2010 18:22:42 +0100 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On Tue, Mar 09, 2010 at 11:38:48AM +0100, Martin Braun wrote:
> The last point is not a big problem in my opinion, since there's not
> that much stuff in IT++ which is really interesting in GR (basically the
> channel models and the FECs).
> As I said, I already had a look at this and seeing there's some
> interest, I'd give it a hack.
I had a bash at this, and uploaded the result on CGRAN. The result is
not the most beautiful code ever written, and not tested outside my box,
so be careful.
Just grab https://www.cgran.org/svn/projects/itplusplus/trunk/gr-itpp
Included stuff:
- Some block codes (Hamming, RS and extd. Golay). Adding these was
pretty simple.
- Bessel functions (not something you need everyday, but it was there).
Adding these was even simpler.
- Access to TDL_channel. This was a bit of a challenge and will probably
not do what most people want it to. The problem is, the itpp-class
was not really designed for continuous streaming. Now, it takes
vectors of signals and applies a channel to these. The next vector
will create new channel coefficients. It might be possible to extend
this to continuous streaming, but I will not be attempting this
anytime soon.
Some caveats:
- IT++ is not designed to be thread-safe, this must be taken care of at
GR-level.
- Input arguments aren't always checked thoroughly when initializing
classes, so sometimes checks are necessary in the GR blocks.
- Wrapping the encoders was easy, because the data types were
bit-compatible. The channel was more difficult, because IT++ uses
complex<double> internally. For the moment, a lot of copying-by-hand
is done.
And, erm, the build system, ahem, was not adapted. So, if you don't have
IT++ installed, configure will not complain. I simply added a command
for the linker in lib/Makefile.am and prayed.
By Sod's law, this will not work if you try it at home, but since there
was some interest on the list I didn't want to keep my code lying around
on some hard drive. If someone wants to try it, I'd appreciate some
feedback.
Martin
--
Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)
Dipl.-Ing. Martin Braun
Research Associate
Kaiserstraße 12
Building 05.01
76131 Karlsruhe
Phone: +49 721 608-3790
Fax: +49 721 608-6071
www.cel.kit.edu
KIT -- University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association
pgpjisfe7L6ri.pgp
Description: PGP signature