# vrf Bezier curves - minor improvement

Question asked by VRFuser on Mar 13, 2008
Hi Gary,

That’s good information.  I did experiment with high order regression (using the function provided in Vee), but there were two main problems:

High order regressions may get close to the points, but they tend to ‘oscillate’.  Indeed, if you have 20 points, you can use a 19th order regression and it will pass through all the points, but it will oscillate wildly between points.
Lower order regressions do not pass through the measured points, which is crucial to this particular measurement.

So in the end, the functions to use in my case are nth order ‘splines’, which are like lots of little regressions, of which the 3rd order Bezier (used my many drawing packages) appeared to ‘look’ nicest!

Best Regards

David Watling

_____

From: Voltz, Gary [mailto:gary.voltz@AirservicesAustralia.com]
Sent: 13 March 2008 00:19
To: VRF
Subject: RE: [vrf] Bezier curves - minor improvement

David,

Not sure if it is exactly what you need, but I was going to suggest an add-in for Excel that I’ve used for polynomial curve fitting.  It’s called xlxtrfun.xll and can be found at http://www.xlxtrfun.com/XlXtrFun/XlXtrFun.htm .

"There is a great satisfaction in building good tools for other people to use."
Freeman Dyson (b. 1923); British-born U.S. physicist, author.

There are many engineering functions in it but the one I used was PFitData( ArrayOfXs , ArrayOfYs, Order , False=>(0,0) ).  It will give polynomial curve fits for up to 16th order Polynomials.  I mostly used it up to 3 but have used it up to 6th Order quite successfully.  I was using it to find the polynomial constants for Force and Torque load cells.  From 10 measurements points, run 4 times, we could predict the output of the Cells at any point in between to better than 0.1%.  Quite often better than to 0.05%

From its help file:

“Returns the coefficients for the polynomial curve of a given order least squares fit of data points in two dimensions. Returns the same values as Microsoft® Excel LINEST function except that the coefficients are in forward order and zeros are returned for all values not applicable. This allow the user to easily set up and test various orders of fit.

The beauty of it apart from being Free, is that the output is an array, (Enter the formula into Excel after selecting 4 rows high and x numbers wide then press Ctrl+Shift+Enter) the constant is on the left then the 1st order next cell to the right, 2nd order next cell to the right, and so on.  It also has a position for the R value, which when closer to 1 indicates the effectiveness of the Curve fit. So the constatnt is always in the same cell and one of the

The Help file that comes with it is also very good.

Anyway, I thought it might be handy for anyone who has a similar need.

Regards,

Gary

_____

From: David Watling [mailto:watling@IceraSemi.com]
Sent: Thursday, 13 March 2008 4:23 AM
To: VRF
Subject: FW: [vrf] Bezier curves - minor improvement

Minor improvement

_____

From: David Watling
Sent: 12 March 2008 18:10
To: VRF
Subject: RE: [vrf] Bezier curves

Hi Guys,

Thank you for your input.  I ended up on Wikipedia and other web pages, and making rather heavy use of one of our mathematicians (poor guy).

Here is my solution attached.  Seems to work fine.

Regards

Dave Watling

_____

From: Williams, Dan [mailto:Dan.Williams@analog.com]
Sent: 12 March 2008 17:25
To: VRF
Subject: RE: [vrf] Bezier curves

Not sure if this is along the lines of what you want but there is an Excel bit here that demonstrates how the Excel smoothing function works. I was trying to get this into a useable VEE form but got pulled off to other tasks before I finished it. Maybe close to what you are looking for.

http://www.xlrotor.com/resources/files.shtml

Look for the bit that says;

Smooth_curve_bezier_example_file.xls

Dan

_____

From: David Watling [mailto:watling@IceraSemi.com]
Sent: Wednesday, March 12, 2008 12:47 PM
To: VRF
Subject: RE: [vrf] Bezier curves

Hi,

Correct: VGA = variable gain amplifier.

Linear interpolation creates sudden changes in slope, which reduces the quality of our radio.  I’m struggling to remove these discontinuities.  I’m having some limited joy with Wikipedia on Bezier curves, but I still get some discontinuities.

Dave

_____

From: William.Drago@L-3com.com [mailto:William.Drago@L-3com.com]
Sent: 12 March 2008 16:05
To: David Watling; VRF
Subject: RE: [vrf] Bezier curves

VGA? Variable gain amplifier?

I'm not sure there is any interpolation method other than linear that guarantees that the result passes through the data points.

Are you sure the curve must pass through the data points? That seems like an arbitrary requirement. So what if it doesn't as long as you meet spec?

If the above is a real requirement, then are you sure you can't use linear interpolation?

I've written a lot of software for VVA (voltage variable attenuator) characterization and use a linear interpolation to fill in the points between measurements. It works quite well. I do adjust the number of data points depending where I am in the curve.

We have one product that is controllable over a 50dB range in 0.25dB steps. I characterize it in 1dB steps in its linear range and 0.5dB steps in the non-linear regions, then linear interpolate the result into a data set that covers the whole range in 0.25dB steps. The technique saves time and yields good data.

-Bill

_____

