THD+N calculations for tones less than 100Hz?

Hi Matt,

While measuring some class-D subwoofer amplifiers with my QA401, I noticed that when I use a tone less than 100Hz, the THD+N calculation seems to omit the THD components, leading to measurements where THD appears to be larger THD+N - see attached. I’m using the latest software rev for the QA401 (1.926).

Is this a known limitation or issue with the QA401? The issue persisted with an older version of the software as well.


Here is what it looks at 120Hz

Have you tried increasing the FFT size? Perhaps the bin size is an issue at 2.92Hz and it is “missing” the harmonics?

Hi @chrichap, you have the measurement start at 1 Hz, and there’s a large rise near DC present in your signal. Is there a reason you want the sub 10 Hz in there?

Try some experiments with a second tone and the QA401 in loopback. You can then use the second tone to sweep around and understand what is getting notched out for the THDN measurement.

For example, in the plot below, you can see Gen2 is set to 284 Hz and it’s NOT part of the measurement. So, from that you can learn the notch for the THDN measurement extents from at least 100 Hz up to 284 Hz.

And then, as we increase Gen just beyond 300 Hz, note how the THDN suddenly jumps to -20.

This second generator will let you figure out the “notch” used for the THDN. The challenge is the strategy that makes sense at 1 kHz doesn’t usually make much sense at very low or very high frequencies.

Some semi-related discussion is at the link below:

Hi Matt,
Thanks for your response. A few quick answers to your questions:

  • I had lowered the low-measurement frequency to 1Hz from 20Hz to see if it would impact what I’m observing, but it didn’t.
  • Changing the resolution from 2.92Hz to 732mHz made a minor impact on THD, but not THD+N.
  • The DC signal is there even in loopback with a 25hz tone, but not a 250Hz tone - could I have a fault in my unit? (see pic in this response)
  • In loopback, the THD and THD+N behave properly at 25Hz and 250Hz, but not when measured through a DUT! (see pic in the next response, which illustrates the issue I am observing.) At 25Hz the THD+N falls below THD, and behaves this way until the test tone is raised to 250Hz, which is when things to appear to behave as expected).

If I am interpreting your suggestion with the second generator, the QA401 has some kind of internal notch that tracks the gen 1 tone, which is part of how the unit performs it’s measurements - and that it may be washing out ‘too much’ of the THD at lower test tones? If I’m interpreting correctly I’ll give it a try, and use gen 2 to probe the extents of the notch at lower gen 1 test frequencies.


Here is the DUT under test. Could the issue be related to the Power THD vs Output Power test plugin?

Loopback looks ok:

In this plot you posted, take a look at your 2H. It’s at -90. And your signal is at 10. So, the -98 seems about right. I think the SNR affirms the noise + distortion is around -92 dBV.

Can you please control + click on the RMS button, and check the “show N+D measurement”.


Hi Matt,

Here it is:

Here is the same, but with a higher FFT resolution and some averaging applied:

Hi @chrichap, so in your original plot the THD was worse than the THDN, which is unexpected. But in these plots the THDN is worse than the THD, which is expected. You can see the N+D is showing about -82, and the signal is about 6, and so the THDN appears correct at -88. And the THD appears to be dominated by 2H at -95, and with 6 dBV signal, that is about -101.

So, things look correct here!

Hi Matt, things do look correct in loopback, but still look incorrect when I have a DUT, 25Hz test tone, and use the Power THD vs Output Power test plugin:

Notice the 25Hz plots. THD (blue) sits under THD+N (red) as expected, until ~500mW. After ~500mW, THD+N (red) sits well under THD (blue). The only difference was checking the “measure THD+N instead” box in the “Power THD vs Output Power” test plugin:

This is the literally the only thing changed when taking the blue vs. red curves.

Can you advise? At this point I must conclude that the QA401 isn’t suitable for measuring power amp THD+N for tones less than 250Hz.

Hi @chrichap, above we worked through the way to diagnose which settings are leading to the erroneous results. Now that you know what things look like in loopback, you should have ability to figure out what the DUT is doing to the signal that is causing the problem.

Moving to automated tests/stepped responses (if you cannot get a good result at a single frequency) won’t fix the problem. So, as we did above, connect the DUT and work to understand what is preventing you from getting a reliable THDN reading while working on the main display.

