Method and apparatus for calculating sensor modelling coefficients

A method of calculating at least one sensor modelling coefficient for multiple sensor regions of operation includes defining a first sensor region of operation and a further sensor region of operation, and calculating the sensor modelling coefficient for the first sensor region of operation. A derivative equation then is derived for the further sensor region of operation based at least partly on at least one defined inter-region boundary constraint. The sensor modelling coefficient is calculated for the further sensor region of operation based at least partly on the derivative equation.

BACKGROUND OF THE INVENTION

The present invention relates to a method and apparatus for calculating sensor modelling coefficients, and more particularly to a method and apparatus for calculating sensor modelling coefficients for multiple sensor regions of operation.

In the field of sensor systems, for example pressure and/or temperature sensor systems, the characteristics of sensors vary between different regions of operation. For example, the characteristics of a temperature sensor within a first region of operation of, say, 0° C. to 85° C. may be significantly different to the characteristics of the temperature sensor within a second region of operation of, say, −40° C. to 0° C.

To compensate for such variations, it is necessary to carefully model the sensor characteristics across the different regions of operation. The characteristics of a sensor within a particular region of operation may be modelled using one or more equations, which may be used to provide, in the case of a temperature sensor for example, an estimated temperature value based on an output value from the respective sensor. In order for such equations to accurately model the characteristics of the sensor, accurate equation coefficients must be determined.

One conventional technique for determining such equation coefficients comprises collecting actual data for the sensor, for example actual temperature readings in the case of a temperature sensor, and thereafter calculating the equation coefficients using such actual data. In this manner, it is possible to determine accurate and reliable coefficients in order to enable the characteristics of the sensor to be accurately modelled. However, it is typically prohibitively expensive to take sufficient actual readings across multiple regions of operation for a sensor in order to determine accurate coefficients, and in particular that allows a smooth transition at the junction between adjacent regions of operation.

Thus, it would be advantageous to have a better method of determining sensor modelling coefficients.

DETAILED DESCRIPTION

Examples of the present invention will now be described with reference to the accompanying drawings. In particular, examples of the present invention are herein described with reference to a temperature/pressure sensor comprising a piezo resistive transducer arranged to provide temperature and/or pressure measurements. However, in some examples, the present invention is not limited to the particular embodiments herein described, and may be equally applied to alternative sensor arrangements for which equation coefficients are required or desired to be determined. Furthermore, because the illustrated embodiments of the present invention may, for the most part, be implemented using electronic components and circuits known to those skilled in the art, details will not be explained in any greater extent than that considered necessary as illustrated below, for the understanding and appreciation of the underlying concepts of the present invention and in order not to obfuscate or distract from the teachings of the present invention.

In one embodiment, the present invention provides a method of calculating sensor modelling coefficients for multiple sensor regions of operation, and in another embodiment, an apparatus comprising at least one signal processing module for calculating sensor modelling coefficients for multiple sensor regions of operation. The apparatus may comprise an integrated circuit that generates sensor measurement values based at least partly on at least one of the calculated sensor modelling coefficients. These and other aspects of the invention will be apparent from and elucidated with reference to the embodiments described hereinafter.

Referring first toFIGS. 1 and 2, there are illustrated simplified circuit diagrams of examples of a piezo resistive transducer100configured within a sensor system, for example a pressure sensor system.

FIG. 1illustrates a simplified circuit diagram of an example of the piezo resistive transducer100, which in the illustrated example resembles a Wheatstone bridge, configured in a first mode of operation to provide a voltage signal vT110that is representative of temperature130. In this first configuration, the piezo resistive transducer100is operably coupled in series with a resistance element120in order to provide a voltage divider configuration with the voltage signal vT110as an output thereof. Variations in temperature130cause representative variations in the resistance of the piezo resistive transducer100, and therefor cause correspondingly representative variations in the voltage signal vT110.

FIG. 2illustrates a simplified circuit diagram of an example of the piezo resistive transducer100configured in a second mode to provide a voltage signal vPT210representative of both pressure230and temperature130. In this second configuration, an excitation voltage Vex220causes a differential output voltage vPT210that is a function of both pressure230and temperature130. Variations predominantly in pressure230and to some extent in temperature130cause representative variations in the voltage signal vPT210.

