• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

DAC measurements using DeltaWave

ChatGPT o1's thoughts on this:

It can be surprising at first to see an improvement across the entire spectrum just by compensating for a filter at 0.07 Hz. But remember that any analog or digital filter—no matter how low its cutoff—is going to impart some phase shift that can extend well above its nominal “corner” frequency. A minimum-phase filter in particular does not simply affect frequencies near the cutoff; it shifts the time/phase relationship across the entire audio band, albeit very subtly.

Here’s why that can help your nulls right up to 20 kHz:

  1. Phase Alignment in the Time Domain
    • Even a small subsonic high-pass filter changes the time alignment (phase response) of your signal in ways that can ripple throughout the audible spectrum.
    • By applying a matching filter to the reference file, you bring its overall phase response closer to what the RME capture chain is doing.
    • Once the two signals have better phase alignment, everything lines up more closely—so your null residual can improve even at mid and high frequencies.
  2. Group Delay
    • In a minimum-phase design, group delay (the time delay of different frequency components) cannot be isolated only to sub-10 Hz. There’s inevitably a gradual shift that extends upward.
    • When you apply the same filter offline to your reference file, you effectively match the RME’s group delay across the band, reducing small time-domain mismatches you might otherwise see at higher frequencies.
  3. Very Small but Cumulative Effects
    • At -120 dB or deeper, even minuscule differences in phase or amplitude at higher frequencies can show up in a delta spectrum.
    • Tweaking the low end’s filter alignment can remove subtle “wrinkles” across the entire signal chain.
So, while you’re mainly compensating for a subsonic roll-off in the RME’s analog input, the act of matching that filter’s minimum-phase curve across the entire audio band is what tightens your null residual all the way to 20 kHz.
 
ChatGPT o1's thoughts on this:

It can be surprising at first to see an improvement across the entire spectrum just by compensating for a filter at 0.07 Hz. But remember that any analog or digital filter—no matter how low its cutoff—is going to impart some phase shift that can extend well above its nominal “corner” frequency. A minimum-phase filter in particular does not simply affect frequencies near the cutoff; it shifts the time/phase relationship across the entire audio band, albeit very subtly.

Here’s why that can help your nulls right up to 20 kHz:

  1. Phase Alignment in the Time Domain
    • Even a small subsonic high-pass filter changes the time alignment (phase response) of your signal in ways that can ripple throughout the audible spectrum.
    • By applying a matching filter to the reference file, you bring its overall phase response closer to what the RME capture chain is doing.
    • Once the two signals have better phase alignment, everything lines up more closely—so your null residual can improve even at mid and high frequencies.
  2. Group Delay
    • In a minimum-phase design, group delay (the time delay of different frequency components) cannot be isolated only to sub-10 Hz. There’s inevitably a gradual shift that extends upward.
    • When you apply the same filter offline to your reference file, you effectively match the RME’s group delay across the band, reducing small time-domain mismatches you might otherwise see at higher frequencies.
  3. Very Small but Cumulative Effects
    • At -120 dB or deeper, even minuscule differences in phase or amplitude at higher frequencies can show up in a delta spectrum.
    • Tweaking the low end’s filter alignment can remove subtle “wrinkles” across the entire signal chain.
So, while you’re mainly compensating for a subsonic roll-off in the RME’s analog input, the act of matching that filter’s minimum-phase curve across the entire audio band is what tightens your null residual all the way to 20 kHz.

AI isn't totally wrong, at least in this case :)
 
Well, so where are there any two files, original and DAC/ADC recorded, that demonstrate these "wildly different results"?
Like you I only have access to OP's graphs shown in the first few posts and the original file. There's something I find to be unexpected in the results, but a) this is not my experiment and b) I'm curious about the outcome.

The OP is eschewing sweeps, SNR and distortion measurements between these three DACs (which presumably shows them to be very close and perhaps inaudibly so using classic arbiters). Instead the OP has set out to use DW to demonstrate differences if they exist using real music (the track with weird behaviour below 20Hz). The original posts confirmed quite significant differences. I'm curious about what and why. Eliminating experimental error as well as standardising test equipment, test configuration and test methodology may be essential to prove there is an audible difference.
 
OP has set out to use DW to demonstrate differences if they exist using real music

