Discussion:
[Numpy-discussion] [OT] Interpolation of an unevently sampled bandwidth limited signal
Nadav Horesh
2016-02-04 09:32:36 UTC
Permalink
I have several cases of hand digitized spectra that I'd like to resample these spectra at even spacings. My problem is that cubic or RBF splines often result in an unacceptible over-shooting. Is there a python module that provides something similar to sinc interpolation on unevenly space sampled signal?


Nadav.
Evgeni Burovski
2016-02-04 09:42:23 UTC
Permalink
On Thu, Feb 4, 2016 at 9:32 AM, Nadav Horesh <***@visionsense.com> wrote:
> I have several cases of hand digitized spectra that I'd like to resample
> these spectra at even spacings. My problem is that cubic or RBF splines
> often result in an unacceptible over-shooting. Is there a python module that
> provides something similar to sinc interpolation on unevenly space sampled
> signal?


There are PCHIP and Akima interpolators in scipy.interpolate, both are
designed to prevent overshooting at the expense of only being
C1-smooth. (No idea about sinc interpolation)
Nadav Horesh
2016-02-04 11:34:49 UTC
Permalink
Thank you, I'll try this.
Interpolation by the sinc function is equivalent to what yiu get if you'll synthesize a smooth function by summing its Fourier component obtained via FFT of the data.

Nadav.

________________________________________
From: NumPy-Discussion <numpy-discussion-***@scipy.org> on behalf of Evgeni Burovski <***@gmail.com>
Sent: 04 February 2016 11:42
To: Discussion of Numerical Python
Subject: Re: [Numpy-discussion] [OT] Interpolation of an unevently sampled bandwidth limited signal

On Thu, Feb 4, 2016 at 9:32 AM, Nadav Horesh <***@visionsense.com> wrote:
> I have several cases of hand digitized spectra that I'd like to resample
> these spectra at even spacings. My problem is that cubic or RBF splines
> often result in an unacceptible over-shooting. Is there a python module that
> provides something similar to sinc interpolation on unevenly space sampled
> signal?


There are PCHIP and Akima interpolators in scipy.interpolate, both are
designed to prevent overshooting at the expense of only being
C1-smooth. (No idea about sinc interpolation)
Charles R Harris
2016-02-04 15:17:28 UTC
Permalink
On Thu, Feb 4, 2016 at 4:34 AM, Nadav Horesh <***@visionsense.com> wrote:

> Thank you, I'll try this.
> Interpolation by the sinc function is equivalent to what yiu get if you'll
> synthesize a smooth function by summing its Fourier component obtained via
> FFT of the data.
>

You might be interested in the NUFFT, see
https://jakevdp.github.io/blog/2015/02/24/optimizing-python-with-numpy-and-numba/

<snip>

Chuck
Nadav Horesh
2016-02-04 16:59:46 UTC
Permalink
Excellent! I was looking for nonuniform FFT as a component for the interpolation. I am thinking of combining nufft with czt (from scipy) for the interpolation.


Nadav



________________________________
From: NumPy-Discussion <numpy-discussion-***@scipy.org> on behalf of Charles R Harris <***@gmail.com>
Sent: 04 February 2016 17:17
To: Discussion of Numerical Python
Subject: Re: [Numpy-discussion] [OT] Interpolation of an unevently sampled bandwidth limited signal



On Thu, Feb 4, 2016 at 4:34 AM, Nadav Horesh <***@visionsense.com<mailto:***@visionsense.com>> wrote:
Thank you, I'll try this.
Interpolation by the sinc function is equivalent to what yiu get if you'll synthesize a smooth function by summing its Fourier component obtained via FFT of the data.

You might be interested in the NUFFT, see https://jakevdp.github.io/blog/2015/02/24/optimizing-python-with-numpy-and-numba/

<snip>

Chuck
Loading...