Gordon,
Excellent posts.
I'm interested when you say that the math units in the resamplers are always compromised. This is likely true, but the compromises are likely not terribly meaningful for this particular application (mainly applying a FIR filter to fixed point data). For software resamplers and audio processing, I usually see them using single precision float for the computation -- this is adequate for 16 and 20 bit samples, but not quite what you need for 24 bit. (remember that float has 23 bits of fraction precision, and while IEEE754 claims no more than 0.5 ulp error, floating point allows for all sorts of problems with numerical stability -- Have a good read of the following
http://docs.sun.com/source/806-3568/ncg_goldberg.html -- "What Every Computer Scientist Should Know About Floating-Point Arithmetic" -- and I would add "And what almost None of them Actually Do"). Given the published specs for the Burr Brown resampler that bryston is using, and looking at their patent covering the technique (7262716), it looks like that math is being done in fixed point with at least 28 bits of precision (at one point in their math (sample rate estimation) they're holding 36 bits of precision as the result of the only divide operation in their pipeline). From the math they're doing -- mainly just multiplies, adds and subtracts, this should guarantee no more than 0.5ulp error in a 24 bit integer result, and probably less. This is significantly better than what single precision float would produce. (I'm not such a great believer in using the FP units when you're dealing with fixed point data -- the pitfalls of floating point can be *very* easy for the unwary to fall victim to, and are still all too easy for those knowlegable about FP math to get caught up by as well. So implementing an algorithm like this using double precision floats can still cause problems -- it's best to remain in fixed point for this sort of thing.)
The quality of resampling has been highly variable -- recent versions of windows and OS/X are quite good these days, but older versions (Windows XP in partucular) have been pretty bad. It's a hard problem to get right, and very easy to screw up.
But it looks like TI got it right with the SRC4392. And from listening to my BDA-1, it sure sounds like it as well.
-- Ian.