Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
university:tools:pluto:users:non_quad [25 Jul 2019 20:50] – add titles to things Robin Getzuniversity:tools:pluto:users:non_quad [01 Feb 2021 14:47] (current) Iulia Moldovan
Line 21: Line 21:
 {{ :university:tools:pluto:users:loopback.png?500 |}} {{ :university:tools:pluto:users:loopback.png?500 |}}
  
-By looking at the digital loopback time and frequency domain of the signal we are sending, we can see even after 300 years, the math holds up. (The time domain signal looks like only one (green = ''I''), since the other channel (red = ''Q'') is exactly the same and behind it.+By looking at the digital loopback time and frequency domain of the signal we are sending, we can see even after 300 years, the math holds up. (The time domain signal looks like only one (green = ''I'' ), since the other channel (red = ''Q'') is exactly the same and behind it.
  
 ^  Digital Loopback Time Domain  ^  Digital Loopback Frequency Domain  ^ ^  Digital Loopback Time Domain  ^  Digital Loopback Frequency Domain  ^
Line 39: Line 39:
 ===== Sending the data ===== ===== Sending the data =====
  
-We can send that out the RF, by disabling loopback and setting the Rx and Tx LO to the same value. The results shown during the receiving section are RF loopback (The BIST Loopback setting is set to ''Disable'', and the Rx and Tx SMA connectors are connected via SMA cable, which is refereed to as "Analog Loopback").+We can send that out the RF, by disabling loopback and setting the Rx and Tx LO to the same value. The results shown during the receiving section are RF loopback (The BIST Loopback setting is set to ''Disable'', and the Rx and Tx SMA connectors are connected via an SMA cable, which is referred to as "Analog Loopback").
  
 ====== Receiving a "real" signal ====== ====== Receiving a "real" signal ======
Line 45: Line 45:
 Receiving is where things can be more complicated. Most (all) integrated transceivers include some sort of Quadrature tracking corrections which try to ensure the signals are correct, and any imperfections in the chip or external circuitry (balun, non-differential traces, etc) are removed. Receiving is where things can be more complicated. Most (all) integrated transceivers include some sort of Quadrature tracking corrections which try to ensure the signals are correct, and any imperfections in the chip or external circuitry (balun, non-differential traces, etc) are removed.
  
-While the frequency domain plot 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).+While the frequency domain plot looks the same, 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).
  
 ^  Analog Loopback, Frequency Domain, ACG On, Quadrature tracking On  ^  ^  Analog Loopback, Frequency Domain, ACG On, Quadrature tracking On  ^ 
 | {{:university:tools:pluto:users:rf_lo_same.png?700|}} | | {{:university:tools:pluto:users:rf_lo_same.png?700|}} |
  
-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. This is indeed completely randomand will change any time either PLL settings are touched. Moving one LO to a different settings, and back again, will change this phase offset (which manifest itself as a magnitude difference between I and Q).+It'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. This is indeed completely random and will change any time either PLL settings are touched. Moving one LO to a different setting, and back again, will change this phase offset (which manifest itself as a magnitude difference between I and Q).
  
 ^  Analog Loopback, Time Domain, I & Q Data, ACG On, Quadrature tracking On    ^  Analog Loopback, Time Domain, I & Q Data, ACG On, Quadrature tracking On   
 | {{:university:tools:pluto:users:lo_same_time.png?700|}} | | {{:university:tools:pluto:users:lo_same_time.png?700|}} |
  
