[AD9361] Disabling PLL of the FMComms2 Receiver

Hello! I am Charleston Dale M. Ambatali, a lecturer from the Electrical and Electronics Engineering Institute from University of the Philippines - Diliman Campus.

I want to demonstrate the effect of the phase difference between the transmitter and receiver. I am using a Xilinx ZedBoard and an AD-FMCOMMS2-EBZ board. I have programmed the radio as such (based from the cyclic-sine example):

It sends a pure RF tone. The receiver DC correction is disabled. The block diagram of my setup is shown below:

I run the program twice and get two DIFFERENT results. I suspect that it is the effect of the PLL. If I could disable it, I may be able to demonstrate the effect of a non-coherent transmitter and receiver in communications. These are the results run in different times:

As you can observe, the setup behaves in a time-variant manner. I disabled the DC correction and the automatic gain control and I still have this problem. Is it the effect of the PLL or is it something else?

There are two PLLs in the AD9361. One for the transmit path, one for the receive path. It is unfortunately not possible to synchronize them, this means each time the PLLs are initialized you'll see a arbitrary phase difference between the TX and RX.

I see. Let me reiterate if I got this correctly. In the flowgraph I made with the transmitter looped back at the receiver, every time I execute this flowgraph yields an arbitrary (random) phase difference between the TX and the RX PLL. The FMComms2 Sink output is not yet calibrated and needs to be calibrated by doing the algorithm described by the link Lars gave me.

I assumed that the GNU Radio flowgraph already calibrates the PLL's as soon as you run the program. Is this assumption incorrect, then?

Even when using the external LOs there is a phase ambiguity of +-180 degree, so calibration is needed either way. If calibrate each time the LOs are configure/reconfigured you should be able to use the internal PLLs as well. The calibration will give you a correction factor which you have to apply to the received signal so it appears to be in phase with the TX signal.

The GNUradio blocks do not run calibration since it

a) requires a special hardware setup where the output signal is externally looped back into the receiver.

b) most applications do not require phase coherence between TX and RX and hence the calibration would be overhead.