Home BSS User Forum BSS Archive Threads Discussion London Architect with Soundweb London
Options

FIR Filter issues

Dear soundweb community,

The main reason I work with the BLU Soundweb is because of the ability to import FIR Filters.
Almost all of my work in Soundweb I use FIR filters to build Linear phase crossovers, maximal phase filters to compensate the natural phase drift of the individual components, and using linear Phase filtering to create multiple bands for multiband limiting.
All because I believe a linear phase system has many advantages.

But now I am at the point that I am touching limits of the machine that I do not fully understand.
My experience is based on working with the BLU-100 and BLU-16

So I have multiple issue’s that I hope someone can clarify.

Some background info on the FIR Filters.
I create these filters with LinearX Crossovershop&Filtershop.
The Coef Numeric Format= Real Floating Point
So the filter look like:
+0.000048243294781110
+0.000127836464037110
+0.000204142467136030
+0.000251808566487730
+0.000297103179512440
+0.000325091132176970
+0.000365194542099550
+0.000396730602126550
………..
This export is as an txt file, this is converted to .csv so Soundweb can read this file.

I have experienced that a FIR filter needs a minimal coef number to get a optimal sound, this is something that seems quite logical thinking about resolution of the filter.
The big problem is that at a certain point the larger the filter becomes (more coef) the worse it sounds, This is only audible noticeable, There is nothing that can be seen with a double FFT measurement, so there is no change in magnitude or Phase.
But it is very audible noticeable, and this is a big problem, because the lower u get in the Frequency spectrum the bigger the FIR filter needs to be, this problem is also present when using a chain of FIR filters.
And this is something I do not understand, Why is the audio degrading if the Filter become’s bigger?

Here are some of my own thoughts: its maybe a Clock issue. The bigger the filter is the bigger the bit chuck in the filter needs to be, the more clock deviation there is in a chuck?
Is real floating point the optimal way to go, or is it better to use a fixed point? And if fixed point is better, then what is the word size, is the internal processing also 24? Or much higher?

The second problem that I face is when using multiband limiting.
I use Linier phase L-R filters, so in theory when divided and combined afterwards the result should be exactly the same as before.
This is also confirmed with Double FFT Readings, phase and magnitude if absolutely the same.
So here is an example of what I do in multiband limiting

soundwebmultiband.jpg

So theoretically when the compressors are at bypass the Output should be exactly the same as the input.
But audible its completely different, especially in the Lower regions of the Frequency spectrum, is this maybe also a result that lower Freq require larger FIR Filters?
The sound is not coherent anymore, it becomes a bit messy. And in the low spectrum its very audible noticeable, while nothing changes in a Double FFT measurement (also nothing if measured directly on the output of the processor).
And the strange thing is when the compressor’s (who are at mute) are deleted and the gain N-input is removed, so only the FIR filters remain the audible sound gets a little bit better, but still not close to the original sound without the multiband limiting.

I suspect that there is another problem then just the size of the filter because the coherency of the sound degrades, that there is an issue with the splitting of the audio for different processing and then the summing of the 2 lines.

Why do larger FIR filters sound worse?
and why is it that adding processing
blocks in the signal chain (even in bypass) make the sound quality
deteriorate.

Any help or thoughts about the subject are most welcome

