How to find an optimum linear interpolator replacement for the ideal sinc function? The reason is for the hardware implementation ease.

For example when I use sinc interpolation:

Temp = sinc( (-7:7)+0.1697 ) * ADC( (0:14)+2 )';

I get 0.9509; however with linear interpolation:

yi = interp1((0:14)+2 , ADC((0:14)+2) , (0:14)+2-0.1697 , 'linear');
Temp = yi(8);

I get Temp = 0.8410. Is there any better interpolation possible with linear?


  • 2
    $\begingroup$ how is a linear interpolator "optimized" beyond linear interpolation? $\endgroup$ Apr 9, 2015 at 21:29
  • $\begingroup$ what is the question? $\endgroup$
    – Andreas H.
    Apr 9, 2015 at 22:29
  • $\begingroup$ I have edited my question according to the above comments. $\endgroup$
    – Elnaz
    Apr 9, 2015 at 22:42
  • $\begingroup$ @ robert bristow-johnson, I mean in regards with the frequency response. $\endgroup$
    – Elnaz
    Apr 9, 2015 at 22:46
  • 2
    $\begingroup$ @Elnaz, I don't think you understand how many degrees of freedom there are to be optimised for a linear interpolator. The exact number is 0. $\endgroup$
    – Jazzmaniac
    Apr 9, 2015 at 22:59

1 Answer 1


If you use a high enough resolution table for your Sinc function, filter kernel or reconstruction formula, you might be able linearly interpolate between the table elements and still meet your quality requirements.

The trade-off is memory lookups versus function computation cycles. But caches misses or lookup memories can be more expensive than FPU or MAC latencies on many contemporary systems.

  • $\begingroup$ I have included an example of what I want to achieve. $\endgroup$
    – Elnaz
    Apr 10, 2015 at 0:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.