[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: very fast spline interp function for heavy oversampling?
"R.G. Stockwell" <stockwell@co-ra.comremove> writes:
> Greetings,
>
> I have a situation where I take a time series, and need to interpolate the
> function to many more samples.
> i.e. original time index = [1,2,3,4....10]
> and I need samples at new time index =
> [1.000,1.001,1.002.......9.999,10.000].
>
> The canned IDL routine spline() works great, but is slow. Unfortunately, I
> don't have time to rewrite the interpolation to something more efficient.
>
> I don't want to use any linear scheme to interpolate, since I want a smooth
> function (i.e. smooth "derivatives") around the data points. I would guess
> that
> it would be easy to efficiently calculate this interp with spline, perhaps
> some vectorization could be put into the function. Or perhaps an
> "upsample" function would work, but modifications would be needed as the
> time series is not evenly sampled.
>
>
> Are there any user routines out there that can do this interpolation
> efficiently?
I second Martin's suggestion. I went from SPLINE to SPL_INTERP, and
never looked back. SPL_INTERP is much faster, and appears to be less
prone to artifacts.
Craig
--
--------------------------------------------------------------------------
Craig B. Markwardt, Ph.D. EMAIL: craigmnet@cow.physics.wisc.edu
Astrophysics, IDL, Finance, Derivatives | Remove "net" for better response
--------------------------------------------------------------------------