Hi Martin,

I guess I have a few questions:

1.) Are there any examples in the gnuradio codebase/flowgraph repository
that show how to do synchronized feedback between two USRPs? In other
words, I send a signal from a transmit USRP, and then I receive that signal
at the receive USRP, and then I send back something else from the receive
USRP back to the transmit USRP, and this would be a sequential process in
which they are aligned and know when to transmit and/or receive? I saw a
post
<http://stackoverflow.com/questions/28710869/how-to-set-usrp-transmitting-time-and-receiving-time-in-gnu-radio>
that
I think would be relevant, but I'm not sure how to apply it.

I believe this should be a pretty standard scenario in which you want to
have two USRPs communicate with each other synchronously. I guess I'm just
having trouble finding an example of how to do this.

2.) Related to the above question, maybe there are no examples to do
feedback in one flowgraph, so what I have been doing is the following in my
flowgraphs:

Flowgraph A:

The synchronized MIMO flowgraph (Figure 5) from this
<https://www.ettus.com/content/files/kb/mimo_and_sync_with_usrp.pdf>, so
essentially I have two USRPs synchronized and transmitting out two signals
that should be offset but frequency aligned. In my own flowgraph's main(),
instead of applying a "phase shift" block, I am applying my own "weights"
block to both transmissions.

So, I am now sending a signal that has those weights applied to it. So,
after I do tb.start(), then I sleep for 10 seconds (by doing sleep(10))
hoping that in the 10 seconds my receiver will catch the signal that I'm
transmitting and put it into file.

Flowgraph B:

My own receiver.py in which I have a USRP sink->FFT->Complex to Mag->File
sink. I also have a connection from FFT->QT GUI to see a plot of what is
being captured.

I now run Flowgraph A in one terminal and Flowgraph B in another terminal.
I need to capture A's transmission with the first weights within the 10
seconds (as it's sleeping) into the file sink. Then, A will send a signal
with another set of weights applied, and I will need to capture that in the
next 10 seconds, and so on. My problem is that I'm often capturing noise
because my receive was not aligned with when I was transmitting my desired
signal. So, I end up only capturing noise after the transmission stops as
opposed to the actual signal when the transmission is happening.

Essentially, I am trying to mimic feedback by doing the above, but I don't
know how to align my transmitter and receiver, especially because they are
two different blocks. Is there a way to make both the transmission and
reception one block so that I can do sleep(rx_time +
n_samples_since_tag/sampling_rate) (I think this could be right?) as
opposed to my static sleep(10) and pray for the best?

Would it be helpful at all if I showed you my code? I still feel like I'm
not being clear. Sorry about that. If there were any examples, then I think
that would be the best for me to look at.

Thanks for any help again.


-- 
Pavan
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to