For this first blog post we wanted to dive into a subject that’s been barely democratized and is very contemporary in large PA sound systems: FIR filters
Quick introduction, FIR stands for “Finite Impulse Response”. It represents an advance in digital audio possibilities that’s seen its use rise in the last 30 years (which is considered recent in audio world). It allows the design of audio filters without the typical shifts in the time domain (phase & group delay) associated with IIR “Infinite Impulse Response” or analog filters.
Here’s the exercise: we’re going to compare two different widely used FIR crossover approaches
- FIR digital phase linearization of passive analog 4th order crossovers
- FIR linear phase active digital crossovers
Methodology is going to be quite simple, we’ll be using 3 readily available and inexpensive softwares
- RePhase
- Logic Pro
- Mac OS Impulse Response Utility
In RePhase
Let’s generate a .wav FIR of a linear phase 800 Hz 4th order (24 dB/Oct) high-pass filter and it’s countpart low-pass filter, as would be used in a multi-way speaker to cross over between a mid driver or tweeter and a woofer.


Tap size is at 1000 samples (real world would likely be shorter). Sample rate isn’t very important for the purpose of our experiment (real world would be 48 or 96 KHz). Windowing is Nuttal. We centered the impulse response (IR) in the middle of the file to ensure all IRs stack up perfectly. What’s important to understand here is that this filter doesn’t introduce any phase shifts, as can be seen by the dashed line which is perfectly flat, meaning all frequencies arrive at the same time. File names are “HPF” and “LPF”.
Here is what the impulse response of those FIR files look like:

Impulse response of the FIR linear phase LPF

Impulse response of the FIR linear phase HPF
Let’s also export an inverted all pass filter which would be used to linearize an analog passive crossover. File name will be “Linearize”.

We can see this time the red line is flat, meaning the frequency response is flat up to Nyquist (44100/2=22500 Hz), and that the dotted line aka phase response is making a wrap -360° (or 0) downwards back to 0, to compensate what an analog IIR filter would do.
Here is what the impulse response of those files look like:

Impulse response of the FIR inverted all pass filter

Impulse response of the FIR inverted all pass filter with an IIR 4th order L-R LPF. Impulse isn’t perfectly centered on this image because the IIR filters have been applied in Logic which exports a longer file in which the IR isn’t centered. This doesn’t affect our test because all the impulses are perfectly centered in Logic when they are summed, as can be seen in the image of the next paragraph

Impulse response of the FIR inverted all pass filter with an IIR HPF
In Logic Pro

To get a Linkwitz-Riley 4th order, we cascaded two Butterworth 2nd order filters. Adequate filter slope and Q were verified using pink noise and an FFT.
Let’s add all those files to Logic to sum them together as they would on axis in a sound system, FIR LPF with FIR HPF and FIR inverted all pass with IIR LPF & HPF. All files are 32 bit float to alleviate any clipping resulting from summing. What does our impulses now look like the same software made to inspect impulse responses, Apple’s Impulse Response Utility?
The results

IIR LPF + IIR HPF + FIR inverted all pass

FIR LPF + HPF. Scaling is almost identical.
So what is happening here? It looks like when you use FIR linear phase LPFs & HPFs in summation, their ringing cancel each other, something that can’t be achieved with the simple inverted all pass solution.
So instead of having a blurry version of what’s happening under -30 dB (reverbs, depth, etc), you get the full resolution.
Just for fun, here’s how it would look like with an IIR filter without phase compensation:

Think about that next time you buy some speakers!
If you feel like these tests and/or their results do not present a good approximation of real world behaviour, please reach us, we’d be happy to hear from you!
Leave a Reply