Tx/Rx switch synchronisation

Hi all,
I’m working with gnuradio companion and I’m trying to send a sinusoidal
signal and then stop sending it and wait to receive the echo. How can i
do
it in gnuradio companion environment?

Thanks to all

Antnio Joo Matos Gomes

Hi Antnio,

basically, you will need to process the sample streams going into the
USRP and out of it simultaneously, and then switch the sinusoidal on and
off based on sample number, computer time,
any other event or whatever suits your situation; on the rx side, you
will need to calculate whether you’re in sending or receiving mode by
watching your samples;
or you could go the usrp timed_command approach, and set things like
“start sending this burst of data” or “start receiving N samples” at
specified times.
However, the latter is not feasible in GRC at all, and the first can’t
be done in a clean or even an easy way in the GRC.
So, get into writing blocks, python blocks are quickly written and easy
to use.
As a rule of thumb: If you can visualize something in a directed graph
with each connection representing a fixed rate sample stream, something
can be done in GRC alone.
If you want to do something more complicated, including events or
complex conditions, you will have to write your own blocks to use in GRC
or drop GRC and move on to flowgraphs written in python (or C++,
whatever you prefer).
However, before you despair: The GRC “just” generates python flowgraphs
and saves them to disk, and invokes them afterwards. So you can just
start by reading the source code of your own flowgraph :slight_smile:

Happy Hacking,
Marcus