[DSP] W07 - Interpolation
contents
- polynomial interpolation
- local interpolation
- local interpolations schemes
- sinc interpolation
- trade-offs
- interpolation is the process of synthesizing continuous-time world entities from the discrete-time world
- symbolically, is obtained, given
fig: continuous-time world vs. discrete-time world metaphor
polynomial interpolation
- consider given a discrete sequence of points
fig: discrete time sequence
- to be determined is a continuous function that goes through all the points
fig: continuous curve fit through discrete time sequence
- this transforms to
- interpolators are tools to generate curves through points in a localized area
- these are used to generate band-limited continuous-time functions
interpolation requirements
- decide on : spacing between the samples
- make sure
- has to be smooth
smoothness entailment
- smoothness means:
- the interpolation should be infinitely differentiable
- jumps (1st order discontinuities) requires signals to move faster than light
-
2nd order discontinuities requires infinite acceleration
- natural solution: polynomial interpolation
polynomial interpolation
- this is a naive approach for the interpolation problem
- for a discrete signal with points
- polynomial of degree
- fit the polynomial
- here:
lagrange interpolation
- consider a symmetric interval
- set
-
then:
- : space of degree- polynomials over
-
a basis for is the family of lagrange polynomials
- pick N = 1 to get three lagrange polynomials
-
calculate each polynomial now:
- :
- this is a parabola
- which is 1 at origin
- 0 at 1 and -1
- similarly,
-
all lagrangian polynomials generated so are 1 at their index and 0 at other integers
-
lagrangian interpolator:
- this interpolation is the sough-after polynomial interpolator
- polynomial of degree through points in unique
- the lagrangian interpolator satisfies
example
- given sequence
fig: discrete time sequence
- the lagrange interpolation with is as follows
- this has five lagrange polynomials in all:
fig: lagrange polynomial [-2]
fig: lagrange polynomial [-1]
fig: lagrange polynomial [0]
fig: lagrange polynomial [1]
fig: lagrange polynomial [2]
fig: summed lagrange polynomials
fig: final interpolation to given discrete signal
lagrange polynomial notes
- maximally smooth
-
infinitely many continuous derivatives
- interpolation bricks shape depend on chosen
- each brick looks different
local interpolation
- other interpolation possibilities essentially have to meet the same requirements
- decide on
- make sure
- has to be smooth
- smoothness condition of being infinitely many times differential is too stringent for practical applications
-
signal has to hold smoothness within the limits of the system
- consider the following sequence in discrete-time
fig: discrete time sequence
- explored in the following are some interpolation strategies
zero-order interpolation
- piecewise constant function
- a staircase function
- matches discrete sequence value at given locations
- but is not continuous
fig: piecewise interpolation for a discrete time sequence
characteristics
- interpolation kernel:
- : “zero-order hold”
- interpolator’s support is 1
- interpolation is not continuous
fig: zero-order interpolation - rects for a discrete time sequence
fig: sum of piecewise rect supports
first-order interpolation
- piece-wise linear function
fig: first-order interpolation for a discrete time sequence
- straight lines connect the samples
- connect the dots strategy
characteristics
- interpolation kernel:
- interpolator support is 2
- interpolation is continuous
- however its derivative is not
- the interpolation function has inflections at the discrete sample points
fig: first-order interpolation - support functions through discrete sequence
fig: first-order interpolation - sum of support functions
third-order interpolation
characteristics
- interpolation kernel is put together from two cubic polynomials
- interpolator support is 4
- interpolation is continuous up to second derivative
fig: third-order interpolation - support functions through discrete sequence
fig: third-order interpolation - sum of support functions
local interpolations schemes
- interpolator’s requirements:
- for a nonzero integer
- different interpolator kernels may be used with the interpolator
three kernels
- box kernel
fig: box interpolator kernel
- triangle kernel
fig: triangle interpolator kernel
- cubic kernel
fig: cubic interpolator kernel
properties
- they become larger and smoother as the order increases
- same interpolating function independent of
- in contrast with the lagrange interpolation
- lack of smoothness
- compared to the lagrange interpolation
sinc interpolation
example
- consider a discrete-time sequence
fig: discrete-time sequence to be interpolated
- overlaying the interpolator kernels over appropriate sequence points
fig: one kernel, at origin
fig: second kernel added
fig: more kernels added
fig: all discrete samples fitted with corresponding kernels
fig: sum of support kernels
lagrange-sinc interpolation relationship
- lagrange-sinc interpolation relationship
- within the system limit, local and global interpolation are the same
- lagrange interpolation: global
- sinc interpolation: local
proof
- proof is too technical (see textbook)
- intuition: and share infinite number of zeros
visualization
- below are comparisons of sinc and higher order lagrange function interpolation
fig: sinc and 100-order lagrange interpolator
fig: sinc and 200-order lagrange interpolator
fig: sinc and 300-order lagrange interpolator
trade-offs
- lagrange interpolation is maximally smooth
- but has the drawback that the interpolation kernel depends on N.
- to avoid lagrange interpolation drawback, another interpolation called local interpolation is used
- method uses only a neighborhood of 2N+1 points and
- an interpolation kernel over these 2N+1 points that is equal to 1 at zero and 0 at nonzero integer points
-
the interpolation kernel does not depends on N but some of the smoothness is lost in the process
- as N goes to infinity, the lagrange interpolation corresponds to a sinc interpolation
- at the limit, global and local interpolation are equivalent