Thanks Marcus, this helped set me on the right path - the problem was related to streamer object lifetime. I'll add some more detail here in case it helps somebody else down the road.
Creating a streamer object commits a change to the RFNoC graph, which eventually calls ad9361_device::set_active_chains() on the radio. This function briefly puts the RFIC state machine into the ALERT state, which flushes the integrated digital filters and signal paths. If the graph has an enabled transmit channel, the function then performs TX quadrature cal before putting the RFIC state machine back into the FDD Enabled state. This process happens every time a new streamer object is created, even if the configuration is unchanged since a prior instantiation. I was using timed streaming, but was using a new locally scoped streamer object for receive captures, which led to these side-effects in the AD9361. I suppose the current behavior makes sense - one would expect new streamers to start with a "clean" transmit/receive pipeline each time. I've hoisted the streamer object up to a higher scope, using one instance for several successive timed streaming events, and I'm now seeing the stable phase relationship across receive windows for separate radios with common clock. Cheers, -David From: Marcus D. Leech <patchvonbr...@gmail.com> Sent: Wednesday, January 11, 2023 5:33 PM On 11/01/2023 13:45, David Raeman wrote: I’m working on a project that involves phase-coherent reception across multiple E320 radios. I’m currently operating with a common clock (provided by an Octoclock) and cabled RF connections. I understand there will be some unknown phase offset between radios which changes across power cycles and re-tunes, but I’m expecting that relationship to be otherwise stable (neglecting temperature and other environmental effects). I’m trying to track down what I think is a frequency difference between receive radios which changes between across RX captures, even though I do not disconnect or re-tune between (although I do use the same port for TX between these receptions). If you aren't using timed streaming across radios (and I'm not sure whether this is possible with E320), you're going to have random phase relationships every time you restart your streams, even though you haven't power-cycled.
_______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com To unsubscribe send an email to usrp-users-le...@lists.ettus.com