Are you winding me up?aciddose wrote:Sure, but if you apply a steep filter at 20k after the linear interpolation that makes up for the poor performance of the interpolation.
First off a linear interpolator is just an FIR, same as a poly interpolator. Linear is just a triangualr window function. So you're saying use a shit FIR first and then use a hardcore IIR to fix the problems. Really?
Have you even considered what an IIR like that will cost? Try designing even a simple half band filter with such a narrow transition band. EG...
An 10th order chebychev, 88200 sample rate, cutoff 20k, 1db ripple, gives you 37db cut at 22050hz.
On top of that polyphase FIR scales linearly, IIR scales quadraticaly. If you are upsampling Nx an FIR will cost O(N), and IIR will be O(N^2), for the same frequency response. IE..
If you double the oversampling the FIR has twice as many branches, but still the same number of taps for each branch. With an IIR you have twice as many samples to process but you also half the cutoff and half the width of the transition band doubling the order of the filter required.
Ok you keep adding new qualifications, you now you agree linear is crap for upsampling but you qualify that by saying "oh but of course you would use steep filter afterwards to fix that".I have never "moved the goalposts", you have set them up in a position that makes sense for your point of view while remaining completely ignorant of others.
You are missing the point.Now this might be considered moving the goal posts, but this is exactly what I've been talking about all along. Consider a ramp waveform, for example. Try this yourself: measure the difference between inter-modulation distortion products produced by a "whole" waveform vs. one synthesized at audio rate then up-sampled with a "cheap" interpolation such as linear.
If you have a clean sawtooth all the way to infinity and you distort the hell out of it all you get is intermodulation products that line up on existing hamonics. As all of the input partials are multiples of the fundamental all the generated sidebands will be too.
If however you upsample your saw (excepting the special case where the fundamental is a factor of the sample rate) with a linear interpolator you now have a load of frequencies that are inhamonic to the original signal. And if you then apply a non linear process to that the sideband distortion it will produce will be all over the place. No longer nicely lined up with the original harmonic series.
That's why a single note driven hard sounds clear and strong and an Am9 chord sounds like a bag of cats getting put through an industrial blender.
If you leave those alias images around you are sticking weird inharmonic stuff through with the good stuff, and all you're gonna get out the other end is cat burger meat.
PS: Sorry just to clarify, intermodulation is fine, nowt wrong with stuff up in the inaudible range contributing, as long as it is meant to be there, if it's left over aliased crud from a crappy upsampling filter then it will sound like crap.