Gr_delay behaviour

One short question. What happens if I call the set_delay method of the
gr_delay block during runtime. Will it throw away/add some samples
when the delay is changed?
I am actually trying to create a block that throws away some samples
whenever I call a memberfunction skip() but having difficulties
testing it.

gr_delay pads “delay” number of zeros at the beginning of the sequence.

see qa_delay.py in gnuradio/gnuradio-core/src/python/gnuradio/gr

I also wanted to throw away some samples at the beginning, I imported
the
collected data in MATLAB, then threw away some samples and got it back
in
gnuradio .bin file … I know its not a good solution but I was in
hurry :slight_smile:


View this message in context:
http://gnuradio.4.n7.nabble.com/gr-delay-behaviour-tp38105p38106.html
Sent from the GnuRadio mailing list archive at Nabble.com.

I am now just using a simple gr_block to asynchronously skip some
samples from time to time by calling

consume_each(d_skip_size);
return 0;

I didn’t define any forecast function and it seems to work fine but I
am wondering what is the performance impact of not doing this.
Shouldn’t I basically somehow let the scheduler know that I am
skipping something by writinga custom forecast?
The amount of skipped samples is relatively low compared to the passed
samples.

On Tue, Oct 23, 2012 at 5:07 AM, Johannes S. [email protected]
wrote:

One short question. What happens if I call the set_delay method of the
gr_delay block during runtime. Will it throw away/add some samples
when the delay is changed?

If you increase the delay, you will skip over a number of items in the
buffer, but otherwise, no, you won’t lose any data, so this isn’t what
you want to use to throw away data.

I am actually trying to create a block that throws away some samples
whenever I call a memberfunction skip() but having difficulties
testing it.

Calling a function externally probably isn’t what you want to do if
you have a specific set of items you want to toss. If you’re just
throwing away any set of items, then this should work. If you have
specific items (or items at a specific time or time delta), then
you’ll want to do something with stream tags to tell the block to toss
items at a particular sample.

Tom