Thursday, January 17, 2019

[Discuss-gnuradio] Burst Shaper block partially delays burst

Hi community,

I do have an issue with the 'Burst Shaper' block and I'm uncertain how
to tackle this problem. In this particular case I'm stuck with 3.7 for
now, but as fas as I can tell, the actual implementation did not change
with respect to 3.8.

So, here is the problem:
I have a flowgraph like this

Source -> MyModulator -> Burst Shaper -> UHD Sink
-> Qt Time Sink

Source emits a packet at certain intervals, say every 1ms.
MyModulator transforms those bits into a burst with complex samples.
'Burst Shaper' is supposed to prepad some zeros and postpad some zeros.
UHD Sink expects a tagged burst with a packet length to transmit.

What happens? I get lots of underruns ('U') because Burst Shaper waits
somewhere in the order of milliseconds to write the last portion of the
burst to its output buffer. The actual burst consists of ~1k samples
@12.5MSps. Less than 100us duration.

Burst Shaper is required to pre and post pad zeros.
Prepad to 'reinitialize' a USRP. Otherwise the preamble is distorted
which ultimately screws my receiver algorithms.
Postpad is required to flush USRP FIFOs. Otherwise you'd see the end of
a previous burst at the beginning of the next burst.

In my Qt Time Sink, I can see that all bursts are tagged correctly. The
packet length tags are at the correct position.

The problem is really, that 'Burst Shaper' does not write the last part
of the burst until some later time. This makes the USRP sink miss some
samples in every burst and print one 'U' per burst. Also, this results
in this last part of the burst to be transmitted just before the next
burst. This does corrupt my bursts and does cause more artifacts like
cut off bursts which pollute the spectrum.

How would you proceed? Convert 'Burst Shaper' to a tagged stream block?
I tried to use 'Packet Pad2' from 'gr-foo'. Though, this would still
occasionally result in 'U's printed. Also, I can still see that my
bursts are occasionally transmitted late.

I'd really like to fix 'Burst Shaper'. Though, I don't know how I should
proceed yet.

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

No comments:

Post a Comment