• Welcome to ASR. 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!

DC filter effect on the null RMS metric

The point of the filter is to undo minimum phase across the spectrum, not actual DC blocking. The filter is constructed by first making a linear-phase/FIR filter, and then adjusting it for minimum phase.
I understand the reason for applying DW's HP filter as a correction for the DC blocking filter. I just don't understand why it works so well to correct for a simple first order RC filter using a high order filter. I am guessing that the phase response in the 10s of hz must be close enough between a first order filter with some corner frequency, and a high order filter applied with a much lower corner frequency? I would think the thing to do would be to correct with a 6dB minimum phase filter, but I have tried this and I can't improve the nulling any better than your correction does.

For example, the Fostex looks like it has about a 7Hz high pass filter (bad eyeballing, probably a couple Hz lower than 7Hz). But you are correcting with a 0.75Hz sharp filter. And still it works well.
 
Last edited:
@pkane these "DC coupled" interfaces will probably see biggest help?

Or other way around?

The other way around. DC-coupled interfaces don't have a DC filter that is likely to convert the signal to minimum phase, so no need to correct for it. Most ADC devices have a DC-blocking filter on input, but not all. Those that do, are likely to benefit from undoing the minimum phase conversion.
 
I understand the reason for applying DW's HP filter as a correction for the DC blocking filter. I just don't understand why it works so well to correct for a simple first order RC filter using a high order filter. I am guessing that the phase response in the 10s of hz must be close enough between a first order filter with some corner frequency, and a high order filter applied with a much lower corner frequency? I would think the thing to do would be to correct with a 6dB minimum phase filter, but I have tried this and I can't improve the nulling any better than your correction does.

For example, the Fostex looks like it has about a 7Hz high pass filter (bad eyeballing, probably a couple Hz lower than 7Hz). But you are correcting with a 0.75Hz sharp filter. And still it works well.

Where can you see that Fostex has a near-7Hz HP DC filter?

Multiple filters could be involved, considering there are two devices (a DAC and an ADC) in the loopback. Many of the ADC/DAC ICs provide a configurable digital filter, in addition to the analog one, so you may be seeing the effect of a combination of multiple filters.
 
Where can you see that Fostex has a near-7Hz HP DC filter?

Multiple filters could be involved, considering there are two devices (a DAC and an ADC) in the loopback. Many of the ADC/DAC ICs provide a configurable digital filter, in addition to the analog one, so you may be seeing the effect of a combination of multiple filters.
I was just eyeballing your phase delta curve eyeball extrapolating. When I change the axis and look for the 45 degree frequency it is more like 4 Hz. But you are right, I was assuming first order RC filter and that might not be the case (probably not?). Anyway it seems that if the correcting filter tails towards zero phase somewhat similarly above a few Hz then it will correct well.
1743700105853.png
 
Another comparison using my own RME ADI-2 Pro FS loopbacks recordings:
  1. With DC filter engaged in firmware and hardware: null RMS = -54.6dB
  2. With DC filter turned OFF in firmware, but still ON in hardware: null RMS = -63.9dB
  3. With DC filter turned OFF in firmware, and corrected by DW: null RMS = -70.0dB
    [DW MP HP filter = 0.25Hz]
 
I was just eyeballing your phase delta curve eyeball extrapolating. When I change the axis and look for the 45 degree frequency it is more like 4 Hz. But you are right, I was assuming first order RC filter and that might not be the case (probably not?). Anyway it seems that if the correcting filter tails towards zero phase somewhat similarly above a few Hz then it will correct well.
View attachment 441578
Ah, but that's a phase plot you're looking at, not frequency amplitude.
 
Ah, but that's a phase plot you're looking at, not frequency amplitude.
Yes a RC filter should have 45 degree phase at the cutoff frequency. I think the amplitude plot showed maybe a little lower. As you say it might be more complex than a first order filter and also I assume there is little energy in the files a such low frequencies to try to characterize it with the delta information. Still, with something like the RME loopback you just showed, where we know almost exactly what the hardware RC filter is (0.07Hz from the RME manual), I am surprised that the DW filter corrects as well as a 0.07Hz 6dB minimum phase filter.
 
Yes a RC filter should have 45 degree phase at the cutoff frequency. I think the amplitude plot showed maybe a little lower. As you say it might be more complex than a first order filter and also I assume there is little energy in the files a such low frequencies to try to characterize it with the delta information. Still, with something like the RME loopback you just showed, where we know almost exactly what the hardware RC filter is (0.07Hz from the RME manual), I am surprised that the DW filter corrects as well as a 0.07Hz 6dB minimum phase filter.
The slope or the actual cutoff frequency of the filter isn't as important as the matching of the filter phase to that of the DC filter baked into the loopback. The phase must match closely across the entire spectrum, or as much of it that contains audio signal as possible. By adjusting the cutoff frequency of the HP filter, the phase response is also adjusted in small increments to match that in the recording.
 