The N+D measurement tile will help a lot here. Can you go back and show the DUT measurement that is giving problems with the N+D tile displayed? Also, turn off averaging while trying to figure this out.

The debug process should be:

  1. Verify results are correct in loopback at 1 kHz
  2. Verify results are correct in loopback at very low frequency
  3. Verify results are correct with DUT at 1 kHz
  4. Verify results are correct with DUT at very low frequency

I think you’ve done 1…3. But as you move to 4, you should be able to see what is changing in the spectrum that is causing the measurement error. N+D is your guide here. And then, as mentioned before, you can step another tone around to see how the THDN filter is handling things.

Hi Matt,

Thank you for clarifying. I’ve now observed this behavior with multiple DUTs - the original DUT was a 500W class-D monoblock (hence why I was probing bass and sub-bass frequencies). I’ve repeated the exercise with two other amps I have on hand. The below are taken from a 300W class-AB monoblock, just in case class-D carrier was introducing issues.

Here is 25Hz tone, with N+D activated. At 3.5Vrms out of the DUT, THD is -80dB and THD+N is -85dB. N+D is -70, with a 10dB main tone, this matches THD @ -80 but not THD+N @ -85.

I tried mixing in the second generator tone as you suggest, to see how things change. I did the second tone at two different frequencies and two different amplitudes; 40Hz (below the 1st harmonic) and 90Hz (above the 1st harmonic, but not a multiple of the fundamental), and -70 and -40 amplitudes.

Here are the two plots with the second generator tone below the 1st harmonic (F=25Hz, second gen tone = 40Hz). In both, N+D, THD, and THD+N don’t change.

Here are the plots with a 90Hz second gen tone (F=25Hz). In both, THD+N does not change, but N+D and THD change significantly:

Your continued guidance is much appreciated.

Thanks, @chrichap, for the plots with N+D. this helps a lot.

With the first gen at 25 Hz and 0 dBV and with the 2nd gen at -20 dBV and sweeping around in 10 Hz steps, note that at around 220 Hz the THDN snaps from a low value to a high value. That is, we learn the “notch” filter for the THD calc is about 200 Hz. And that’s fixed: If we move the Gen1 to 1 kHz, we’ll see the THDN “snap” to -20 around 1.2 kHz.

For the N+D, the story is a bit different. With Gen1 at 25, the N+D will snap to -20 around 60 Hz, but up near 1 kHz it will snap to -20 around 200 Hz.

Now, the notch filter specified by AES202 is in 5.2.8 of the AES17-2020 spec. The Q is prescribed as 1.2 to 3. Putting into a table, we get the following. Down around 25 Hz the filter is hopelessly narrow. Not so narrow that it can’t be done–instead it’s narrow enough that the bin width, DC error, etc, cause another set of problems . So, it’s artificially widened.

And for 20 kHz, the prescribed Q is way too wide–so wide that you are notching out almost half of your energy. So, the filter is intentionally narrowed from 16 kHz to about +/- 400 Hz.

The upshot is that THDN at very low frequencies can be be erroneous if the DUT has excessive energy in certain areas. I think the solution here would be a setting to allow the passband used to be specified. For an immediate fix, you can pull the spectrum data across using the GetData() api call (page 90 in the manual) and compute it using whatever filters you wish. Alternately, you can take the peak (such as 10 dBV) and subtract the N+D (such as -69.5) and that would yield a THDN of -79.5 dB. The N+D represents every above ~60 Hz or so so you’d miss some of the 2nd harmonic.

Hopefully this explains what you are seeing. It doesn’t fix it. But I don’t think the fix is easy either.

1 Like

Ok, thank you for the explanation Matt. I am content to measure THD for sub-bass as noise is usually important with subwoofers. Spot checking with the N+D is enough to see if THD+N is reasonable or not, I think.

One final question - does the QA403 behave the same way?

Hi @chrichap, yes, more or less. I think there are some extra knobs that might be exposed at some point. One might be allowing you to specify the number of harmonics (rather than measurement bandwidth). And another might be allowing the notch width to be specified explicitly. But probably this will be part of the 2.0 software.