When you select an RMS measurement, it is calculated in the frequency domain. That is, you specify a region of interest of 20-20 kHz (by right clicking on the RMS or THDN button) and then each frequency amplitude in that region is squared, summed, rooted, etc to arrive at the RMS value. So, if you’ve specified 20 to 20 kHz, then the DC value is ignored. However, as your display shows, there is what appears to be bit of DC bleed into the active spectrum area.
Let’s try this with the left channel inputs shorted:
- File->New Settings. This puts us to a known state, with a 4k FFT.
- Turn off right channel (see DISPLAY control group)
- Add “RMS dBV” and “Sys:FFT”
- Change displayed X axis from 2 Hz to 20 kHz (right click on XLOG button in AXIS control group)
- Set 0 dBV full scale input
The plot should look as follows:
Notice the RMS measurement is very high, and we can also see the low frequency bump extends to 40 Hz or so. So that bump is inside the 20-20 kHz measurement window used for the RMS calculation (which you can change by right clicking on RMS or THD or THD+N in MEASUREMENTS control group)…
Now, the default window is Flat Top. This is a broader windowing function. Switch to Hann.
That helped, and now the low frequency bump extends to 30 Hz or so. Note that our RMS measurement (20 to 20 kHz) bandwidth has dropped from -58.03 dBV to -116.94.
And now switch to a RECT window, and you should see the following:
The low frequency bump has dropped again. But this time, the improvement was below 20 Hz, and so it doesn’t show up in the RMS computation.
OK, now switch back to Flat Top and verify we get back to the big bump and the ~58 dBV RMS reading (dominated by the bump above 20 Hz):
Now, increase the FFT from 4K to 32K:
Note that even with FlatTop, the the larger FFT has dramatically reduced the width of the bump.
That should help explain how the RMS is calculated and how FFT size and window settings can impact your RMS measurements.
More importantly does anyone know why I’m seeing any DC at all in an AC coupled system?
The DC that you see happens AFTER the input caps. There is a buffer amp (OPA1612) that can have +/-500uV or so of offset, which is similar to the FDA that follows it. And finally, the ADC has offset. If you want to learn the overall offset present, you can use the Oscilloscope visualizer and see what it displays with the inputs shorted.
The unit on my desk shows about 2.5mV of offset:
If you want to null the offset, it can be done. You will first need to generate an ADC offset file. (See File->Generate ADC DC Offset file. That will go through each input gain setting (0, 6, 12…42 dBV) and measure the offset, and then place those values for the left and right channel into a file.
And then, you need to go into the Edit->Settings, and enable “Apply DC offset to Acquistions.” If you hover over the checkbox, it will tell you a bit more about the process.
Note the settings file is tied to the serial number of the QA403. So, if you have several, you will need to do for each since offset is different for every unit and temperature. Also the settings file is for a moment in time. Temperature, ageing, etc, can all impact offsets. And so, the process isn’t perfect, and what works well on a Monday will be different on a Tuesday.
Here’s the unit on my desk using an offset file from a while back. As you can see the offset is around 360uV, which is quite a bit better than the 2.5mV above. But still not zero.
Since you are able to write code and dealing with sines, the easiest way to remove any offset is to compute the mean and then subtract that from every sample. And don’t even worry about the DC offset adjustments in hardware.