Schiit (MultiBit) Bifrost

Discussion in 'Digital: DACs, USB converters, decrapifiers' started by FlySweep, Oct 2, 2015.

  1. lm4der

    lm4der A very good sport - Friend

    Pyrate
    Joined:
    Sep 26, 2015
    Likes Received:
    1,466
    Trophy Points:
    113
    Location:
    Seattle, WA
    I didn't try turning off the port power mgmnt. I'll try that tonight and let you know.
     
  2. wnmnkh

    wnmnkh Friend

    Pyrate
    Joined:
    Sep 29, 2015
    Likes Received:
    80
    Trophy Points:
    28
    It may be hardware issue. Download one of popular linux distro and run it on LiveCD mode, then see if it recognize DAC properly.

    As far as I know, W10 does not support USB Audio 2.0
     
  3. DaveBSC

    DaveBSC Friend

    Pyrate
    Joined:
    Sep 29, 2015
    Likes Received:
    18
    Trophy Points:
    3
    Out of the box no, it's still Class 1, 24/96 max just like 8 and 7 because MS is stupid.
     
  4. purr1n

    purr1n Desire for betterer is endless.

    Staff Member Pyrate BWC
    Joined:
    Sep 24, 2015
    Likes Received:
    89,962
    Trophy Points:
    113
    Location:
    Padre Island CC TX
    I have no idea how the filter does that. All I know is from measurements: that the filter has a little pre and post ringing, and a super sharp slope after the audio band with a straight floor afterward.
     
  5. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    Super sharp slope can have some repercusions in phase response. Unless we are dealing with a crazy long FIR filter or some other alien-technology stuff, which may need quite a bit of bits. Do you know hom much stop band rejection the filter has Marv?
     
  6. schiit

    schiit SchiitHead

    Pyrate
    Joined:
    Sep 28, 2015
    Likes Received:
    9,943
    Trophy Points:
    93
    Location:
    Texas and California
    Home Page:
    Per Mike (still the most concise summation of the "supercomboburrito" filter):

    The below are the claims of the digital filter in the Yggdrasil: (and Gungnir Multibit/Bifrost Multibit--JS)

    1. The filter is absolutely proprietary.

    2. The development tools and coefficient calculator to derive the above filters are also proprietary.

    3. The math involved in developing the filter and calculating has a closed form solution. It is not an approximation, as all other filters I have studied (most, if not all of them). Therefore, all of the original samples are output. This could be referred to fairly as bit perfect; what comes in goes out.

    4. Oversimplified, however essentially correct: The filter is also time domain optimized which means the phase info in the original samples are averaged in the time domain with the filter generated interpolated samples to for corrected minimum phase shift as a function of frequency from DC to the percentage of nyquist - in our case .968. Time domain is well defined at DC - the playback device behaves as a window fan at DC - it either blows (in phase) or sucks (out). It is our time domain optimization that gives the uncanny sonic hologram that only Thetas and Yggys do. (It also allows the filter to disappear. Has to be heard to understand.) Since lower frequency wavelengths are measured in tens of feet, placement in image gets increasingly wrong as a function of decreasing frequency in non time domain optimized recordings - these keep the listener's ability to hear the venue - not to mention the sum of all of the phase errors in the microphones, mixing boards, eq, etc on the record side. An absolute phase switch is of little to no value in a non time domain optimized, stochastic time domain replay system. It makes a huge difference with an Yggdrasil.

    5. This is combined with a frequency domain optimization which does not otherwise affect the phase optimization. The 0.968 of nyquist also gives us a small advantage that none of the off-the shelf FIR filters (0.907) provide: frequency response out to 21.344KHz, 42.688KHz, 85.3776KHz, and 170.5772KHz bandwidth for native 1,2,4, and 8x 44.1KHz SR multiple recordings - the 48KHz table is 23.232, 46.464, 92.868, and 185.856KHz respectively for 1,2,4, and 8x. This was the portion of the filter that had the divide by zero problem which John Lediaev worked out in 1983, to combine with #4 above AND retain the original samples.

    This is what the competition offers:

    Frequency domain optimization FIR filters with Parks-McClellan optimization. The development tools for these types of filters can be downloaded for a price range of free to $300 on the internet. Parks-McClellan is the goto filter optimization for audio design. These filters are derived with no closed form math; only successive approximation. The original samples are lost. The output is approximated. An educated guess. This optimization is ubiquitous in the front end of delta sigma dacs as well as standalone digital filters. While there is no inherent phase shift within Parks-McClellan filters, there is no optimization of phase either. The listener is left with what remains from the mixing boards, transducers, brick-wall filters, etc which can and usually do destroy proper phase/position information. Finally, it is processor efficient and economical to implement. Read cheap.

    Any avoidance of the Parks-McClellan pablum requires a lot of original DSP work. Am I a prophet who received the tablets from God or some other high-end audio drivel. Hell, no. I was the producer and director of this project and worked with Dave Kerstetter (hardware-software), John Lediaev (Math), Tom Lippiat (DSP Code), Warren Goldman (Coefficient Generator and development tools) for a total of 15 or so man years. These folks either taught math at The University of Iowa, Computer Science at Carnegie-Mellon University, worked at think tanks like the Rand Corporation – you get the idea. We did this for no money - What we all had in common was that we loved audio. All other audio pros were interested in Parks-McClellan and pointed and laughed at us. That's the way it happened.

    It was worth it, every hour, day, and year. So go for it if you want. For what it is, it is not a lot of money.


    Tap length is 18000 in Gungnir MB and Yggdrasil, 9000 in Bifrost MB. Stopband rejection is 120dB+, IIRC. I think Marv has plots.
     
  7. bixby

    bixby Friend

    Pyrate
    Joined:
    Sep 26, 2015
    Likes Received:
    4,043
    Trophy Points:
    113
    Location:
    Northern Colorado
    ouch my head hurts, Jason, but many thanks for the details. I am so glad you guys get it and have invested in it for us.

    I feel proud I once read up on Parks-McClellan math, perhaps the wrong stuff to invest my time in. ;)
     
  8. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    I think Parks-McClellan offers a minmax optimization to design somewhat arbitrary frequency response filters. AFAIK the filters are somewhat optimized for phase since they are linear-phase. I don't think there is a 0.907 or 0.968 fs/2 corner-frequency limitation in the algorithm.

    Can the Lediaev approach produce arbitrary frequency response filters?

    Note that AFAIK the ideal filter for audio applications might actually by a linear phase infinite sinc function which can only be approximated.

    BTW, Parks-McClellan is not the only show in town. But it may be for off-the-shelf stuff (that I wouldn't know).

    Also, 120dB+ stopband rejection is IMO respectable (inline with 20 bits). 18000 taps is quite large.
     
    Last edited: Oct 5, 2015
  9. RazrLeaf

    RazrLeaf New

    Joined:
    Sep 27, 2015
    Likes Received:
    3
    Trophy Points:
    3
    So my take away is that the trickle down from Yggdrasil to Gungnir Multibit was fairly true to what Yggdrasil was (in spirit), but Bifrost Multibit has ended up differently. Less analytical, more "fluid?" Does this change how a Bifrost Multibit/Lyr2 stack would compare to a Gungnir Multibit/Mojo 2 stack? I keep comparing these 2 because the SE stack is basically half the price of the balanced stack.
     
  10. Judeus

    Judeus Facebook Friend

    Banned
    Joined:
    Sep 28, 2015
    Likes Received:
    202
    Trophy Points:
    43
    Location:
    summit-fi purgatory

    Meh Hugo has 26000 taps Dave has 80000:p|\/|
     
  11. lm4der

    lm4der A very good sport - Friend

    Pyrate
    Joined:
    Sep 26, 2015
    Likes Received:
    1,466
    Trophy Points:
    113
    Location:
    Seattle, WA
    Yeah, and, uh, remind what a "tap" is again...
     
  12. Andre Y

    Andre Y Friend

    Pyrate
    Joined:
    Oct 4, 2015
    Likes Received:
    220
    Trophy Points:
    43
    Location:
    Southern California
    An FIR filter is made up of a series of taps which are chained sequentially, so a 9000-tap filter has 9000 things linked together in a long chain. Digital samples enter on one side of the chain, and exits out 9000 taps later. Each of these taps does 3 things:

    1. Multiply its input by some pre-determined constant (2, 3.14, -8000, whatever). These constants are what's calculated when you design a filter.
    2. Add it to the output of its neighbor.
    3. Pass its input to its neighbor.

    The next sample is fed into the chain, and the whole thing repeats. The output sample is the sum of the output of the all the taps acting on the last 9000 samples.

    This also means that it takes 9000 tap delays for the first audio output sample to appear. In the case of a 96 kHz sample rate, that's a delay of 9000/96000 = 0.09 seconds, or about 90 milliseconds. This is also almost 6 frames of a 60 Hz video signal, and that's one of the big problems of having large FIR filters: the latency makes syncing up with video difficult. In exchange, you get to have very complicated filter responses by using many taps.

    Many built-in filters on commercial DAC chips actually reduce their filter length the higher the sample rate you use, which, back in the day, led to really crappy performance when the chips were playing back high sample-rate audio. Benchmark's DAC-1 resampled everything to 110kHz because they determined that the best performance of the DAC they were using was at that sample rate.
     
  13. Smitty

    Smitty Too good for bad vodka - Friend

    Pyrate
    Joined:
    Sep 28, 2015
    Likes Received:
    562
    Trophy Points:
    93
    Location:
    Ca$hburn, NoVA
    The machine I had problems with was a Surface Pro 3, which hides the power management setting for some reason. It's probably a misguided attempt to help the user by reducing confusion, but I'm not going to email Microsoft to confirm that. I'll figure something out eventually, or I'll buy a cheap mac on Craigslist for taking to meets.
     
  14. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    That's pretty close...

    However, while a filter input enters one side of the chain, it will produce an output as soon as input hits it. The first few samples might be transients which will die down eventually depending on where the main tap is (+/- some fraction of a sample depending on the implementation).

    The outputs are not added necessarily to the neighbor tap alone. They are all added together and make up the final output. For implementation purposes (HW or SW) things may be pipelined, but that's another story.

    A minimum phase filter could be 9000 taps and it may end up having 1 to 10 tap delays (10/96000) = 0.1 milliseconds from input to output (more or less). You would have to look at the group delay. I think a linear phase would have it's main tap in the middle (no fraction) and would have 4500/96000 = 0.045 seconds delay (for the 9000 tap example). Most times group delay ends up being at some bunch of samples + a fraction of a sample.

    To make maters worse, for non-linear phase filters, group delay may be frequency dependent. So frequencies will be delayed differently. I think this happens to minimum phase filters.

    That said, I feel you have the right idea, and really appreciate when things are explained in relatively down to earth terms. Hats off! :)
     
    Last edited: Oct 5, 2015
  15. George Mhmmm

    George Mhmmm Acquaintance

    Joined:
    Sep 27, 2015
    Likes Received:
    39
    Trophy Points:
    18
    Mike from Schiit, why is it important that you obtained an exact solution to the filter and not just an approximation? Don't you end up doing an "estimation" anyways when you do discrete math with finite bit precision?

    You also have to worry about overflow during multiplication and addition at every single tap of the filter, or potentially a truncation or rounding at the end if higher bit precision is used for the computations. Or if you choose to do coefficient normalization, you throw away some bits of precision potentially, unless you go overboard with 64 or 128 bit double floating point precision, you will end up introducing some sort of rounding or truncating during the physical calculation of the filter output, and hence obtain an "estimation" of sorts.

    Genuinely curious about the work done here, I'm focusing on DSP and image processing for my masters. It seems to me that if the estimation is "close enough" more noise will be introduced by quantization as opposed to the error of the estimation.
     
  16. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    It's seems details are sort of proprietary. But if the filters are running at an integer multiple of the input rate, maybe samples are let through with interpolation in between. Interpolation may still be needed in between samples. Pure speculation.

    Again, the approach is obviously proprietary. In the end, I'm sure that what Schiit is doing is very good as can be seen in the characterization of their products using their Taco-Bell XXL approach.
     
  17. Huhnkopf

    Huhnkopf Friend

    Pyrate
    Joined:
    Oct 5, 2015
    Likes Received:
    1,078
    Trophy Points:
    93
    Damn. What a lovely place this is (of course CS was already).


    What's the reason for JRIVER's upsampling?
     
  18. Mrip

    Mrip Friend

    Pyrate
    Joined:
    Sep 27, 2015
    Likes Received:
    64
    Trophy Points:
    18
    Location:
    Brooklyn
    In case this helps anyone... On my Win 7 laptop I had to right click device manager and run it as administrator, then manually update the device driver with the downloaded one to make the pc recognize the dac. As in, downloading the 1.03 drivers and running the setup exe would install the driver, but the pc would not use the new driver until I made it with admin permissions. Manually installing from device manager without admit permissions gave an access denied error. The 1.03 drivers are the only ones I can get to work on either of my pcs.
     
  19. ultrabike

    ultrabike Measurbator - Admin

    Staff Member Pyrate MZR
    Joined:
    Sep 25, 2015
    Likes Received:
    8,960
    Trophy Points:
    113
    Location:
    Irvine CA
    Come to think of it, Jason did say 18000 and 9000 taps. So seems like a straight up filter with lots of taps. IMO George indeed has a good point. The larger the filter, the more one has to worry about quantization errors due to the number of operations and therefore loss of precision.

    Mike's write up IMO is a little cryptic and I kind of would like to go through it again.

    If we are talking about developing an arbitrary and in-house developed filter response, then one could indeed come up with a "closed form solution" to that arbitrary target, which would be an approximation of the ideal and unrealizable sinc filter. So I think in that sense the "closed form solution" filter would still be an approximation.

    IMO this is a convoluted way of saying that Schiit is doing a filtering operation. There is this "minimum phase" term there, but looking at the Gungir square wave leads me to believe this is a linear-phase filter with a pass band of 0 Hz to 21.3444 kHz (0.968*44.1kHz/2).

    This to me means that the filter kicks ass because the target response is time-optimized. Note that optimization usually implies approximation.

    Not sure how non-idealities in recording relate to the DAC performance. But I think what Mike is trying to say is that Parks-McClellan and others use frequency optimization, w/o regard to phase. However, I think Parks-McClellan solutions can be linear-phase which should be sort of transparent and optimal in phase. So not getting the phase problem argument.

    BTW, in regards of image placement, note that low frequencies tend to be somewhat omnidirectional.

    0.968 vs 0.907 is equivalent to saying that the corner frequency of the filter is 21.3444 kHz vs 19.99935 kHz and similar for the rest of the other rates. Which indeed seems like quite small advantage, if any given that the filter gets sharper and may trade stop band attenuation or other parameters for this step drop.

    Also, I'm not sure what this Lediaev divide by zero problem was, but a sinc has a divide by zero in it's main tap which long time ago was agreed had a limit of unity. This is independent of 0.968 or 0.907 bandwidth.

    It maybe possible to retain the original samples. Maybe able to do that with Parks-McClellan as well if the target is linear phase.

    As I said before, Parks-McClellan filters can be linear phase and therefore can be phase optimized if I understand that correctly. Parks-McClellan is an arbitrary filter generator. If I arbitrarily define my approximation as golden, that does not necessarily make it closer to the ideal filter, and is likely still an approximation with perhaps an obscure optimization metric.

    Parks-McClellan is just one optimization. There is least-squares and one could go to window methods if all one needs is a low pass filter.

    Things get cheap because of their wide distribution and time around, not necesarily because they suck. Not-cheap does not necesarily mean better either. It could, but that's not always the case.

    Heard of said univerisities. Never heard of these folks.

    Again, note one maybe able to create a new family of optimal filters if one changes the performance metric. For Parks-McClellan it was minmax. For least squares is sums of the squares of the error. One could come up with other crazy metric and minimize against that. With any luck one may come up with a "closed form solution" which would likely will still be an approximation.
     
    Last edited: Oct 6, 2015
  20. Azteca

    Azteca Friend

    Pyrate
    Joined:
    Sep 26, 2015
    Likes Received:
    1,581
    Trophy Points:
    93
    Location:
    Cincinnati, Ohio
    Luis, I think it's time to take Mike Moffat out to dinner and buy him a few beers. You've got plenty to talk about!
     

Share This Page