I assume DW compensates the entire path, so even if the DC block is a simple first-order filter having ideal 45-degree shift at cutoff, the phase shift through the entire path may be quite different, yes? No? @pkane
 
I assume DW compensates the entire path, so even if the DC block is a simple first-order filter having ideal 45-degree shift at cutoff, the phase shift through the entire path may be quite different, yes? No? @pkane
Yes, it's compensating the full path, which can include any number of other components, including additional software and hardware filters.
 
To simplify and speed up the process of finding the correct DC minimum filter setting, I added a menu option to automatically compute the best approximation to filter frequency.

DeltaWave v2.0.18: https://app.box.com/s/hlglgy3aj39rjfxu343fho4t0cdrq9v8

The option is under Process->Compute DC filter correction... menu. To use it:

1. Pick the two files, reference and comparison, as usual
2. Make sure the settings for filters are configured as follows:

1743869175540.png


3. Select the Compute DC filter correction... menu.

This will first compute a simple match between the waveforms (same as when you press Match button). When done, DeltaWave will iterate about 6-7 times to find the best setting for the minimum phase HP DC filter. This process should be a lot faster than doing it manually, for me, it takes 20-30 seconds. At the end, you'll see the suggested result:

1743869522964.png


The suggested value is 0.0566Hz (this was for an RME ADI-2/4 Pro SE). If you press 'Yes', the value will be set to apply an HP filter to the reference waveform:

1743869657051.png


Whether you say Yes or No or Cancel, the computed value will be put into the Clipboard, so you can paste it into a filter setting yourself.

If you now run another match, the new HP filter will be applied to the reference waveform. The result, assuming the comparison was recorded with a DC blocking minimum-phase filter, will be an improved null. Note that the approximation routine doesn't check for whether the comparison waveform actually was minimum phase or not, and will attempt to compute regardless. For non-MP waveforms, the result might be a large value, like 1.5Hz or 2Hz, for example. I'll think about adding MP detection logic to warn the user.

With the above filter, RMS null value is -84.85dB, while without the HP filter, the result is -77.79dB.
 
@pkane I've got a few to test but first one I tested, the difference RMS gets a bit worse, but PK Metric gets better

I imagined the worst case would be no change but didn't think it could get worse?

1743900463668.png

with min phase filter
1743900484804.png
 
@pkane I've got a few to test but first one I tested, the difference RMS gets a bit worse, but PK Metric gets better

I imagined the worst case would be no change but didn't think it could get worse?

View attachment 442253

with min phase filter
View attachment 442254
If there was no DC filter or it wasn’t minimum phase, then adding an MP DC filter will make things worse. This will only help improve null if there is a minimum phase DC filter in the loopback recording.
 
Difference interface but DW calculates same HP filter frequency, 1.5025Hz

In my post the other day for SSL2+ Mk2, I manually found a better HP freq

A bug @pkane ?

1743901303981.png
 
Now MOtu ultralite mk5, and again HP frequency

What are the odds 3 interfaces have same optimal HP freq

1743901459331.png
 
Difference interface but DW calculates same HP filter frequency, 1.5025Hz

In my post the other day for SSL2+ Mk2, I manually found a better HP freq

A bug @pkane ?

View attachment 442255
that, as I said, is because it wasn’t minimum phase. Quickest way to check is to look at uncorrected delta phase. Looking at PKMetric isn’t going to tell you much.
 
Difference interface but DW calculates same HP filter frequency, 1.5025Hz

In my post the other day for SSL2+ Mk2, I manually found a better HP freq

A bug @pkane ?

View attachment 442255

Umm, can you please check that you have minimum filter configured in settings? All values I posted are important:

1743902224420.png



Here's what I get with the same files. And notice the shape of the uncorrected phase -- that's an indication of minimum phase HP filter used in the recording.
1743901965410.png


And here is the corrected delta phase with the computed HP frequency. Also notice the change in RMS null value:
1743902069776.png
 
that, as I said, is because it wasn’t minimum phase. Quickest way to check is to look at uncorrected delta phase. Looking at PKMetric isn’t going to tell you much.
Do you mean I didn't click min phase checkbox ? I do , see below

Also see delta phase below. When you say uncorrected, you mean uncheck min phase box and turn HP filter off?

1743902213524.png
 
And here is the corrected delta phase with the computed HP frequency. Also notice the change in RMS null value:
Yes thats same HP filter I found manually the other day:
 
Yes thats same HP filter I found manually the other day:

Except in my case, it was computed automatically, in 15-20 seconds. When DW reports 1.5Hz or greater HP filter frequency, this means it didn't find a solution. As I said, I'll add the logic to give an error message for this in the future. For now, it seems something isn't set correctly in your configuration.

First, try to uncheck drift correct -- you don't need it and it takes a lot longer to do the initial match.

Then, try using all the same the settings I have here. Change FFT size for Spectrum to 1M, 32k doesn't have enough resolution below 1Hz to see or measure the details:
1743902801848.png
 
Back
Top Bottom