FIG. 3illustrates a simplified block diagram of an example of part of a sensor system300to which the piezo resistive transducer100may be operably coupled, and to which the temperature and pressure voltage signals vT110and vPT210output by the piezo resistive transducer100may be provided. The sensor system300may be implemented within an integrated circuit device305, for example within an application specific integrated circuit (ASIC) device or the like, and comprises a gain and an analogue to digital converter (ADC) component310which receives the temperature and pressure voltage signals vT110and vPT210and outputs digital representations (vTADCand vPADCrespectively)315thereof. The digital representations of the temperature and pressure voltage signals315are then provided to a signal processing component, which in the illustrated example comprises a data path320, which processes the temperature and pressure voltage values315in order to generate estimated respective temperature and pressure values330,335.

For example, the piezo resistive transducer100may be initially configured to operate in a first mode of operation, and to provide the voltage signal vT110, which is representative of temperature, to the ADC component310, which in turn outputs a digital representation Tadcof the temperature voltage signal. The piezo resistive transducer100may then be configured to operate in a second mode of operation, and to provide the voltage signal vPT210, which is representative of temperature and pressure, to the ADC component310, which in turn outputs a digital representation Padcof the pressure voltage signal.

The data path320then processes the digital representations of the temperature and pressure voltage signals315to generate an estimated temperature value330and an estimated pressure value335. In some examples, the processing component that is referred to a ‘data path320’ may be a digital signal processor (DSP) or similar. The order in which the digital representations of the temperature and pressure voltage signals315are processed may be interchanged, and sampling of the temperature and pressure voltage signals vT110and vPT210may be performed substantially independent.

In one example, the data path320may be arranged to generate the estimated temperature value330based on a first sensor modelling equation, such as of the form of Equation 1 below:
T=cT0+cT1.TadccT2.Tadc2+cT3.Tadc3.cT4.Tadc.Padc+cT5.Padc[Equation 1]
where cTicomprises a first set of sensor modelling coefficients. Similarly, the data path320may be arranged to generate the estimated pressure value335based on a second modelling equation, such as of the form of Equation 2 below:
P=C0+C.Padc+C2.T+C3.P[Equation 2]
where Cicomprises a second set of sensor modelling coefficients.

Thus, in this example, the data path320may first generate an estimate of the temperature T330using Equation 1 above, with parameters of the digital representations of the temperature and pressure voltage signals Tadcand Padc,315and the first set of sensor modelling coefficients cTi. Having generated an estimate of the temperature T330, the data path320may then generate an estimate of the pressure P335using Equation 2 above, with parameters of the digital representations of the pressure voltage signal Padc, the estimate of the temperature T and the second set of sensor modelling coefficients Ci. The first and second sets of sensor modelling coefficients cTi andCipreferably are stored in a memory325of the data path320.

The characteristics of sensors such as the piezo resistive transducer100illustrated inFIGS. 1 and 2, typically vary between different regions of operation. For example, the characteristics of a temperature sensor within a first region of operation of, say, 0° C. to 85° C. may be significantly different to the characteristics of the temperature sensor within a second region of operation, say, −40° C. to 0° C. Accordingly, different sets of sensor modelling coefficients are required to accurately model the different regions of operation, and potentially even different modelling equations. This separation into multiple regions may be independent of choice of temperature sensor, and is not solely limited to the use of piezo resistive transducers.

In order for such equations to accurately model the characteristics of the piezo resistive transducer100, accurate sensor modelling coefficients must be determined. One conventional technique for determining such coefficients comprises collecting actual data for the sensor, for example actual temperature and pressure readings in this example, and calculating the modelling coefficients using curve fitting based on such actual data. In this manner, it is possible to determine accurate and reliable coefficients to enable the characteristics of the sensor to be accurately modelled. However, it is typically prohibitively expensive to take sufficient actual readings across multiple regions of operation for a sensor in order to determine accurate coefficients, and in particular which allow a smooth transition at the junction between adjacent regions of operation.

Referring now toFIG. 4, there is illustrated a simplified flowchart400of an example of a method of calculating sensor modelling coefficients for multiple sensor regions of operation. In summary, the method comprises defining a first sensor region of operation and at least one further sensor region of operation, calculating at least one sensor modelling coefficient for the first sensor region of operation, deriving derivative equations for the at least one further sensor region of operation based at least partly on at least one defined inter-region boundary constraint, and calculating at least one sensor modelling coefficient for the at least one further sensor region of operation based at least partly on the derivative equations.

