Sunday, January 14, 2018

The right digital filter

The correct digital reconstruction filter for digital to analog conversion, is the closest approximation to sinx/x that you can make.  That is, the steepest brickwall filter, the kind that been the mainstream basic from the beginning.  The high end that's always tried to make a "better" filter, inevitably slower, is wrong.  See the discussion between Dave Moses of Wadia and David Rich of The Audio Critic and the famous Professor Stanley Lipschutz, starting on the page marked "pdf 6".

With regards to the infamous pre and post "ringing" of the brickwall filter, David Rich emphasizes that it's not actually "ringing" or a resonance.  Prof. Lipschutz says it does not represent "time smearing".  Likewise for the ripples in pre-cutoff frequency response, which--which are very tiny nowdays due to oversampling anyway.  No information is being added earlier in time or later in time. The correct reconstruction, and there is only one, is the best possible given the initial brickwall filtering and sampling.  This is the one that minimizes error, and it is the sinx/x brickwall filter.

In my words, it represents the information lost in the initial brickwall filtering and sampling.  That information is lost, gone, and any attempt to systematically fill it in is going to fill in elsewhere where not needed.  So it is that slow filters lose the high end frequency response (as, apparently, the Wadia filter being discussed above) and then add grundge (noise plus IM) from aliases which are not being filtered out.  The tiny inaudible ripples are removed at much more audible expense.

And most recently I was reading Archimago saying the same.

What about MQA?  Well, first one has to qualify that MQA is many things, including a companding codec that encodes the some of the benefit of higher sampling rates into lower ones, a very clever trick.

Beyond that, I don't know that much about the digital filters used in MQA.  The format claims to have the ability compensate for the time response for coding at both ends.  That sounds, in principle, ideal, but I'd be sure it isn't perfect.

And MQA as a streaming format cannot be "perfect" as it is necessarily information losing compared with the straight digital at the same rate.  MQA claims the benefits encoded into this information space far exceed the losses.  So, in short, it doesn't even try to be a "perfect" codec, it's a perceptually enhancing codec that replaces some of the original information necessarily and replaces it from other information gleaned from the original encoding and/or metadata about the encoding.  I'm not in principle opposed to such things, I have always enjoyed HDCD, and remain a fan, though the looser in HDCD is the person who doesn't have the HDCD decoder.  MQA is an updated version of the same kind of thing, however the losses to the decoder-less user are less, and the benefits to the decoder bearing user greater.  Perhaps.

Saying all that, MQA is no cultist thing, and I'd be inclined to use quite fast filters, if not the fastest possible.  Good old HDCD swung in the appropriate content-dependent filter at moments notice, in addition to volume compansion.  MQA more cotinuously adjusts to its target mathematics, which I believe is the semi-brickwall filter producing no "pre-ringing."  That's probably unnecessary, but pretty harmless.  If indeed "more-perceptual" information from the higher rez is being restored, this would make up for the lossy encoding and suboptimal filter.

MQA could never work for me as a 'final' codec.  I can't in any useful sense use MQA digital at the input to my DSP's or at my ultimate amplifier feeding DAC's.  And as far as I know, there is no MQA-to-highres converter, the same limitation that plagued HDCD.

All the same, I've been planning to add MQA, it might be sonically beneficial actually in some cases, and analog resample to 24/96, as I do with HDCD, SACD, and so on.

(*Of course, in cases where MQA encoding is used, one wants the MQA decoder, just as with HDCD.  Sadly for me this always requires an analog resampling.)








No comments:

Post a Comment