View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Spline based function approximation for HDL synthesis

5.0 | 1 rating Rate this file 2 Downloads (last 30 days) File Size: 20.9 KB File ID: #27738 Version:

Spline based function approximation for HDL synthesis



25 May 2010 (Updated )

This is a suite of simple utilities that allow for efficient approximation of complex functions in a

| Watch this File

File Information

This tool accepts a function handle for a "well behaved" function. It then automatically finds the best position for the knots for cubic spline approximation based on the error tolerance specified by the user. Areas of the approximation region with more rapid changes require more closely placed knots.
Once the knots are positioned and the requested error tolerance is achieved, a computation is made to convert the coefficient tables to fixed point. The lookup operation is automatically coded in EML. Note that the best way to code the EML lookup operation is with a linear O(n) search, that will be further optimized by the synthesis tools.

To demonstrate the utility of these functions, run the "example.m" function that is included with this submission.

Required Products Fixed-Point Designer
Simulink Fixed Point
HDL Coder
MATLAB release MATLAB 7.10 (R2010a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (2)
19 Jul 2016 Sean Little

The best thing I can tell you is to experiment and see what the function can do for you. I had a great time writing this, but I have not even looked at this code in a long time. Sorry I can't be more helpful.

Comment only
19 Jul 2016 DN

DN (view profile)

Hi Sean,

This is really good, many thanks. I'm trying to interpolate the pchip (Piecewise Cubic Hermite Interpolating Polynomial)function with HDL. We use pchip in Matlab so often as you know given its the most accurate for the poly fittings. These days we don't even specify pchip as an option in interp(), but just use pchip() straight from Matlab. I was wondering if your function with can handle this, given the knots will automatically adapt. Thanks again.

01 Sep 2016

Updated license

Contact us