I have three USRP’s and I want them to transmit a continuous stream of
repeated GLFSR source in non-overlapping manner. In other words, each
transmitter will transmit the source for 1 second and then pause for 5
seconds. All transmitters will transmit during the ‘odd’ seconds so that
there is a 1 second gap between the sources. This process should
continue
for ever.
Currently, I am controlling the starting and stopping time of the flow
graphs to achieve my goals. Unfortunately, the code/flowgraph sometimes
hangs after 15-20 starts. I am using the following code:
…
tb = GLFSR_transmitter() # The Tx flowgraph : GLFSR source (float) →
RRC filter → USRP Sink
var = 1
while var == 1: # This process should run forever
time.sleep(1-time.time() + int(time.time()))
condition = ((int(time.time())%6) == 0) # The transmitter
will
transmit after every 6 seconds
if (condition):
print time.time()
tb.start()
sleep(1) # The transmitter runs for 1 second
tb.stop()
tb.wait()
…
My USRP’s don’t seem to like this frequent starting and stopping of flow
graphs, especially when I am transmitting at 15-20 MS/s rate. I am using
USRP N210 (SBX daughterboards) and the latest gnuradio images. What
other
things can I do to achieve this timing control? I am looking for options
in
python level since my C++ OOP background is not strong. Josh talked
about
some python based blocks (
ttps://github.com/guruofquality/gnuradio/tree/python_blocks2https://github.com/guruofquality/gnuradio/tree/python_blocks2)
in
(http://old.nabble.com/How-to-implement-a-TDMA-system-td33727749.html).
They seem to be merged to the master (
http://gnuradio.org/redmine/projects/gnuradio/repository/revisions/f8581fb475267e1a97eaab962e423559fb4bfce2)
but I can’t find the blocks.
Any suggestion will be appreciated.
Thanks,
Nazmul
–
Muhammad Nazmul I.
Graduate Student
Electrical & Computer Engineering
Wireless Information & Networking Laboratory
Rutgers, USA.