GNURadio OFDM receiver design

Hello everybody,

I’d like to implement the physical layer of the DAB standard in
The resulting code of should be as versatile as possible since the basic
basic OFDM concept is the same for a lot of standards.

Blocks that should be reusalbe are

- OFDM time and frequency synchronization
 -> should be based *only* on cyclic prefix correlation
    Performance is worse but standard independend.
- carrier-to-symbol mapping
- frequency (de)interleaver

Apart from OFDM:
- matrix time (de)interleaver
- symbol mapping
- QAM decoder
- Differential coding
- (de)scrambling
- Viterbi decoder / convolutional encoder

All these tasks are very common. I’d like to write a general version
first and then adapt these blocks through inheritance for DAB.

Some of the functionality exists already in the ATSC implementation. But
I feel
there should be a general concept about how to integrate these blocks
into GNURadio.

So far I’m not familiar with the details of GNURadio. Is someone working
in this direction? What could be adapted from other free software


I’ve been working in a similar vein, but like you, I lack the GNURadio
specific knowledge.

I seek a DRM (Digital Radio Mundial) implementation and have some
serious time pressure to come up with one.

I’ve reduced worked on the DRM ( code to get it to
compile properly without a GUI- it’s not a far step from there to get it
down into just a library we might be able to link in.

It includes many/all of the components you spoke of.

I haven’t investigated license compatibility, but a double blind rewrite
could escape any of that (EG someone reads the code and writes detailed
documentation then another person writes the code based on the
documentation only without seeing the original code).

In any case, perhaps if we could answer the license question, our goals
are one in the same and could work with Eric B. (who has offered
lending some advice) to get this completed.

What is your timeframe?


the DReaM receiver is GPL - we should port it to GNURadio. DRM is even a
little bit more complicated than DAB. Seems like a good base to start.

I’ll start on getting familiar with the GNURadio / DRM code in the next
couple of weeks.

The project (physical layer DAB, not the protocol stack so far) should
completed in September.


Some links, in case you didn’t read them yet:


On Sat, May 06, 2006 at 08:22:23PM +0200, Jens E. wrote:


Just a reminder, there’s some docs on writing blocks at