Referring toFIG. 4in more detail, the method starts at410, and moves on to420where at least two sensor regions of operation are defined or identified. In some examples, the method further comprises defining as a first sensor region of operation, a region comprising tighter specifications. For example, for the piezo resistive transducer100ofFIGS. 1 and 2, two or more temperature regions of operation may be defined or identified, for example a first region of operation of, say, 0° C. to 85° C. for which tighter product specifications are required, and a second region of operation of, say, −40° C. to 0° C.

Next, at430, one or more sensor modelling equations are defined for each defined region of operation, such as Equations 1 and 2 above. In some example embodiments, the same sensor modelling equations may be defined for modelling the sensor characteristics of the different regions of operation. Alternatively, in some examples, different sensor modelling equations may be defined for modelling the sensor characteristics of the different regions of operation. Accordingly, the method may comprise defining a first set of sensor modelling equations comprising sensor modelling coefficients for the first sensor region of operation and at least one further set of sensor modelling equations comprising sensor modelling coefficients for at least one further sensor region of operation.

The method then moves on to440, where sensor modelling coefficients for the sensor modelling equation(s) of the first region of operation are calculated. For Equations 1 and 2 above, such sensor modelling coefficients may comprise the first and second sets of sensor modelling coefficients cTiand Cifor modelling the first region of operation of the piezo resistive transducer100. Such sensor modelling coefficients for the first region of operation may be calculated using any suitable technique. For example, such sensor modelling coefficients may be calculated using actual data, for example data obtained by taking readings, etc., across the first region of operation, establishing equations (e.g. based on the defined sensor modelling equation(s)) using such data readings in the form of unknown coefficients, and solving the established equations to establish a curve fit, for example using Least Mean Square (LMS) or other methods.

Next, at450, the method continues in selecting a next region of operation, for example a region adjacent to the first region for which coefficients have already been calculated, and defining one or more inter-region boundary constraints. Derivative equations for this selected region of operation are then derived based at least partly on the one or more defined inter-region boundary constraints.

For example, Equation 1, as illustrated above for estimating temperature, may be defined for the first region of operation as:
Ti=cT01+cT11.Tadc+cT21.Tadc2+cT31.Tadc3+cT41.Tadc.Padc+cT51.Padc[Equation 3]
where cTi1comprises a set of sensor modelling coefficients for the first region of operation. Similarly, Equation 1 may be defined for the second region of operation as:
T2=cT02+cT12.Tadc+cT22.Tadc2+cT32.Tadc3+cT42.Tadc.Padc+cT52.Padc[Equation 4]
where cTi2comprises a set of sensor modelling coefficients for the second region of operation.

An example of a defined boundary constraint may comprise setting T1=T2at an inter-region boundary between the first and second regions of operation. Such a boundary constraint, with respect to Equations 3 and 4 above, leads to:
cT01+cT11.Tadc+cT2.Tadc2+cT31.Tadc3+cT41.Tadc.Padc+cT51.Padc=cT02+cT12.Tadc+cT22.Tadc2+cT32.Tadc3+cT42.Tadc.Padc+cT52.Padc[Equation 5]
at, say, 0° C. and 101.3 kPa. By setting T1=T2at the inter-region boundary between the first and second regions of operation, continuity at the junction between the two regions of operation may be achieved.

Another example of a defined boundary constraint may comprise setting dT1/dVt=dT2/dVt at the inter-region boundary between the first and second regions of operation. Such a boundary constraint, with respect to Equations 3 and 4 above, leads to:
cT11+2*cT21.Tadc+3*cT31.Tadc2+cT41.Padc=cT12+2*cT22.Tadc+3*cT32.Tadc2+cT42.Padc[Equation 6]

By setting dT1/dVt=dT2/dVt at the inter-region boundary between the first and second regions of operation, smoothness of transition with changing temperature at the junction between the two regions of operation may be achieved.

Another example of a defined boundary constraint may comprise setting dT1/dVp=dT2/dVp at the inter-region boundary between the first and second regions of operation. Such a boundary constraint, with respect to Equations 3 and 4 above leads to:
cT41.Tadc+cT51=cT42.Tadc+Padc[Equation 7]

By setting dT1/dVp=dT2/dVp at the inter-region boundary between the first and second regions of operation, smoothness of transition with changing pressure at the junction between the two regions of operation may be achieved.

Thus, in this example three derivative equations may be established in this manner, namely Equations 5, 6 and 7, thereby enabling up to three coefficients for the second region of operation to be calculated without requiring any actual data readings for the second region of operation to be taken, as well as enabling continuity and smoothness of transition to be achieved at the junction between the two regions of operation.

