GB2249837A - Linearizing a non-linear sensor output - Google Patents

Linearizing a non-linear sensor output Download PDF

Info

Publication number
GB2249837A
GB2249837A GB9120777A GB9120777A GB2249837A GB 2249837 A GB2249837 A GB 2249837A GB 9120777 A GB9120777 A GB 9120777A GB 9120777 A GB9120777 A GB 9120777A GB 2249837 A GB2249837 A GB 2249837A
Authority
GB
United Kingdom
Prior art keywords
value
curve
values
output signal
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB9120777A
Other versions
GB9120777D0 (en
GB2249837B (en
Inventor
Carl Hinrichs
Abdi Mohtashemi
Norman Gray
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Newport Electronics Inc
Original Assignee
Newport Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Newport Electronics Inc filed Critical Newport Electronics Inc
Publication of GB9120777D0 publication Critical patent/GB9120777D0/en
Publication of GB2249837A publication Critical patent/GB2249837A/en
Application granted granted Critical
Publication of GB2249837B publication Critical patent/GB2249837B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/035Reduction of table size
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R15/00Details of measuring arrangements of the types provided for in groups G01R17/00 - G01R29/00, G01R33/00 - G01R33/26 or G01R35/00
    • G01R15/005Circuits for altering the indicating characteristic, e.g. making it non-linear
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Nonlinear Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Indication And Recording Devices For Special Purposes And Tariff Metering Devices (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)

Description

2 2.1+ 9 3 -, ? SYSTEM FOR LINEARIZING A NON-LINEAR SENSOR OUTPUT
FIELD OF THE INVENTION
This invention relates to data conversion systems and, more particularly, to a system for converting the output of a sensor, whose output follows a nonlinear response curve, to a system output of linearized readings.
BACKGROUND OF THE INVENTION
To display the value of a physical parameter, such as temperature, pressure, etc., it is necessary to employ a transducer that responds to that parameter by changing an electrically-detectable characteristic. Such characteristics include thermocouple voltages and temperaturesensitive resistance variations. Most sensors display significant nonlinearities in their outputs, i.e., sensor output, voltages deviate appreciably from a linear relationship with the input phenomenon being monitored. It is well known that thermocouples and thermistors exhibit nonlinear output increments in response to linear temperature increments.
A variety of classes of devices exist for correcting non-linearities over wide ranges of input. such such Systems employing analog apparatus correct non-linearities before digitizing through the use of resistor-diode-amplifier circuits. These systems provide adequate accuracy for a limited number of sensor types over restricted inpuC ranges. Analog 2 linearizing systems store the required correction information in the values of resistors which set the break points between various segments of the response curve and the slope/offset peculiar to each segment of the response curve. Analog linearizers typically have eight or fewer segments, and are capable of linearizing most thermocouples, within a few degrees, over commonly- experienced input ranges.
Since the development of inexpensive microcontrollers and memory chips, digital correction techniques have supplanted many analog linearizing systems.
Sophisticated algorithms exist for linearizing sensor outputs; however, in general, they require substantial amounts of memory and computing capability. Most such systems are both large and expensive and are not feasible for many commercial sensor applications. For instance, panelmeters are today manufactured with a microcontroller integral to the meter. The meter receives a sensor input, after analog conditioning, and provides an output reading of,a linearized value.
Microcontrollers useful with panel meters have limited amounts of available storage (ROM and RAM) for sensor response curve data points. Furthermore, while such microcontrollers can rapidly perform addition and subtraction calculations, they are relatively. slow when high-precision multiplication or division is attempted.
Microc7ontrollers used for sensor linearization employ various computational methods. Some sensors (e.g., resistance-temperature detectors) have outputs that can be closely approximated by a few terms of a power... series; however high-precision reprbsentation of the f i r i i I i i i i 1 i 3 values in a typical transducer power series can require computations out to a dozen decimal digits of resolution for up to a dozen powers of the phenomenon being sensed (e.g., temperature). With careful programming, large computers can preserve this resolution and can accurately invert such a power series. Microcontrollers suitable for' panel meters however, do not posses the required ROM and RAM and cannot usually afford the long compfitation times for such complex mathematics.
substantiallv- An alternate approach to the power series expansion computation is to store "key" data-point pairs at selected points along a response curve and to perform interpolations when required. When the response curve is broken into a large number of such segments (more segments enable nonlinear areas of the responsive curve to be more accurately reproduced), the storage requirements for the microcontroller increase one way to reduce data storage requirements is to use regular spacing of the input data points that delimit the boundaries of each segment, so that one of the two variables can be reconstructed by counting rather than by reading a stored value. Thus, a range of possible input voltages -can be divided into a number of equal segments: the incremental count output from the anal og-to-dig ital converter is chosen to be the same between succeeding data points on the response curve.
In order to further reduce the amount of storage required in panelmeter microcontrollers, the prior art has employed a f inite-dif f erence method. That method will be described in conjunction with curve 10 shown
4 in Fig. 1, which is an exemplary response curve of a' temperature sensor. A plurality of data points DO-D 5 are positioned along response curve 10 and each represents the digital value of the temperature at that point. The finite-difference technique employs a plurality of "derivatives" of curve 10 which may be linearly approximated by arithmetic differences. The slope S between any two data points can be defined as the ratio of the temperature difference to the voltage difference. For instance, the slopes between data points D 0 and D,, and D, and D 2 are:
S, = T1 - TO (first finite difference of segment one); V1 - VO and S 2 = T2 - T1 (first finite difference of segment two) V2 - V1 The finite difference value of the curvature (second derivative) can then be defined. as the difference between two succeeding slope values. Thus. the curvature or second finite-difference between data points D 0 and D 2, and D, and D 3 are expressed as f ollows:
S.. 2 = S 2 - S 1 (second finite-difference of the Second segment); and St 3 = S3 - S2 (second finite-difference of the third segment) The finite difference value of the third derivative or rate-of-change of curvature can theh defined as the 1 difference between two succeeding curvature values, thus:
S/.. 3:- SF 3 third segment) S M 2 (third finite difference of the From a review of the finite-difference expressions, it. can be seen, given one value, that other values can be derived by addition/ subtraction actions. The use of finite-differences enables a microcontroller to replace stored values of temperature, slope and curvature with a third-order differences for each curve segment. Furthermore, while the values of temperature, first and second order differences may be numerically sizable, third-order differences (analogous to third derivatives) are generally small and usually markedly diminish as a sensor.'s output increases. This can be understood by realizing that as temperature increases, thermodynamic smoothing also increases, lowering the rate of change of curvature.
1 Using the finite-difference system, the value of temperature f or any input voltage can be calculated from a table of third-finite-differences plus table-starting values of temperature, slope, and curvature (zero, first and second order differences). By repeated-addition and accumulation of v alues, multiplication actions are avoided and the use of less complex, faster microcontrollers is enabled.
Table values to be stored in a microcontroller for third-finitedifferences can be precalculated and based on equal segment values along the response curve. This enables approximate17 20 bytes per i 6 thermocouple type to be stored in the table and yet enables the accurate calculation of hundreds of individual data points over much of the temperature range of interest. In addition, however, the market requires that panel meters be adapted to receive inputs from many types of sensors, each one having a different response curve. Notwithstanding the data compaction achieved through the use of finite-differences, current cost-effective microcontrollers are unable to cope with the total storage required for excellent accuracy (e.g., all points to 0. 1 0 C) for full temperature ranges (e, g,, 1000 0 C) for all sensor types (e.g., 12 thermocouples plus temperature-sensitive resistors).
Accordingly, it is an object of this invention to provide an improved system for linearizing sensor outputs.
It is another object of this invention to provide a high accuracy, widerange linearization system for nonlinear sensor outputs which exhibits minimal data storage.
It is still another object of this invention to provide a linearizing system that employs a i#nimum number of third-finite-difference 'values to determine accurate data points on a wide-range nonlinear response curve.
SUMMARY OF THE INVENTION
A processor is described for monitoring a sensor whose output signal follows a nonlinear =ve in response to i 1 i i i i 7 a linear change in a monitored phenomenon. The processor converts the output signal to a linear output value proportional to the phenomenon being monitored. The processor includes memory for storing a table which includes a starting data point value D (e.g., temperature) on the curve, a first-segment slope value S a second-segment curvature value S, and a plurality of rate of change of curvature values S" for the curve, starting at segment three. The values of S 1 1 f or a f irst region of the curve are calculated based on a selected initial sensor signal interval (segment length). The values of S" for each succeeding region of the curve are based on increasing, by a selected factor, the initial signal interval. The processor includes addition means and RAM registers for computing repeated values of D, S 1 and V. These additions occur when the sensor signal rises beyond the segment length. The processor also includes a controller which increases, by a f actor, the predetermined signal interval value (segment. length) each time the output j signal enters a succeeding region of the curve. Thus, as the data points move up the curve, they become increasingly farther apart, but accuracy does not suffer as such data points reside on the more linear portions of the curve. Data storage requirements are thus miniiqized.
8 BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is an exemplary showing of a voltage/temperature response curve of a sensor and indicates how first, second, and third finite-difference values are derived.
Fig. 2 is a block diagram of a system constructed in accordance with the invention.
Fig. 3 is a more detailed block diagram of the microprocessor shown in Fig. 2.
Fig. 4 is a brief listing of values in the curve table of Fig. 3.
Fig. 5 is a diagram of a response curve of thermocouple voltage and sensitivity (dv/dt), and shows how this response curve is broken into regions with segments of increasing size at increasing temperatures.
Figs. 6a, 6b, 6c, and 6d illustrate a high level flow diagram of the line; rization method of the invention.
Fig. 7 is a detailed sub-flow diagram of a portion o:t' the procedure of shown in Figs. 6a-6d.
DETAILED DESCRIPTION OF THE INVENTION
While the invention will be described in the context of a temperature sensing system: it is to be 9 understood that it is equally applicable to any sensor whose output is -a nonlinear function of an input stimulus and exhibits decreasing rates of change of curvature at higher output values.
Referring to Fig. 2, a sensor 20, which for this example is a thermocouple, provides itt, output to a signal conditioning circuit 22. Therein the signal is amplified, filtered if necessary, 'and passed to a sampling analog to digital (A/D) converter 24. A/D converter 24 is preferably a dual slope converter of the type known in the prior art. In brief, it samples the output of signal conditioning circuit 22 and during the sample time, integrates this signal, producing a ramp voltage whose value at the end of the sample time is proportional to the average input voltage level during the sample time. At the termination of the sample time, a reference voltage, applied via conductor 26, is switched into the integrator and an opposite slope ramp commences downward towards the ramp-starting voltage. At this time a count is initiated which terminates at the time when the ramp voltage decreases to the ramp-starting voltage. This equality is determined in comparator 30 by sensing the ramp. voltage on line 32 and comparing it to the ramp-starting voltage on line 26. Whan the equality is sensed, an output pulse is impressed by comparator 30 on line 34 that causes the count to terminate. That pulse is also passed to microprocessor 28 as an indication that the count is complete, the count representing the sample voltage level. The sampling rate of A/D converter 24 is controlled by an output command appearing on line 36 from microprocessor 28. @ As the voltage count is being generated, it is continually passed to microprocessor 28, where it is converted to temperature values D by a linearization program. Display 38, shortly after receipt of the pulse output from comparator 30 that the voltage count is final for the sample, displays the value D.
Turning now to Fig. 3, a block diagram is shown of microprocessor 28. An arithmetic logic unit (ALU) 50 communicates with other elements of the system via bus 52. The voltage count from A/D converter 24 is placed on bus 52 and is received and operated on by ALU 50. In addition, the output from comparator 30 is also applied to bus 52 and causes ALU 50 to provide an output to display 38 of the desired temperature value, when enabled by completion of the computation program. A plurality of registers 54, 56, 58, and 60 are coupled to bus 52 and are employed to store values of DO S, SO, and SO' during the operation of the The function of these registers will be considered during the description of the algorithm below.
linearization alaorithm A curve table is initially stored in ROM (Read-Only Memory) and brought- to random access memory (RAM) 62 when the particular sensor type corresponding thereto is selected. While only one curve table will be hereinafter described, it is to be understood that RAM 62 can be sequentially loaded with any of a number of curve tables, each one specifically precalculated for a particular sensor type.
To better understand the contents of curve table 62, refer back to Fig. 1 where it will' be recalled that curve 10 is a portion of a response curve of, in this instance, a temperature sensor. Assume further that data points D -D represent the lowest temperature0 5 values capable of being sensed by the sensor and that curve 10 is at its most nonlinear between those data values. Thus, the portion of curve 10 between data values DO-D 5 will hereinafter be defined'as a "region" and the voltage difference between successive data points (e.g., DI-D 2) will be defined'as a "segment" L.
In the first region of curve 10, segments L are of an equal, small value. In each succeeding region, the size of segment L is doubled. The value of a segment L may start out at 32 microvolts, but for commonly-used thermocouples it could be as low as 8 microvolts or as high as 64 microvolts. Generally, the f irst region of curve 10 is assigned to its most nonlinear portion (generally near the lowest temperature sensitivity area) so that the smallest microvolt segments are assigned thereto and, as a result, a large number of small segments is assigned to the area of highest non-linearity. Thus, a nonlinear response curve is broken into a number of regions, each region having a number of segments, with succeeding higher regions on the response curve having successively doubled segment lengths. While a factor of 2 is herein described for the increases in segment value size, other easily stored factors could also be employed.
Referring now to Fig. 4, curve table 62 comprises, for the f irst region, a f irst datum equal to the starting output D... a second datum equal to the first finite-difference (slope) for the first segment S,, a 12 third datum equal to the second finite-difference (curvature) for the second segment, S' (2), and a fourth value equal to the third finite difference (rate of change of curvature) for the third segment, S11(3). The fifth and sixth table values are Sf,' (4) and S11(5), respectively.
Starting with the seventh table value, each table datum is used thrice: i. e., the seventh datum = S11(6) = S" (7) = S" (8), and the eighth datum = W' (9) = W' (10)_ S (11) and so on. This "triad" compression is' possible because the thermodynamic smoothing at higher temperatures reduces high-order derivatives to small, slowly changing values.
These lower derivatives also permit table compression in the allocated datum length: D (0) requires 3 bytes (eight bits each) for high accuracy, but S (1) through S" (6) can each be contained in two bytes, and W' (7) through W' (9) need only a one-byte datum. The next two table values (S11(10) = S11(11)- W' (12) and W' (13) = S11(14) = S11(15)) require a nibble (4 bits) each, so they both fit into one table byte space. Beyond this point each triad datum requires only one nip (2 bits) of space, permitting very dense packing.
3 The higher derivatives continue to diminish with temperature, so that yet further data compression is possible by changing segment length. After S11(39) is employed to calculate D(39), a new region of the curve commences, in which each segment is twice the length of those in the first region (and yet each triad still requires only one nip of space). Further doubling of 9 i i I I 1 f t i i 1 13 the segment length occurs after S11(75), S11(111), and S11(159).
For example, if the segment length through S" (39) was 32 microvolts, it increases to 64 microvolts through S"(75), 28 microvolts through S"(111), 256 microvolts through S"(159), and finishes the urve at 512 microvolts (up to 256 segment,s total).
Using this arrangement, the curve table, in just 35 bytes, can store sufficient data to calculate temperatures to an accuracy of 0. 1 degrees better for a range of over 1500 degrees Celsius.
Turning now to Fig. 5, curve 70, whose scale is on the left side of the figure is a plot of an actual thermocouple response curve ranging from approximatel:r' -2700C to 14000C. Curve 72, whose scale is on the right side of the figure, shows the change in sensor gain (microvolts per degree C). The segment allocations to millivolt regions ahd the corresponding ranges of sensor gain illustrates the sensitivity of the invention over the indicated temperature range.
Turning now to Figs. 6a-6d and Fig. 7, the operation of microprocessor 28 will be hereinafter described as it responds to input sample voltages received from A/D converter 24. As above stated, the curve table in RAM 62 is pre-loaded with a starting output data value Doy a f irst f inite-dif f erence value S, (slope), a second finitedifference value S.. 2 (curvature) and a plurality of third f inite-dif f erence values, starting at S" (rate of change of curvature for the third 3 0 segment).
14 As indicated at box 100, registers 54, 56, 58, and 60 are loaded with the initial values at the commencement of a measurement cycle. Next, the segment value L is set equal to an initial microvolt value (a value equal to a count from a A/D converter 24). The value of L will determine when a new calculation occurs to establish a new data value along the r_sponse curve. As stated above, in succeeding regions of response curve 10, the value of L will be shifted to cause the data points to be spaced further apart.
Once the segment value L is established, microprocessor 28 continues to monitor the voltage value count (box 104) and to test whether the count is equal to (or larger than) L (box 106). Until the count does equal L, the monitoring action continues.
once the count is found to equal L, thus indicating that the first segment along response curve 10 has been traversed, a segment counter (not shown) within microprocessor 28 is set to equal 1 (box 108). The first finite-difference value S 1 ib then added to data point value Dn to obtain D 1 The D register, 54, is updated to indicate the new value (box 110).
The system continuds to monitor the voltage value count (box 112) and when the count equals 2L (box 114), sets the segment counter equal to 2 (box 116). At this point, the value of D 2 is to be determined and it is accomplished as shown in box 118. In specific, the value of the second f inite-dif f erence S 1 2 stored in S,' register 58 is added to the value of the f irst finite-difference S 1 stored in S register 56, to obtain S 2 (the slope between data points D 1 and D 2). The value of S 2 replaces the value oi S 1 in S register 56 and is added to the D 1 value in D register 54 to obtain a new data point value D 2 That value is written into the D register 54 in place of D 1 The system then continues-monitoring the voltage count (box 120) and when the count equals 3L (box 122), it sets the segment counter equal to 3 ebox 124). it then calculates the value of a new data point, but now begins to use the stored third 'finite-difference values. As is shown in box 126, the value of S 3 11 stored in S" register 60 is added to the value of S 2 1 stored in S' register 58, to obtain S,' (curvature of the response curve between data points D 1 and D 3) The S 1 3 value is inserted into S 1 register 58 and replaces the S 2 1 value therein. The S 3 1 value is then added to the S 2 value in S register 56 to obtain a new first finite-difference value S 3 which is loaded into S register 56. That value is then added to D 2 to obtain D 3 which is written into a D register 54.
It can thus be seen that these calculations involve first, the calculation of a new second finite-difference from a stored third finite-difference; the calculation of a new first finite-difference from the thus calculated second finite-difference, and finally, the calculatioL of a new data point from the calculated first finite-difference added to a previous data point value.
As shown in Fig. 6c, the procedure continues by monitoring the voltage value count (box 128) until it is determined that the count is an integer multiple of L and is equal to or greater than 4L (box 130). If 16 so, the segment counter is set equal to the integer value (box 132) and the aforestated calculation is repeated to obtain the new data point value. The rules are indicated in box 134 and are as follows: (1) Add the new value of S' f to the old value of S t to get the new St value. (2) Add the new value of S, to the old value of S to get the new S. (3) Add the new value of S to the old D value to get the new D value. Once these values are obtained, -he D, S, and S- registers are updated and a new S" value is obtained f rom the curve table in RAM 62 in preparation of the next calculation cycle. It can thus be seen that the storage of third finite-difference values enable many data points to be calculated and reduces the amount of storage required in curve table 62.
To further reduce the amount of storage required in curve table 62, the sizes of segments L are increased as the system proceeds up the response curve. This is accomplished by interrogating the segment counter in microprocessor 28 to determine whether its count equals a voltage range shift point (decision box 136). If not, the program recycles to box 132 and continues as shown. If the segment counter does indicate a voltage range shift' point, e.g., D n, then the system accesses the third finitedifference value. S" n corresponding to that data point (box 140).
AS can be seen from Fig. 6d, the system then doubles the value of L (box 144) and proceeds to monitor the voltage and continue the calculations as shown in Fig. 6c. It is to be realized, however, that when the segment value L is doubled, it is necessary to modify the values in registers 54, 56, ahd 58 to prevent j i i 1 17 discontinuities from occurring at a voltage range shift point. To accomplish this, the calculations occur as shown in box 142 and comprise the following. To obtain a new second finite-difference S n I (n = the data point number at the shift point), the accessed value of S n 11 (third finite-difference) is added to (S' n-l + 2SI n-2 + S' n-3). The new value Of S'n is then added to S n-l + S n-2 to obtain a new first f inite-dif f erence value S n To obtain -the new data point D n' the newly calculated data value of S n is added to D n-l From these calculations, it can be seen that ALU 50 must retain in its memory, as calculations proceed, the values for the prior two second finite-differences and the penultimate first finite-difference, as well as the values in registers 54, 56, and 58.
The newly calculated values S' n g' Sn and D n now are loaded into registers 54, 56, and 58, and the system is then prepared to continue monitoring the voltage and determining data point values as shown in Fig. 6c, until a new voltage range shift point occurs, at which point the registers are again updated as indicated.
During the monitor voltage operation, as shown in Fig. 7, microprocessor 28 continues to await a pulse output from comparator 30 (box 130) which indicates that the voltage output count from A/D converter 24 has reached the reference voltage (end of sample time). At this point, the value of the voltage count is captured and, if it does not overlay a data point exactly (as is usual), but lies between a pair of data points D n and D n+ 11 its value is linearly interpolated therebetween R 18 to obtain a reading for D (box 152) - That value is then displayed (box 154) on display 38.
It should be understood that the foregoing description is only illustrative of the invention. Various alternatives and modifications can be devised by those skilled in the art without departing from the invention. Accordingly, the present invention iSintended to embrace all such alternatives, modifications and variances which fall within the scope of the appended claims.
1 1 1 X 0 19

Claims (8)

1. Processor apparatus f or monitoring a sensor element whose output signal follows a nonlinear curve in response to linear changes in a monitored phenomenon, and for converting said sensor output signal to phenomenon data output ' values, the combination comprising:
memory means for storing a table including a starting phenomenon data point value D on said curve, a starting slope value S to another data paint on said curve,. a starting curvature value St to yet a further data point on said curve, and a plurality of rate of change of curvature values S" of said curve, said value of S" for an initial region of said curve derived based on an initial signal segment value between data point values, values of S 1 1 f or succeeding regions of said curve derived by increasing by a precalculated f actor, said signal segment value for each said succeeding curve region; - calculation means for computing an output datapoint value by by combining said S", S', S and D values, a said combination occurring when said sensor output signal rises by said output signal segment value to a succeeding data point value; and control means for increasing by a factor, said output signal segment value each time said output signal value enters a succeeding region of said curve. 0
2. The processor apparatus of claim 1 wherein said calculation means computes said output datapoint values by repeated additions of said S", S' and S and D values.
3. The processor apparatus as recited in claim 2 wherein said control means, upon causifig an increase in said output signal segment value, causes said calculation means to recompute values of D, S, and S' for an immediately preceding portion of said curve, to enable a smooth transition between curve portions.
4. The processor apparatus as recited in claim 2 wherein said control means increases said output signal segment value by a factor of 2.
5. The processor apparatus as recited in claim 1 wherein said calculation means, upon said sensor output signal value having risen by an output signal interval value, performs the following first series of calculations: 1 adds a new value of SIf to a previous value of S' to obtain a new value of S'; adds said new value of S' to an old value S to obtain a new value S; and adds said new value S to an old value. f or D to obtain a new D value.
6. The processor apparatus as recited in claim 5, wherein said calculation means, upon said sensor output signal value having risen into a succeeding curve portion, delimited by a data point value D n performs the following second series of calculations:
9 1 21 Adds S" n +S, n-1 +2S' n-2 +St n-3 to obtain a new St Adds new St n +S n- 1 +S n-2 to obtain a new S n; and adds new S n +D n-1 to obtain a new value of D n n P
7. The processor apparatus as recited in claim 6, wherein said calculation means determines that said sensor output signal value has risen intO a succeeding curve portion by accumulating a count of output signal segments and testing said accumulaed count against predetermined values.
8. The invention as recited in claim 7 wherein said predetermined values are chosen so that regions of said curve which are more nonlinear are described by larger numbers of smaller segments than for equal regions of more linear response.
3 3 0
GB9120777A 1990-10-09 1991-10-01 System for linearizing a non-linear sensor output Expired - Lifetime GB2249837B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US59407390A 1990-10-09 1990-10-09

Publications (3)

Publication Number Publication Date
GB9120777D0 GB9120777D0 (en) 1991-11-13
GB2249837A true GB2249837A (en) 1992-05-20
GB2249837B GB2249837B (en) 1995-01-25

Family

ID=24377410

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9120777A Expired - Lifetime GB2249837B (en) 1990-10-09 1991-10-01 System for linearizing a non-linear sensor output

Country Status (6)

Country Link
CA (1) CA2052599C (en)
DE (1) DE4133467A1 (en)
ES (1) ES2039150B1 (en)
FR (1) FR2667708A1 (en)
GB (1) GB2249837B (en)
IT (1) IT1249456B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006135977A1 (en) * 2005-06-24 2006-12-28 Carl Peter Renneberg A circuit and method for fitting the output of a sensor to a predetermined linear relationship

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006050924B4 (en) * 2006-10-28 2017-01-05 Techem Energy Services Gmbh Method and device for generating temperature-dependent characteristics and their linearization

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3727037A (en) * 1971-08-27 1973-04-10 A Zorn Variable increment digital function generator
US3979745A (en) * 1974-02-22 1976-09-07 Westronics, Inc. System and method for linearizing analog measurements during analog-to-digital conversion
US4024385A (en) * 1974-02-25 1977-05-17 Raytheon Company Second difference function generator
FR2296319A1 (en) * 1974-12-27 1976-07-23 Cit Alcatel Digital periodic waveform generator - has counting assembly and memory store to generate preset waveform of selected period
DE2738352A1 (en) * 1977-08-23 1979-03-01 Siemens Ag FUNCTION GENERATOR WITH MEMORY MATRIX
IT1094717B (en) * 1978-04-20 1985-08-02 Eurodomestici Ind Riunite DEVICE FOR DIGITAL CONVERSION OF ANALOG PHYSICAL QUANTITIES
AT380340B (en) * 1979-09-07 1986-05-12 Goerz Electro Gmbh LINEARIZATION CIRCUIT
US4282578A (en) * 1980-03-17 1981-08-04 Burr-Brown Research Corporation System for linearizing non-linear transducer signals
DE3128095A1 (en) * 1981-07-16 1983-02-03 Hartmann & Braun Ag, 6000 Frankfurt >>Method for digital correction of the relationship between a digital input signal and a digital output signal and circuit arrangement to carry out this method<<
US4616325A (en) * 1983-06-17 1986-10-07 Johnson Service Company Zone condition controller and method of using same
GB8704269D0 (en) * 1987-02-24 1987-04-01 Rue Systems De Monitoring system
US4912397A (en) * 1987-09-30 1990-03-27 Eaton Corporation Transducer linearizing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006135977A1 (en) * 2005-06-24 2006-12-28 Carl Peter Renneberg A circuit and method for fitting the output of a sensor to a predetermined linear relationship

Also Published As

Publication number Publication date
ES2039150A1 (en) 1993-08-16
ITRM910763A1 (en) 1993-04-09
ES2039150B1 (en) 1994-03-16
CA2052599C (en) 1998-11-24
FR2667708A1 (en) 1992-04-10
DE4133467A1 (en) 1992-04-16
IT1249456B (en) 1995-02-23
CA2052599A1 (en) 1992-04-10
ITRM910763A0 (en) 1991-10-09
GB9120777D0 (en) 1991-11-13
GB2249837B (en) 1995-01-25

Similar Documents

Publication Publication Date Title
US7558691B2 (en) Method for determining a characteristic of a sensor arrangement
EP0230712B1 (en) Data logger
US3939459A (en) Digital signal linearizer
US6188340B1 (en) Sensor adjusting circuit
US4644481A (en) Electronic thermometer
JP3343509B2 (en) Air flow measurement device
JPH03229124A (en) Pressure transmitter
US4912397A (en) Transducer linearizing system
US8437976B2 (en) Gas density transducer with a microprocessor executing an algorithm solving Van Der Waal&#39;s equation
US5274577A (en) System for linearizing a non-linear sensor output
US3843872A (en) Temperature measuring equipment with polynomeal synthesis
US5321992A (en) Measurement of gas flows with enhanced accuracy
RU2495390C1 (en) Measuring temperature of average temperature of non-homogeneous medium, and device for its implementation
CA2052599C (en) System for linearizing a non-linear sensor output
US3503064A (en) A-d conversion system
JPH07286910A (en) Temperature converter
SU1023211A1 (en) Digital thermometer
JP3318649B2 (en) Measurement data processing apparatus and method
RU2091799C1 (en) Pulse-number linearizer for transducer output characteristic
JP3070308B2 (en) Heat detector
JP3495179B2 (en) Method for measuring characteristics of D / A converter and unit for measuring characteristics of D / A converter
JPH04328459A (en) Correcting method for temperature dependency of chemical sensor
SU1408248A1 (en) Temperature-measuring device
SU993045A1 (en) Digital temperature calorimeter
GB2120481A (en) Improvements in or relating to analogue to digital converters

Legal Events

Date Code Title Description
PE20 Patent expired after termination of 20 years

Expiry date: 20110930