Schiit (MultiBit) Bifrost (DAC digital filter techno-discussion)

Discussion in 'Digital: DACs, USB converters, decrapifiers' started by ultrabike, Oct 9, 2015.

  1. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    Copied from the "Schiit (MultiBit) Bifrost" Thread (Schiit (MultiBit) Bifrost)

    Octave code included.

    +++++

    +++++

    Uploading only 32-bit wav

    I will try to upload more files, but need Matlab instead of Octave and I'm going camping soon.

    If you have access to a Bambi and have a means to use these filters in NOS mode, by all means post your results and impressions.

    Can have technical discussions here. I'm hoping this thread will not turn into an "appreciation" HF like thread, nor a "depreciation" HC like thread. Just a thread for open and honest discussion (both technical and non-technical - I kind of hate the objective/subjective bullshit labels)

    Worst case, if this thread does not pick up, at least it will serve as storage for filters folks can try, and modest source code that people can check out. Maybe.
     

    Attached Files:

    Last edited: Oct 9, 2015
  2. Luckbad

    Luckbad Traded in a unicorn for a Corolla

    Pyrate
    Joined:
    Sep 27, 2015
    Likes Received:
    3,408
    Trophy Points:
    113
    Location:
    Holly Springs, NC
    I'll monkey with this after my Multifrost arrives.
     
  3. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    Here is a new set using Matlab which is capable of a 64 bit .wav and a rejection of about 200 dB.

    This is an 18001-tap filter using chebyshev windowing and requiring input and output samples to be the same (similar to the Burrito Combo). This is pretty much what Thune coded.

    The file is unity gain, but does not use the full dynamic range. Can do the later if desired. Can do less taps if desired as well.

    I'll add more files as I check them in the next posts.

    Again, change the extension to .wav

    Implementation is straight up convolution (assuming that's what JRiver needs). I one needs equivalent coefficients using cascaded 2nd order or whatever order, let me know.

    Assumed interpolationis x4 for a final rate of 176.4 kHz (44.1 kHz original signal) or 192 kHz (48 kHz original signal)

    File here: >Schiit (MultiBit) Bifrost (DAC digital filter techno-discussion)<
     
    Last edited: Oct 20, 2015
  4. The Alchemist

    The Alchemist MOT: Schiit - Here to help!

    Pyrate
    Joined:
    Sep 24, 2015
    Likes Received:
    1,189
    Trophy Points:
    113
    Location:
    The SchiitR
    Home Page:
    I have Jriver and a bifrost uber (can't afford the multibit upgrade yet). What exactly is this file for and can it work with my bifrost uber in JRiver?

    Thanks ultrrabike
     
  5. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    It seems it's possible to put Bifrost in NOS mode and use JRiver to do the Digital Filtering and bypass the Mega Burrito per Jason:

    Schiit (MultiBit) Bifrost

    This allows for testing of different Digital Filter approaches. Best guess is that this only applies to the multi-bit option.

    I'm not sure if "images" would be a problem using the NOS mode approach (vs the built-in Mega Burrito Combo). But it can be verified.
     
  6. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    Last edited: Oct 20, 2015
  7. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    Last edited: Oct 20, 2015
  8. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    Last edited: Oct 20, 2015
  9. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    It seems to me that Windowed approaches (which are not approximations in the Parks-McClellan iterative sense, and maybe considered "closed-form" depending on how we define that term in this context), are closer to what Burrito Combo does.

    Note the assumption is that the number of taps is not a problem (18001-taps is kind of highish). Another assumption is that one can play with 64-bit numbers (which is kind of highish too). I guess, processor power has evolved.

    There is a large family of windows that can be applied with a large set of different parameters. Let me know if anyone has a specific flavor in mind.

    Cheers! |\/|

    (BTW, James McClellan is not from the WW1 era - maybe Chebyshev was - he is pretty much alive and maybe one can get ones man-boobs signed by him if one goes to Gerogia Tech. Thomas Parks - McClellans old instructor - is still around, but a bit older)
     
    Last edited: Oct 12, 2015
  10. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    Wanted to point out a few things I've found out through trying a bunch of stuff.

    LARGE ORDER FIR AND (THIS OR THAT) WINDOW VS. (THIS OR THAT) OPTIMIZATON

    If the size of the filter is somewhat constrained (like a lot less than 18001-taps), then Parks-McClellan (and other random stuff) seems like a good choice.

    If one goes the Mega Burrito Combo way and throws in a 9001-18001 tap filter, the optimizaton algorithms start to kind go unstable, and one might be better off using a window technique. At some point one is fairly close to the ideal sinc anyway.

    POSSIBLE LIMITATIONS

    As the size of the filter goes up, one starts having problems with bit-width precision. From what I've seen, an 18001 tap filter using windowing should be able to offer more than 120 dB of supression, unless the filter is limited by precision. The SHARC processors seem like 32-bit, but if they were crazy 64-bit I bet the same filter would be more powerful (and more demanding).

    One also gets some latency which starts approaching a few fractions of a seconds. For some movies one might start using lip-synch or something like that depeniding on rate and other stuff.

    BOTTOM LINE

    Still, bottom line is, for 18001-tap filter and with 32-bit processing at one's disposal, might as well just go with the Windowing approach, like I assume Schiit did and look awesome while at it.

    Again. Let me know if you guys want some other type of filter or window to test.
     
    Last edited: Oct 12, 2015
  11. lm4der

    lm4der A very good sport - Friend

    Pyrate
    Joined:
    Sep 26, 2015
    Likes Received:
    1,466
    Trophy Points:
    113
    Location:
    Seattle, WA
    Is there a reason why the Schiit megacomboburrito filter is not used with their D/S DACs? Is there something about it that requires multibit? Is this something that only Mike Moffett would be able to answer?
     
  12. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    This is pure speculation, but audio purposed D/S (and segment-mixed) DACs may have a built-in DAC digital filter (or a set of them), and already have a serial I2S standard interface.

    The MB DAC uses a parallel interface and may not have a built-in DAC filter (because it's not an audio purposed DAC chip). All of these functions would naturally have to be custom and require a separate processor such as the AD SHARC stuff.
     
    Last edited: Oct 14, 2015
  13. Pyruvate

    Pyruvate Friend

    Pyrate Contributor
    Joined:
    Sep 29, 2015
    Likes Received:
    1,425
    Trophy Points:
    93
    Location:
    Here
    I've always been curious about that. If you can use the same megacomboburrito filter on say, the AKM4490, how much a performance upgrade would it yield? I'm still learning the ropes of DAC architectures, but I'm curious about what sonic characteristics are attributed to the filter and which are due to the DAC chip.
     
  14. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    Looking at the AKM4490 Data sheet (<linky) the DAC filter is part of the DAC chip. This is probably standard in most audio purposed DACs.

    They offer 5 types of 32-bit digital filters:

    32-bit 8x Digital Filter (Ripple: +/-0.005dB, Attenuation: 100dB)
    - Short Delay Sharp Roll-off, GD=6.25/fs <-default
    - Short Delay Slow Roll-off, GD=5.3/fs
    - Sharp Roll-off
    - Slow Roll-off
    - Super Slow Roll-off (SSLOW bit)

    There is also a de-emphasis filter which can be switched-off.

    I don't think the other filters can be switched off, just selectable, which would rule out the usefulness of an external megaburritocombo. I also don't think one can program the megaburritocombo in the DAC chip.
     
  15. feilb

    feilb Coco the monkey - Friend

    Pyrate
    Joined:
    Oct 5, 2015
    Likes Received:
    226
    Trophy Points:
    33
    It can be put into "External Digital Filter Mode" (p. 27) which bypasses aforementioned filtering.

    I doubt that the 4490 upgrade could do the bypass however. Based on my previous *ahem* reverse engineering of the DAC board in the bifrost, the internal micro on the mobo was not (if my poor memory serves me correctly) connected to the DAC chip on the 4399 boards. Considering there's no programming update to install the 4490 board, I doubt that you could do it. You could pobably hack an arduino into the bifrost to fiddle with stuff like that. I think i may have the pinouts for the connectors around here somewhere.
     
    Last edited: Oct 14, 2015
  16. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    Thanks for the correction! So actually, yes, the megaburritocombo might be possible with the 4490 then.
     
  17. lm4der

    lm4der A very good sport - Friend

    Pyrate
    Joined:
    Sep 26, 2015
    Likes Received:
    1,466
    Trophy Points:
    113
    Location:
    Seattle, WA
    Interesting. I suspect that the solutions that Schiit came up with to handle interfacing their burrito filter with the AD DAC they chose for the Yggdrasil were simpler to just continue/apply with the (other) AD DACs that went into Gungnir Multibit and Bifrost Multibit, rather than deal with possibly drastic differences compared to some other D/S DAC.

    ie You can imagine that they went top of the lime (and the coconut) for Yggdrasil, so they chose that AD5791BRUZ DAC, and did all the hard work of making that work and integrating the burrito filter. Then, for Gungnir Multibit they use the same design but went with the slightly scaled down AD5781BRUZ.

    Then Bifrost Multibit followed suit, and so maybe it follows that Bifrost Multibit's AD5547CRUZ DAC is similar enough that that made sense.
     
  18. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    Yes, going multibit may make the burrito filter trickle down easier. But then Schiit products IMO tend to strive for providing options to it's customer base. Who knows. Maybe Schiit will pull out another daughter card configuration option.
     
    Last edited: Oct 14, 2015
  19. Clemmaster

    Clemmaster Friend

    Pyrate Contributor
    Joined:
    Sep 28, 2015
    Likes Received:
    3,271
    Trophy Points:
    113
    The Bifrost Multibit / Multifrost has a parallel input. The Gungnir Multibit and Yggdrasil are serial input. They don't use I2S however. Schiit had to develop a translation unit to talk to the DAC chip and push the samples. IIRC, Mike said the chips need a full preample/header per sample, not frames (as is typically found in audio protocols). It's probably not very hard, once you figure out, but you need to figure it out for it to work at all.
     
  20. Madaboutaudio

    Madaboutaudio Friend

    Pyrate
    Joined:
    Sep 28, 2015
    Likes Received:
    545
    Trophy Points:
    93
    Location:
    Singapore
    Here's molar mola dac designer Bruno explaining shortcuts made by most filters/algorithms which is like what mike moffat/Jason mentions about:

     

Share This Page