Abstract:
Methods and systems automatically detect, classify and/or mitigate sensor errors using partial qualitative and quantitative knowledge of the subsystems. In various examples, sensor fault detection is performed with a custom designed representation scheme covering causality, correlation, system of equality and inequalities, and an associated logic. The logic is described by a set of algorithmic steps to iteratively assign trustworthiness level of sensors. Sensor fault classification is performed by combining mathematical and statistical techniques that can be utilized to expose bias, drift, multiplicative calibration error, precision degradation and spike error. Sensor fault mitigation is also performed on identified bias, drift, multiplicative calibration error, precision degradation and spike error.

Description:
TECHNOLOGICAL FIELD 
       [0001]    The present disclosure relates to methods and systems for detecting, classifying and/or mitigating sensor error. It is particularly, but not exclusively, concerned with error detection, classification and mitigation in complex systems where an accurate and comprehensive system-wide computational or mathematical model is not available. 
       BACKGROUND 
       [0002]    Existing sensor fault detection processes typically operate on the basis of the hardware redundancy principle and/or the analytical redundancy principle. Hardware redundancy schemes utilize multiple sensors with replicated or correlated readings of signal(s) while analytical redundancy schemes rely on mathematical models of the system being measured to generate an expected value or shape. 
         [0003]    In techniques based on hardware redundancy, sensor fault is diagnosed when expected correlation and/or agreement between multiple designated sensors is absent. In particular, measurement models and sensor network models are employed to check whether a sensor within the set of correlated/replicated sensors has failed using techniques such as Principal Component Analysis, Independent Component Analysis, factor analysis or Minimized Mean Squared Error. 
         [0004]    In techniques based on analytical redundancy, an expected value of the signal being measured is computed by a computational model of the system. Deviation of the measured signal from this reference, either as an absolute value, or in terms of the shape of the signal, is employed to diagnose sensor fault. The software-based system model needs to produce a reasonably accurate estimate of the variable being measured, and can be developed from physics-based description of the system, from heuristics/rules of thumb represented in artificial intelligence constructs (e.g. fuzzy logic or rule based systems), or deduced from past data of sensor networks known to function perfectly using statistical learning techniques. 
         [0005]    Specific examples of the two classes of sensor fault detection in patents and academic publications are set out below. 
         [0006]    U.S. Pat. No. 6,016,465 describes a method based on analytical redundancy, where sensor fault is detected with the deviation of measured signal shape from the expected reference instead of the actual value. In the method, outlines of modified measured signal and corresponding modified reference signal over a finite time window are compared by means of a correlation coefficient. The reference signal is generated by a software model of the system under measurement, and modified by a multiplication factor, subtraction of the mean level and any hybrid of values from modified reference signal. Modifications to measured signals are performed in like manner. Both series, i.e. the reference and the measured, are continuously updated with most recent values and their shape compared to within pre specified deviation thresholds. 
         [0007]    U.S. Pat. No. 7,286,917 describes a method based on the analytical redundancy principle to detect vehicle speed sensor failure. The system model is provided by a set of heuristics that determine whether the speed measured indicates sensor fault, as described in the flowchart below. When the speed measured is below threshold, fueling rate is greater than threshold, engine speed is greater than minimum threshold, transmission is not in neutral and not in converter mode, at least n number of times then a fault is logged. 
         [0008]    U.S. Pat. No. 8,521,354 describes a method to diagnose faults in sensors of airflow mass, O2 intake, fuel injection in an internal combustion engine. The method combines the hardware redundancy principle, i.e. multiple sensors replicate measurement of a key quantity, and analytical redundancy, i.e. an estimation model computes expected values of quantities measured (see  FIGS. 3 and 8  of this patent). The EGR values are for example computed with two different methods from different measurements and compared with theoretical values from an EGR map. Fuel injection and airflow mass sensor fault are diagnosed in a simpler comparison with real time calculation of expected values. 
         [0009]    U.S. Pat. No. 5,636,137 describes a feedback control which includes a sensor failure detection function especially for but not limited to power assisted steering systems. The method relies on hardware redundancy, with two photo detector units independently measuring LED light indicative of angular displacement or torque applied between input and output. Variation in the sum of the signals generated by the photodetector indicates sensor fault(s). 
         [0010]    U.S. Pat. No. 6,598,195 describes a hardware redundancy approach to sensor fault detection. A modeled sensor value of each sensor is given as a function of a set of other sensors values (the sensor consistency model in  FIG. 1  of this patent), and any deviation from expected value beyond the threshold indicates a fault is present in the network of sensors. Hypothesis testing and maximum wins strategy isolate the faulty sensor once a fault in the network is diagnosed. Sensor failure accommodation is then performed by substituting the modelled value for the actual measured value. 
         [0011]    U.S. Pat. No. 5,554,969 describes an analytical redundancy approach to detect wheel steering angle sensor fault with system model given by rules of thumb. The detection of failure in the rear road wheel steering angle sensor is carried out on the basis of whether a target deviation between a rear road wheel steering angle sensor value and a target rear road wheel steering angle exceeds a predetermined deviation value and whether a generation time duration during which the target deviation exceeds the predetermined deviation value has continued over a predetermined period of time. In addition, the detection of failure in the rear road wheel steering angle sensor is carried out on the basis of whether an accumulated value of a rear road wheel steering angle estimated deviation exceeds a predetermined threshold value a when such conditions as a monotonous variation in a servo current applied to the motor in the four wheel steering system, a monotonous variation in a rear road wheel steering angle estimated deviation, and same directional monotonous variations in the servo current and in the rear road wheel steering angle estimated deviation are satisfied 
         [0012]    Silva, J C et al. “A knowledge based system approach for sensor fault modelling, detection and mitigation.” Expert Systems with Applications, 2012, pp 10977-10989 describes a combination of semantic network, object oriented models and rules to detect common sensor faults (bias, drift, scaling), derived from an Artificial Neural Network (ANN) for fault detection and disambiguation. The ANN is a machine learning technique that learns to accurately detect and disambiguate fault from data. Sensor fault detection is performed with analytical redundancy and fault mitigation is performed by utilizing partial sensor redundancy and sensor correction. 
         [0013]    Xu, X. et al. “Online sensor calibration monitoring and fault detection for chemical processes.” Maintenance and Reliability Conference, 1998 describes an artificial neural network for instrument surveillance and calibration verification system, given in the following figure. The ANN essentially models the system and produces an estimate to be compared with (corrected) measured signal. The difference between the two is fed into a statistical decision module that diagnoses a fault or otherwise based on the profile of the variance and mean of the residual. 
         [0014]    Rajagopal, R. et al. “Distributed online simultaneous fault detection for multiple sensors.” Information Processing in Sensor Networks, 2008 presents a distributed, online, sequential algorithm for detecting multiple faults in a sensor network for a time varying noisy environment. The algorithm works by detecting change points in the correlation statistics of neighbouring sensors, requiring only neighbours to exchange information. The algorithm provides guarantees on detection delay and false alarm probability. The method utilizes hardware redundancy and requires that functioning neighboring sensors to measure correlated variables, that the measurements of a faulty sensor and a neighboring working sensor are not correlated, and that the average time between successive faults to be longer than the time between significant changes in the environment. 
         [0015]    Kulla, J. “Detection, identification and quantification of sensor fault.” Mechanical Systems and Signal Processing, October 2013, vol. 40(1), pp. 208-221 describes a hardware redundancy approach for detecting bias, gain, drift, precision degradation, noise and complete failure by modeling each sensor as a conditional probability density function given the other sensors in the network. Each sensor in the network is modeled using the minimum mean squared error estimation and sensor fault identified using multiple hypothesis test with generalized likelihood ratio. 
         [0016]    Hardware redundancy techniques generally require replication and/or sensor models that remain valid in practice. If the sensor models are not satisfied then the method will fail. Hardware redundancy is also expensive (normally due to the replication). 
         [0017]    Analytical redundancy techniques rely on the estimated value/shape of the measured variable and therefore normally require reasonably accurate system models. Developing such models for very complex systems from the basic physics can involve high computational cost and may not be possible at all for some complex systems that operate in a partially observable, time-varying environment like a marine vessel. Heuristics or rules of thumb of overall system behaviour can be developed into reasonably robust models of how the system should behave but are normally very application specific and require a lengthy period of observation. Also, observation noise and a time varying environment can easily lead to false positives or true negatives in analytical redundancy approaches. Learning the model from data is an attractive option but again requires a large amount of data and will not perform well when the situation at hand deviates significantly from the training data distribution. 
         [0018]    Typically, the prior art requires a good system model and/or sensor model and/or robust rules of thumb and/or extensive high quality operational data to work. 
       BRIEF SUMMARY 
       [0019]    At their broadest, various examples provide methods and systems which automatically detect, classify and/or mitigate sensor errors. 
         [0020]    According to a first aspect there is provided a method for detecting sensor error in a system having a plurality of subsystems and a number of sensors associated with said subsystems, each sensor producing at least one respective sensor output, the method including the steps of: identifying a plurality of principles of the subsystems, which relate the expected sensor outputs of two or more of said sensors to each other; representing said principles by a set of system equations suitable for computation; deducing the degree of reliability of each of said sensor outputs based on whether the or each system equation involving said sensor output is satisfied or not and the known degree of reliability of other sensor outputs in said system equation; and assigning a trustworthiness level to each of said sensor outputs based on said deduction. 
         [0021]    The principles of the subsystems identified may be derived from first principles, i.e. from underlying engineering or physical relationships, but can also include empirical “rules of thumb” which are derived from experience of the operation of the system or subsystem over time. 
         [0022]    The method of this aspect is designed for use in complex systems where partial qualitative or quantitative knowledge is available about the components/subsystems that make up the entire system. However, preferably no comprehensive system model is required. The applicability of the method of this aspect is also not limited to specific systems as it can work on universal physics based rules on any subset of the system, unlike heuristics based analytic redundancy techniques. 
         [0023]    The method of this aspect can remove the need for hardware redundancy, although such redundancy could improve mitigation in the event of complete sensor failure. 
         [0024]    Because it relies on interrelationship and internal consistency between sensor signals, the method of this aspect can remain valid where the operating environment changes or the system drifts. 
         [0025]    Preferably the method of this aspect uses partial qualitative and quantitative knowledge of the system and the sensors. Sensor fault detection can be performed with a custom designed representation scheme which may include causality, correlation, equalities and inequalities between various sensor outputs, and an associated logic. The logic may be a set of algorithmic steps to iteratively assign a trustworthiness level to the sensors. 
         [0026]    The method may therefore be able to automatically detect sensor fault without a comprehensive and accurate system model. It is able to capture and utilize partial and qualitative as well as quantitative knowledge available of the systems/subsystems for sensor fault detection. 
         [0027]    In certain embodiments, the method may include the step of, prior to said deduction, assigning a trustworthiness level to one or more of the sensors based on a priori information about said sensor(s). This can allow sensors which are known to be particularly reliable to be pre-classified as such, or similar incorporation of knowledge about the trustworthiness of a particular sensor prior to carrying out the deduction based on the system equations. 
         [0028]    The step of deducing may order the system equations based on the number of signals involved and the trustworthiness of those signals and work through the equations in said order starting with the equation with the most signals and the highest degree of reliability. This approach allows the reliability or trustworthiness of the signals to be deduced starting from the situations in which the system has the least uncertainty about which sensors are reliable or not. 
         [0029]    In certain embodiments, the step of assigning a trustworthiness level involves the following sub-steps: a) identifying any sensor outputs that can be independently verified and assigning a very high trustworthiness to such outputs; assigning an indeterminate trustworthiness to all other signals; b) sorting the system equations based on the number of sensor outputs involved in each equation; c) counting the number of outputs assigned to each trustworthiness level; d) selecting one of the system equations which involves the lowest number of sensor outputs; e) assigning trustworthiness to the outputs in said equation as follows: i) if the equation is a causation, correlation, or equality, and the equation is satisfied by the sensor outputs involved, assign a very high trustworthiness to all outputs in said equation; ii) if the equation is a causation, correlation, or equality and the equation is not satisfied by the sensor outputs involved, determine whether there is more than one sensor output included in the equation which has not been assigned a very high or a very low trustworthiness level: if there is more than one such output, then assigning a low trustworthiness level to those outputs; and if there is only one such output, then assigning a very low trustworthiness level to that output; iii) if the equation is an inequality and the inequality is satisfied, assigning a high trustworthiness level to any signal in that equation which has not previously been assigned a very high or very low trustworthiness level; iv) if the equation is an inequality and the inequality is not satisfied, assigning a low trustworthiness level to any signal in that equation which has not previously been assigned a very high or a very low trustworthiness level; e) selecting a further one of said system equations which shares the most number of sensor outputs in common with previously processed expressions and repeating sub-step d) above until all expressions have been processed; f) assigning a trustworthiness level to each sensor according to the trustworthiness level assigned to its sensor outputs; g) if relevant, merge any replicated sensor outputs by utilizing only the sensor output with the highest trustworthiness level within those replicated sensor outputs; h) counting the number of outputs assigned to each trustworthiness level and comparing to the outcome of the previous count; if there is a change, repeating from sub-step d) above; if there is no change then completing the assigning of trustworthiness levels. 
         [0030]    The method of the present aspect may include some all or none of the above described preferred and optional features in any combination. 
         [0031]    According to a second aspect there is provided a method of classifying a sensor error, the method including the steps of: determining a sensor as having a sensor error using a method according to the above described first aspect, including some all or none of the optional or preferred features of that aspect; processing the system equations and historic sensor output data from said sensor to determine if the error involves spike error, bias error, drift, multiplicative calibration error or precision degradation error and classifying the error as such; and if the error does not involve any of said errors, classifying the error as unknown. 
         [0032]    Sensor fault classification can be performed by combining mathematical and statistical techniques that can be utilized to expose bias, drift, multiplicative calibration error, precision degradation and spike error. The sensor fault can then be classified where applicable into bias, calibration error (multiplicative), single spikes, drift, and precision degradation. Other errors, e.g. total failure or random failure may be classified as unknown. 
         [0033]    In certain embodiments, in order to detect whether a sensor error involves a spike error, the method involves the sub-steps of: removing from the historic sensor output data the extreme high and extreme low data; re-evaluating system equations which include that sensor output and determining if there is a change in trustworthiness; and if there is a change in trustworthiness, classifying said sensor as having suffered a spike error. 
         [0034]    In certain embodiments the step of processing may include performing stepwise regression on any system equations involving an equality to obtain maximum agreement using the factors x(t), t and 1, being the signal, the time index and the bias respectively to obtain multiplicative factors of each of these factors that maximise agreement with the equalities. For example, the maximum agreement may be obtained by linear regression using these factors. 
         [0035]    After such processing the type of error may then be determined as follows, if: i) the multiplicative factor of x(t) is greater than 1, a multiplicative calibration error is determined; ii) the multiplicative factor of t is greater than 10 −3  a drift error is determined; or iii) the multiplication factor of the bias term is greater than 10 −3  a bias error is determined. 
         [0036]    In certain embodiments, the step of processing involves: filtering the signal with a first order high pass filter; computing the energy of the filtered signal under Fourier transform; and if an increased energy level is computed, a precision degradation error is determined. 
         [0037]    Preferably if an error is classified as unknown, the method includes the further step of alerting an operator of the system. 
         [0038]    The method of the present aspect may include some all or none of the above described preferred and optional features in any combination. 
         [0039]    According to a third aspect there is provided a method for detecting, classifying and mitigating sensor error, the method including the steps of: detecting and classifying a sensor error using a method according to the above described second aspect, including some all or none of the preferred and optional features of that aspect; and mitigating the detected error. 
         [0040]    Preferably the step of mitigating includes, if the detected error is a spike error, removing values in future output data from that sensor and replacing them with averaged values of neighbouring time point. 
         [0041]    Preferably the step of mitigating includes, if the detected error is a bias error, drift or a multiplicative calibration error, algebraically processing future output data from that sensor to remove the error. 
         [0042]    Preferably the step of mitigating includes, if the detected error is a precision degradation error, filtering future output data from that sensor with a filter of order two or more to produce more smoothing effect. 
         [0043]    The method of the present aspect may include some all or none of the above described preferred and optional features in any combination. 
         [0044]    Further aspects may provide: a computer program comprising code which, when run on a computer, causes the computer to perform the method of any of the first, second or third aspects; a computer readable medium storing a computer program comprising code which, when run on a computer, causes the computer to perform the method of any one of the first, second or third aspects; and a computer system programmed to perform the method of any one of the first, second or third aspects. 
         [0045]    According to a fourth aspect there is provided a system for detecting sensor error in a system having a plurality of subsystem and a number of sensors associated with said subsystems, each sensor producing at least one respective sensor output, the system including a processor which is arranged to: identify a plurality of principles of the subsystems, which relate the expected sensor outputs of two or more of said sensors to each other; determine a set of system equations suitable for computation which represent said principles; deduce the degree of reliability of each of said sensor outputs based on whether the or each system equation involving said sensor output is satisfied or not and the known degree of reliability of other sensor outputs in said system equation; and assign a trustworthiness level to each of said sensor outputs based on said deduction. 
         [0046]    The principles of the subsystems identified may be derived from first principles, i.e. from underlying engineering or physical relationships, but can also include empirical “rules of thumb” which are derived from experience of the operation of the system or subsystem over time. 
         [0047]    The system of this aspect is designed for use in complex systems where partial qualitative or quantitative knowledge is available about the components/subsystems that make up the entire system. However, preferably no comprehensive system model is required. The applicability of the system of this aspect is also not limited to specific systems, unlike heuristics based analytic redundancy techniques. 
         [0048]    The system of this aspect can remove the need for hardware redundancy, although such redundancy could improve mitigation in the event of complete sensor failure. 
         [0049]    Because it relies on interrelationship and internal consistency between sensor signals, the system of this aspect can still produce valid results where the operating environment changes or the system drifts. 
         [0050]    Preferably the system of this aspect uses partial qualitative and quantitative knowledge of the system and the sensors. Sensor fault detection can be performed with a custom designed representation scheme which may include causality, correlation, equalities and inequalities between various sensor outputs, and an associated logic. The logic may be a set of algorithmic steps to iteratively assign a trustworthiness level to the sensors. 
         [0051]    The system may therefore be able to automatically detect sensor fault without a comprehensive and accurate system model. It is able to capture and utilize partial and qualitative as well as quantitative knowledge available of the systems/subsystems for sensor fault detection. 
         [0052]    In certain embodiments, the processor may be further arranged to, prior to carrying out said deduction, assign a trustworthiness level to one or more of the sensors based on a priori information about said sensor(s). This can allow sensors which are known to be particularly reliable to be pre-classified as such, or similar incorporation of knowledge about the trustworthiness of a particular sensor prior to carrying out the deduction based on the system equations. 
         [0053]    The processor may be further arranged to order the system equations based on the number of signals involved and the trustworthiness of those signals and work through the equations in said order starting with the equation with the most signals and the highest degree of reliability. This approach allows the reliability or trustworthiness of the signals to be deduced starting from the situations in which the system has the least uncertainty about which sensors are reliable or not. 
         [0054]    In certain embodiments, the processor may be arranged to assign a trustworthiness level by: a) identifying any sensor outputs that can be independently verified and assigning a very high trustworthiness to such outputs; assigning an indeterminate trustworthiness to all other signals; b) sorting the system equations based on the number of sensor outputs involved in each equation; c) counting the number of outputs assigned to each trustworthiness level; d) selecting one of the system equations which involves the lowest number of sensor outputs; e) assigning trustworthiness to the outputs in said equation as follows: i) if the equation is a causation, correlation, or equality, and the equation is satisfied by the sensor outputs involved, assign a very high trustworthiness to all outputs in said equation; ii) if the equation is a causation, correlation, or equality and the equation is not satisfied by the sensor outputs involved, determine whether there is more than one sensor output included in the equation which has not been assigned a very high or a very low trustworthiness level: if there is more than one such output, then assigning a low trustworthiness level to those outputs; and if there is only one such output, then assigning a very low trustworthiness level to that output; iii) if the equation is an inequality and the inequality is satisfied, assigning a high trustworthiness level to any signal in that equation which has not previously been assigned a very high or very low trustworthiness level; iv) if the equation is an inequality and the inequality is not satisfied, assigning a low trustworthiness level to any signal in that equation which has not previously been assigned a very high or a very low trustworthiness level; e) selecting a further one of said system equations which shares the most number of sensor outputs in common with previously processed expressions and repeating sub-step d) above until all expressions have been processed; f) assigning a trustworthiness level to each sensor according to the trustworthiness level assigned to its sensor outputs; g) if relevant, merge any replicated sensor outputs by utilizing only the sensor output with the highest trustworthiness level within those replicated sensor outputs; h) counting the number of outputs assigned to each trustworthiness level and comparing to the outcome of the previous count; if there is a change, repeating from sub-step d) above; if there is no change then completing the assigning of trustworthiness levels. 
         [0055]    The system of the present aspect may include some all or none of the above described preferred and optional features in any combination. 
         [0056]    According to a fifth aspect there is provided a system for detecting and classifying a sensor error, including: a system for detecting sensor error as described in the above fourth aspect, including some, all or none of the optional or preferred features of that aspect; an error classifier which is arranged to process the system equations and historic sensor output data from said sensor to determine if the error involves spike error, bias error, drift, multiplicative calibration error or precision degradation error and classifying the error as such, and, if the error does not involve any of said errors, classifying the error as unknown. 
         [0057]    Sensor fault classification can be performed by combining mathematical and statistical techniques that can be utilized to expose bias, drift, multiplicative calibration error, precision degradation and spike error. The sensor fault can then be classified where applicable into bias, calibration error (multiplicative), single spikes, drift, and precision degradation. Other errors, e.g. total failure or random failure may be classified as unknown. 
         [0058]    In certain embodiments the error classifier is arranged to detect a spike error by: removing from the historic sensor output data the extreme high and extreme low data; re-evaluating system equations which include that sensor output and determining if there is a change in trustworthiness; and if there is a change in trustworthiness, classifying said sensor as having suffered a spike error. 
         [0059]    In certain embodiments the error classifier is arranged to process the system equations and historic sensor output data by performing stepwise regression on any system equations involving an equality to obtain maximum agreement using the factors x(t), t and 1, being the signal, the time index and the bias respectively to obtain multiplicative factors of each of these factors that maximise agreement with the equalities. 
         [0060]    The error classifier may then be arranged to classify errors on the basis of said stepwise regression as follows, if: i) a multiplicative calibration error if the multiplicative factor of x(t) is greater than 1; ii) a drift error if the multiplicative factor of t is greater than 10 −3 ; or iii) a bias error if the multiplicative factor of the bias term is greater than 10 −3 . 
         [0061]    In certain embodiments the error classifier is arranged to: filter the signal with a first order high pass filter; compute the energy of the filtered signal under Fourier transform; and if an increased energy level is computed, determine a precision degradation error. 
         [0062]    The system preferably further includes a visible or audible alarm directed at an operator of the system, wherein the error classifier is further arranged to alert an operator using said alarm if an error is classified as unknown. 
         [0063]    According to a sixth aspect there is provided a system for detecting, classifying and mitigating sensor error, the system including: a system for detecting and classifying a sensor error as described in the above fifth aspect, including some, all or none of the optional and preferred features of that aspect; and a signal correction device arranged to mitigate the detected error. 
         [0064]    Preferably the signal correction device is arranged to, if the detected error is a spike error, remove values in future output data from that sensor and replace them with averaged values of neighbouring time point. 
         [0065]    Preferably the signal correction device is arranged to, if the detected error is a bias error, drift or a multiplicative calibration error, algebraically process future output data from that sensor to remove the error. 
         [0066]    Preferably the signal correction device is arranged to, if the detected error is a precision degradation error, filter future output data from that sensor with a filter of order two or more to produce more smoothing effect. 
         [0067]    Preferably the systems of the above described fourth, fifth and sixth embodiments are arranged to perform the methods of the above described first, second and third aspects respectively, but need not be so configured. 
     
    
     
       BRIEF DESCRIPTION 
         [0068]    Embodiments will now be described by way of example with reference to the accompanying drawings in which: 
           [0069]      FIG. 1  illustrates a schematic of a system according to various embodiments; 
           [0070]      FIG. 2  illustrates the steps in a method of sensor fault detection, classification and mitigation according to various embodiments; and 
           [0071]      FIGS. 3 a -3 d    illustrates a flowchart showing the steps in an inference method used in the sensor fault detection of a method in accordance with various embodiments. 
       
    
    
     DETAILED DESCRIPTION 
       [0072]      FIG. 1  shows a schematic overview of a system  100  for the detection of sensor error and the classification and mitigation of that sensor error according to various embodiments. The system  100  includes a computer  101  which has a memory  104  and a processor  103 . Connected to the processor  103  are a plurality of sensors  102  (for illustration, only four such sensors are shown, but it will be appreciated that there can be any number of such sensors, and in most real systems, the number will be considerably higher). 
         [0073]    The processor carries out a number of tasks which will be described in more detail below with respect to methods of the embodiments. These processes include the determining a set of system equations based on information stored in the memory  104  or input by a user through terminal  105  or other data entry devices. The system equations are based on principles of subsystems of the process, apparatus or system being monitored by the sensors  102  and relate the expected sensor outputs of two or more of said sensors to each other. The processor  103  stores the system equations in the memory  104 . 
         [0074]    Once the system equations have been determined, the processor  103  receives data from the sensors  102  regarding the ongoing state of the system being monitored. The stored system equations are used by a sensor fault detection module  110  running on the processor  103 . Detected errors can be classified in a sensor fault classification module  120  and mitigated by a sensor fault mitigation module  130 , also running on the processor  103 . These modules carry out the methods described below. 
         [0075]      FIG. 2  shows the steps in a method of sensor fault detection, classification and mitigation according to various embodiments, which may be carried out by the processor of the system  100  described above. The method provides for sensor fault detection  10 , sensor fault classification  20  and sensor fault mitigation  30 . 
         [0076]    The method is arranged to:
       a) Detect faulty sensor(s) in a network of sensors   b) Classify the sensor fault where applicable into: bias, calibration error (multiplicative), single spikes, drift, and precision degradation. Other errors, e.g. total failure or random failure are grouped under “others”.   c) Mitigate fault types specified in (b), except for “others”.       
 
         [0080]    Each of these steps will be described in more detail below, based, where appropriate, on examples from marine vessel operation. However, the skilled person will appreciate that the applicability of the method is not limited to marine vessel operation and can be applied in any field which uses sensor fault detection, including all of the fields identified in the referenced prior art documents above. 
       Sensor Fault Detection 
       [0081]    The sensor fault detection method  10  receives a plurality of sensor signals  1 . 
         [0082]    The sensor fault detection method  10  utilizes partial, qualitative/quantitative knowledge about components or subsystems to reason whether the sensor is faulty. Examples of subsystems in marine vessel operation are: the power distribution and generation subsystem, propulsion subsystem, vessel hull, etc. Here the power distribution and generation subsystem is used as an example. 
         [0083]    According to one embodiment, the sensor fault detection method  10  consists of a computational framework to represent and evaluate qualitative and quantitative subsystem behavior and an inference method to perform reasoning on sensor function 
         [0084]    The representation framework consists of four types of relations  2  which are set up in advance: causation (qualitative), correlation (qualitative), equality (quantitative) and inequality (quantitative). 
         [0085]    For example, in a diesel electric power generator, the fuel injection rate and amount of power generated are linked by a causation that must be true at all times. The power generated and heat generated form a correlation (as losses are nonlinear) that must be true at all times. Power balance at various points in the power system is an example of equations that must be true at all times. Operating limits inherent in controllers of the subsystem, e.g. the diesel engine, are examples of inequality that must be true at all times. The operators can be combinatorial, i.e. an equation could be the cause of an inequality, etc. 
         [0086]    The causations, correlations, equations and inequalities are evaluated with: time delayed correlation coefficient, correlation coefficient, and equality as well as inequality computation respectively. This evaluation is performed continuously in time. 
         [0087]    The inference method identifies the likelihood of sensor fault, based on the evaluated behaviors in which its measurement is involved by applying the following algorithmic process which is also illustrated in the flowchart of  FIGS. 3 a   - 3   d:  
       i. Identify the signals, if any, that have been independently verified to be trustworthy. Assign the trustworthiness level of “5” (Very High) to such signals. Assign the trustworthiness level of “3” (Indeterminate) to other signals (S 100 ).   ii. Sort evaluated expressions (i.e. causation, correlation, equation or inequality) based on the number of measured signals involved in the expression (S 101 ).   iii. Manage a count of signals assigned to each trustworthiness level “1”, “2”, “3”, “4”, “5” (S 102 ).   iv. Start with an expression involving the least number of signals (S 103 ). Assign levels of signal quality or trustworthiness as follows:
           a. If a causation, correlation, or equality expression is satisfied (S 104 , S 108 ), all signals involved can be considered trustworthy and marked to have a trustworthiness level of “5” (S 109 ). The assignment of trustworthiness level “5” is valid for the signal in all expressions that involve this signal.   b. If a causation, correlation, or equality expression is not satisfied and there is more than one signal that has not been assigned the values “1” (Very Low) or “5” on trustworthiness scale (S 110 ), these signals are marked with “2” (Low) (S 111 ). If there is only one such signal, it is marked “1” (S 112 ). Assignment of “1” (Very Low) to any signal is valid for the signal in all expressions that involve this signal.   c. If an inequality expression is satisfied (S 105 ), any signal involved in it that has not been marked as “ 5 ” or “ 1 ” through processing of other expressions should be assigned as “ 4 ” (High) (S 107 ).   d. If an inequality expression is not satisfied, any signal involved in the expression that has not been marked as “5” or “1” through processing of other expressions are assigned the level “2” (S 106 ).   
           v. Proceed to the next expression that share the most number of signals in common with processed expressions and repeat step (iv) until all expressions have been processed (S 113 , S 114 ).   vi. Mark sensors with associated signals&#39; trustworthiness level (S 115 ).   vii. Merge any group of replicated signals (hardware redundancy, where it is applicable) to prune the list of signals into a minimum necessary. Within each tuple, extract the duplicate with the strongest trustworthiness level and utilize this in the next round (S 116 ).   viii. Count the number of signals assigned “1”, “2”, “3”, “4”, and “5” (S 117 ). If there is no change from the count obtained in previous round, stop otherwise go to step (iv) (S 118 ).       
 
         [0100]    On this scale the trustworthiness levels have the following implicit meanings: 5 is definitely correct; 4 is probably correct; 3 is probably not incorrect; but 2 and 1 are definitely bad for any computational methods that follow. If the signals assigned trustworthiness value 4 do not belong to any known error (which are more common, unknown errors are unanticipated and are presumed to be rare), it probably does not have any error, just normal fluctuations. Likewise with signal having value 3. At trustworthiness levels of 2 and 1 the sensor signal has strongly contradicted some equation in the fault detection (i.e. for this signal to be trustworthy, some other signal in the relationship that is known or has been logically deduced to be trustworthy has to, in fact, be untrustworthy), therefore even if it does not fall under known faults, it is a fault that should be checked with a view to correcting or replacing the sensor. 
       Sensor Fault Classification 
       [0101]    The next step of the embodiment is a method  20  designed to classify sensor faults into bias, drift, multiplicative calibration error, spike error and precision degradation. 
         [0102]    Generally speaking, bias implies a constant offset to the sensor value. Drift is a time dependent bias. Multiplicative calibration error implies that the sensor reading should be divided by an unknown factor to obtain the true signal level. Precision degradation implies that the noise level in the sensor has increased. Spike error represents a sudden transition to an extremely large positive or negative value. 
         [0103]    The method to classify sensor faults involves collection of the set of sensors assigned trustworthiness levels of less than “5” and feed these to each of the following modules:
       i. Spike error detector module  21 . This module is arranged to prune the 1% largest and smallest value of data and reevaluate expressions in which the sensor&#39;s measured signal is involved. Any sensor that changes in trustworthiness level is logged as having suffered from spike error.   ii. Bias, drift and multiplicative calibration error detector module  22 . This module is arranged to perform stepwise regression on equality expressions to obtain maximum agreement with the factors: x(t)˜the signal, t˜time index and 1˜bias, to obtain multiplicative factors to x(t), t, that maximizes agreement. For example, linear regression could be carried out on x(t), t and 1 to maximize the fit with the measured data (e.g. find a, b and c such that a.x(t)+b.t+c fits well with the measured data). A multiplicative factor of greater than 1 for x(t) indicates multiplicative calibration error. A multiplicative factor of greater than a very small value close to zero (1E-3) on the bias term (the constant) indicates bias error, and if on the time index indicates sensor drift.   iii. Precision degradation detector module  23 . This module is arranged to filter the signal with a first order high pass filter and compute the energy of filtered signal under Fourier transform. An increasing energy level compared to the unfiltered signal indicates noise level has increased and the sensor suffers from precision degradation error.       
 
         [0107]    Faulty sensors (assigned levels of “1” and “2” on trustworthiness scale) that are not identified as having one of the above errors are classified as having an unknown error and an alert  24  is raised to the operator to check or replace this sensor. 
       Sensor Fault Mitigation 
       [0108]    The next step of the embodiment is a method  30  designed to mitigate sensor error. For each of the errors identified (with the exception of unknown errors), the following corrective measures are applied: 
         [0109]    Spike error: remove absolute values that go to a very high level with averaged values of neighboring time points. 
         [0110]    Bias, drift and multiplicative calibration error: perform algebraic operation to remove bias, drift and multiplicative error. A bias could be removed by addition (or subtraction) of the computed bias, a drift is a time dependent bias (time multiplied by bias—so it is known to be non-decreasing with time) is removed likewise with addition/subtraction, and a multiplicative calibration is removed with a division by the factor identified. 
         [0111]    Precision degradation: filter signal with increased filter order i.e. do not use the signal from the sensor but use the low pass filtered signal. 
         [0112]    Further embodiments provide for the design of sensor combinations within a system to be monitored (i.e. combining sensors of various price vs accuracy/robustness tradeoffs) based on the accompanying logic to detect sensor malfunction and poor data, such that any malfunction can be identified by applying the logic. The design process can be run to minimize the total price of sensors while ensuring any sensor malfunction can be provably detected. The latter capability may be critical as part of mission critical autonomous/remote controlled vehicles, where decisions are made based on sensor readings alone. Any “strange” levels in the signal could be caused by either the system misbehaving or the sensor being faulty. Such a sensor combination and logic will be able to separate the two causes when a strange reading is observed. 
         [0113]    While the systems and methods has been described in conjunction with the exemplary embodiments described above, many equivalent modifications and variations will be apparent to those skilled in the art when given this disclosure. Accordingly, the exemplary embodiments set forth above are considered to be illustrative and not limiting. Various changes to the described embodiments may be made without departing from the spirit and scope of the disclosure. 
         [0114]    Also, it is noted that embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed, but could have additional steps not included in the figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function. 
         [0115]    As disclosed herein, the term “computer readable medium” may represent one or more devices for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other machine readable mediums for storing information. The term “computer-readable medium” includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels and various other mediums capable of storing, containing or carrying instruction(s) and/or data. 
         [0116]    Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium such as storage medium. A processor(s) may perform the necessary tasks. A code segment may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc. 
         [0117]    All references referred to above are hereby incorporated by reference.