Post Go back to editing

ADALM-PLUTO: Validity of signal output level

Category: Hardware
Product Number: ADALM-PLUTO

Hi,

The signal output that can be obtained from ADALM-PLUTO was used with the IIO Oscilloscope to check its signal output level under several conditions.

First, I checked if the output level when running under the same conditions as the following Wiki page produced the same results.

Dealing with non-Quadrature Signals

The signal tone level is set to -12dB. But, when using digital loopback, the results on the Wiki page do not match the results in my setup for both "I/Q same signal" and "only I or only Q". Similarly, I tested other conditions, such as "One CW Tone" signal output and "RF loopback". The attached PPT slides shows all of these setups and output results. Please take a look. A table summarizing the results is included on the last page.

PPTX

The attached table below is the same as the last page of the ppt slide.

Is it possible for you to tell me why the results are so varied for each condition, even though I have set -12dBFS as the signal level...? Is it ok to assume that this is the expected and correct output result we are seeing? It would be very helpful if you could advise me on how I should understand these results as they differ from the results on the Wiki page.

As background to my questions, I have a customer who is using ADALM-PLUTO with Raspberry Pi to check its operation, and we received some questions about its output level. In providing technical support for this customer, I first performed an operation check with ADALM-PLUTO + PC(IIO Oscilloscope) to have the customer confirm the expected signal output under simple conditions of Digital loopback and RF loopback with ADALM-PLUTO alone (stand-alone). Then, the output signal was varied like this for the -12dBFS signal setting, so I asked these questions.

To be honest, I am a beginner when it comes to RF signals, so it is possible that I do not understand some of these measurements and concepts. If this is something simple or not, it would be very helpful if you could explain from the basics to me.

Thanks,
Makoto

  • Hi Makoto,

    There are a few things to consider -

    1. FFT Window correction that was added with this commit here: https://github.com/analogdevicesinc/iio-oscilloscope/commit/230362a86c4579e1d5f4960bc4352c958b2d61f0
    2. The pointer in a IQ constellation can be sqrt(2) 1.41 longer than the individual I or Q component, this makes the 3dB differences
    3. The two tone DDS adds both tones
    4. In RF loopback the IQ correction will try to reconstruct the signal - this causes some differences between digital and RF loopback
      -Michael
  • Hi Michael,

    Thanks for your reply! It helped me to understand. Would it be possible for you to comment on the four items you pointed out to help me understand them a little more detail? I have not ever been involved in the RF world, but I would like to use this case as an opportunity to deepen my understanding of RF!

    #1. FFT Window correction

    FFT Window correction with this commit was updated in 2020 as below. On the other hand, the IIO oscilloscope latest released download file is "v0.16" released in 2023. So, it looks like to me that this commit has already been reflected to "v0.16" version. Is my understanding correct? The IIO oscilloscope I'm using is the latest version of "v0.16". Therefore, is this point not a cause...?

    https://github.com/analogdevicesinc/iio-oscilloscope/commit/230362a86c4579e1d5f4960bc4352c958b2d61f0

    #2. The pointer in a IQ constellation can be sqrt(2) 1.41 longer than the individual I or Q component.

    In my setup, sending the same signal on I and Q with digital loopback makes the peak signal(P0) -7.58 dBFS as below. This is two tone DDS output, right?

    On the other hand, sending only I or only Q with digital loopback makes the peak signal(P0) is -10.59 dBFS as follows. This is one tone DDS output, right?

    There is 3dB differences between -7.58 dBFS and -10.59 dBFS. Is this what you pointed out here as a difference between one or two tones?

    #3. The two tone DDS adds both tones

    Do you mean this is the same thing as #2 above mentioned that the output of sending both I and Q signals(two tone) is 3dB greater than the output power of the individual I and Q signals(one tone)

    #4. In RF loopback, the IQ correction will try to reconstruct the signal - this causes some differences between digital and RF loopback.

    I believe what you mentioned here is that error component caused by the image interference associated with I/Q imbalance of RF signal described in the following ADI Wiki page. Is my understanding correct?

    I/Q Correction (Wiki)
    https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms1-ebz/iq_correction

    Thanks,
    Makoto

  • Hi Makoto,

    I'm not sure why my reply isn't showing up.

    I'm pretty sure I replied to this on Friday 10th, when my colleague pinged me.

    Regarding the window correction. Even before that mentioned commit, which added multiple window options,  there was some window correction offset in place.

    This was the commit who removed it.

    https://github.com/analogdevicesinc/iio-oscilloscope/commit/cdddf93b36c8f4cf5795d52e3ba7a46a38cdcd68

    So the discrepancy which you identified is caused by the old correction and new correction.

    I think we should add an option to disable the window correction, and also show what offset is used for a given window.

    I don't know where exactly our values are coming from, since these here are a bit different:

    https://www.gaussianwaves.com/2020/09/equivalent-noise-bandwidth-enbw-of-window-functions/

    Regarding the other questions. If you force IQ imbalance why removing one component, you notice two tones. With half the energy.

    If you instead now do a real FFT by disabling the I or Q in the plot. You will see the correct value. while in complex view the energy is halved (3dB).

    The DDS core sums both tones. The plugin takes care of it and doesn't allow you to set both tones to 0dBFS. While when you do things form the command line, you can easily exceed and saturate.

    The wiki page talks about IQ mismatches in general. The TRX used on Pluto AD936x, has some built-in quadrature error correction (QEC).

    -Michael