Comments

  • Options
    J.LuszczekJ.Luszczek Posts: 159
    I don't have much experience when it comes to sound quality issues with FIR filters in Blu processors, but you can achieve transient perfect (linear phase) summing with IIR Low Pass and High Pass filters. It requires delay and non symmetrical slopes. There are a bunch of papers and even advanced Excel spreadsheets that will compute the correct IIR filters and delays for any given crossover frequency. Just do a bit of googling especially on DIY audio discussion boards.
    Also there are second order subtractive crossovers that sum flat in frequency and time domains. You start with High Pass filter and sum its polarity inverted output with full range signal to get the Low Pass. These will sum correctly in frequency and time domain as well. For building multi-band compression these are very good as they don't smear transients.
    So in your example you could eliminate most of the FIR blocks and arrive at more DSP efficient and possibly better sounding solution.

    EDIT: Also IIR shelving filters as long as they are used to correct deviation from flat frequency response are a better choice. Their phase shift offsets the phase shift created by the driver, so the final product has less phase shift than linear phase FIR corrected driver.
  • Options
    Dear J.Luszczek,

    Thanks for responding but I do not think we have the same vision on linear phase. I understand what u are meaning, by using the different types of IIR filters and delay time u can make a good alignment of the phase slopes. And these will show a consistent phase slope. The result is something of an allpass filter.

    But this is not what I am trying to accomplish with FIR filtering and also not what I am meaning with linear phase.
    I want to take it an step further
    I believe, even with the phase slope in good alignment you can still hear the phase twisting true the frequency spectrum.

    With FIR Filters I try to build linear phase systems, so that the phase does not twist, so it is always around the 0 degrees.

    The picture below is a Double FFT measurement of the driver in the FIR multiband example picture.
    The yellow measurement is the Full range measurement of the driver.
    As you can see the driver already has a natural phase shift, After applying a IIR Filter this phase shift will only get worse, and delay is something u can use to paste the delay slope it to the woofer, but delay does not correct the phase twist.

    multibandfullrange.jpg

    As you can see after applying a FIR Phase correction filter, the phase is pulled straight and stays around the 0 degrees, so no phase shift at al, then the linear crossover cuts the bottom side with no phase shift, then the multiband splits it in 2 different sections that fit perfectly on top on each other without any phase shift.
    And this is the strength of FIR Filtering, and this is what sounds absolutely fantastic.
    Because the phase is at 0 degrees true out the spectrum u will get a far better impulse from the component, as a result the audio will project much further and small details will get much clearer and the overall sound more transparent.

    the only problem is to do the same thing at the bottom of the spectrum u need increasingly bigger FIR Filters.
    And as i said before, the problem is that when the filters become bigger, the sound degraides, and this is something that should not be.
    But i must note even with sound degredation at the low side of the spectrum, Linear FIR filters still far out preforms IIR FIltering, and also normal EQ, and shelving filters.
  • Options
    J.LuszczekJ.Luszczek Posts: 159
    No, I meant linear phase IIR crossovers. The phase of the final product is flat and the system reproduces square wave correctly. You can use this type of crossover in your DSP for multiband compression.
    Also, if you use your filter design software from LinearX and import raw driver measurements, then optimize the digital IIR filters to make the final acoustic responses of your speaker's components follow the Transient Perfect IIR \"receipe\" your speakers will have flat frequency and phase response- but only on design axis. But that's true of any speaker processing. You only really nail it in one spot.
    As an example see the old Earthworks studio monitor. It reproduced square wave correctly ( limited by its low frequency response- the top of the wave was sloping) and the impulse response was also exemplary.
    They achieved the goal by optimizing the acoustic HP and LP roll-offs to follow the subtractive delayed crossover formula and achieved the delay through physical offset of the tweeter.
    In DSP you can simply use a delay block.
    Here is a paper by John Kreskovsky that explains this approach.
    http://www.open-end-music.de/vb3/attachment.php?attachmentid=2238&d=1237917692
    Also, as I mentioned before there are spreadsheets which will do the math for you and will generate target filters that you can then import into Crossover Workshop by Linear X or similar loudspeaker design software.
    See here: http://www.pvconsultants.com/audio/tp/tpsdm.htm
    Personally I was always fond of lspCAD, but LEAP and Soundeasy will do the same work for you. It all comes down to which workflow do you prefer.

    So again, in your posted example I would use as much as possible of the good old IIR processing and use FIR filter for final in room system correction. That would leave you with only one potentially \"Bad sounding\" filter in your processing chain.
  • Options
    Dear J.Luszczek,

    Thanks for responding, I had misunderstood the first post.
    This may indeed be a possible substitute for FIR.
    Thanks for pointing this out to me.
    I am going to do some reading and experimentation with this method the coming weeks.
    I will post my findings with this method in comparison to FIR Filtering when I’m done.
  • Options
    Interesting thread.
    Maybe more pre-ringing made the sound get worse for large filters?
  • Options
    RLRBRLRB Posts: 7

    J.Luszczek... where can i see those excels, i got good result with 366t but i need to go deeper in this techique

Sign In or Register to comment.