fbpx

FIR Filtering and the DP448 Part 1

Posted by | November 08, 2012 | , | 2 Comments

Time for some proper technical stuff on the techblog! 
Not too technical, but think of it as a layman’s guide to this somewhat misunderstood topic – FIR 101 if you like…

Our actual implementation will be covered in a subsequent article.

Overview

With the introduction of a more powerful DSP platform in 2010, newer DP448 units[i] now benefit from increased power which we have used to implement additional processing.  Finite impulse Response (FIR) filter technology has been in the spotlight in recent years as another tool in the armoury of filters, delays and dynamics used to manage speakers as effectively as possible.  However, as with the majority of technological advances, there are advantages and disadvantages to be aware of when using FIR filtering.

FIR Filtering NOT FIR Filters

Whilst traditional filter responses such as parametric EQ bands, crossover filters of any shape, or shelving filters can all be achieved through FIR filtering, in many cases, the technology is NOT used for this purpose.  There are two main reasons for this.

Real-time vs. Off-line Adjustments

Real-time adjustment of a traditional filter modelled using FIR filtering is not a practical scenario.  The implementation of any filtering using FIR topology is the result of digital data being passed through a series of processing stages traditionally known as filter taps.  Each tap can be thought of as a computational component and different filtering scenarios will require more or less calculation stages, or taps.  As would be expected, for every tap, or calculation, there will be a time penalty involved – more taps = longer time.  Designing a filter to operate at a certain frequency and with a certain level of attenuation may produce x  number of taps, but adjustment of a turnover frequency or required level of attenuation can often result in the number of taps changing and so the computational delay associated with the filtering also changing.

Whilst this delay difference is unlikely to very large (sub-millisecond in modern systems sampling at high rates with typical filtering), even small changes can affect alignment delays between drivers in a multi-way system, introducing side effects that are both difficult to determine and account for.

Processing Delay Penalty

All digital signal processing relies on the manipulation of sampled data using calculations.  The major difference between the implementation of Infinite Impulse Response (IIR) filtering and FIR filtering is that the calculations applied to the incoming sample stream will involve feedback of data back into the filter “maths” for an IIR filter, whereas FIR filtering is a linear process with no feedback.

Considering a basic audio analogy, traditional analogue filtering nearly always utilises feedback to reduce system complexity and provide a wider range of adjustment with fewer components.  This method is analogous to IIR filter topologies which utilise feedback of data as mentioned above.  Care needs to be taken with the analogue filtering and IIR filter design as, where there’s feedback, there’s also the possibility of instability and unexpected behaviour as a result of this. 

FIR filters, with their linear processing topology, are inherently stable and cannot be forced in oscillation (no feedback).  No input will result in no output!  Designers strive to achieve this with IIR filtering as well but, as any audio engineer knows, just stopping talking into a microphone won’t always result in silence – the slow build-up of oscillation caused by too much feedback causing instability is a constant enemy!

So… it would seem like FIR filters are the best solution, but this is not always true due to the simple fact that their linear operation means more steps of calculation that are cascaded one after the other, resulting in more time processing = delay.  Even in a modern audio digital signal processor, this delay can become quite significant, especially when processing low frequency signals at high resolution.  The reasons for this are beyond the scope of this document, but these delays can be in the order of 5 to 15 mS which would be deemed unsuitable in many live performance situations such as music concerts and theatre.  This doesn’t matter quite so much when dealing with installed sound, such as studios, clubs and even voice evacuation or announcement systems.

Negative negative negative…

After all that doom and gloom, are there any advantages to using FIR filtering?  Yes – of course there are, and the one that makes the most news for audio is the phase response characteristic.

So what is “phase response”?  Simply put, the phase response defines the relationship between different frequencies present in a signal relative to each other in time.  The timbre or characteristics that can help identify a particular instrument or sound are heavily influenced not just by the frequencies present, but also by how they relate to each other in time.

