[Top][All Lists]

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

Re: [Discuss-gnuradio] Simple block with constant rate

From: Activecat
Subject: Re: [Discuss-gnuradio] Simple block with constant rate
Date: Tue, 1 Jul 2014 21:30:00 +0800

On Tue, Jul 1, 2014 at 6:17 PM, caruiz.ext <address@hidden> wrote:
 ---> Delay = 1
current_delay < delay ->delay of 1 sample
I insert a virtual sample (linear interpolation)
I sent the next sample (2)
current_delay = 1

I don't understand what this means.
 ---> Delay = 1
current_delay = delay -> nothing
I send the next sample (3)
current_delay = 1

My comments:

1).  I see no reason that "q", "inicio", "sample_rate" and "delay" should be defined as public class variables, rather than private.

2).  You make this a general block that always consumes and returns the same value.  This is similar to a sync block. 
      But a delay block is not a sync block.

3).  Basically what a delay block does is just to copy "input[i]" to "output[ i + delay ]", this creates an effect of delaying the signal.
      You don't need to create a std::queue to perform delay.

4).  The definition of "Sample" class, if it is really needed, should be placed in separate file.

5).  Your always forecast 1 input item, but in general_work() you always consumes and access the input buffer as if its length is always not smaller than noutput_items.
      (you forget the memory boundary) This is fatal.

6).  I don't understand your attached picture.
      I also don't understand your requirement.

You have written a code (delay_cola_fff) that is wrong from the ground up.
The only way to help you is to understand your requirement and suggest something else from scratch.
Unfortunately I fail to understand your requirement.

I suggest you to look into the source code of the existing "Delay" block, and start from there.

reply via email to

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