Non Linear Calibration Curve and Polynomial by Dr. Colin Mercer, Technical Director, Prosig Not all systems vary linearly. The issue discussed here is determining a non linear calibration curve and, if appropriate, finding a polynomial to describe it. A very typical situation occurs with load-deflection tests such as non-linear springs, suspension systems, crush loading and so on. Usually it is straightforward to monitor the deflection, either directly or even by double integrating an accelerometer signal. The objective however is to determine the applied load. That is we need a calibration curve of load versus displacement. As an illustration, consider a simple system of a load suspended by two opposing non-linear springs as illustrated below k 2 (x) k 1 (x) -x +x In the calibration laboratory, loads may be applied in each direction in turn. It is unlikely that we will have uniform load or uniform displacement steps. That is the acquired data will be load and displacement against point number. To form a complete calibration curve obviously needs one test in the +x direction and another in the x direction. This will then give us two load versus point number curves and two displacement versus point number curves like those shown below. Page 1 of 5
In a test the displacement will be measured. By selecting force and the y axis and displacement as the x axis then we can readily display the two force displacement curves as x-y plots. This then gives the following graphs. These graphs are visualisations of the data and not the data itself. What we need is the signal of force versus displacement in constant displacement steps. This is readily achieved with a spline curve fit {Spline with x points}. The simplest way to proceed is to join the two load curves and the two displacement curves, both as functions of point number. This means looking carefully at the join point. In the example data neither pair of signals had a zero deflection point. In fact, both the positive and negative signals had 130 points, numbered from 1 to 130 and both started at a non-zero deflection. Page 2 of 5
Clearly if we are to join the signals the negative direction signals should go from point number 130 to 1 and of course the amplitude needs to be negated. We do this by reversing the data {Reverse Signal}, multiplying by 1 {Signal Constant} and then by changing the start value {Change Base}. This now gives us negative side signals as shown above. Next we join the two load curves and the two displacement curves {Join Signals} to give two signals as shown below Now that we have 2 complete curves then we may apply a sliding Spline fit to generate a set of equi-spaced points by using the load curve as y and the deflection curve as x {Spline with x points}. The spline function used is a local cubic spline where it curve fits over 6 measured points and uses the central part of each section to extract the load value at constant displacement increments. When it needs values outside the central section the spline is advanced by one data point and solved again over the new set of points. This ensures accurate local tracking of the data. Using a spline function or other curve fit which attempts to fit the entire curve in one go leads to average behaviour. Page 3 of 5
In the example data used neither the positive or the negative side signals had a zero point. Visual inspection of the data showed that zero deflection gave zero load. Hence a zero point was added to one of the measured signals before the spline fit. This was not necessary but as an inspection of the data clearly showed it must pass through the origin it was added to ensure we have a (0.0, 0.0) data point. The spline signal generation on the original 260 points was set to give 1001 output points. Sometimes a calibration curve is sufficient but often one needs to express the resultant curve as a power series. To do this we use the polynomial fit function. This will need an assessment of which powers to use. As an example a fit with odd and even powers up to x 7 was formed. This fitted curve was added as an overlay to the measured data shows excellent agreement, in fact the difference cannot be seen! The coefficients generated are listed below 0 5.4632e-5 1 7.06008 2-0.00093 3 12.9184 4 0.00209 5-19.2711 6-0.001121 7 27.5107 Page 4 of 5
In this case, the function is essentially odd and this is reflected in the relatively small values of the even powers. A repeat run using just the dc component (x 0 ) and the odd powers gave coefficients of 0 2.6133e-06 1 7.06008 3 12.9184 5-19.2711 7 25.5107 To assess the goodness of fit we determined the rms value of the difference between the fitted and original signals. The difference between the measured and fitted curves is shown below as a percentage of full scale load. The rms errors between various polynomial files are shown below. Class Highest Power RMS Error Odd 1 10.1736 Odd 3 3.67765 Odd 5 0.849849 Odd 7 0.244096 Odd & Even 7 0.244096 Odd 9 0.115849 Odd 11 0.11957 Odd 13 0.108928 The optimal choice would be to use odd powers up to x 9 as adding above this only gives marginal improvement. C. A. Mercer July 2000 Page 5 of 5