Wiki

This version is outdated by a newer approved version.DiffThis version (19 Jul 2019 21:17) is a draft.
Approvals: 0/1

This is an old revision of the document!


Dealing with non-Quadrature Signals

This may seem to be a puzzling topic to some - the radio is quadrature - how can a signal be non-Quadrature?

The answer involves a little math, so the reader is expected to understand What a Quadrature signal is. In summary, normal quadrature signals are out of phase some times. and 90° out of phase on average. Real signals fail this test.

Creating and Transmitting a "real" signal

In iio scope, we can create a real signal by playing the same tone, at the same frequency, same magnitude out the DDSes all the same time.

Euler says that this should generate a equal sized tone on each side of the LO, and we can check this by putting the part into digital loopback mode (anything that we send out the Tx, is sent to the Rx) by going to the advanced tab, under the Built in Self Test (BIST) tab:

looking at the frequency domain of the signal we are sending, we can see even after 300 years, the math holds up.

We can send that out the RF, by disabling loopback, and settting the Rx and Tx LO to the same value.

Receiving a "real" signal

This does look close to the same, but we can see that the amplitude is jumping up and down by a few dB. (which is impossible to show in a static picture like this).

Its easier to look at this in the time domain. Here the amplitude difference between I & Q is random based on the random difference between the phase of the Rx and Tx PLL.

You can change this magnitude difference by using the Phase Rotation control in IIO oscilloscope. It doesn't change the phase relationship between I and Q, but does change the effective sample time relative to the PLL, and therefore changes their relative magnitude.

By capturing 1048576 samples (or at 3MSPS, 349525.333 us) you can see what looks like some weird sort of steps. These perturbations are caused by two state machines inside the AD9363 fighting against each other. (1) Automatic Gain Control (ACG) and (2) Quadrature tracking corrections.

The ACG is reacting to magnitude changes caused by the Quadrature tracking corrections misinterpreting that “real” signal that is being sent, is actually a signal on the positive side of the LO, and an image on the negative side of the LO. Turning the ACG to manual mode can help isolate the effects of the IQ Correction. Here is a picture of the same setup with the ACG set to manual mode.

Here we can see multiple times where the Quadrature tracking corrections are trying to suppress what it believes is an image, until it gives up, resets, and starts over. This results in what appears to be amplitude errors in the signal.

Removing issues.

Turning Quadrature tracking off

The easiest way to remove this error is to simply turn off Quadrature tracking corrections.

This will resolve the set changes in magnitude in either I or Q

Offset Tuning

The easiest way to look at things is via the magnitude of the signal ie - set up a math equation in osc with sqrtf((voltage0*voltage0)+(voltage1*voltage1)). This will ensure that any I/Q phase difference doesn't effect the results. Here when Rx and Tx PLL are the same, we can see the same issue.

Moving 1 kHz off (with Quadrature tracking On) , makes the magnitude look like (which is the correct, expected result - constant magnitude over time):

It's expected there may be “waves” in the magnitude, as we are sending sinusoidal signals, and sampling at an offset will cause a low frequency aliasing. The best thing to do is to look at the signal with Quadrature tracking On and Off to see if it makes a difference.

offset Quadrature tracking Off Quadrature tracking On
0 Hz
5 Hz
10 Hz
20 Hz

Conclusion

You can see from this that as long as you are off by 10 Hz or more, the Quadrature tracking feature works properly. In most systems, it's pretty rare to see this in the wild - as at 2.4 GHz, a sub 10 Hz offset would be better than 4 parts per billion (or 0.004 ppm) offset. Unless you have a great reference clock, and spend some time tuning the system, and are lucky - you should never run into this.

It is quite easy to connect Rx to Tx and see this on the same unit - since the reference offset is 0 between Tx and Rx.

university/tools/pluto/users/non_quad.1563563836.txt.gz · Last modified: 19 Jul 2019 21:17 by Robin Getz