> The interpolation function is a filter. There would be no need to > have an anti-aliasing filter and and interpolation function--there's > just the one function. We use the fast interpolating function at > speeds <= 1. But we need a general interpolation function as a > function of speed that converges to the original function as the speed > decreases to 1. This would provide the needed generality and > flexibility, while having the same general characteristics of the fast > interpolating function on which it is based. I'm open to any ideas on > this thing... I think I need to take my eyes off of interpolation for > a while, and stop beating up the pd list with tables :) >
Right -- wouldn't this be equivalent to doing the (defined) interpolation and the anti-aliasing as a filter in one step? You're modulating the interpolating function to include the effects of the appropriate anti-aliasing filter -- like a one-step sample rate converter. Except, the ratio between the source and target rates is variable. Is this an inappropriate way to be thinking about it? I guess one problem is how "speed" is measured -- do you just use absolute value of the index delta from one sample to the next (what happens when the index is not a linear function of time)? Or could you fill something like a delay line with past index positions and then use those to find speed as a three- or five-point approximation of the first derivative -- this would add a few samples of delay but might give a better estimate of "speed." Sorry to be dense with the questions, but I want to keep up the best I can. =o) > I've got two basic ideas that I'm playing with. > The first is to modify the interpolation function continuously adding > a series of "bumps" that are spaced exponentially outward from the > original function. If there's some good spectral properties, there > could be a way to make a smooth transition and hold the number of > calculations to O(log(speed)) instead of O(speed) > > My second idea is to replace the points and their derivatives, with > filters (low-pass filters for the points and band-pass filters for the > derivatives). Then, fit a polynomial as before and interpolate. Like > existing schemes, this could be turned into continuous functions for > impulse response, which vary as functions of speed. > > Any ideas? > Can you give a quick example of the form of each idea? In the first, are you adding "bumps" to the interpolator's impulse response? In the second are you saying you would replace a point with the impulse response of a low-pass filter (e.g. in a 5th-degree polynomial with coefficients a0 a1 a2 a3 a4 and a5, instead of matching a0+a1+a2+a3+a4+a5 with y[1] you'd match it with an impulse response centered on y[1])? Would the algebra still be such that you could keep the form for derivatives of the polynomials (in the last example, 2*a2+6*a3+12*a4+20*a5 as the 2nd derivative at y[1]) even though you're matching them with something other than an approximation? Feeling my way through, Matt _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list