Do all-pass and FIR filters cause delay?

For a long time I was afraid of all-pass and FIR filters because they seemed exotic and supposedly cause lots of delay, making them unusable for live sound. Turns out this was just an excuse I was using to avoid some mental hurdles.

Do all-pass filters cause delay?

Here’s a measurement of my BLU-160. It’s an output processor from BSS.

[image error]

Pretty boring.

Here’s that same measurement with 5ms of delay inserted. Let me draw your attention to the Live IR. It’s the exact same shape as in the previous measurement, just pushed 5ms down the time axis.

[image error]

Let’s take out the delay and insert a second-order 180º APF (all-pass filter) at 100Hz.

[image error]

Cool.

Wait a second. What’s going on with the Live IR?

Isn’t an APF a frequency-specific delay?

If the half-period of 100Hz is 5ms, shouldn’t we see a 5ms delay in Live IR?

Maybe the Live IR is over represented by high frequency content. Let’s start over and switch to using a using band-limited pink noise (50-200Hz) instead for the signal generator.

[image error]

I moved the Live IR window over a bit since the peak shifted when I switched to the band-limited pink noise, but I didn’t adjust the delay finder.

Now I’ll insert the APF again.

[image error]

I see phase shift, but I don’t see delay.

Maybe we just can’t see with enough resolution. Let’s record the wavelet and look at it as an IR (impulse response).

[image error]

Ah, ha! Now we see some delay. But is it 5ms of delay?

[image error]

Rats. It’s only 0.042ms.

I have one more idea. What if I record them and look at them in a wave editor.

Here are the waveforms superimposed. It looks like some delay, or maybe a polarity inversion?

[image error]

But if I invert the polarity…

[image error]

Instead of the same IR pushed 5ms down the time axis we see…something different; a new waveform.

This is an important distinction. Delay causes delay. It returns a copy of the original, just farther down the time axis. It does not alter the wave shape and there is no frequency dependence.

On the other hand, an APF does not cause delay. Instead, it causes phase shift, which is frequency dependent and returns a new waveform. Phase shift causes the waveform to rotate around the time axis, which can make it difficult to distinguish from delay.

It’s important that we do, though, because if I sent you this new waveform and you wanted to reverse the process you wouldn’t use delay. You would use a complimentary APF.

Problem solving

If we observe summation that looks like this:

[image error]

We’ll want to fix it with delay so that it looks like this:

[image error]

If we observe summation that looks like this:

[image error]

We’ll fix it with a matching APF in the other channel:

[image error]Do FIR filters cause delay?

FIR (finite impulse response) filters do not cause delay for the same reasons that APF do not cause delay. Their implementation, though, may result in latency any time they include excess phase or linear phase.

Excess phase is any additional phase beyond minimum phase.Minimum phase defines the predictable relationship between magnitude and phase.Linear phase breaks all the rules and removes any relationship between magnitude and phase.
 •  0 comments  •  flag
Share on Twitter
Published on August 19, 2019 16:30
No comments have been added yet.