[Top][All Lists]

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

[Discuss-gnuradio] Burst Shaper block partially delays burst

From: Johannes Demel
Subject: [Discuss-gnuradio] Burst Shaper block partially delays burst
Date: Thu, 17 Jan 2019 11:39:22 +0000

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.


reply via email to

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