>>Every time you apply a filter (digital or analogue) it spreads out transient features ever so slightly.
That is certainly not true, but I'll assume you specifically meant a resampling filter, which necessarily involves antialiasing. In this case, we'll have a change only if the transition band of the antialiasing filter rolls off in an area of nonzero energy. The 'spread' of transients is because you've designed a filter that is intentionally removing frequencies, that is, it's doing exactly what you've designed it to do.
If, on the other hand, you're resampling a signal that's already bandlimited below the AA rolloff, nothing happens (ala the demo in the vid).
In hi-fi, the AA filter won't roll off within the audible range, so this is inconsequential.
>>Most obvious example is a wavelet, e.g. applying an FIR filter length N to a wavelet length M gives an output wavelet length N+M -- it spreads it out.
Well, the filter is doing exactly what you've designed it to do. An analog version would do the same. Changes in frequency always involve changes in time and vice versa. The nature of an impulse is a flat frequency signature. Alter
that frequency signature and you no longer have an impulse.
>>Every single filter in the chain of processing is a compromise between making endless waves look perfect
How the waves _look_ is of little consequence.
Also, for purposes of discussion, I'm considering 'perfect' to be when the added noise+distortion is below the thermal noise of the signal (or under -140dB in the case of a digital signal, ie, equal to the noise added by a line-level 100 ohm metal film resistor). Usually, we have to consider only a few hundred samples at a time to reach that level.
In theory, you have to consider an infinite frequency domain as well as an infinite time domain. In practice, both are considerably more finite.
>>and not blurring transient features too much (short FIR)
Gibbs effect is not conceptually or mathematically analogous to blurring. Even if you use an infinite sinc to downsample from 192kHz to 48kHz, you've not altered the time representation of anything in the audible band.
OTOH, using a 8-tap FIR butterworth also gains you nothing in the time department-- it 'looks' crisper, but now you're aliasing like crazy despite starting to roll off below 1kHz (and the phase shift means you've disturbed the timing of the audible frequencies-- now this one is an interesting topic of discussion all on its own).
If your point is 'there's a ton of nuance you didn't mention', well, yes, that point is well taken :-) I'm not unaware of it, there's only so much one should pack into a single video.
>>(Although I've heard 'radio-tuning' noises when outputting a pure
rising-frequency sine-wave through a resampling hardware output
(e.g. 44.1 to 48kHz) so in some cases the compromises in the design
ARE clearly noticeable.)
That sounds like a very serious design shortcoming involving a quantization error and the resulting harmonic distortion products aliasing back into the channel. Or worse an AA filter that's just broken and the fundamental is aliasing. Yes, I've seen resamplers do this too. Software with bugs! Say it ain't so :-)
>>BTW I am the author of the open-source filter design software Fiview.
Pleased to meet you! I often have to design classic linear filters, and I'm not very fond of matlab. I resorted to tuning several demo filters in gtk-bounce by hand in the z-plane rather than use matlab :-P
Oh, based on Tony's Fisher's old stuff! I still use mkfilter all the time. Thanks for mentioning it! Does it have a manual z-plane mode? :-D
[btw: sorry for all the edits]
Edited at 2013-02-28 10:10 pm (UTC)