Can we control the rate at which a block spews data

Hi friends,

I have a gnuradio block that generates Gold code PN sequence. This code
is
based on Ed’s code (mentioned earlier in a thread) which makes use of
the
gr.glfsr_source_b block and gr.xor_bb block. This gold code block
generates
PN seq at a rate that is depended upon the computer’s performance
ability.
If I want to send a controlled sequence at 2Mcps how do I do this ? My
work
requires a chip sequence of 2Mcps but the one generated on my computer
may
be faster or slower. I did not find the exact rate though. Any ideas on
how
to do this ?

Thanks
Ali

Murtuza wrote am 2008-09-09 11:01:

This gold code block
generates PN seq at a rate that is depended upon the computer’s
performance ability. If I want to send a controlled sequence at 2Mcps
how do I do this ?

Use gr.throttle after your block.

GNU Radio blocks are free running and only constrained by the speed of
sources, speed of sinks, machine performance and gr.throttle.

Patrick

Engineers motto: cheap, good, fast: choose any two
Patrick S.
Student of Telematik, Techn. University Graz, Austria

On Tue, Sep 09, 2008 at 04:01:02AM -0500, Murtuza wrote:

Thanks
Ali

Ali,

Virtually none of the blocks in GNU Radio (or any software radio for
that matter) know or care about the ultimate sample rate. The only
place that sample rate comes into play is when you actually meet a
sink or source that is attached to some kind of device that’s
connected to the outside world (e.g., A/D, D/A, USRP).

If you have a rate limiting output device (D/A, USRP) and you know the
rate at which it consumes samples, then you can work backwards from
there. In any case, all kinds of questions come into play. How may
samples per chip are you using? 1?

Q: What is the sample rate of this stream of samples:

0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, …

Eric

On Tue, Sep 9, 2008 at 6:20 AM, Eric B. [email protected] wrote:

Q: What is the sample rate of this stream of samples:

0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, …

12 bits per email


Johnathan C.
Corgan Enterprises LLC
http://corganenterprises.com/

Hi Eric,

I now understand what you mean. The rate at which the blocks produce
data is
solely based on what you want to produce and how you want to produce
using
the inputs. It has nothing to do with “data rate”. Its just how fast
your
computer can perform the algorithm that’s generating the output.

Suppose I consume 1 input item to produce 10 output items the relative
rate
at which the output is produced is 10 to 1 for each input item consumed.
“Data rate” in this case is not what it is for the real world physical
rate
(e.g. the rate at which data is transfered on a USB). Now the actual
rate at
which data moves out of the block and onto the USB and to the USRP is
entirely dependent upon my computer’s abitlity.

If I really want to limit the rate at which the data enters the D/A then
I
must make the D/A sample the incoming data such that the effective rate
is
the rate at which I want the samples to be selected by the D/A.

Suppose the D/A samples the data at 100 samples / second and my computer
produces data at 200 samples / second. I can repeat my data twice and
make
it behave effectively at 100 samples/ second and then use it.

Do I make any sense ?

Thanks again,
Ali