discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Phase Align two RFNoC Radio Blocks in GRC


From: Simona Sibio
Subject: Re: [Discuss-gnuradio] Phase Align two RFNoC Radio Blocks in GRC
Date: Wed, 4 Sep 2019 14:06:28 +0100

Hi Felix and community,

I have the same problem with the phase offset.
I read that if you control the CORDIC module, you can synchronize the phase in USRPs.
I found the following commands for UHD for receiver and for transmitter:

stream_cmd.num_samps = samps_to_recv;
stream_cmd.stream_now = false;
stream_cmd.time_spec = time_to_recv;
usrp->issue_stream_cmd(stream_cmd);
md.start_of_burst = true;
md.end_of_burst = false;
md.has_time_spec = true;
md.time_spec = time_to_send;
//send a single packet
size_t num_tx_samps = tx_streamer->send(buffs, samps_to_send, md);


Also, I read that I can do the synchronization only with X-series.
Maybe, I cannot do the synchronization in phase with the N-series because there is the FPGA Spartan 6, doesn't it? Or is there some other problem?

Thank you for every help.
Best Regards,

Simona

Il giorno ven 30 ago 2019 alle ore 15:49 Felix Greiwe <address@hidden> ha scritto:
Hello together,

I am trying to transmit one complex cosine from both TX - Antenna of my
USRP-x310 with two UBX-160 Daugtherboards. I am transmitting a cosine with
the frequency of 100 kHz and the center frequency of my RFNoC Radio Blocks
is 2.45 GHz. So basically I see a peak at 2.45 Ghz + 100 kHz at my
spectrum analyzer (plus the lo leakage at 2.45 GHz). Additionally I
receive the spectrum on another x310.

In the following link you can see my flowgraph in GRC:
https://ibb.co/7W6mTKf

As you can see i have two multiply blocks to change the phase of the
complex cosines, the value of the multiply blocks are

> pow(math.e, 1j*phi*(math.pi/180)) and
> pow(math.e, 1j*psi*(math.pi/180)).

I can change phi and psi with a qt gui range slider. Default value ist
multiplication by 1.

My goal with this setup was to check the MIMO capabilities of the USRP x310.
I calculated the Phase offset both transmitted waves should have at the
antenna of my spectrum analyzer. With my multiplication blocks I created
different phase offsets, thus causing destructive interference at the
receiving end (peak at analyzer is the smallest at this phase).

However most of the time when I start different runs of my flowgraph (or
when I power cycle the device) I always have to set a different phase
offset to see the destructive interference. To me it seems pretty random
which phase offset both transmitting path get even though i don't
understand why.

In another thread I read that maybe timed tuning will work for me but I
did not quite understand what that improves in particular nor who I use it
in my  GRC generated python file. (Using the RFnoC Radio Blocks does not
make it easier by the way.) This is the link:

http://ettus.80997.x6.nabble.com/USRP-users-use-a-usrp-x310-as-MIMO-transmitter-daughterboard-synchronization-tt11642.html

Any ideas, suggestions and explanations on how to phase align the transmit
path of my (single) USRP x310 would be greatly appreciated!
(I posted to the USRP List too, but I think maybe it's more of a python
code fix and not HDL where you guys are better in..)


Best regards

Felix

P.S:

One last point if that helps: When I use the same setup with the USRP sink
block with two inputs the phase seems to be locked and does not change
with each new start of the flowgraph, even though i did not use timed
commands there. When I try to use the RFNoC Radio Block with two inputs it
does not work at all.



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

reply via email to

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