From: David Watling [mailto:watling@IceraSemi.com]
Sent: Wednesday, March 12, 2008 5:29 AM
To: VRF
Subject: [vrf] Bezier curves

Hi all,

I am measuring a VGA by setting a DAC value, and measuring RF power.

I want to reduce the number of measurements I take by using curve smoothing (non-linear interpolation).  The important thing is that the curve MUST pass through the measurement points.  This means that regression is not the answer.  I have tried ‘cubic spline’ (Matlab ‘spline’), but it does odd things at the ends.  I wondered if Bezier curves would be appropriate, and if so, has anyone got a Bezier function I could make use of?

Best Regards

David Watling

--

_____

This e-mail (including any attachments) is intended only for the recipient(s) named above. It may contain confidential or privileged information and should not be read, copied or otherwise used by any other person. If you are not a named recipient, please contact the sender by telephone (+44-1454-284800) and destroy the original message. Any statement and/or opinion not related to this company's business and expressed in this message is that of the author and does not necessarily reflect those of Icera. This company does not take any responsibility for the views of the author in any matter not related to the company's objective.

_____

---
You are currently subscribed to vrf as: William.Drago@l-3com.com
To subscribe please send an email to: "vrf-request@lists.it.agilent.com" with the word subscribe in the message body.
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".
To send messages to this mailing list, email "vrf@agilent.com".
If you need help with the mailing list send a message to

Search the "unofficial vrf archive" at "http://www.vrfarchive.com/vrf_archive".
Search the Agilent vrf archive at "http://vee.engineering.agilent.com".

--

_____

This e-mail (including any attachments) is intended only for the recipient(s) named above. It may contain confidential or privileged information and should not be read, copied or otherwise used by any other person. If you are not a named recipient, please contact the sender by telephone (+44-1454-284800) and destroy the original message. Any statement and/or opinion not related to this company's business and expressed in this message is that of the author and does not necessarily reflect those of Icera. This company does not take any responsibility for the views of the author in any matter not related to the company's objective.

_____

---
You are currently subscribed to vrf as: Dan.Williams@analog.com
To subscribe please send an email to: "vrf-request@lists.it.agilent.com" with the word subscribe in the message body.
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".
To send messages to this mailing list, email "vrf@agilent.com".
If you need help with the mailing list send a message to

Search the "unofficial vrf archive" at "http://www.vrfarchive.com/vrf_archive".
Search the Agilent vrf archive at "http://vee.engineering.agilent.com".

---
You are currently subscribed to vrf as: watling@icerasemi.com
To subscribe please send an email to: "vrf-request@lists.it.agilent.com" with the word subscribe in the message body.
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".
To send messages to this mailing list, email "vrf@agilent.com".
If you need help with the mailing list send a message to

Search the "unofficial vrf archive" at "http://www.vrfarchive.com/vrf_archive".
Search the Agilent vrf archive at "http://vee.engineering.agilent.com".

--

_____

This e-mail (including any attachments) is intended only for the recipient(s) named above. It may contain confidential or privileged information and should not be read, copied or otherwise used by any other person. If you are not a named recipient, please contact the sender by telephone (+44-1454-284800) and destroy the original message. Any statement and/or opinion not related to this company's business and expressed in this message is that of the author and does not necessarily reflect those of Icera. This company does not take any responsibility for the views of the author in any matter not related to the company's objective.

_____

---
You are currently subscribed to vrf as: gary.voltz@airservicesaustralia.com
To subscribe please send an email to: "vrf-request@lists.it.agilent.com" with the word subscribe in the message body.
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".
To send messages to this mailing list, email "vrf@agilent.com".
If you need help with the mailing list send a message to

Search the "unofficial vrf archive" at "http://www.vrfarchive.com/vrf_archive".
Search the Agilent vrf archive at "http://vee.engineering.agilent.com".

---
You are currently subscribed to vrf as: watling@icerasemi.com
To subscribe please send an email to: "vrf-request@lists.it.agilent.com" with the word subscribe in the message body.
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".
To send messages to this mailing list, email "vrf@agilent.com".
If you need help with the mailing list send a message to

Search the "unofficial vrf archive" at "http://www.vrfarchive.com/vrf_archive".
Search the Agilent vrf archive at "http://vee.engineering.agilent.com".

--
_____

This e-mail (including any attachments) is intended only for the recipient(s) named above. It may contain confidential or privileged information and should not be read, copied or otherwise used by any other person. If you are not a named recipient, please contact the sender by telephone (+44-1454-284800) and destroy the original message. Any statement and/or opinion not related to this company's business and expressed in this message is that of the author and does not necessarily reflect those of Icera. This company does not take any responsibility for the views of the author in any matter not related to the company's objective.
_____

---
You are currently subscribed to vrf as: ming_meng@agilent.com
To subscribe please send an email to: "vrf-request@lists.it.agilent.com" with the word subscribe in the message body.
To unsubscribe send a blank email to "leave-vrf@it.lists.it.agilent.com".
To send messages to this mailing list, email "vrf@agilent.com".
If you need help with the mailing list send a message to

Search the "unofficial vrf archive" at "http://www.vrfarchive.com/vrf_archive".
Search the Agilent vrf archive at "http://vee.engineering.agilent.com".