Since the coefficients for the first region of operation (i.e. those originating from Equation 3) have already been calculated (at440), these three derivative equations comprise only unknown coefficients for the second region of operation. For the particular sensor modelling equation used in this example, namely based on Equation 1 above, these three derivative equations comprise six unknown coefficients; these six unknown coefficients being cT02, cT12, cT22, cT32, cT42and cT52.

Further derivative equations may be created to solve for all six unknown coefficients (i.e. in this example to solve for the further three unknown coefficients). For example, such further derivative equations may be created using actual data readings for the second region of operation, using mean coefficient readings, and/or introducing other constraints similar to those identified above for Equations 5, 6 and 7 for higher order differentials such as, say, setting d2T1/dVp2=d2T2/dVp2. Alternatively, in some examples, a sensor modelling equation of lower order may be used for the second region in order to reduce the number of unknown coefficients, for example to just three unknown coefficients.

Having derived the necessary derivative equations for the second region at460, these derivative equations may then be solved at470in order to calculate the sensor modelling coefficients for the second region of operation. If coefficients for a further region of operation are required to be calculated, at480, the method may loop back to450, and the procedure may be repeated for that further region of operation. Once coefficients have been calculated for all regions of operation, the coefficients are stored at step490for use in converting at least one digitized sensor signal, such as the digital representations of the temperature and pressure voltage signals315illustrated inFIG. 3, to an estimated sensor output.

Advantageously, establishing derivative equations for further sensor regions of operation based at least partly on at least one defined inter-region boundary constraint as described above reduce (and potentially alleviate) the need for actual data reading to be taken for further regions of operation outside of the first region of operation. In this manner, whilst actual data reading may be taken for the first region of operation, and thereby enabling accurate coefficients to be calculated based on such actual data readings therefor, fewer (if any) additional data readings may be required for further regions of operation. In this manner, the prohibitive expense of taking such readings across multiple regions of operation may be substantially reduced.

Referring now toFIG. 5, there is illustrated an example of a typical computing system500that may be employed to implement signal processing functionality in embodiments of the invention, and in particular may be employed to implement at least part of the method ofFIG. 4. Computing systems of this type may be used in desktop computers, workstations etc. Those skilled in the relevant art will also recognize how to implement the invention using other computer systems or architectures. Computing system500may represent, for example, a desktop, laptop or notebook computer, hand-held computing device (PDA, cell phone, palmtop, etc.), mainframe, server, client, or any other type of special or general purpose computing device as may be desirable or appropriate for a given application or environment. Computing system500can include one or more signal processing modules, such as a processor504. Processor504can be implemented using a general or special-purpose processing engine such as, for example, a microprocessor, microcontroller or other control module. In this example, processor504is connected to a bus502or other communications medium.

Computing system500can also include a main memory508, such as random access memory (RAM) or other dynamic memory, for storing information and instructions to be executed by processor504. Main memory508also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor504. Computing system500may likewise include a read only memory (ROM) or other static storage device coupled to bus502for storing static information and instructions for processor504.

The computing system500may also include information storage system510, which may include, for example, a media drive512and a removable storage interface520. The media drive512may include a drive or other mechanism to support fixed or removable storage media, such as a hard disk drive, a floppy disk drive, a magnetic tape drive, an optical disk drive, a compact disc (CD) or digital video drive (DVD) read or write drive (R or RW), or other removable or fixed media drive. Storage media518may include, for example, a hard disk, floppy disk, magnetic tape, optical disk, CD or DVD, or other fixed or removable medium that is read by and written to by media drive512. As these examples illustrate, the storage media518may include a computer-readable storage medium having particular computer software or data stored therein.

In alternative embodiments, information storage system510may include other similar components for allowing computer programs or other instructions or data to be loaded into computing system500. Such components may include, for example, a removable storage unit522and an interface520, such as a program cartridge and cartridge interface, a removable memory (for example, a flash memory or other removable memory module) and memory slot, and other removable storage units522and interfaces520that allow software and data to be transferred from the removable storage unit518to computing system500.

Computing system500can also include a communications interface524. Communications interface524can be used to allow software and data to be transferred between computing system500and external devices. Examples of communications interface524can include a modem, a network interface (such as an Ethernet or other NIC card), a communications port (such as for example, a universal serial bus (USB) port), a PCMCIA slot and card, etc. Software and data transferred via communications interface524are in the form of signals which can be electronic, electromagnetic, and optical or other signals capable of being received by communications interface524. These signals are provided to communications interface524via a channel528. This channel528may carry signals and may be implemented using a wireless medium, wire or cable, fiber optics, or other communications medium. Some examples of a channel include a phone line, a cellular phone link, an RF link, a network interface, a local or wide area network, and other communications channels.

