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:

uhd::stream_cmd_t
<http://files.ettus.com/manual/structuhd_1_1stream__cmd__t.html> stream_cmd(
uhd::stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_DONE
<http://files.ettus.com/manual/structuhd_1_1stream__cmd__t.html#a4df1f2e22148b7e09ace0eca0dfbf904a0e293a4a7cab198a4f6cb0e196ca377d>
);
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);
uhd::tx_metadata_t
<http://files.ettus.com/manual/structuhd_1_1tx__metadata__t.html> md;
md.start_of_burst
<http://files.ettus.com/manual/structuhd_1_1tx__metadata__t.html#ab5ffe812f8d3d1870253e98e6ff1718a>
= true;
md.end_of_burst
<http://files.ettus.com/manual/structuhd_1_1tx__metadata__t.html#a00543aaaeb5a5d67b212778d6b5f1b53>
= false;
md.has_time_spec
<http://files.ettus.com/manual/structuhd_1_1tx__metadata__t.html#af8f34976fc468381bfc662f57a398360>
= true;
md.time_spec
<http://files.ettus.com/manual/structuhd_1_1tx__metadata__t.html#acf9881a671ba4651a2b4e3187ec23da7>
= 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 <
felix.gre...@tu-dortmund.de> 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
> Discuss-gnuradio@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to