Splines for Data Smoothing and Interpolation

Dan Simon
Department of Electrical Engineering
Cleveland State University
Cleveland, Ohio

Algebraic splines are useful mathematical tools for smoothing noisy data or interpolating between data points. Splines have many practical applications, including robot path planning and motion generation. Higher order splines result in the continuity of higher order derivatives, which is desirable for many applications, but this is at the expense of large oscillations in the resultant spline. As an alternative to standard algebraic splines, we propose the use of general algebraic splines. General algebraic splines can be optimized with respect to a user-specified combination of knot error, spline velocity, spline acceleration, and spline jerk.

This web page makes available an m-file (that can be run in the MATLAB environment) that implements general algebraic splines. M-files are written in a very high-level language that can be easily read, almost like pseudo code. The m-files is contained in the following zip file.

GeneralSpline.zip - 4 kilobytes

If you download GeneralSpline.zip to your hard drive by clicking on the above link, then unzip the file (using, for example, WinZip), you can run GeneralSpline.m to generate algebraic splines. You can define your own knot values, or you can reproduce the results in reference [1].  If you don't have software to unzip the file, you can download a free evaluation version of WinZip from www.winzip.com.

References

  1. D. Simon, “Data Smoothing and Interpolation Using Eighth Order Algebraic Splines,” IEEE Transactions on Signal Processing, vol. 52, no. 4, pp. 1136-1144, April 2004 - pdf, 403 KB

Professor Simon's Home Page

Department of Electrical and Computer Engineering

Cleveland State University


Last Revised: December 13, 2013