In this document, the terms ‘computer program product’ ‘computer-readable medium’ and the like may be used generally to refer to media such as, for example, memory508, storage device518, or storage unit522. These and other forms of computer-readable media may store one or more instructions for use by processor504, to cause the processor to perform specified operations. Such instructions, generally referred to as ‘computer program code’ (which may be grouped in the form of computer programs or other groupings), when executed, enable the computing system500to perform functions of embodiments of the present invention. Note that the code may directly cause the processor to perform specified operations, be compiled to do so, and/or be combined with other software, hardware, and/or firmware elements (e.g., libraries for performing standard functions) to do so.

In an embodiment where the elements are implemented using software, the software may be stored in a computer-readable medium and loaded into computing system500using, for example, removable storage drive522, drive512or communications interface524. The control module (in this example, software instructions or executable computer program code), when executed by the processor504, causes the processor504to perform the functions of the invention as described herein.

The expression non-transitory refers to the non-ephemeral nature of the storage medium itself rather than to a notion of how long the stored information persists in a stored state. Accordingly, memories that might otherwise be viewed, for example, as being volatile (such as many electronically-erasable programmable read-only memories (EEPROMs) or random-access memories (RAMs)) are to be viewed as being “non-transitory” whereas a signal being transmitted over a carrier (such a wire or wirelessly) is considered “transitory” notwithstanding that the signal may remain in transit for a lengthy period of time.

The present invention may be implemented in a computer program for running on a computer system, at least including code portions for performing steps of a method according to the invention when run on a programmable apparatus, such as a computer system or enabling a programmable apparatus to perform functions of a device or system according to the invention. A computer program is a list of instructions such as a particular application program and/or an operating system. The computer program may for instance include one or more of: a subroutine, a function, a procedure, an object method, an object implementation, an executable application, an applet, a servlet, a source code, an object code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on a computer system.

The computer program may be stored internally on computer readable storage medium or transmitted to the computer system via a computer readable transmission medium. All or some of the computer program may be provided on computer readable media permanently, removably or remotely coupled to an information processing system. The computer readable media may include, for example and without limitation, any number of the following: magnetic storage media including disk and tape storage media; optical storage media such as compact disk media (e.g., CD-ROM, CD-R, etc.) and digital video disk storage media; non-volatile memory storage media including semiconductor-based memory units such as FLASH memory, EEPROM, EPROM, ROM; ferromagnetic digital memories; MRAM; volatile storage media including registers, buffers or caches, main memory, RAM, etc.; and data transmission media including computer networks, point-to-point telecommunication equipment, and carrier wave transmission media, just to name a few.

Those skilled in the art will recognize that the boundaries between logic blocks are merely illustrative and that alternative embodiments may merge logic blocks or circuit elements or impose an alternate decomposition of functionality upon various logic blocks or circuit elements. Thus, it is to be understood that the architectures depicted herein are merely exemplary, and that in fact many other architectures can be implemented which achieve the same functionality. For example, in the example illustrated inFIG. 3the gain plus ADC component310and data path320have been illustrated as separate logic blocks within the integrated circuit device. However, it is contemplated that the functionality of the gain plus ADC component310and the functionality of the data path320may at least partly be implemented within a single functional element.

Any arrangement of components to achieve the same functionality is effectively ‘associated’ such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as ‘associated with’ each other such that the desired functionality is achieved, irrespective of architectures or intermediary components. Likewise, any two components so associated can also be viewed as being ‘operably connected’, or ‘operably coupled’, to each other to achieve the desired functionality.

The examples, or portions thereof, may implemented as soft or code representations of physical circuitry or of logical representations convertible into physical circuitry, such as in a hardware description language of any appropriate type. The invention is not limited to physical devices or units implemented in non-programmable hardware but can also be applied in programmable devices or units able to perform the desired device functions by operating in accordance with suitable program code, such as mainframes, minicomputers, servers, workstations, personal computers, notepads, personal digital assistants, electronic games, automotive and other embedded systems, cell phones and various other wireless devices, commonly denoted in this application as ‘computer systems’. However, other modifications, variations and alternatives are also possible. The specifications and drawings are, accordingly, to be regarded in an illustrative rather than in a restrictive sense.