On 12/07/2019 12:05 PM, Nate Temple via USRP-users wrote:
Hi Luke,

What version of UHD are you using?

There was an issue with the DUC/DDC phase accumulator's resolution, but it was fixed with UHD 3.14.1.0.

The threads below are were this was identified:

http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/2019-May/059914.html
http://lists.ettus.com/pipermail/usrp-users_lists.ettus.com/2019-April/059465.html

As recommended from the thread:

Phase may change each time streamers are created, but the phase between TX
and RX should remain consistent during streaming. Tuning must be done with
timed commands and a consistent time delta between the tune time of TX and
RX must be maintained that is greater than 500us to maintain the coherence
across re-tunes.



If you're using the QT widget without any modifications, it will not be using timed commands, you'll need to generate the python file and manually add in the timed commands to the set_freq calls.

Also, if I remember correctly, even with the phase accumulator fix, there was some caveats to which frequencies would stay coherent. I need to go back and look at some notes on it.

Regards,
Nate Temple

The other thing to consider is the contribution of Fractional-N synthesis to the unpredictable nature of the phase of two synthesizers, even when
  using a common reference.

Many years ago, Texas Instruments published a quite-nice technical brief on the difference between Fractional-N and Integer-N synthesis:

http://www.ti.com/lit/an/swra029/swra029.pdf

A side-effect of fractional-N synthesis is that two frac-N synthesizers will not necessarily have a zero phase-offset with respect to one another, without a bit of "help". That "help" comes in the form of a special "phase reset" signal on *some* modern PLL synthesizers. One of the caveats is that all the synthesizers have to have this "phase reset" signal triggered at the same time (or, I think, more properly, within less than one cycle of Fref). So, that is the reason that timed commands must be used to allow predictable phase-offset. Fortunately, the MAX2871
  used on the UBX is such a synthesizer.

A further complication, just as a bit of trivia not relevant to this case, is that SOME fractional-N synthesizers "dither" the averaging schedule used to change between N and N+1 states, in order to spread-out synthesizer spurs to reduce energy at sharply-defined frequencies. In those cases, it's easy to see how maintaining coherence among multiple instances would be impossible, even with a common
  reference.

But this also brings up another issue (not relevant in this case, but something to be aware of). Two frac-N synthesizers of different design may not be able to maintain mutual coherence of predictable phase-offset. So these "timed command" tricks can only really be used among synthesizers of exactly the same type. In the Ettus case, that means among daughterboards of exactly
  the same type.


_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to