Release 1.183 is located HERE and includes some last minute changes that didn’t make it into 1.181:
- Extends “Notch Passband Gain (dB)” allowed values from 18 to 30 dB
- Adds measurements: THD dBr, THDN dBr, and SNR dBr. These are probably only useful for measurements made with an active notch
- Support for LOGINTERP field in user weighting files. This probably should become the default behavior for all weighting files.
- Cleanup on User Weighting dialog and button logic
The new measurements that were added (THD dBR, THDN dBR and SNR dBR) are for those using an active notch with a Q that is high enough that the contribution of the notch and 2H and beyond is negligible. These measurements are differentiated by the normal THD measurements because they read in dBR. This means these measurements assume a true peak (if a notch weren’t present) would be 0 dBr.
Measuring the Topping E70 With an active notch
The last release included an Automated Test that will plot THD, THDN and SNR (no weighting) in one shot. More info on that is HERE and a sample plot is shown below:
But it would be nice to view the spectrum and actually view real numbers for THD(N) and SNR. Previously, the way to do this using the QA480 was to export the notch shape. This was especially important on the QA480 because it was a passive notch with a lower Q and it had a sizable impact on the 2H and 3H (9 dB and 5 dB respectively).
The upcoming QA455 (date isn’t currently available) has an active notch with a higher Q, and thus it won’t impact the harmonic levels. And so, we can take advantage of that shortcut and bypass the hassle of exporting a notch. But, we still face a challenge in learning metrics such as THD. The notch export and compensation allowed a normal THD measurement to work.
So, how do we address if the notch isn’t impacting harmonics AND we’d like to look at the spectrum with meaningful numbers? The THD(N) dBR and SNR dBR measurements added in 1.183 will help.
First, let’s make a 0 dBFS measurement on the DAC and learn the signal output level in absolute terms. To start, we enable Mirror mode (hit ‘M’ on the keyboard or use the Edit-Settings menu). And then we set the GEN1 to 0 dBV = 0 dBFS. Next, make sure your Windows system volume is set to max.
Our first measurement is shown below. We are measuring a peak AND also the total RMS from 20 to 20 kHz. Why is there a discrepancy? Since Windows is handling the generation, we can’t be certain the DAC output falls precisely in the middle of a bin, and thus it’s very likely the DAC output is straddling two bins. The Window function we’re using (Hann) is fairly narrow too. We can either rely on the RMS reading (since the signal is so clean) or we can switch Window functions to something wider, such as Flat Top.
With Flat Top selected, we now have good agreement between RMS and Peak. And we know that when the DAC is delivering a 0 dBFs signal, the sine is 12.17 dBV = 4.059Vrms. This is what Topping calls the 4V mode. There is also a 5V mode, where 0 dBFS = 5Vrms.
The notch being used here is an upcoming QA455, with 18 dB of gain outside of the notch. In other words, in the passband at 500 Hz or 1500 Hz and beyond, the gain is 18 dB.
So, if a notch was not present, the DAC being driven at 0 dBFS would deliver a 12.17 dBV sine that was gained up another 18 dB. And the total amplitude would be 30.17 dB. That figure is our dBr reference we’re going to use.
Right click on the dBr button and you’ll be given the opportunity to specify the 0 dBr reference point in dBV:
Now, set the GEN1 to -1 dBV, and also select 0 dBV full scale input and add some averaging and switch back to HANN (to give a better view of skirts). And then add the 3 new measurements: THD dBr, THD+N dBr and SNR dBr:
We can now read THD, THDN and SNR directly. Note the peak is around -48 dBr. We know the real peak would be at 0 dBR if the notch weren’t present. So, the notch is delivering about 48 dB of suppression here.
We can also enable A-weighting, since SNR is often expressed with A-weighting enabled.
Dynamic Range is a THD+N dBr measurement with A-weighting enabled and with the generator at -60 dBFS. We can change GEN1 output level to -60 DBV (which is -60 dBFS), enable A-weighting and read THD+N (in dBR!) to get the Dynamic Range, which is about -130 dB.
Toppings specs on the E70 Velvet are below. Note they are using 5V output mode, while the measurements above used the 4V output mode. They are using A-weighting on THD+N, which generally isn’t done. The 0.00006% figure is -124.4 dB. They don’t specify a bandwidth on the THD+N, but since an A-weighting filter is used, there’s probably not much above 20 kHz that comes into play, even though they are at 96 ksps.
Understanding the Discrepancies
Above, we very quickly got some numbers that would provide a solid “go/no-go” assessment of the DUT. But there are some differences we should understand.
First, the measured THD+N was quite a bit better than Topping’s reported numbers (-127 dB A-weighting versus -124.4 dB A weighted.
Remember, we set our reference to 0 dBFS, and then we tested with a -1 dBFS tone. So, that would reduce the measured THD+N by a dB. That takes us to -126 versus -124.4. The last 2 dB could very well be unit-to-unit variation or limitations on the Topping test equipment used.
The SNR measurement shows some discrepancy with the Topping spec. Why is this? For those that develop DAC and ADC chips, the SNR measurement is often the amplitude of the signal relative to the noise MINUS the harmonics. For those that develop DAC boxes, the SNR is often the ratio of the “loudest” signal the DAC can play, relative to the noise floor of the device. The QA403 reports the noise (not including the distortion).
We set the dBr reference to 0 dBFS, and so that captures the “loudest” tone the DAC can play. We can also measure the noise floor of the DAC. Just disable the GEN1. Now, Windows is sending zeros to the DAC, and the DAC is thus generating its residual noise. A plot of this noise is below. And it’s about 1 dB better than Topping reported it.
An issue with SNR is that many chipsets will recognize when they are being sent all zeros, and they will disable or shut-down output stages. And that can artificially reduce what is perceived as noise. And so, to get around that, the dynamic range is used. In that test, the -60 dBFS tone ensures the output stages remain active.
So, to summarize, we have the following:
Spec | Topping | Measured | Difference |
---|---|---|---|
THD | -113.9 | -132.5 | Topping measured out to 90 kHz, QA403 stopped at 20k |
THD+N (AW) | -124.4 | -126.0 | Not clear if A-weighting filter used limits beyond 20 kHz. It probably does, otherwise THD+N couldn’t exceed THD. Also, A-weighting isn’t normally used in THD+N measurement. |
SNR (AW) | -131 | -132 | Used two-step method (loudest, then quietest) instead of single measurement that measures noise and ignores harmonics |
Dynamic Range (AW) | -131 | -129.98 | Referenced to 0 dBFS |
Finally, for completeness, the noise floor of the current QA455 with the inputs shorted is -132 dBr (same reference as above). Into the QA403, that level is -101.8 dBV, so the QA403 isn’t the limiting factor here. This will be improved on the QA455 by another dB or two before production begins.