Re: cubic convolution interpolation at boundaries?



Markus wrote:
I am using the symmetric cubic convolution kernel ("Catmull-Rom
splines") to interpolate data over a limited range in a variable x.
For the interpolation I am using between 8 and 12 nodes which are
equidistant in x.
Example: The interpolated function between nodes 4 and 5 is computed
based on the data points at nodes 3,4,5,6

My question is: how should I treat the ranges near the boundary?
If I am using 10 nodes, how should I interpolate the data between node
9 and 10? So far I am using linear interpolation here - but this is
conceptually ugly (and it's not precise, although the latter is not my
biggest problem since I want a _nice_ solution).
I am especially worried that in my current approach the interpolated
function has no continuous 1st derivative at node 9.

Is there a solution, in which I could use e.g. a non-symmetric
convolution kernel to interpolate between nodes 9 and 10, based on the
nodes 8,9,10 or maybe 7,8,9,10 - and which results in a continuous 1st
derivative everywhere?
I have not found any discussion about the boundary-treatment in the
literature (and neither on the Google-wide web). In image processing
sometimes people mirror the image at the boundaries (i.e. they would
introduce a hypothetical 11th node for which the data value is set
equal to the data at the 9th node and interpolate using the data
points at nodes 8,9,10,11) - but this would not work in my case.

Any help is appreciated!
Markus

The algorithm here, http://mathalacarte.com/cb/mom.fcg/ya58, generates
an interpolant with a continuous derivative. For the cubic case the
interpolant can be thought of as a linear combination of two quadratics
if there are two points on either side of the interpolation point. If
there are not two points on either side of the interpolation point, then
the quadratic using the nearest three points is used. For more details
see the link above.
Fred
.



Relevant Pages

  • Re: cubic convolution interpolation at boundaries?
    ... splines") to interpolate data over a limited range in a variable x. ... If I am using 10 nodes, how should I interpolate the data between node ... convolution kernel to interpolate between nodes 9 and 10, ... I have not found any discussion about the boundary-treatment in the ...
    (sci.math.num-analysis)
  • cubic convolution interpolation at boundaries?
    ... I am using the symmetric cubic convolution kernel ("Catmull-Rom ... splines") to interpolate data over a limited range in a variable x. ... If I am using 10 nodes, how should I interpolate the data between node ... I have not found any discussion about the boundary-treatment in the ...
    (sci.math.num-analysis)
  • cubic convolution interpolation at boundaries?
    ... I am using the symmetric cubic convolution kernel ("Catmull-Rom ... splines") to interpolate data over a limited range in a variable x. ... If I am using 10 nodes, how should I interpolate the data between node ... I have not found any discussion about the boundary-treatment in the ...
    (sci.math.num-analysis)
  • cubic convolution interpolation at boundaries?
    ... I am using the symmetric cubic convolution kernel ("Catmull-Rom ... splines") to interpolate data over a limited range in a variable x. ... If I am using 10 nodes, how should I interpolate the data between node ... I have not found any discussion about the boundary-treatment in the ...
    (sci.math.num-analysis)
  • Re: Interpolation w/ cubic convolution kernel - boundary treatment?
    ... splines") to interpolate data over a limited range in a variable x. ... A nice property of the Catmull-Rom splines is that I get a continuous ... Unfortunately there are no constraints on the slope. ...
    (comp.dsp)

Loading