discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] How to best use new GR features for TDMA systems


From: Martin Braun
Subject: Re: [Discuss-gnuradio] How to best use new GR features for TDMA systems ?
Date: Sun, 22 Dec 2013 17:25:38 +0100

On Thu, Dec 19, 2013 at 8:05 PM, Sylvain Munaut <address@hidden> wrote:
Now of course when starting a new task (after having demodulated /
processed the IQ data), it's sometime important to know where in the
IQ stream that command originated and it's important that the TDMA
slicer didn't take too much advance because if it did, we might miss
some of the TCH frames of the newly assigned channel. In the current
code, everything is done in a single thread so I'm sure that the
slicer didn't avance at all while I was processing the current packet.

So, how would you implement this (architecture wise I mean) with PDUs
/ tagged stream / ...


I've been trying to come up with a perfect answer to this, but it depends on just too many things.
I think it'll be a mix of all those techniques.

I think GNU Radio apps should look a bit like this:
At the top (think "MAC") blocks pass data as PDUs. The further down you go ("PHY"), you'll eventually need regular blocks. Here, tagged streams will do what you want.
I guess gr-easymac was an early demo of this principle, although its functionality can now be reproduced with pure GNU Radio. At CEL, we've developed a FHSS network using pure GNU Radio, which works quite well (someone still needs to release some code, and I hope they're reading this :). There will be a presentation on this at FOSDEM, btw.

Also, I've been working on a way to do TDMA using the OFDM blocks (on one of my lower-priority branches, though, so don't get too excited right now). In principle, the idea is:
* At MAC level, create a package with a tx time stamp as a PDU
* Pass this to the OFDM mod. The time stamp will propagate along with the length tag, and stay at the front of the streamed packet (this feature was merged into GNU Radio a while back and is available in the latest release).
* The hardware driver should take the streamed packet and the metadata in the tags (the tx time, though it could also be the centre frequency for FH) and tx accordingly.
* At the receive side, all we need to do is remember the rx time of samples when we do a packet modulation.

There's a couple of things that are hard here: On the TX side, we just hope that the packet will reach the hardware in time. What if it doesn't? Well, bad luck.

Bottom line: GNU Radio has only recently become capable of doing these things. This means we are still in the process of figuring out of how exactly to write TDMA PHYs with corresponding MACs, which is a feature that we've always wanted and now seems achievable. I guess the more we try out, the more we will identify what's missing in order to do this.

MB



reply via email to

[Prev in Thread] Current Thread [Next in Thread]