-You can change this magnitude difference digitally by post processing the sampled data, 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 changing this, you can effectively make either of the I or Q zero, and only receive the signal the other (Q or I), indicating that the received signal is "real" (all information can be received just on one signal channel, and it has no phase or quadrature information.+You can change this magnitude difference digitally by post-processing the sampled data, by using the Phase Rotation control in IIO oscilloscope. It doesn't change the phase relationship between I and Q, but it does change the effective sample time relative to the PLL, and therefore changes their relative magnitude. By changing this, you can effectively make either of the I or Q zero, and only receive the signal the other (Q or I), indicating that the received signal is "real" (all information can be received just on one signal channel, and it has no phase or quadrature information.
  
 ^  Analog Loopback, Time Domain, I & Q Data  ^  ^  Analog Loopback, Time Domain, I & Q Data  ^ 
Line 68: Line 68:
 | mag only | {{ :university:tools:pluto:users:lo_same_time_mag_only.png?direct&400 |}} | | mag only | {{ :university:tools:pluto:users:lo_same_time_mag_only.png?direct&400 |}} |
  
-You can see from the data (and the math) that we can rotate I/Q and it doesn't change the overall attitude of the signal.+You can see from the data (and the math) that we can rotate I/Q and it doesn't change the overall attitude of the signal. It's sometimes difficult to see the ''I'' (green), ''Q'' (red), and ''Mag'' (blue) since they may by hidden (behind) other channels.
  
 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.  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. 
  
-^  Analog Loopback  ^  +^  Analog Loopback, Time Domain, I & Q Data, ACG On, Quadrature tracking On  ^  
-{{ :university:tools:pluto:users:acg_q_on.png?700 |}}+{{ :university:tools:pluto:users:acg_q_on.png?700 |}} |
  
-Here the green signal is the I, and the blue is the overall magnitude. Since, during this run, the I was showing most the the perturbations, and it is small compared to Q, the overall magnitude does not change that much, but it does have undesired step changes, that can be easily fixed when we understand what is happening.+Here the green signal is the ''I'', and the blue is the overall magnitude. Since, during this run, the ''I'' was showing most the perturbations, and it is small compared to Q, the overall magnitude does not change that much, but it does have undesired step changes, that can be easily fixed when we understand what is happening.
  
 The first step is to understand that the ACG is reacting to magnitude changes caused by the Quadrature tracking corrections. 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. The first step is to understand that the ACG is reacting to magnitude changes caused by the Quadrature tracking corrections. 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.
  
-{{ :university:tools:pluto:users:off_iq_on.png?600 |}}+^  Analog Loopback, Time Domain, I & Q Data, ACG Off, Quadrature tracking On  ^ 
 +{{ :university:tools:pluto:users:off_iq_on.png?600 |}} |
  
 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. 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.
Line 142: Line 143:
 For those using a National Instruments USRP Radio, this can be controlled via ''[[https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a586c52db545664cb2caf830ac90c051e|set_rx_iq_balance()]]'' method. For those using a National Instruments USRP Radio, this can be controlled via ''[[https://files.ettus.com/manual/classuhd_1_1usrp_1_1multi__usrp.html#a586c52db545664cb2caf830ac90c051e|set_rx_iq_balance()]]'' method.
  
 +===== SDRangel =====
 +
 +[[https://github.com/f4exb/sdrangel|SDRAngel]] also can turn on/off Quadrature tracking with it's Hardware control buttons.
 +
 +{{:university:tools:pluto:users:sdrangel_controls.png?direct|}}
 +
 +  * ''RFDC'' : RF DC Correction tracking
 +  * ''BBDC'' : BaseBand DC Correction tracking
 +  * ''IQ'' : Quadrature tracking 
 ===== Scope ===== ===== Scope =====
  
 This issue will exist on all integrated devices which have some sort of Quadrature tracking feature, including all hardware based on ADI and [[https://github.com/f4exb/sdrangel/issues/378#issuecomment-513012883|other manufactures]]. It's not something specific to the ADALM-PLUTO, or the AD9363. This issue will exist on all integrated devices which have some sort of Quadrature tracking feature, including all hardware based on ADI and [[https://github.com/f4exb/sdrangel/issues/378#issuecomment-513012883|other manufactures]]. It's not something specific to the ADALM-PLUTO, or the AD9363.
university/tools/pluto/users/non_quad.1564080641.txt.gz · Last modified: 25 Jul 2019 20:50 by Robin Getz