Hey Felix, Your hunch is correct -- you'll need to use timed commands to issue your tune requests and to initiate streaming. This will involve editing the python script generated by GRC. Here's a relevant GRC manual section [1], and an example snippet of tuning with timed commands in the UHD Manual [2]. Doing this correctly should ensure that you are able to keep a consistent phase offset between your TX channels at a given frequency.
I'm not sure if it'd actually be an issue, but one thing from your flowgraph struck me. You might want to fork the output of your cosine block so that both TX streams are being fed data from a single source. I don't think this will solve your problem, but if the blocks are doing the same thing, may help take a variable out of the equation. Sam [1] https://www.gnuradio.org/doc/doxygen/classgr_1_1uhd_1_1usrp__block.html [2] https://files.ettus.com/manual/page_sync.html#sync_phase_lo On Thu, Aug 29, 2019 at 8:49 AM Felix Greiwe via USRP-users < usrp-users@lists.ettus.com> wrote: > 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! > > Best regards > > Felix > > > > _______________________________________________ > USRP-users mailing list > USRP-users@lists.ettus.com > http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >
_______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com