That's exactly what DeltaWave is designed to do. Computing a difference between two recordings is a way to not only measure errors introduced by the playback/recording chain, but also to listen to the difference. If you want to prove an audible difference, DeltaWave incorporates a number of blind testing methods, including ABX. From the difference, one can compute linearity, group delay, frequency differences, jitter, and even impulse response. Sweeps are usable, too, as is any recording, from voice to sweeps, to orchestra.
 
The settling time to be within -140 dB for a first order high pass at 0.7 Hz would be excessively long.

Post hoc determination of a DC bias/offset for a short duration signal which is most likely not symmetric would also be very difficult.

Might I suggest simply using a few reference signals to determine offset and gain first?
 
Like you I only have access to OP's graphs shown in the first few posts and the original file. There's something I find to be unexpected in the results, but a) this is not my experiment and b) I'm curious about the outcome.

The OP is eschewing sweeps, SNR and distortion measurements between these three DACs (which presumably shows them to be very close and perhaps inaudibly so using classic arbiters). Instead the OP has set out to use DW to demonstrate differences if they exist using real music (the track with weird behaviour below 20Hz). The original posts confirmed quite significant differences. I'm curious about what and why. Eliminating experimental error as well as standardising test equipment, test configuration and test methodology may be essential to prove there is an audible difference.
Keep in mind that FFT based measurements do not fully characterize the time domain for non-repeating signals. In fact, one may have two very different time domain waveform with the exact same FFT result. For example, a forward and backward chirp would sound very different, yet can have the same FFT.
 
I see what you are saying but if you want to isolate DAC effects and remove ADC effects (mainly the low frequency effects from the 0.7Hz RC filter), how do you do that if you don't model the ADC HP filter and correct for it? Or else short the ADC caps. In my opinion, for purposes of what Mani is trying to do, it is perfectly valid to filter the reference with a filter that is based on a known circuit that is described in the RME user manual. This different from the challenge on the gearspace thread where people were attempting to compare overall loopback performance.
@manisandher shared one of the loopback recordings where there was a bit of a lower frequency difference due to the ADC filter.

Instead of adding a specific 0.07Hz filter, I decided to just add a general-purpose DC filter as an option in DeltaWave. This is the frequency response white noise:
1736724486032.png


Phase response is fairly benign above 10Hz:
1736724521787.png


With Mani's loopback recording, here's the result without the new DC filter:
1736724784688.png


Frequency response with the DC filter engaged:
1736725995919.png


Note that engaging the DC filter improved RMS null value by about 3dB for this particular loopback over the entire spectrum. While completely inaudible, the RME capacitor seems to have a bit of an influence on the very low frequencies.

I'll post a link to a test version of DeltaWave with the DC filter a bit later if anyone wants to try it.
 
Here's the link to the new version of DeltaWave with the DC filter selection (v2.1.4):
https://app.box.com/s/etjthvfzg3wkea07t9qz0rnnbqhkt7d7

I suggest selecting filter R+C (apply to both, reference and comparison waveforms), and if you chose to apply at start/end, you'll get the filter applied twice, for greater reduction in low frequencies. Actual frequency doesn't need to be selected for DC filter, since that's built-in:

1736727597768.png




I'll post a link to a test version of DeltaWave with the DC filter a bit later if anyone wants to try it.
 
@manisandher shared one of the loopback recordings where there was a bit of a lower frequency difference due to the ADC filter.

Instead of adding a specific 0.07Hz filter, I decided to just add a general-purpose DC filter as an option in DeltaWave. This is the frequency response white noise:
View attachment 420647

Phase response is fairly benign above 10Hz:
View attachment 420648

With Mani's loopback recording, here's the result without the new DC filter:
View attachment 420651

Frequency response with the DC filter engaged:
View attachment 420666

Note that engaging the DC filter improved RMS null value by about 3dB for this particular loopback over the entire spectrum. While completely inaudible, the RME capacitor seems to have a bit of an influence on the very low frequencies.

I'll post a link to a test version of DeltaWave with the DC filter a bit later if anyone wants to try it.
Yes, it is hard to believe that the RME HP filter would have an effect that is anywhere near audible. There is very little phase shift even at 1 Hz!
1736727967374.png

I think my amp has something like 5 Hz high pass filter, so way worse but I don't worry about it at all. Still I like to play around with all this and I am glad that @manisandher made the thread.
 
Keep in mind that FFT based measurements do not fully characterize the time domain
Only if you forget that FFT means both magnitude and phase/angle :)

