System and Method for Multifunction Segmented Array Compensation for Oscillators
20170324376 · 2017-11-09
Inventors
Cpc classification
H03B5/04
ELECTRICITY
G01R23/00
PHYSICS
International classification
H03B5/04
ELECTRICITY
Abstract
The present disclosure provides for a system and method for compensating an electronic oscillator for one or more environmental parameters. A method may comprise segmenting test data received from an output signal of the oscillator and generating at least one correction voltage to thereby compensate the oscillator for one or more environmental parameters. A system may comprise at least one multi-function segmented array compensation module configured to receive one or more output signals from an oscillator and generate one or more correction voltages to thereby compensate the oscillator for environmental parameters. The system may also comprise one or more sensors and a user EFC.
Claims
1. A method for compensating at least one electronic oscillator comprising: a. receiving a test data set representative of the frequency output of the oscillator at a plurality of data points in at least two dimensions, wherein each data point corresponds to at least one environmental parameter; b. receiving at least one set of user criteria for the test data set; c. segmenting the test data set into a plurality of segments, wherein the length of each segment is determined by applying the user defined criteria; d. generating an optimal segment value for each segment in the test data set by applying at least one function to each of the segments; e. storing each optimal segment value on at least one electronic memory device; f. determining whether or not the stored optimal segment value corresponds to the entire test data set, and i. if the stored optimal segment values does correspond to the entire test data set, storing the optimal segment values as an array, and ii. if the stored optimal segment values does not correspond to the entire test data set, repeating steps c-f until optimal segment values are stored for the entire test data set.
2. The method of claim 1 further comprising applying each optimal segment value to each segment of the test data set to thereby generate at least one correction voltage.
3. The method of claim 2 further comprising applying the correction voltage to the oscillator to thereby compensate the oscillator for the environmental parameter.
4. The method of claim 1 wherein the test data set further comprises data corresponding to at least one of a control voltage, an environmental parameter, and a frequency deviation.
5. The method of claim 1 wherein the environmental parameter further comprises at least one of: pressure, aging, air flow, off-time, on-time, thermal history, temperature, acceleration sensitivity, vibration, and orientation effects.
6. The method of claim 1 wherein the user criteria further comprises at least one of: a maximum residual error and at least one function.
7. The method of claim 1 wherein applying the function to each segment of the test data set further comprises applying at least one algorithmic technique.
8. The method of claim 7 wherein the algorithmic technique further comprises at least one of: correlation analysis, a principle component analysis, a principle component regression analysis, a partial least squares analysis, a multivariate curve resolution analysis, a Mahalanobis distance analysis, a Euclidian distance analysis, a band target entropy analysis, a band target energy minimization analysis, a partial least squares discriminant analysis, an adaptive subspace detection analysis gradient reduction method, gradient descent, method of steepest descent, reduced gradient, and a generalized reduced gradient algorithm.
9. The method of claim 1 wherein the optimal segment values further comprise at least one of: a coefficient for the function, a start value, a stop value, and a scaling value.
10. The method of claim 1 wherein the array further comprises at least one of: a number of segments corresponding to the test data set, one or more coefficients for each segment, a start value, a stop value, and a scaling value.
11. The method of claim 1 wherein generating an optimal segment value further comprises: a. applying a first function to the test data to generate a first solution, b. storing the first solution on at least one electronic memory device, c. applying a second function to the test data to generate a second solution, d. comparing the second solution to the first solution to determine whether or not the second solution provides for a better fit of the data, and i. if the second solution does provide for a better fit of the data than the first solution, overwriting the first solution stored on the electronic memory device with the second solution, and ii. if the second solution does not provide for a better fit of the data, maintaining the storage of the first solution on the electronic memory device.
12. The method of claim 11 wherein evaluating the solution of each function further comprises comparing the storage density of the current solution with the storage density of the previously applied function.
13. The method of claim 1 wherein the test data set is further representative of the frequency output of the oscillator at a plurality of data points in at least three dimensions, wherein each data point corresponds to at least one environmental parameter, and wherein receiving the test data set further comprises selecting a two-dimensional portion of the test data set.
14. The method of claim 1 further comprising applying at least one other compensation method to the test data set wherein the compensation method further comprises at least one of: TCXO, OCXO, VCXO, TCVCXO, VCTCXO, VCOCXO, DOCXO, VCDOCXO, a rubidium oscillator, a cesium oscillator, a MEMS oscillator with native compensation, and an electronic oscillator with native compensation.
15. A non-transitory storage medium containing machine readable program code, which, when executed by a processor, causes the processor to perform the following: a. receive a test data set representative of the frequency output of an oscillator at a plurality of data points in at least two dimensions, wherein each data point corresponds to at least one environmental parameter; b. receive at least one set of user criteria for the test data set; c. segment the test data set into a plurality of segments, wherein the length of each segment is determined by applying the user defined criteria; d. generate an optimal segment value for each segment in the test data set by applying at least one function to each of the segments; e. store each optimal segment value on at least one electronic memory device; f. determine whether or not the stored optimal segment value corresponds to the entire test data set, and i. if the stored optimal segment values do correspond to the entire test data set, storing the optimal segment values as an array, and ii. if the stored optimal segment values do not correspond to the entire test data set, repeat steps b-f until optimal segment values are stored for the entire test data set.
16. The non-transitory storage medium of claim 15 which when executed by a processor further causes the processor to apply each optimal segment value to each segment of the test data set to thereby generate at least one correction voltage.
17. The non-transitory storage medium of claim B2 which when executed by the processor further causes the processor to apply the correction voltage to the oscillator to thereby compensate the oscillator for the environmental parameter.
18. The non-transitory storage medium of claim 15 wherein the test data set further comprises data corresponding to at least one of a control voltage, an environmental parameter, and a frequency deviation.
19. The non-transitory storage medium of claim 15 wherein the environmental parameter further comprises at least one of: pressure, aging, air flow, off-time, on-time, thermal history, temperature, acceleration sensitivity, vibration, and orientation effects.
20. The non-transitory storage medium of claim 15 wherein the user criteria further comprises at least one of: a maximum residual error and at least one function.
21. The non-transitory storage medium of claim 15 which when executed by a processor further causes the processor to apply a function to each segment of the test data set using at least one algorithmic technique.
22. The non-transitory storage medium of claim 21 wherein the algorithmic technique further comprises at least one of: correlation analysis, a principle component analysis, a principle component regression analysis, a partial least squares analysis, a multivariate curve resolution analysis, a Mahalanobis distance analysis, a Euclidian distance analysis, a band target entropy analysis, a band target energy minimization analysis, a partial least squares discriminant analysis, and an adaptive subspace detection analysis.
23. The non-transitory storage medium of claim 15 wherein the optimal segment values further comprise at least one of: a coefficient for the function, a start value, a stop value, and a scaling value.
24. The non-transitory storage medium of claim 15 wherein the array further comprises at least one of: a number of segments corresponding to the test data set, one or more coefficients for each segment, a start value, a stop value, and a scaling value.
25. The non-transitory storage medium of claim 15 which when executed by a processor further causes the processor to generate an optimal segment value by: a. applying a first function to the test data to generate a first solution, b. storing the first solution on at least one electronic memory device, c. applying a second function to the test data to generate a second solution, d. comparing the second solution to the first solution to determine whether or not the second solution provides for a better fit of the data, and i. if the second solution does provide for a better fit of the data than the first solution, overwriting the first solution stored on the electronic memory device with the second solution, and ii. if the second solution does not provide for a better fit of the data, maintaining the storage of the first solution on the electronic memory device.
26. The non-transitory storage medium of claim 15 wherein the test data set is further representative of the frequency output of the oscillator at a plurality of data points in at least three dimensions, wherein each data point corresponds to at least one environmental parameter, and when executed further causes the processor to select a two-dimensional portion of the test data set.
27. The non-transitory storage medium of claim 15 which when executed by a processor further causes the processor to apply at least one other compensation method to the test data set wherein the compensation method further comprises at least one of: TCXO, OCXO, VCXO, TCVCXO, VCTCXO, VCOCXO, DOCXO, VCDOCXO, a rubidium oscillator, a cesium oscillator, a MEMS oscillator with native compensation, and an electronic oscillator with native compensation.
28. A system for compensating an electronic oscillator for at least one environmental parameter comprising: at least one multi-function segmented array compensation module comprising at least one processor configured to receive at least one output signal from the electronic oscillator wherein each output signal corresponds to an environmental parameter and wherein each multi-function segmented array compensation module is further configured to assess each output signal and generate at least one correction voltage to thereby compensate the oscillator for the associated environmental parameter.
29. The system of claim 28 further comprising two or more input signals, wherein each input signal corresponds to one or more different environmental parameters.
30. The system of claim 28 further comprising one or more sensors operably coupled to the oscillator to thereby assess at least one environmental parameter experienced by the oscillator.
31. The system of claim 28 wherein the sensor is further located within the electronic oscillator.
32. The system of claim 28 wherein the sensor is further located outside of the electronic oscillator.
33. The system of claim 28 further comprising a user EFC operably coupled to the oscillator.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The accompanying drawings, which are included to provide further understanding of the disclosure and are incorporated in and constitute a part of this specification illustrate embodiments of the disclosure, and together with the description, serve to explain the principles of the disclosure.
[0016] In the drawings:
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
DETAILED DESCRIPTION
[0043] Reference will now be made in detail to the embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the specification to refer to the same or like parts.
[0044] The present disclosure provides for a system and method for compensating electronic oscillators for one or more environmental parameters. It is contemplated that the system and method disclosed herein may be applied to a variety of different environmental parameters including but not limited to temperature, pressure, ageing, off-time, on-time, thermal history (also referred to as thermal hysteresis), air flow, trim effect, acceleration sensitivity, vibration, and orientation effects (i.e., x, y, z position in space). While some of the examples set forth herein may focus on temperature compensation, trim effect, and linearity compensation, this is in no way intended to limit the scope of the invention.
[0045] One embodiment of a method of the present disclosure is represented by
[0046] When assessing an oscillator's frequency output for temperature compensation, x represents the temperature and y represents the frequency deviation. For improved performance, instead of using the frequency deviation, the method may fit the actual DAC value obtained to put the oscillator “on frequency” at a given temperature. This approach holds potential for reducing errors that may occur from assuming a constant tuning sensitivity (which may change with temperature and magnitude).
[0047] Referring again to
[0048] The method provides for starting at the beginning of the test data curve and proceeding along the curve until the error threshold is exceeded. For example, if the user specified a maximum residual error of 5 ppb, the method would start with the first three points and fit those with a particular function. If the result was a residual error less than 5 ppb, the algorithm would fit the first four points, and so on. This novel approach enables the individual solution to dictate how many points a segment could fit and still achieve the required quality and provides for an improvement over the prior art which merely takes the results of curve fitting as they are.
[0049] Applying the user-defined criteria, the method 100 segments the test data into a plurality of segments by applying at least one function to the test data in step 130. In creating these segments, the method 100 provides for defining and seeding all coefficients, which depends on the function chosen.
[0050] In step 140, the method 100 provides for generating an optimal segment value for each segment in the test data set by applying at least one function to each of the segments. At least one algorithmic technique may be applied to the segment to determine whether or not the residual error of the fit is less than the maximum residual error as defined by the user. If the residual error of the fit is more than the maximum residual error, then the method 100 provides for cutting the number of data points in half until a successful outcome is reached. For example, if the method 100 was attempting to fit data points 50 to 100, then the method 100 would attempt to fit data points 50 to 75. Once the method 100 finds a solution that meets the maximum residual error, then the method 100 will work back up to the other data points. For example, if the method 100 finds that the solution fits data points 50 to 75 but did not fit data points 50 to 100, the method 100 must determine where in the test data set between data points 75 to 100 the solution no longer meets the maximum residual error. The method 100 would then split the data points from 75 to 100 in half and solve data points 50 to 88 to determine whether or not the solution meets the user-defined maximum residual error. The method 100 continues to solve the test data set in this manner to thereby determine the maximum number of points that can be fit using the specified function with less than the maximum residual error.
[0051] In step 150, all of the optimal segment values needed to implement the function are stored in at least one electronic memory device such as a server (during manufacturing of the oscillator) or in the firmware of the oscillator itself in a commercial product. The optimal segment values may include all coefficients for the function, a start value, a stop value, and any scaling values that may be needed to facilitate use in the digital hardware implementation of the method 100. In Step 160, the method 100 determines whether or not the entire data set has been fit using the particular function or if there are one or more segments that remain to be fit. If the entire data set has been fit using the particular function, then all of the segments can be stored in an array for easy digital access by a user in step 170, either during manufacturing of the oscillator via a server or when using the oscillator as a finished commercial product via the oscillator's firmware. In one embodiment, the array may store information corresponding to the function type, the number of segments, one or more coefficients for each segment, as well as scaling values as needed. Other types of information gathered by the method 100 may also be saved. If there are one or more segments remaining to be fit, then the method 100 will repeat steps 130-170 until all segments of the test data set have been fit. The saved array holds potential for providing a precise fit of the entire test data set in either simulation or through a hardware implementation.
[0052] In another embodiment, illustrated by
[0053] As seen in
[0054] In step 144 the method 100 provides for determining whether or not all of the functions available to the user have been applied to the test data set. If there are additional functions available that have not been applied, then the method 100 provides for evaluating the next available function. If there are no additional functions remaining to be applied to the test data, then the method 100 provides for storing each optimal segment value on the electronic memory device in step 150. In step 160, the method provides for determining whether or not the stored optimal segment value corresponds to the entire test data set. If so, then all of the segments may be stored as an array for easy digital access by a user in step 170. If the stored optimal segment value does not correspond to the entire test data set, then the method 100 provides for repeating steps 130-170 until the entire test data set has been solved.
[0055] In yet another embodiment, illustrated by
[0056] The method may also sense and acquire frequency versus temperature versus pressure (T, P, f.sub.d). As long as the environmental parameter can be detected by a sensor and its effect on frequency is repeatable, this method can compensate for that effect.
[0057] Referring again to
[0058] The method 100 may further comprise segmenting the test data set into a plurality of segments in step 130. In one embodiment, the length of each segment may be determined by applying the user criteria, such as the maximum residual error. In this embodiment, the method 100 creates a new segment, that is a function of temperature (T) and control voltage (Vc). This function h(T, V.sub.c) is created by having a polynomial of form a.sub.nV.sub.c.sup.n+a.sub.n-1V.sub.c.sup.n-1+ . . . +a.sub.0, where the coefficients a.sub.n, a.sub.n-1, . . . , a.sub.0 are unique polynomial functions of T. For example, a.sub.n=b.sub.nT.sup.n+b.sub.n-1T.sup.n-1+ . . . +b.sub.0. This is necessary because the change in reference performance is a function of both temperature and control voltage. By having independent degrees of freedom the method may fit this characteristic to very low residual error.
[0059] In step 140, the method 100 provides for generating an optimal segment value for each segment in the test data set by applying at lest one function to each of the segments created in step 130. To generate each optimal segment value, the method 100 may comprise applying one or more algorithmic techniques to the test data to determine one or more functions that may be applied while meeting the maximum residual error specified by the user. In step 150 each optimal segment value may be stored on an electronic memory device. As discussed herein, each optimal segment value may comprise one or more coefficients for each function, a start value, a stop value, and any scaling values that may be needed to facilitate a digital hardware implementation of the method 100.
[0060] In step 160, the method 100 provides for determining whether or not the stored optimal segment values correspond to the entire test data set. If so, then the method 100 provides for storing each optimal segment value in an array in step 170. If the stored optimal segment values do not correspond to the entire data set, then the method 100 provides for repeating steps 130-170 until the stored optimal segment values correspond to the entire data set.
[0061] The present disclosure further provides for a non-transitory storage medium containing machine readable program code, which, when executed by a processor, causes the processor to perform the following: (a) receive a test data set representative of the frequency output of an electronic oscillator at a plurality of data points in at least two dimensions, wherein each data point corresponds to at least one environmental parameter; (b) receive at least one set of user criteria for the test data set; (c) segment the test data set into a plurality of segments, wherein the length of each segment is determined by applying the user defined criteria; (d) generate an optimal segment value for each segment in the test data set by applying at least one function to the segments; store each optimal segment value on at least one electronic memory device; and determine whether or not the stored optimal segment value corresponds to the entire test data set, and (i) if the stored optimal segment values do correspond to the entire test data set, store the optimal segment values as an array, and (ii) if the stored optimal segment values do not correspond to the entire test data set, repeat steps (b)-(f) until the optimal segment values are stored for the entire test data set.
[0062] The test data set may comprise at least one of a control voltage, an environmental parameter, and a frequency deviation. The non-transitory storage medium, when executed by a processor may further cause the processor to apply each optimal segment value to each segment of the test data set to thereby generate one or more correction voltages. Optimal segment values and the resulting stored array may further comprise at least one of: a coefficient for a function, a start value, a stop value, and a scaling value. The correction voltage may be applied to the oscillator to compensate the oscillator for one or more environmental parameters.
[0063] The non-transitory storage medium, when executed by a processor, may further cause the processor to apply a function to each segment of the test data using at least one algorithmic technique and to evaluate a plurality of functions and select the function that provides the best fit. As described herein, the solutions of each function can be compared with the solution of a previously applied function to determine whether or not a better fit has been achieved. Best fit may be determined based on optimal storage density, while maintaining compliance with the user-defined error limit.
[0064] The present disclosure further provides for a system for compensating electronic oscillators for environmental parameters. In several embodiments, illustrated by
[0065]
[0066] Embodiments of the present disclosure that contemplate an external temperature sensor are represented by
[0067] Table 1 below illustrates the format of an exemplary array for temperature compensation according to the present disclosure. A start temperature is provided for each function. An end temperature is not necessary because the start temperature of the next segment is known. In one embodiment, the functions may be the same. In another embodiment, the functions may comprise two or more different functions. Examples of functions contemplated by the present disclosure include but are not limited to polynomial (order zero through n), logarithmic, exponential, and sigmoid, among others. The user may define which functions are used (the user-defined criteria) however certain functions may provide a better fit for certain types of test data. Each function will have a unique coefficient. For quartz oscillators, smooth continuous functions such as polynomials and sigmoids hold potential for providing good fit results.
TABLE-US-00001 TABLE 1 Start Function Coefficient 1 Coefficient 2 Coefficient n Temperature Code a.sub.1 a.sub.2 a.sub.n T.sub.1 f.sub.1(x) a.sub.11 a.sub.12 a.sub.1n T.sub.2 f.sub.2(x) a.sub.21 a.sub.22 a.sub.2n T.sub.3 f.sub.3(x) a.sub.31 a.sub.32 a.sub.3n T.sub.n f.sub.n(x) a.sub.n1 a.sub.n2 a.sub.nn
Table 2 below and
TABLE-US-00002 TABLE 2 Start Func Function Coefficients Temp Code f e d c b a −30.211 4 −5.5585351E02 4.1792493E03 −1.1793783E04 1.4806890E04 −6.9765251E03 0.898 4 −4.8216616E02 4.1701015E03 −1.3511581E04 1.9436767E04 −1.0470931E04 30.461 4 1.2512320E02 −1.2431078E03 4.6171919E03 −7.5993811E03 4.6791711E03
[0068]
[0069] The embodiment of
[0070]
[0071] In other embodiments, the system and method of the present disclosure may be applied for linearity compensation. The EFC available to the user on many modern oscillators allows the user to adjust the frequency with an external voltage. For example, this calibration may be used for routine calibration to offset for effects corresponding to an oscillator's age. The EFC can also be used to implement the oscillator in a Phase Lock Loop (“PLL”) in certain applications.
[0072] Regardless of the application, it is desirable that the frequency change be linear with respect to the control voltage. In practice, the non-linearity of oscillators can vary from a couple percent to tens of percent. This non-linearity is generally assumed to be inherent because of the way frequency change is created. In most oscillators this frequency change happens because a varactor is on the feedback loop of the oscillator. The user EFC voltage is applied to this varactor. As that voltage changes, the varactor's capacitance changes which changes the feedback loop capacitance, which results in a different oscillation frequency. Varactors are non-linear by nature and this coupled with temperature effects leads to a non-linear tuning curve. The system and method disclosed herein hold potential for fitting the inherent tuning characteristic and mapping it to a more linear state. This linearity compensation can be stand alone or coupled with the above temperature compensation, trim effect compensation, or compensation of any other environmental parameter.
[0073] Another embodiment that holds potential for modulated oscillators is illustrated in
Examples
[0074] As discussed herein, the M-SAC fitting method overcomes the limitations of the prior art and represents a significant advancement in curve-fitting technology which holds potential for a variety of different practical applications including the compensation of electronic oscillators for temperature and other environmental effects. The following examples present a comparative analysis of M-SAC curve fitting performance as measured against prior art fitting methods.
[0075] All of the following Figures are formatted so that the original data and the fit of that data are scaled on the left hand axis while the residual error is scaled on the right hand axis. Where applicable, graphic representations of segmented curve fits utilize various traces to show segment boundaries. These traces are also notated with the order of polynomial function used to fit that particular segment. The present disclosure contemplates a M-SAC fitting method designed to incorporate a function bank containing both polynomial and non-polynomial functions (i.e. log, sigmoid, and exponential). However, it is observed that limiting the function bank to polynomials may hold potential for a significant processing speed advantage. This is due to the availability of regression-solving techniques as opposed to the inherently slower gradient reduction methods that are needed for non-polynomial functions. The examples contemplate a function bank that utilizes polynomial functions and polynomial regression for the curve fitting of oscillator temperature data. However, these examples are not intended to in any way limit the scope of the present disclosure and it is contemplated that other functions and solving methods may be used as appropriate to accommodate other types of data or a particular data set.
Experimental Techniques
[0076] Frequency versus temperature data from an actual 2.0 mm×1.6 mm crystal oscillator was curve-fit using the M-SAC fitting method described herein as well as other fitting methods of the prior art which have been used in the temperature compensation of electronic oscillators. Although temperature compensation was not actually performed during this analysis, the software-simulations of fit performance alone yielded a sufficient number of performance metrics so as to permit an objective and quantitative comparison of all fitting methods. As described herein, these performance metrics include deterministic solutions, precision of fit, storage density, and curve fit process time.
Analysis
[0077]
[0078]
[0079] There are several fitting methods currently in use today which will provide sub 100 ppb performance. However, the ANN and the M-SAC are the only technologies available that are multi-dimensional, that is to say, able to be applied to the compensation of multiple interdependent environmental effects on electronic oscillators. This gives these two technologies an inherent advantage over all other methods. However, the following analysis is limited to the evaluation of curve fit performance with respect to the single-dimensional application as used in the temperature compensation of electronic oscillators. For this purpose, a state of the art target specification of ±25 ppb, or 50 ppb peak to peak is used. This target specification provides the means for an objective comparison of the M-SAC method to each of the other methods employed today for the temperature compensation of electronic oscillators. In addition to the target specification, an attempt is made to obtain the best possible solution. This provides an additional metric for comparison across the various fitting methods.
[0080] In the following example, linear interpolation is evaluated. This technology is currently employed in MCXO and other digital designs where a lookup table is used to store the linear slope and intercept coefficients as well as temperature locations where these coefficients are used. This technique is normally employed is to characterize the device at evenly spaced temperatures. The slope and intercept coefficients are calculated for pairs of these characterization points so that interpolated points can be calculated at temperatures between the measured temperature points. From a practical perspective, the behavior and stability of the data may require that the number of points may be increased to achieve the desired overall curve fit tolerance.
[0081] This point is illustrated in the following example where the measured data depicted in
[0082] At 0.235 seconds, the linear interpolation method outperformed all other simulation trials for solution speed. However, the number of storage elements exceeded what was required to solve the target specification using either the ANN or the M-SAC methods. For example, the M-SAC solution of the target specification illustrated in
[0083]
[0084]
[0085] As illustrated in
[0086] As with the linear interpolation method, the data was re-fit using the ANN method, limited to 22 storage elements (22 is the closest to the number required by the M-SAC method to fit to the target specification of 50 ppb peak to peak). The results of this solution are illustrated in
[0087]
[0088] Finally, the M-SAC method was evaluated.
TABLE-US-00003 TABLE 3 Start Func Function Coefficients Temp Code f e d c b a −30.211 4 −5.5585351E02 4.1792493E03 −1.1793783E04 1.4806890E04 −6.9765251E03 0.898 4 −4.8216616E02 4.1701015E03 −1.3511581E04 1.9436767E04 −1.0470931E04 30.461 4 1.2512320E02 −1.2431078E03 4.6171919E03 −7.5993811E03 4.6791711E03 Function Bank Utilization Summary Function Function Usage Elements per Total Storage Code Function Equation Detail Count Function Elements Rq'd 1 b * T + a 0 4 0 2 c * T.sup.2 + b * T + a 0 5 0 3 d * T.sup.3 + c * T.sup.2 + b * T + a 0 6 0 4 e * T.sup.4 + d * T.sup.3 + c * T.sup.2 + b * T + a 3 7 21 5 f * T.sup.5 + e * T.sup.4 + d * T.sup.3 + c * T.sup.2 + b * T + a 0 8 0 6 1/(e.sup.(−a * T+b)) 0 4 0 7 a + b * Ln(c * T + 1) 0 5 0 8 a * e.sup.(T * b) 0 4 0 Total elements used in current solution = 21
[0089]
TABLE-US-00004 TABLE 4 Start Func Function Coefficients Temp Code f e d c b a −30.211 4 −9.9261080E02 7.3638783E03 −2.0500581E04 2.5385302E04 −1.1795494E04 −14.547 3 −2.6743003E02 1.5133346E03 −2.8525239E03 1.7935038E03 −4.414 2 −1.7976820E00 4.7108335E00 .sup. 2.3545340E−01 1.359 2 1.8312640E02 −7.3848515E02 7.4694881E02 3.266 4 1.0526697E03 −5.4390594E03 6.8692942E03 4.1298520E03 −9.0649977E03 7.695 3 9.3653061E00 −5.2848288E01 9.5537956E01 −5.2008751E01 36.758 3 −4.6173729E01 3.2511219E02 −7.6153919E02 5.9559829E02 58.922 2 −7.5386889E00 3.5587251E01 −3.9609532E01 61.797 3 1.2377041E03 −9.5063086E03 2.4334717E04 −2.0759462E04 65.719 4 −1.5908987E02 1.7359602E03 −7.0895199E03 1.2841257E04 −8.7013645E03 Function Bank Utilization Summary Function Function Usage Elements per Total Storage Code Function Equation Detail Count Function Elements Rq'd 1 b * T + a 0 4 0 2 c * T.sup.2 + b * T + a 3 5 15 3 d * T.sup.3 + c * T.sup.2 + b * T + a 4 6 24 4 e * T.sup.4 + d * T.sup.3 + c * T.sup.2 + b * T + a 3 7 21 5 f * T.sup.5 + e * T.sup.4 + d * T.sup.3 + c * T.sup.2 + b * T + a 0 8 0 6 1/(e.sup.(−a * T+b)) 0 4 0 7 a + b * Ln(c * T + 1) 0 5 0 8 a * e.sup.(T * b) 0 4 0 Total elements used in current solution = 60
[0090] Referring again to
[0091] At 2.0 ppb peak to peak, the minimum error trial illustrated in
CONCLUSION
[0092] The examples set forth herein illustrate the superior performance of the M-SAC fitting method as compared to the state of the art temperature compensation applications for electronic oscillators (sub ±50 ppb). The M-SAC outperforms all other methods of curve fitting for precision of fit and the number of solution storage elements required for implementation. It also provides the fastest solution time, beating all other methods except linear interpolation. However, with respect to linear interpolation, the M-SAC method is a true curve-fit of the data and thus tracks the non-linear regions between characterization temperatures. Additionally, M-SAC is the only method, other than the ANN that can support multi-dimensional fitting. Therefore, the M-SAC achieves a better overall score of technological superiority, making it worthy of classification as the new benchmark for curve fitting methods for use in the temperature compensation of electronic oscillators.
[0093] While the disclosure has been described in detail in reference to specific embodiments thereof, it will be apparent to one skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope of the embodiments. Thus, it is intended that the present disclosure cover the modifications and variations of this disclosure provided they come within the scope of the appended claims and their equivalents.