I am trying to measure (estimate) THD of an audio path using a consumer sound card. The idea is that I do two measurements, one without the system being measured in the path and one with it:


Sound card DAC ---> Sound card ADC


Sound card DAC ---> Measured system ---> Sound card ADC

There is the same sine wave generated in both measurements. In each measurement, the ADC data is transformed using FFT (with Hann windowing function) and the THD is calculated by the standard THD(F/R) equation (https://en.wikipedia.org/wiki/Total_harmonic_distortion) from the amplitudes from the peaks of harmonics on the FFT.

The idea is that by doing two measurements, one with and one without the measured system, is that I could eliminate the TDH introduced by the non-ideal DAC, ADC and sine wave generated and (only) measure TDH of the measured system.

Since the THD is not a linear phenomenon, I assume this is not a correct way to estimate THD of the measured system:

THD_measured_system = THD_measurement_2 - THD_measurement_1

So my question is what would be the correct approach in eliminating the THD of the measurement system and if this is even a possible approach?


Would checking the difference between amplitudes of the harmonics between measurements 1 and 2 and calculating the THD from this difference work?


1 Answer 1


The main prerequisite for measuring anything meaningful is that the target parameter (THD) is much better in your measurement system than in the system under test. The higher the difference, the more accurate your result will be. If your measurement system is orders of magnitude better, that the system under test, the measurement error can be neglected. If it is not, your result will have a considerable unsecurity. "Eliminating" the error introduced by your measurement system is not possible, because, like you said, it's inherently non-linear.

For example: if the THD of your sound card, is just 10dB better than the THD of the system under test, the uncertanity will be at approximately 30%. With 20dB it will be 10% and with 30dB it will be 3% and so on.

Regarding your edit: No, this would not work well. As we said, THD is non-linear, not only in the sense, that new frequencies are generated, but also regarding the phase of those new components. E.g., if both systems have the same THD individually, it would not just add up (i.e. be 6dB higher), but could be anywhere from +6dB down to -inf. All information, that can be garnered from comparing the overall THD with the measurement THD comes with uncertainity regarding the individual values. That is a direct consequence of the non-linearity.

  • $\begingroup$ Thank you for the explanation to the edit :) $\endgroup$
    – Klemen
    Apr 2, 2020 at 10:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.