Traditionally, we manipulate the frequency response of speaker system by altering the balance of certain bands of frequencies – feeding low frequencies to subs, and filtering off the LF before it gets to the more delicate high frequency drivers.  This is the nature of crossover filters.  Various corrective filters may also be applied to individual drivers to reduce resonances or boost areas lacking, in an attempt to achieve the perfect “flat” response – everything from the lowest lows to the highest highs being output at the same relative level.

However, as anyone who has ever used a digital crossover will know, this isn’t quite the end of the story.  Within speaker cabinets, improvements can be made to the final output if care is taken to correct driver alignment delays.  This method is used to align the outputs of the various drivers in time with each other as their actual centres of output will be physically different within the box.  An HF driver’s voice coil will most likely sit tens of mm further forward than the voice coil of a 12” bass driver, resulting in the HF output reaching the listener typically hundreds of microseconds ahead of the bass driver’s output. 

This would not be too objectionable, were it not for the fact that speakers and crossovers are not perfect and their bands of useful output always overlap to some extent.  It is in the areas of overlap that we are most concerned about the time differences.  If the signals from the LF and HF have a phase difference (or a time delay difference) then they will start to interfere, both constructively and destructively, resulting in peaks and troughs in the response.  This is occurring about the crossover point of the drivers.  Adding a delay to the HF driver output to ensure the sound it emits arrives at the same time as the LF driver’s output has the effect of these signals summing “more correctly” resulting in a smoother response.

Going back to the timbre of a particular instrument, the timing relationships between various frequency components are part of what gives the instrument its “sound”.  Preserving these relationships goes a long way towards improving the clarity, and purity of any system.

Traditional analogue filters and IIR filters can have an adverse effect on the phase relationships present in a signal, “smearing” them so different frequencies arrive at subtly different times to others.  This needn’t be disastrous however – careful filter design can result in a system with minimal phase distortion and very good characteristics.

FIR filtering does not introduce phase distortion – it can exhibit a linear phase response, meaning none of the “smearing” of frequencies in time occurs, no matter how “steep” the filtering is, so allowing the use of higher order crossover filters.  Traditional analogue and IIR filters with very steep or sharp slopes have a greater adverse effect on the phase response of the system.  However, as mentioned in the introduction of this article, modelling traditional designs using FIR filtering is only one approach…
Throw away thoughts of traditional filters!

A bold statement, but one that encapsulates the main design ethos of our implementation of FIR filtering.

As explained in the previous section, traditional approaches to loudspeaker system design would involve high and low pass filters to split bands up, and “corrective” filters (shelving and PEQs, possibly notch filters) to “iron out” any problems.  Digital signal processing normally uses IIR filters, set up as models of the analogue equivalents, to achieve this.

There is another approach to this that involves a more holistic method.  In a similar way to measuring a frequency response and attempting to apply an inverse correction to fix problems in the frequency domain, a system’s impulse response can be measured and a corrective response calculated that will account for any frequency time smearing that is present in the system.

The details of how this works are beyond the scope of this document, but the basic principle is that instead of applying a range of frequencies one after the other (as in a low to high sweep) and measuring the various resulting output levels (so creating a frequency vs. level response), an “impulse” is applied to the system.  A perfect impulse (an infinitely short duration “spike”) will contain all frequencies and is impossible to achieve in reality, but what we are trying to get to it a measure of the time alignments of all frequencies that the system needs to reproduce.

The output of an impulse response measurement will display level vs. time, not level vs. frequency.  Applying a mathematical method known as a Fast Fourier Transform will supply the frequency vs. level version of the information.  However, what can also more usefully be derived from the impulse response is a holistic corrective response filter that is effectively an “inverse” response to the system’s impulse response.  This filter is NOT made up of discrete “bands” and traditional filters – it is a mathematical calculation that works as a whole on the system.



[i]  As this feature only became available after a hardware upgrade, and we reserve the right to improve the specification of the DP448 at any time, only units with a serial numbers in the range 3760-3798 and then from 3960 onwards will support the update. 

2 Comments

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.