for non-repeating signals. In fact, one may have two very different time domain waveform with the exact same FFT result.
Not sure why non-repeating signals are singled out. If you only look at FFT magnitude then even for repeating signals there will be many different waveforms with the same FFT magnitude. Here's a square which you can mangle by changing k coefficient: https://www.desmos.com/calculator/iabavsoomx but it stays a repeating signal and each of them will have the same FFT magnitude.
 
Fast Fourier analysis makes the assumption that the samples time waveform repeats an infinite times.
Only if you forget that FFT means both magnitude and phase/angle :)


Not sure why non-repeating signals are singled out. If you only look at FFT magnitude then even for repeating signals there will be many different waveforms with the same FFT magnitude. Here's a square which you can mangle by changing k coefficient: https://www.desmos.com/calculator/iabavsoomx but it stays a repeating signal and each of them will have the same FFT magnitude.
Fourier analysis requires the assumption that the sampled time waveform are periodic and time invariant at the non-localized level.

For most music, that is a poor assumption. It has little ability to differentiate localized events and is really an overall “average” over a block of time.

Nor is the inverse transform of the FFT to the time domain, be it real and complex, magnitude or phase, etc is not deterministic.

This is one reason why more sophisticated analysis tools such as waterfall, JTFA and wavelet were developed.
 
Instead of adding a specific 0.07Hz filter, I decided to just add a general-purpose DC filter as an option in DeltaWave.

...

I'll post a link to a test version of DeltaWave with the DC filter a bit later if anyone wants to try it.

Is it possible to 'like' a post 1000x?

Thanks so much for doing this Paul.
 
Last edited:
I suggest selecting filter R+C (apply to both, reference and comparison waveforms)...

My first inclination was to think that the DC filter should only be applied to the reference file, as the comparison file has already had a similar filter applied by the ADC's analogue input caps. And although applying the DC filter to R+C may give better nulls, I wouldn't want to mess around with the comparison file, as I can't differentiate between the effects of the DAC and the ADC.

I'll play around with things. If applying the DC filter to R+C improves the nulls, but tends to homogenize them too, then I think for the purposes of this thread, that it should only be applied to the reference file.
 
i have little to add on the technical side of things, just wanted to say this way of measuring/comparing seems very interesting to me. Happy to read along. Thank you guys!
 
Note that engaging the DC filter improved RMS null value by about 3dB for this particular loopback over the entire spectrum.

Using my filtered reference file (6dB/octave minimum phase high-pass @0.1Hz), I'm getting a 8dB improvement in the RMS null.

Applying DW's new DC filter to just the reference file makes the null substantially worse.
 
Last edited:
I still can only emphasize to always use the bandlimiting that DW offers, as much as possible (I usually do 30Hz...18kHz to R and C, and before and after processing) to concentate on the relevant part of the spectrum.
Also, for best subsample offset and gain correction, I restrict the relevant bandwidth even further (100Hz....5kHz) to get the best null, again "where the beef is", and then simply apply the found settings to a 20Hz...20kHz comparison.

For me, these concepts have proven to be very effective.

As for the de-embedding of the 0.07Hz ADC highpass, this is a bit tricky because of the long time constant of the filter (14seconds), which means the filter needs significant amount of time to settle. Rule-of-thumb is 20 time constants for a magnitude error below 120dB.

But the simple trick of adding the same highpass function to the reference before comparison is a well-working trick because we don't care about an altered magnitude response down that low anyway.
 
And although applying the DC filter to R+C may give better nulls, I wouldn't want to mess around with the comparison file, as I can't differentiate between the effects of the DAC and the ADC.
It will be interesting to discover if the difference is audible. I also own an RME ADI 2 PRO and have never worried much about such low frequency stuff since it should all be inaudible. I'm interested in what you discover.
 
It will be interesting to discover if the difference is audible.
Inaudible of course.
And although applying the DC filter to R+C may give better nulls, I wouldn't want to mess around with the comparison file, as I can't differentiate between the effects of the DAC and the ADC.
The is no way to de-embed the effect of the ADC other than using a "reference DAC", plus exact knowledge of the behavior (for the DC filter).
Besides the DC filter, the ADC also has effects coming from the anti-aliasaing filter and these effects are magnitude and phase changes near fs/2 (so one should choose a steep linear-phase filter) and a passband ripple which is small but not irrelevant.
 
No filter applied to reference file:
no MP HP.JPG


DW DC filter applied to reference file:
DC filter in DeltaWave - ref only.JPG


Minimum phase high pass filter applied to reference file:
MP HP in Audacity.JPG
 
Back
Top Bottom