On Mon, Aug 25, 2008 at 7:48 AM, PSPunch <[EMAIL PROTECTED]> wrote: > i.e., having a table of [-1 1 1 -1], an index of 1.5 will return 1.25 > with [tabread4]
This is correct. The interpolated values can exceed the values in the samples. Think about drawing a polynomial through your points, and where the maximum actually can occur. > Are there any common practices to avoid unexpected clipping introduced > by [tabread4] or [tabosc4~] ? Common practices, not sure. But I think we can establish an upper bound on the peak value, analytically. Our polynomial for tabread4~: g(x)= f[-1]*x(x-1)(x-2)/-6 + f[0]*(x+1)(x-1)(x-2)/2 + f[1]*(x+1)x(x-2)/-2 + f[2]*(x+1)x(x-1)/6 So, the maximum value must occur as a function of x between 0 and 1. Taking our input peak value as 1, the maximum output peak is the sum of the absolute value of the coefficients of f[-1], f[0], f[1], f[2] x(x-1)(x-2)/6 + (x+1)(x-1)(x-2)/2 - (x+1)x(x-2)/2 - (x+1)x(x-1)/6 = -x^2 + x + 1 vertex: x=1/2, f(1/2) = 1.25 > Further more, under what circumstances (what 4 values referred to) will > the returned value exceed the range most? How do you like answering your own questions :) Your example is exactly it. Chuck > > > Thanks in advance.. > > -- > David Shimamoto > > > _______________________________________________ > [email protected] mailing list > UNSUBSCRIBE and account-management -> > http://lists.puredata.info/listinfo/pd-list > _______________________________________________ [email protected] mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
