FIR filter trilemma with limited tap length

Discussion in 'Audio Science' started by cameng318, Dec 2, 2023.

  1. soumya

    soumya Acquaintance

    Joined:
    Jun 24, 2018
    Likes Received:
    42
    Trophy Points:
    18
    Location:
    Mordor, Middle Earth
    I am somewhat sceptical - actually pretty sure these are not impulse response graphs for any Linear Phase FIR filter.
    Any LP filter that is has sinc function - regardless if it's weighted by a Window function or not, will have an Impulse Response like this
    This is for a high taps (64K) pure sinc FIR filter.
    [​IMG]

    Similarly this is for 1K taps Kaiser window (beta = 20.27 which is about 32 bits DNR) which hardly has any sinc coefficients. Still the impulse response will look like
    [​IMG]


    The graphs you depicted look like normalized magnitude vs normalized frequency except you are transforming x-axis in mSeconds instead of cycle/sample.
    This is what normalized frequency response graph of a High taps pure sinc filter will look like
    [​IMG]
    Normalised FR for Kaiser beta = 14
    [​IMG]
    The scales are different.

    The real ugliness would come to forefront when you plot the time domain (magnitude vs samples) graph.

    Anyways, I feel the 1024 taps window you used can be a bit more optimal in frequency domain. I personally prefer half band filters as they are good trade-off between suppressing most aliasing vs retaining max energy of the band limited signal. YMMV. Cheers!
     
  2. cameng318

    cameng318 Friend

    Pyrate
    Joined:
    Jun 14, 2020
    Likes Received:
    330
    Trophy Points:
    63
    Location:
    Wyoming
    Yes it was magnitude vs normalized frequency. I trimmed off the parts below -100 dB because that shouldn't be very audible. I used milliseconds becuse closer to how we hear. Craps below -100 dB or smearings within 10 ms should be very imperceptible IMO.

    You are right they aren't very optimized. I used gaussian window, which is definately inferior to some other windowing functions, at least on the plots. I could use the Albrecht windows for much better results, but they don't sound as good as gaussian windows. I'm still figuring out why gaussian filters deliver the most analog sound. The parabolic characteristics on the log scale could be the main reason.

    In my experience half band filters only sound bad when the taps are limited. Once they are long enough like over few thousands taps or something it's pretty good like my Gungnir A2's. The only DAC chip I found with less than half band filter is WM8741 with filter 4 and 5. They cut 110+ dB at 0.5 Fs. I don't have experience with WM8741, but it seems to be one of the most analog sounding DS DACs from what I read online. I guess the filters might have something to do with it.

    Just for fun, here's the ugliest filter I could came up. It's a reversed miniphase filter with a crap tons of pre-ringing, and no post ringing at all. It makes the wackiest vocals I've ever heard. On the attack of vocals, it's like the singers are breathing in instead of singing out. There are so many weird stuff you can do with filters. Wish you find your favourite filters in the new year!
    1.jpg
     
  3. SoupRKnowva

    SoupRKnowva Official SBAF South Korean Ambassador

    Pyrate Contributor
    Joined:
    Sep 26, 2015
    Likes Received:
    4,318
    Trophy Points:
    93
    Location:
    Austin, TX
    Just to clarify, Chord dacs use 3 stages, WTA1 filter to 16x, a simplified version WTA2 to 256x, and then a more basic iir filter up to ~2048x which is the final rate
     

Share This Page