contents


  • interpolation is the process of synthesizing continuous-time world entities from the discrete-time world
  • symbolically, x(t) is obtained, given x[n]

continuous-time-conversion

fig: continuous-time world vs. discrete-time world metaphor


polynomial interpolation

  • consider given a discrete sequence of points

disc-time-seq

fig: discrete time sequence

  • to be determined is a continuous function that goes through all the points

disc-time-seq-curve-fit

fig: continuous curve fit through discrete time sequence

  • this transforms x(t) to x[n]
  • 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 Ts: spacing between the samples
  • make sure x(nTs)=x[n]
  • x(t) 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 N points
    • polynomial of degree N1
  • fit the polynomial
    • p(t)=a0+a1t+a2t2++aN1tN1
  • here: p(0)=x[0] p(Ts)=x[1] p(2Ts)=x[2]  p((N1)Ts)=x[N1] 

lagrange interpolation

  • consider a symmetric interval IN=[N,,N]
  • set Ts=1
  • then: p(N)=x[N] p(N+1)=x[N+1]  p(0)=x[0]  p(N)=x[N] 

  • PN: space of degree-2N polynomials over IN
  • a basis for PN is the family of 2N+1 lagrange polynomials Ln(N)(t)=k=N,knNtknk n=N,,N

  • pick N = 1 to get three lagrange polynomials
    • L1(1),L0(1),L1(1)
  • calculate each polynomial now:

  • L0(1):
    • k=11tkk=t+11.t11=1t2
    • this is a parabola
      • which is 1 at origin
      • 0 at 1 and -1
  • similarly,
    • L1(1)(t)=t2+t2
    • L1(1)(t)=t2t2
  • all lagrangian polynomials generated so are 1 at their index N and 0 at other integers

  • lagrangian interpolator: p(t)=n=NNx[n]Ln(N)(t)

  • this interpolation is the sough-after polynomial interpolator
  • polynomial of degree 2N through 2N+1 points in unique
  • the lagrangian interpolator satisfies p(n)=x[n]  for NnN   since  Ln(N)(m)={1 if n=m0 if nm
example
  • given sequence

disc-time-seq

fig: discrete time sequence

  • the lagrange interpolation with N=2 is as follows
    • this has five lagrange polynomials in all: L2(2),L1(2),L0(2),L1(2),L2(2)

disc-time-seq

fig: lagrange polynomial [-2]

disc-time-seq

fig: lagrange polynomial [-1]

disc-time-seq

fig: lagrange polynomial [0]

disc-time-seq

fig: lagrange polynomial [1]

disc-time-seq

fig: lagrange polynomial [2]

disc-time-seq

fig: summed lagrange polynomials

disc-time-seq

fig: final interpolation to given discrete signal

lagrange polynomial notes
  • maximally smooth
  • infinitely many continuous derivatives

  • interpolation bricks shape depend on chosen N
  • each brick looks different

local interpolation

  • other interpolation possibilities essentially have to meet the same requirements
    • decide on Ts
    • make sure x(nTs)=x[n]
    • x(t) 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

disc-time-seq

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

piecewise-interpolation-function

fig: piecewise interpolation for a discrete time sequence

characteristics
  • x(t)=x[t+0.5]
    • NtN

x(t)=n=NNx[n]rect(tn)

  • interpolation kernel: i0(t)=rect(t)
  • i0(t): “zero-order hold”
    • interpolator’s support is 1
    • interpolation is not continuous

piecewise-interpolation-function-with-rects

fig: zero-order interpolation - rects for a discrete time sequence

piecewise-interpolation-sum-of-rects

fig: sum of piecewise rect supports

first-order interpolation

  • piece-wise linear function

first-order-functions

fig: first-order interpolation for a discrete time sequence

  • straight lines connect the samples
  • connect the dots strategy
characteristics

x(t)=n=NNx[n]i1(tn)

  • interpolation kernel: i1(t)={1|t||t|10 otherwise 
  • interpolator support is 2
  • interpolation is continuous
    • however its derivative is not
  • the interpolation function has inflections at the discrete sample points

first-order-supports

fig: first-order interpolation - support functions through discrete sequence

first-order-sum-of-supports

fig: first-order interpolation - sum of support functions

third-order interpolation

characteristics

x(t)=n=NNx[n]i3(tn)

  • interpolation kernel is put together from two cubic polynomials
  • interpolator support is 4
  • interpolation is continuous up to second derivative

third-order-supports

fig: third-order interpolation - support functions through discrete sequence

third-order-sum-of-supports

fig: third-order interpolation - sum of support functions


local interpolations schemes

x(t)=n=NNx[n]ic(tn)

  • interpolator’s requirements:
    • ic(0)=1
    • ic(t)= for t a nonzero integer
  • different interpolator kernels may be used with the interpolator

three kernels

  • box kernel

box-kernel

fig: box interpolator kernel

  • triangle kernel

tri-kernel

fig: triangle interpolator kernel

  • cubic kernel

cubic-kernel

fig: cubic interpolator kernel

properties
  • they become larger and smoother as the order increases
  • same interpolating function independent of N
    • in contrast with the lagrange interpolation
  • lack of smoothness
    • compared to the lagrange interpolation

sinc interpolation

x(t)=n=x[n]sinc(tnTsTs)

example

  • consider a discrete-time sequence

sinc-interpolation

fig: discrete-time sequence to be interpolated

  • overlaying the interpolator kernels over appropriate sequence points

sinc-interpolation

fig: one kernel, at origin

sinc-interpolation

fig: second kernel added

sinc-interpolation

fig: more kernels added

sinc-interpolation

fig: all discrete samples fitted with corresponding kernels

sinc-interpolation

fig: sum of support kernels

lagrange-sinc interpolation relationship

  • lagrange-sinc interpolation relationship limNLn(N)=sinc(tn)
  • 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: sinc(tn) and Ln()(t) share infinite number of zeros

sinc(mn)=δ[mn]m,nZ  Ln(N)(m)=δ[mn] m,nZ,Nn,mN 

visualization
  • below are comparisons of sinc and higher order lagrange function interpolation

sinc-lagrange

fig: sinc and 100-order lagrange interpolator

sinc-lagrange

fig: sinc and 200-order lagrange interpolator

sinc-lagrange

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

references