CA2257881C - Industrial process surveillance system - Google Patents
Industrial process surveillance system Download PDFInfo
- Publication number
- CA2257881C CA2257881C CA002257881A CA2257881A CA2257881C CA 2257881 C CA2257881 C CA 2257881C CA 002257881 A CA002257881 A CA 002257881A CA 2257881 A CA2257881 A CA 2257881A CA 2257881 C CA2257881 C CA 2257881C
- Authority
- CA
- Canada
- Prior art keywords
- data
- industrial
- industrial process
- values
- identify
- 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0243—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model
- G05B23/0254—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model based on a quantitative model, e.g. mathematical relationships between inputs and outputs; functions: observer, Kalman filter, residual calculation, Neural Networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0259—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
- G05B23/0262—Confirmation of fault detection, e.g. extra checks to confirm that a failure has indeed occurred
Abstract
A system (10) and method for monitoring an industrial process and/or industrial data source (10). The system (10) includes a time correlation module (20), a training module (30), a system state estimation module (40) and a pattern recognition module (50).
The system (10) generating time varying data sources, processing the data to obtain time correlation of the data (20), determining the range of data, determining learned states of normal operation (30) and using these states to generate expected values to identify a current state of the process closest to a learned, normal state (40); generating a set of modeled data, and processing the modeled data to identify a data pattern and generating an alarm (50) upon detecting a deviation from normalcy.
The system (10) generating time varying data sources, processing the data to obtain time correlation of the data (20), determining the range of data, determining learned states of normal operation (30) and using these states to generate expected values to identify a current state of the process closest to a learned, normal state (40); generating a set of modeled data, and processing the modeled data to identify a data pattern and generating an alarm (50) upon detecting a deviation from normalcy.
Description
Industrial Process Surveillance System Field of the Invention The present invention is related generally to a method and system for c;~rrying out surveillance of industrial processes using sensor or data source outputs. More particularly, the invention is concerned with a method and system for processing sensor data and using virtual data as an improved methodology over basic statistical approaches to industrial process surveillance. Further, the invention involves use of a plurality of techniques coupled for enhanced analysis of industrial process data.
Background of the Invention Conventional parameter-surveillance schemes are sensitive only to gross changes in the mean value of a process or to large steps or spikes that exceed some threshold limit check. These conventional methods suffer from either large numbers of false alarms (if thresholds are set too close to normal operating levels) or a large number of missed (or delayed) alarms (if the thresholds are set too expansively). Moreover, most conventional methods cannot perceive the onset of a process disturbance, sensor deviation or data anomaly which gives rise to a signal below the threshold level for an alarm condition.
Most methods also do not account for the relationship between a measurement by one sensor relative to another sensor measurement.
In another monitoring method, a conventional sequential probabilit;~ ratio test ("SPRT") technique has found wide application as a signal validation tool in the nuclear reactor industry. The SPRT method is a pattern recognition technique which processes the stochastic components associated with physical process variables and has high sensitivity for the onset of subtle disturbances in those variables. Two features of the conventional SPRT
technique make it attractive for parameter surveillance and fault detection:
(1) early annunciation of the onset of a disturbance in noisy process variables and (2) the SPRT
technique has user-specificable false alarm and missed-alarm probabilities.
SPRT techniques are primarily directed to the analysis of data from paired or multiple pairs of sensors in contrast to a large number of different process sensor data points. SPRT is also typically dependent on assumptions of the data being independent of ather data so~x~ces and being Gaussian distributed data. The SPRT technique used alone therefore has certain shortcomings in identifying anomalies in processes.
Other types of statistical techniques also have been developed for industrial process monitoring and analysis but have other insensitivities for certain classes of sensor data.
Summary of the Invention Theretofore the invention seeks to provide an improved method and aystem for surveillance of industrial processes and apparati.
Further the invention seeks to provide a novel method and system for on-line surveillance of industrial processes and apparati with multiple sensors.
Still further the invention seeks to provide an improved method and system for evaluation of process data, on-line or off line, from sensors or data accumulation sources.
Further still the invention seeks to provide a novel method and system for performing preliminary analysis of data for alarm conditions prior to data input to an SPRT
system.
Further the invention seeks to provide an improved method and system for masking selected sensor data and substituting virtual data to perform tests to determine whether abnormal process conditions or abnormal sensor conditions exist and whether or not to halt or modify the process under scrutiny.
Still further the invention seeks to provide a novel method and system using training data characteristic of normal system and/or sensor and/or data source operation to compare with ongoing industrial processes and/or data accumulation.
Additionally the invention seeks to provide an improved method and system for processing data from a process to determine training data for normal operation, storing such training data on a computer storage media and analyzing real process data relative to the normal training data using a plurality of mathematical methodologies stored on a ROM or PROM storage medium.
Moreover the invention seeks to provide a novel method and system utilizing a virtual signal characteristic of normal state op.:~ation deriv;,ci un the basis of correlation with a plurality of other process data values to compare with a real process data signal set for deriving the likelihood of an abnormal process or operation of data sources.
Background of the Invention Conventional parameter-surveillance schemes are sensitive only to gross changes in the mean value of a process or to large steps or spikes that exceed some threshold limit check. These conventional methods suffer from either large numbers of false alarms (if thresholds are set too close to normal operating levels) or a large number of missed (or delayed) alarms (if the thresholds are set too expansively). Moreover, most conventional methods cannot perceive the onset of a process disturbance, sensor deviation or data anomaly which gives rise to a signal below the threshold level for an alarm condition.
Most methods also do not account for the relationship between a measurement by one sensor relative to another sensor measurement.
In another monitoring method, a conventional sequential probabilit;~ ratio test ("SPRT") technique has found wide application as a signal validation tool in the nuclear reactor industry. The SPRT method is a pattern recognition technique which processes the stochastic components associated with physical process variables and has high sensitivity for the onset of subtle disturbances in those variables. Two features of the conventional SPRT
technique make it attractive for parameter surveillance and fault detection:
(1) early annunciation of the onset of a disturbance in noisy process variables and (2) the SPRT
technique has user-specificable false alarm and missed-alarm probabilities.
SPRT techniques are primarily directed to the analysis of data from paired or multiple pairs of sensors in contrast to a large number of different process sensor data points. SPRT is also typically dependent on assumptions of the data being independent of ather data so~x~ces and being Gaussian distributed data. The SPRT technique used alone therefore has certain shortcomings in identifying anomalies in processes.
Other types of statistical techniques also have been developed for industrial process monitoring and analysis but have other insensitivities for certain classes of sensor data.
Summary of the Invention Theretofore the invention seeks to provide an improved method and aystem for surveillance of industrial processes and apparati.
Further the invention seeks to provide a novel method and system for on-line surveillance of industrial processes and apparati with multiple sensors.
Still further the invention seeks to provide an improved method and system for evaluation of process data, on-line or off line, from sensors or data accumulation sources.
Further still the invention seeks to provide a novel method and system for performing preliminary analysis of data for alarm conditions prior to data input to an SPRT
system.
Further the invention seeks to provide an improved method and system for masking selected sensor data and substituting virtual data to perform tests to determine whether abnormal process conditions or abnormal sensor conditions exist and whether or not to halt or modify the process under scrutiny.
Still further the invention seeks to provide a novel method and system using training data characteristic of normal system and/or sensor and/or data source operation to compare with ongoing industrial processes and/or data accumulation.
Additionally the invention seeks to provide an improved method and system for processing data from a process to determine training data for normal operation, storing such training data on a computer storage media and analyzing real process data relative to the normal training data using a plurality of mathematical methodologies stored on a ROM or PROM storage medium.
Moreover the invention seeks to provide a novel method and system utilizing a virtual signal characteristic of normal state op.:~ation deriv;,ci un the basis of correlation with a plurality of other process data values to compare with a real process data signal set for deriving the likelihood of an abnormal process or operation of data sources.
Further still the invention seeks to provide a novel method and apparatus to accumulate training data to recognize any one of a plurality of specific states of operation and thereby identify a particular type of fault or condition present in a process or other system.
Still further the invention seeks to provide a novel method and apparatus for monitoring a process using training data to identify slowly changing operational sensor data characteristic of normal process changes.
Further still the invention seeks to provide an improved method and system for determining whether a system or data source abnormality can be ignored without undesirable effects.
In one broad aspect the invention provides a method for monitoring at least one of an industrial process and industrial sensors, comprising the steps of generating time varying data from a plurality of industrial sensors, processing the time varying data to effectuate optimum time correlation of the data accumulated from the plurality of industrial sensors, searching the time correlated data to identify maximum and minimum values for the data, thereby determining a full range of values for the data from the industrial process, determining learned states of a normal operational condition of the industrial process and using the learned states to generate expected values of the operating industrial process, comparing the expected values to current actual values of the industrial process to identify a current state of the industrial process closest to one of the learned states and generating a set of modeled data, and processing the modeled data to identify a pattern for the data and upon detecting a deviation from a pattern characteristic of normal operation, an alarm is generated.
Another aspect of the invention provides a method for monitoring at least one of an industrial process and an industrial data source, comprising the steps of generating time varying data from a plurality of industrial data sources, determining learned states of a normal operational condition of the industrial process to use the learned states to generate expected values of the operating industrial process, comparing the expected values to current values of the industrial process to identify a current state of the industrial process closest to one of the learned states and generating a set of modeled data, processing the modeled data to identify a pattern for the data and upon detecting a deviation from a pattern characteristic of normal operation, an alarm is generated.
Still further the invention comprehends a method for monitoring at least one of an industrial process and an individual data source, comprising the steps of sensing time varying data from at least one industrial data source of an industrial process, determining learned states of a desired operational condition of the industrial process to use the learned states to generate expected values of the industrial process, comparing the expected values to current sensed values of the industrial process to identify a current state of the industrial process closest to one of the learned states and generating data characteristics of the current state, and processing the data that is characteristic of the current state to identify a pattern for the data and upon detecting a deviation from a pattern characteristic of the desired operational condition, a signal is generated indicating at least one of the industrial process and the industrial data source is not of the desired operational condition.
Further still the invention provides a method for monitoring at least one of an industrial process and an industrial sensor, comprising the steps of sensing time varying data from at least one industrial data source of an industrial process, searching signals from the at least one industrial data source to identify maximum and minimum values for the time varying data, determining learned states of a desired operational condition of the industrial process to use the learned states to generate expected values of the industrial process, and processing the expected values by identifying a pattern for the time varying data and upon detecting a deviation from the desired operational condition, a signal is generated indicating at least one of the industrial process and the industrial data source is not of the desired operational condition.
Other advantages and features of the invention, together with the organization and manner of operation thereof, will become apparent from the following detailed description when taken in conjunction with the accompanying drawings described below.
Brief Descn~tion of the Drawing FIGURE 1 illustrates a schematic functional flow diagram of a preferred embodiment of the invention;
FIGURE 2 illustrates a functional flow diagram of a time lead-lag correlation methodology;
FIGURE 3 illustrates a functional flow diagram of a method of determining a full range of data by searching normal state training data;
FIGURE 4 illustrates a functional flow diagram of a method for modelling behaviour of commercial system operating states;
FIGURE 5 illustrates a functional flow diagram of a method for performing pattern recognition;
FIGURE 6A illustrates sensor signals having a four second delay before applying a lead-lag method, and FIG. 6B illustrates the sensor signals after applying the lead-lag method;
FIGURE 7A illustrates sensor signal data from pump 1 power with an SMSET
estimate superimposed thereon; FIG. 7B illustrates the SMSET estimation error WO 97/49011 ' PCT/US97/10430 between the SMSET estimate and the sensor signal data; and FIG. 7C illustrates a histogram of the error;
FIGURE 8A illustrates sensor signal data from pump 2 power with an SMSET
estimate superimposed thereon; FIG. 8B illustrates the SMSET estimation error between the SMSET estimate and the sensor signal data; and FIG. 8C illustrates a histogram of the error;
FIGURE 9A illustrates sensor signal data from pump 1 speed with an SMSET
estimate superimposed thereon; FIG. 9B illustrates the SMSET estimation error between the SMSET estimate and the sensor signal data; and FIG. 9C illustrates a histogram of the error;
FIGURE 10A illustrates sensor signal data from pump 2 speed with an SMSET estimate superimposed thereon; FIG. lOB illustrates the SMSET estimation error between the SMSET estimate and the sensor signal data; and FIG. IOC
illustrates a histogram of the error;
FIGURE 11A illustrates sensor signal data for reactor outlet flow rate; FIG.
11B illustrates the SMSET estimation error between the SMSET estimate and the sensor signal data; and FIG. 11 C illustrates a histogram of the eiTOr;
FIGURE 12A illustrates sensor signal data for primary pump 2 flow rate;
FIG. 12B illustrates the SMSET estimation error between the SMSET estimate and the sensor signal data; and FIG. I2C illustrates a histogram of the error;
FIGURE 13A illustrates sensor signal data for subassembly outlet temperature 1A1; FIG. 13B illustrates the SMSET estimation error between the SMSET
estimate and the sensor signal data; and FIG. 13C illustrates a histogram of the error;
FIGURE 14A illustrates sensor signal data for subassembly outlet temperature 2B1; FIG. 14B illustrates the SMSET estimation error between the SMSET
estimate and the sensor signal data; and FIG. 14C illustrates a histogram of the error;
FIGURE 15A illustrates sensor signal data for subassembly outlet temperature 4E1; FIG. 15B illustrates the SMSET estimation error between the SMSET
estimate and the sensor signal data; and FIG. 15C illustrates a histogram of the error;
FIGURE 16A illustrates sensor signal data for subassembly outlet temperature 4F1; FIG. 16B illustrates the SMSET estimation error between the SMSET
estimate and the sensor signal data; and FIG. 16C illustrates a histogram of the error;
SUBSTITUTE SHEET (RULE 26) WO 97/49011 ' PCTIUS97/10430 FIGURE i7A illustrates sensor signal data for reactor outlet temperature 1534CF; FIG. 17B illustrates the SMSET estimation error between the SMSET
_ estimate and the sensor signal data; and FIG. 17C illustrates a histogram of the error;
FIGURE 18A illustrates sensor signal data for primary tank sodium level 530 Float; FIG. 18B illustrates the SMSET estimation error between the SMSET
estimate and the sensor signal data; and FIG. 18C illustrates a histogram of the error;
FIGURE 19A illustrates sensor signal data for primary tank sodium level 531 induction; FIG. 19B illustrates the SMSET estimation error between the SMSET
estimate and the sensor signal data; and FIG. 19C illustrates a histogram of the error;
FIGURE 20A illustrates standard deviation of SMSET errors for each of the data in FIG. 7-19; and FIG. 20B illustrates the mean value of SMSET errors for each of the data in FIG. 7-19;
FIGURE 21 shows subassembly outlet temperature ("SOT") and SMSET
estimates and in particular FIG. 21A illustrates time dependent normal SOT for in the EBR-II nuclear reactor; FIG. 21B illustrates normal SOT for 3C1; FIG.
illustrates normal SOT for SC2 and FIG. 21D illustrates normal SOT for 7A3;
FIGURE 22A-D illustrates SMSET estimation error for each of the data of FIGS. 21A-D, respectively;
FIGURE 23A-D illustrates SPRT results for each of the data of FIGS. Z1A-D, respectively;
FIGURE 24A corresponds exactly to FIG. 21A; FIG. 24B includes a linear drift component compared to FIG. 21B; and FIGS. 24C and 24D correspond exactly to FIG. 21C and 21D, respectively;
FIGURE 25A corresponds exactly to FIG. 22A; FIG. 25B includes the effect on SMET estimation error of the linear drift of FIG. 24B; and FIGS. 24C and correspond exactly to FIGS. 22C and 22D, respectively;
FIGURE 26A corresponds exactly to FIG. 23A; FIG. 26B illustrates the SPRT results for the linear drift error of FIG. 24B; and FIGS. 26C and D
corresponds exactly to FIG. 23C and D, respectively;
FIGURES 27A and 28B corresponds exactly to FIGS. 21A and 21B, respectively; FIG. 27C includes a temporary amplitude pulse of 0.25 % of the signal magnitude; and FIG. 27D corresponds exactly to FIG. 21D;
SUBSTtTUTE SHEET (RULE 2B) WO 97/49011 ' PCT/LTS97/10430 FIGURES 28A and 28B corresponds exactly to FIGS. 22A and 22B; FIG.
28C illustrates SMSET estimation error for the amplitude pulse effect of FIG.
and FIG. 27D corresponds exactly to FIG. 22D;
FIGURES 29A and 29B corresponds exactly to FIGS. 23A and 23B; FIG.
29C illustrates SPRT results of the amplitude pulse in FIG. 27C; and FIG. 29D
corresponds exactly to FIG. 23D;
FIGURE 30A illustrates EBRII subassembly temperature data 3F 1 but includes a uniform gain change compared to FIG. 21A and FIGS. 30B-D correspond exactly to FIGS. 21B-D;
FIGURE 31A illustrates the SMSET estimation error for the gain change of FIG. 30A; and FIGS. 31B-D correspond exactly to FIGS. 22B-D, respectively; and FIGURE 32A illustrates the SPRT results for the gain change of FIG. 30A
and SMSET analysis of FIG. 31A; and FIGS. 32B-D correspond exactly to FIGS.
23B-D, respectively.
Detailed Description of Preferred Embodiments The system i0 herein includes a methodology (see FIG. 1) and apparatus for surveillance of sensor or data accumulation configurations in industrial, utility, business, medical, investment and transportation applications. The system IO
is useful for sensitive identification of the onset of sensor or data source degradation, process or system anomalies, or the onset of change to a different operational state.
The most preferred form of the system 10 comprises a synergistic integration of four techniques to provide enhanced surveillance capabilities compared to conventional approaches (including neural networks), and also provide enhanced reliability and improved computational efficiency. The four elements that make up the most preferred surveillance form of the system 10 are embodied in four different methodologies generally characterized as a time correlation module 20, a training module 30, a system state estimation module 40 and a pattern recognition module 50.
Many attempts to apply conventional neural networks to nuclear, petrochemical or any industrial process surveillance applications have met with poor results in part because they fail to take into account lead-lag relationships (lack of proper time correlation of the data sets) between the various sensors or data sources.
SUBSTITUTE SHEET (RULE 26) WO 97/49011 ° PCT/ITS97/10430 In one example, a pipe is instrumented with a sequence of N thermocouples ("TCs" ) which measure the instantaneous temperature of the fluid passing through the pipe;
and the signals from these TCs are displaced in time along the fluid stream flow path.
If the sampling interval for the sensors is smaller than the transit time for fluid passing through the pipe, any attempt to monitor these signals with a neural net will produce very high uncertainties in the estimated signals for the TCs. For example, if it takes ten seconds for the fluid to pass through the pipe, and the sampling interval is one second, then at any given instant in time, TC(N), at the outlet end of the pipe, is seeing fluctuations that passed TC(1) ten seconds ago. These TCs may still contain a small degree of correlation due to gross changes in fluid temperature from a heat source or sink that is upstream of the pipe; however, the more valuable intersensor correlation that arises from local temperature perturbations carried along the pipe will be lost. This same phenomenon degrades the performance of neural networks and other pattern-recognition paradigms applied to any processes wherein the physical sensors or data sources are displaced in time across the process they are monitoring.
Other examples of time delays in correlated systems include: systems with slow data flow rates and/or large physical distances (oil refineries, power plants, HVAC
systems, and financial systems), delays due to analog or digital electronics (noise filters and large capacitors) or transmission delays (satellite communications, or transmitting data over different BUS systems.
In a preferred form of the time correlation model 20, a L,eadlag component of the invention (see FIG. 6) performs dynamic, real-time intersensor lead-lag adjustments. The Leadlag module 20 performs adjustments so that the output signals, which are then input subsequently into the SMSET routine (the system state estimation module 40), are optimally correlated and impart the maximum information content to the pattern recognition module 50. The Leadlag module 20 is attached hereto as a computer software Appendix A. The Leadlag module 20 accomplishes the adjustment function by performing, for each pair of signals, an iterative regression procedure that generates a vector of correlation coefficients with respect to lag time.
This vector of correlation coefficients is a unimodal concave function of lag time.
Thus, the optimal lag time between the pair of signals is identified simply by SUBSTITUTE SHEET (RULE 26) WO 97/49011 . PCTIUS97/10430 searching for the zero-crossing of the first derivative of the vector with respect to the lag time.
In other forms of the invention it may be unnecessary to utilize the Leadlag module 20, as noted in FIG. 1 wherein the option exists to skip use of the module 20.
This could occur for systems in which there is adequate time correlation or if time shifting is not needed to achieve correlation. If the Leadlag module 20 is not utilized or the data has already been processed by the Leadlag module 20, the data is preferably input to a training module 30.
In a preferred embodiment this training module is a MiniMax module 30 which searches through all the observations for all signals or data during a training time period to construct training vectors that include the highest point and lowest point for each signal or data space under surveillance. A computer software Appendix B sets forth the MiniMax module 30. The MiniMax module 30 produces an "optimal" training set. It is optimal in the sense that it contains only, at most, 2N
vectors, where N is the number of signals or data points in the system; and these vectors span the full range that all sensors or data sources have noted during the available training period. Wherever two or more sensors or data sources simultaneously attain maxima or minima, the resulting number of training vectors will be less than 2N.
In another form of the invention both the Leadlag module 20 and the MiniMax module 30 can be skipped, and the data can be input directly to the system state module 40.
Once the MiniMax module 30 has constructed a system model (or been skipped as noted above), the system state estimation module 40 (such as the preferred Subsystem Multivariate State Estimation Technique ("SMSET") module) models the behavior of a system through examples of the operating states of the commercial system being modeled. A computer sofflvare Appendix C sets forth the SMSET
module 40. In general, the system state estimation module 40 can be any one of a variety of modeling methodologies, such as auto regressive moving average, a neural network, or a Kalman filtering technique or an empirical methodology.
The SMSET module 40 utilizes its memory of the learned states of the commercial system in conjunction with a single new observation to provide an SUBSTITUTE SHEET (RULE 26) .....T__._._._.r.
WO 97/49011 . PCT/US97110430 estimate of the current "true" system state. States of the system are represented by vectors whose elements are comprised of direct values of system parameters (measured signals) as well as any transformation of these system parameters that produce scalar values, ~ calculated parameters based upon measured data. The SMSET module 40 does not require the state vector elements to be linearly independent as do most other types of estimation techniques. The learning process, which results in a "learned-state" matrix, is performed according to the MiniMax module 30 and the Leadlag module 20 described hereinbefore.
The basic methodology of the SMSET module 40 involves the input of a new observation of the behavior of a system that is compared with the "memory" of previous system behavior embodied in the learned-state matrix. A series of mathematical operations are performed that generates an estimate of the states in the system's memory that is "closest" to the new observation. The definition of "closest"
that is used by the SMSET module 40 is the state that is lying closest to the new observation from the point of view of a set of rules that determine the association of two vectors. From this closest state, an estimate of the "true" state of the system is performed for each and every element of the state vector. Thus, given a set of current observed parameters of a system, the SMSET module 40 provides an estimate of the current true state of the system. The value of this method is that an estimate of all of the values of the system parameters in the state vector can be provided even if the current observation vector is incomplete (e g,._ some sensors or data sources may have failed or are no longer available), contains erroneous or faulty elements (some sensors may have drifted, become uncalibrated, become contaminated with high noise levels, etc.), or even if the new system state does not coincide with previous operating states. However, the new system state must, in a general sense, be bounded by the domain of the states used to develop the system memory (learned-state matrix) .
This estimation of the true current state of the commercial system, including estimated values of all system parameters, is used in conjunction with the actual measured system parameters to ascertain the operability of sensors (or other data sources) and disturbances in the system state. This state estimation process can further be described as an inference engine that accepts as input a set of learned states SUBSTITUTE SHEET (RULE 26) WO 97/49011 ~ PCT/US97/10430 and a new observation of the commercial system. After a series of operations are performed by the inference engine on this input, the result is an estimate of the learned state "closest" to the new observation. The definition of "closest"
used here is the state lying closest to the new observation from the point of view of a set of rules that determine the association (overlap) of any two vectors. Another result is the estimation of the "true" value of each and every element in the new observation vector in the form of an estimated state vector. The series of operations performed in the inference engine consist of various matrix operations. First, all pairs of learned states are preferably associated two at a time using a rule set to create the elements of a recognition matrix. Next, the new observation is associated with each learned state using the rule set to produce a vector that has the same number of elements as the number of learned states. The largest element value in this vector identifies the "closest" learned state to the new observation. Finally, the normal matrix product of this vector with the recognition matrix produces a set of linear combination coefficients for combining the learned states into the estimated state vector.
This methodology, when applied to any true state of a commercial system that is a combination of the learned states, yields a very close approximation to the true state.
The actual closeness achieved depends most upon noniinearities arising from the rule set and physical and/or random fluctuations in the variables and is demonstrated by direct testing. General experience with use of this method for real operating commercial systems has indicated predictive capabilities typically no worse than +I-0.5 % ad normally +/-0.1 %.
Once the SMSET module 40 has modeled the data as described hereinbefore, the data is input to a pattern recognition module 50, such as the Sequential Probability Ratio Test ("SPRT") module. The computer software for the SPRT
module 50 is in Appendix D. This SPRT module 50 is a sensitive pattern recognition method that can detect the onset of subtle degradation in noisy signals with high reliability, and with quantitative false-alarm and missed-alarm probabilities.
Output from the SMSET module 40 is provided as a set of estimated signals (also called "virtual signals") for each sensor under surveillance. These virtual signals are fed into a network of interacting SPRT modules 50 together with the actual sensor readings.
Each of the SPRT modules 50 receives one sensor-signal, virtual-signal pair.
If any SUBSTITUTE SHEET (RULE 26) t........_.~_.... ..___e._..-.-.._.._ sensor degradation or process disturbance starts to affect the output of one or more signals under surveillance, the SPRT modules) 50 provide an annunciation to the operator and an actuator signal to the control system, which can selectively as needed automatically swap in the virtual signal to replace the degrading sensor signal, or data source.
Further details of the SPRT module 50 are described in U.S. patent 5,459,675, which may be referred to for further details.
The above-described combination of methodologies enables identification of a faulted process, a particular type of fault, a faulted sensor or data source or faulty data itself and enables actions to be taken to correct or modify the process being monitored.
In some cases when a failed sensor, or improper data stream source, is not important to the continued operation of a commercial system, the user can continue; operating the commercial system or process if the sensor or data source were operating normally. For example, the system 10 can operate to substitute in a modeled estimate into an actual commercial system or process as input to replace a failed sensor or failed data source. This allows the commercial system or process to keep operating.
Since the system 10 does not rely on analytical modeling by itself, it is applicable to a wide variety of processes and systems, such as petro-chemical, power generation, automotive, manufacturing, medical, aeronautical, financial and any system in which signals are available for processing that are related to the commercial system process operation or performance. The only requirement of the system 10 is that there is some type of cross-correlation, be it linear or non-linear, between the signals used as input to the system 10. The signals can be linear, non-linear, stationary, non-stationary, clean or noisy (with an arbitrary distribution). The system 10 uses a database of historical operation data to model the commercial system or process. The database is assumed to contain data from all relevant operating modes of the system; however, if a new mode of operation is encountered and is determined not to bu a result of ec»~imercial system or sensor failures, a new vector can be added to the existing training matrix to incorporate the unanticipated operating mode in the system model.
WO 97/49011 ~ PCT/US97/10430 The following nonlimiting examples illustrate various aspects of the invention described herein. The data used is all taken from the EBR-II reactor at Argonne National Laboratory (West).
Eltam~le I
The effect of time delay correlation is described in this example, and FIGS.
6A and 6B show two voltage signals with a four second delay between them.
Before the signals are processed by the Leadlag module 20 (see FIG. 6A), the correlation coefficient is 0.0182 which implies no correlation versus processing through the Leadlag module 20 to obtain a correlation of 0.9209 (see FIG. 6B). When the set of signals, or data, being used is more than two, all the possible pair combinations are used to calculate maximum possible correlation coefficients so all signals can be properly correlated.
Example II
An experiment to determine the accuracy of the invention (the "SMSET"
methodology generally) was carried out using sensor data from the Experimental Breeder Reactor II (EBR-In at Argonne National Laboratory (U558). The sensor data set contained I3 signals from sensors monitoring EBR-II. Table I shows the SMSET
Estimation accuracy for EBR-II Data. Table I includes the channel numbers and descriptions for each of the sensor signals used in the analysis. The experiment was conducted in three steps; first the SMSET module was trained using two days worth of EBR-II data, next the trained SMSET module was used to estimate the state of approximately 110 hours worth of EBR-II data, and then the accuracy of the estimates was analyzed. For each of the sensor signals listed in Table I, FIGS
7-19, respectively, show the sensor signal (top plot) and SMSET estimate superimposed, the middle plot shows error between the SMSET and the sensor signal (in percent of the signal magnitude), ad a histogram (bottom plot) of the error. The histogram plots are compared to a Gaussian distribution with the same mean ad variance to give an SUBSTITUTE SHEET (RULE 26) t WO 97/49011 ~ PCT/US97/10430 idea of how Gaussian the error signals. FIG. 20 provide a summary of the data of FIGS. 7-19.
A methodology entitled MiniMax (Appendix B) was used to train the system using the two days of training data cited above. After the MiniMax method was applied, a training matrix was constructed consisting of twenty-five unique vectors constituting an empirical model of the overall system. After creating the model, the methodology was then applied to the signals listed in the accuracy table. Each signal in the system has its own estimation error signal that is a measure of how close the pattern recognition model is representing the system relative to the sensor readings. The second column of Table I lists the standard deviation of the estimate error for all of the signals in the experiment in terms of each of the signals' magnitude. The magnitude of the signal is defined by its mean during normal operation. The third column in Table I Iists the mean of the estimate error for all of the signals also in terms of the signal magnitude. In general the estimate error standard deviations are in the range of 0.01 % to 0.1 % and the estimate error means are centered around 0. Bar graphs of the tabular information are shown in FIGS. 20A and 20B as graphic representation of the accuracy information.
Ta 1e I
SMSET Estimation Accuracy Table for EBRII Data:
SMET Estimate Error Standard SMSET Estimate hannel Number and Diviation (% of Error Mean Value Description Sensor Magnitude) (%
of Sensor Magnitude) 1) Primary Pump #I 0.05245 0.01241 Power 2) Primary Pump #2 0.14352 0.06595 Power 3) Primary Pump #1 0.01078 0.00001 Speed 4) Primary Pump #2 0.01272 -0.00278 Speed 5) Reactor Outlet Flowrate0.09585 0.04452 6) Primary Pump #2 0.06034 -0.02495 Flowrate 7) Subassembly Outlet 0.04635 0.00339 Temperature 2B1 SUBSTITUTE SHEET (13ULE 26) WO 97/49011 ~ PCT/US97/10430 8) Subassembly Outlet 0.04904 -0.00118 Temperature 2B1 9) Subassembly Outlet 0.05664 -0.00306 Temperature 4E1 10) Subassembly Outlet0.04926 -0.00413 Temperature 4F 1 11) Reactor Outlet 0.04727 0.00513 Temperature 1534CF
Still further the invention seeks to provide a novel method and apparatus for monitoring a process using training data to identify slowly changing operational sensor data characteristic of normal process changes.
Further still the invention seeks to provide an improved method and system for determining whether a system or data source abnormality can be ignored without undesirable effects.
In one broad aspect the invention provides a method for monitoring at least one of an industrial process and industrial sensors, comprising the steps of generating time varying data from a plurality of industrial sensors, processing the time varying data to effectuate optimum time correlation of the data accumulated from the plurality of industrial sensors, searching the time correlated data to identify maximum and minimum values for the data, thereby determining a full range of values for the data from the industrial process, determining learned states of a normal operational condition of the industrial process and using the learned states to generate expected values of the operating industrial process, comparing the expected values to current actual values of the industrial process to identify a current state of the industrial process closest to one of the learned states and generating a set of modeled data, and processing the modeled data to identify a pattern for the data and upon detecting a deviation from a pattern characteristic of normal operation, an alarm is generated.
Another aspect of the invention provides a method for monitoring at least one of an industrial process and an industrial data source, comprising the steps of generating time varying data from a plurality of industrial data sources, determining learned states of a normal operational condition of the industrial process to use the learned states to generate expected values of the operating industrial process, comparing the expected values to current values of the industrial process to identify a current state of the industrial process closest to one of the learned states and generating a set of modeled data, processing the modeled data to identify a pattern for the data and upon detecting a deviation from a pattern characteristic of normal operation, an alarm is generated.
Still further the invention comprehends a method for monitoring at least one of an industrial process and an individual data source, comprising the steps of sensing time varying data from at least one industrial data source of an industrial process, determining learned states of a desired operational condition of the industrial process to use the learned states to generate expected values of the industrial process, comparing the expected values to current sensed values of the industrial process to identify a current state of the industrial process closest to one of the learned states and generating data characteristics of the current state, and processing the data that is characteristic of the current state to identify a pattern for the data and upon detecting a deviation from a pattern characteristic of the desired operational condition, a signal is generated indicating at least one of the industrial process and the industrial data source is not of the desired operational condition.
Further still the invention provides a method for monitoring at least one of an industrial process and an industrial sensor, comprising the steps of sensing time varying data from at least one industrial data source of an industrial process, searching signals from the at least one industrial data source to identify maximum and minimum values for the time varying data, determining learned states of a desired operational condition of the industrial process to use the learned states to generate expected values of the industrial process, and processing the expected values by identifying a pattern for the time varying data and upon detecting a deviation from the desired operational condition, a signal is generated indicating at least one of the industrial process and the industrial data source is not of the desired operational condition.
Other advantages and features of the invention, together with the organization and manner of operation thereof, will become apparent from the following detailed description when taken in conjunction with the accompanying drawings described below.
Brief Descn~tion of the Drawing FIGURE 1 illustrates a schematic functional flow diagram of a preferred embodiment of the invention;
FIGURE 2 illustrates a functional flow diagram of a time lead-lag correlation methodology;
FIGURE 3 illustrates a functional flow diagram of a method of determining a full range of data by searching normal state training data;
FIGURE 4 illustrates a functional flow diagram of a method for modelling behaviour of commercial system operating states;
FIGURE 5 illustrates a functional flow diagram of a method for performing pattern recognition;
FIGURE 6A illustrates sensor signals having a four second delay before applying a lead-lag method, and FIG. 6B illustrates the sensor signals after applying the lead-lag method;
FIGURE 7A illustrates sensor signal data from pump 1 power with an SMSET
estimate superimposed thereon; FIG. 7B illustrates the SMSET estimation error WO 97/49011 ' PCT/US97/10430 between the SMSET estimate and the sensor signal data; and FIG. 7C illustrates a histogram of the error;
FIGURE 8A illustrates sensor signal data from pump 2 power with an SMSET
estimate superimposed thereon; FIG. 8B illustrates the SMSET estimation error between the SMSET estimate and the sensor signal data; and FIG. 8C illustrates a histogram of the error;
FIGURE 9A illustrates sensor signal data from pump 1 speed with an SMSET
estimate superimposed thereon; FIG. 9B illustrates the SMSET estimation error between the SMSET estimate and the sensor signal data; and FIG. 9C illustrates a histogram of the error;
FIGURE 10A illustrates sensor signal data from pump 2 speed with an SMSET estimate superimposed thereon; FIG. lOB illustrates the SMSET estimation error between the SMSET estimate and the sensor signal data; and FIG. IOC
illustrates a histogram of the error;
FIGURE 11A illustrates sensor signal data for reactor outlet flow rate; FIG.
11B illustrates the SMSET estimation error between the SMSET estimate and the sensor signal data; and FIG. 11 C illustrates a histogram of the eiTOr;
FIGURE 12A illustrates sensor signal data for primary pump 2 flow rate;
FIG. 12B illustrates the SMSET estimation error between the SMSET estimate and the sensor signal data; and FIG. I2C illustrates a histogram of the error;
FIGURE 13A illustrates sensor signal data for subassembly outlet temperature 1A1; FIG. 13B illustrates the SMSET estimation error between the SMSET
estimate and the sensor signal data; and FIG. 13C illustrates a histogram of the error;
FIGURE 14A illustrates sensor signal data for subassembly outlet temperature 2B1; FIG. 14B illustrates the SMSET estimation error between the SMSET
estimate and the sensor signal data; and FIG. 14C illustrates a histogram of the error;
FIGURE 15A illustrates sensor signal data for subassembly outlet temperature 4E1; FIG. 15B illustrates the SMSET estimation error between the SMSET
estimate and the sensor signal data; and FIG. 15C illustrates a histogram of the error;
FIGURE 16A illustrates sensor signal data for subassembly outlet temperature 4F1; FIG. 16B illustrates the SMSET estimation error between the SMSET
estimate and the sensor signal data; and FIG. 16C illustrates a histogram of the error;
SUBSTITUTE SHEET (RULE 26) WO 97/49011 ' PCTIUS97/10430 FIGURE i7A illustrates sensor signal data for reactor outlet temperature 1534CF; FIG. 17B illustrates the SMSET estimation error between the SMSET
_ estimate and the sensor signal data; and FIG. 17C illustrates a histogram of the error;
FIGURE 18A illustrates sensor signal data for primary tank sodium level 530 Float; FIG. 18B illustrates the SMSET estimation error between the SMSET
estimate and the sensor signal data; and FIG. 18C illustrates a histogram of the error;
FIGURE 19A illustrates sensor signal data for primary tank sodium level 531 induction; FIG. 19B illustrates the SMSET estimation error between the SMSET
estimate and the sensor signal data; and FIG. 19C illustrates a histogram of the error;
FIGURE 20A illustrates standard deviation of SMSET errors for each of the data in FIG. 7-19; and FIG. 20B illustrates the mean value of SMSET errors for each of the data in FIG. 7-19;
FIGURE 21 shows subassembly outlet temperature ("SOT") and SMSET
estimates and in particular FIG. 21A illustrates time dependent normal SOT for in the EBR-II nuclear reactor; FIG. 21B illustrates normal SOT for 3C1; FIG.
illustrates normal SOT for SC2 and FIG. 21D illustrates normal SOT for 7A3;
FIGURE 22A-D illustrates SMSET estimation error for each of the data of FIGS. 21A-D, respectively;
FIGURE 23A-D illustrates SPRT results for each of the data of FIGS. Z1A-D, respectively;
FIGURE 24A corresponds exactly to FIG. 21A; FIG. 24B includes a linear drift component compared to FIG. 21B; and FIGS. 24C and 24D correspond exactly to FIG. 21C and 21D, respectively;
FIGURE 25A corresponds exactly to FIG. 22A; FIG. 25B includes the effect on SMET estimation error of the linear drift of FIG. 24B; and FIGS. 24C and correspond exactly to FIGS. 22C and 22D, respectively;
FIGURE 26A corresponds exactly to FIG. 23A; FIG. 26B illustrates the SPRT results for the linear drift error of FIG. 24B; and FIGS. 26C and D
corresponds exactly to FIG. 23C and D, respectively;
FIGURES 27A and 28B corresponds exactly to FIGS. 21A and 21B, respectively; FIG. 27C includes a temporary amplitude pulse of 0.25 % of the signal magnitude; and FIG. 27D corresponds exactly to FIG. 21D;
SUBSTtTUTE SHEET (RULE 2B) WO 97/49011 ' PCT/LTS97/10430 FIGURES 28A and 28B corresponds exactly to FIGS. 22A and 22B; FIG.
28C illustrates SMSET estimation error for the amplitude pulse effect of FIG.
and FIG. 27D corresponds exactly to FIG. 22D;
FIGURES 29A and 29B corresponds exactly to FIGS. 23A and 23B; FIG.
29C illustrates SPRT results of the amplitude pulse in FIG. 27C; and FIG. 29D
corresponds exactly to FIG. 23D;
FIGURE 30A illustrates EBRII subassembly temperature data 3F 1 but includes a uniform gain change compared to FIG. 21A and FIGS. 30B-D correspond exactly to FIGS. 21B-D;
FIGURE 31A illustrates the SMSET estimation error for the gain change of FIG. 30A; and FIGS. 31B-D correspond exactly to FIGS. 22B-D, respectively; and FIGURE 32A illustrates the SPRT results for the gain change of FIG. 30A
and SMSET analysis of FIG. 31A; and FIGS. 32B-D correspond exactly to FIGS.
23B-D, respectively.
Detailed Description of Preferred Embodiments The system i0 herein includes a methodology (see FIG. 1) and apparatus for surveillance of sensor or data accumulation configurations in industrial, utility, business, medical, investment and transportation applications. The system IO
is useful for sensitive identification of the onset of sensor or data source degradation, process or system anomalies, or the onset of change to a different operational state.
The most preferred form of the system 10 comprises a synergistic integration of four techniques to provide enhanced surveillance capabilities compared to conventional approaches (including neural networks), and also provide enhanced reliability and improved computational efficiency. The four elements that make up the most preferred surveillance form of the system 10 are embodied in four different methodologies generally characterized as a time correlation module 20, a training module 30, a system state estimation module 40 and a pattern recognition module 50.
Many attempts to apply conventional neural networks to nuclear, petrochemical or any industrial process surveillance applications have met with poor results in part because they fail to take into account lead-lag relationships (lack of proper time correlation of the data sets) between the various sensors or data sources.
SUBSTITUTE SHEET (RULE 26) WO 97/49011 ° PCT/ITS97/10430 In one example, a pipe is instrumented with a sequence of N thermocouples ("TCs" ) which measure the instantaneous temperature of the fluid passing through the pipe;
and the signals from these TCs are displaced in time along the fluid stream flow path.
If the sampling interval for the sensors is smaller than the transit time for fluid passing through the pipe, any attempt to monitor these signals with a neural net will produce very high uncertainties in the estimated signals for the TCs. For example, if it takes ten seconds for the fluid to pass through the pipe, and the sampling interval is one second, then at any given instant in time, TC(N), at the outlet end of the pipe, is seeing fluctuations that passed TC(1) ten seconds ago. These TCs may still contain a small degree of correlation due to gross changes in fluid temperature from a heat source or sink that is upstream of the pipe; however, the more valuable intersensor correlation that arises from local temperature perturbations carried along the pipe will be lost. This same phenomenon degrades the performance of neural networks and other pattern-recognition paradigms applied to any processes wherein the physical sensors or data sources are displaced in time across the process they are monitoring.
Other examples of time delays in correlated systems include: systems with slow data flow rates and/or large physical distances (oil refineries, power plants, HVAC
systems, and financial systems), delays due to analog or digital electronics (noise filters and large capacitors) or transmission delays (satellite communications, or transmitting data over different BUS systems.
In a preferred form of the time correlation model 20, a L,eadlag component of the invention (see FIG. 6) performs dynamic, real-time intersensor lead-lag adjustments. The Leadlag module 20 performs adjustments so that the output signals, which are then input subsequently into the SMSET routine (the system state estimation module 40), are optimally correlated and impart the maximum information content to the pattern recognition module 50. The Leadlag module 20 is attached hereto as a computer software Appendix A. The Leadlag module 20 accomplishes the adjustment function by performing, for each pair of signals, an iterative regression procedure that generates a vector of correlation coefficients with respect to lag time.
This vector of correlation coefficients is a unimodal concave function of lag time.
Thus, the optimal lag time between the pair of signals is identified simply by SUBSTITUTE SHEET (RULE 26) WO 97/49011 . PCTIUS97/10430 searching for the zero-crossing of the first derivative of the vector with respect to the lag time.
In other forms of the invention it may be unnecessary to utilize the Leadlag module 20, as noted in FIG. 1 wherein the option exists to skip use of the module 20.
This could occur for systems in which there is adequate time correlation or if time shifting is not needed to achieve correlation. If the Leadlag module 20 is not utilized or the data has already been processed by the Leadlag module 20, the data is preferably input to a training module 30.
In a preferred embodiment this training module is a MiniMax module 30 which searches through all the observations for all signals or data during a training time period to construct training vectors that include the highest point and lowest point for each signal or data space under surveillance. A computer software Appendix B sets forth the MiniMax module 30. The MiniMax module 30 produces an "optimal" training set. It is optimal in the sense that it contains only, at most, 2N
vectors, where N is the number of signals or data points in the system; and these vectors span the full range that all sensors or data sources have noted during the available training period. Wherever two or more sensors or data sources simultaneously attain maxima or minima, the resulting number of training vectors will be less than 2N.
In another form of the invention both the Leadlag module 20 and the MiniMax module 30 can be skipped, and the data can be input directly to the system state module 40.
Once the MiniMax module 30 has constructed a system model (or been skipped as noted above), the system state estimation module 40 (such as the preferred Subsystem Multivariate State Estimation Technique ("SMSET") module) models the behavior of a system through examples of the operating states of the commercial system being modeled. A computer sofflvare Appendix C sets forth the SMSET
module 40. In general, the system state estimation module 40 can be any one of a variety of modeling methodologies, such as auto regressive moving average, a neural network, or a Kalman filtering technique or an empirical methodology.
The SMSET module 40 utilizes its memory of the learned states of the commercial system in conjunction with a single new observation to provide an SUBSTITUTE SHEET (RULE 26) .....T__._._._.r.
WO 97/49011 . PCT/US97110430 estimate of the current "true" system state. States of the system are represented by vectors whose elements are comprised of direct values of system parameters (measured signals) as well as any transformation of these system parameters that produce scalar values, ~ calculated parameters based upon measured data. The SMSET module 40 does not require the state vector elements to be linearly independent as do most other types of estimation techniques. The learning process, which results in a "learned-state" matrix, is performed according to the MiniMax module 30 and the Leadlag module 20 described hereinbefore.
The basic methodology of the SMSET module 40 involves the input of a new observation of the behavior of a system that is compared with the "memory" of previous system behavior embodied in the learned-state matrix. A series of mathematical operations are performed that generates an estimate of the states in the system's memory that is "closest" to the new observation. The definition of "closest"
that is used by the SMSET module 40 is the state that is lying closest to the new observation from the point of view of a set of rules that determine the association of two vectors. From this closest state, an estimate of the "true" state of the system is performed for each and every element of the state vector. Thus, given a set of current observed parameters of a system, the SMSET module 40 provides an estimate of the current true state of the system. The value of this method is that an estimate of all of the values of the system parameters in the state vector can be provided even if the current observation vector is incomplete (e g,._ some sensors or data sources may have failed or are no longer available), contains erroneous or faulty elements (some sensors may have drifted, become uncalibrated, become contaminated with high noise levels, etc.), or even if the new system state does not coincide with previous operating states. However, the new system state must, in a general sense, be bounded by the domain of the states used to develop the system memory (learned-state matrix) .
This estimation of the true current state of the commercial system, including estimated values of all system parameters, is used in conjunction with the actual measured system parameters to ascertain the operability of sensors (or other data sources) and disturbances in the system state. This state estimation process can further be described as an inference engine that accepts as input a set of learned states SUBSTITUTE SHEET (RULE 26) WO 97/49011 ~ PCT/US97/10430 and a new observation of the commercial system. After a series of operations are performed by the inference engine on this input, the result is an estimate of the learned state "closest" to the new observation. The definition of "closest"
used here is the state lying closest to the new observation from the point of view of a set of rules that determine the association (overlap) of any two vectors. Another result is the estimation of the "true" value of each and every element in the new observation vector in the form of an estimated state vector. The series of operations performed in the inference engine consist of various matrix operations. First, all pairs of learned states are preferably associated two at a time using a rule set to create the elements of a recognition matrix. Next, the new observation is associated with each learned state using the rule set to produce a vector that has the same number of elements as the number of learned states. The largest element value in this vector identifies the "closest" learned state to the new observation. Finally, the normal matrix product of this vector with the recognition matrix produces a set of linear combination coefficients for combining the learned states into the estimated state vector.
This methodology, when applied to any true state of a commercial system that is a combination of the learned states, yields a very close approximation to the true state.
The actual closeness achieved depends most upon noniinearities arising from the rule set and physical and/or random fluctuations in the variables and is demonstrated by direct testing. General experience with use of this method for real operating commercial systems has indicated predictive capabilities typically no worse than +I-0.5 % ad normally +/-0.1 %.
Once the SMSET module 40 has modeled the data as described hereinbefore, the data is input to a pattern recognition module 50, such as the Sequential Probability Ratio Test ("SPRT") module. The computer software for the SPRT
module 50 is in Appendix D. This SPRT module 50 is a sensitive pattern recognition method that can detect the onset of subtle degradation in noisy signals with high reliability, and with quantitative false-alarm and missed-alarm probabilities.
Output from the SMSET module 40 is provided as a set of estimated signals (also called "virtual signals") for each sensor under surveillance. These virtual signals are fed into a network of interacting SPRT modules 50 together with the actual sensor readings.
Each of the SPRT modules 50 receives one sensor-signal, virtual-signal pair.
If any SUBSTITUTE SHEET (RULE 26) t........_.~_.... ..___e._..-.-.._.._ sensor degradation or process disturbance starts to affect the output of one or more signals under surveillance, the SPRT modules) 50 provide an annunciation to the operator and an actuator signal to the control system, which can selectively as needed automatically swap in the virtual signal to replace the degrading sensor signal, or data source.
Further details of the SPRT module 50 are described in U.S. patent 5,459,675, which may be referred to for further details.
The above-described combination of methodologies enables identification of a faulted process, a particular type of fault, a faulted sensor or data source or faulty data itself and enables actions to be taken to correct or modify the process being monitored.
In some cases when a failed sensor, or improper data stream source, is not important to the continued operation of a commercial system, the user can continue; operating the commercial system or process if the sensor or data source were operating normally. For example, the system 10 can operate to substitute in a modeled estimate into an actual commercial system or process as input to replace a failed sensor or failed data source. This allows the commercial system or process to keep operating.
Since the system 10 does not rely on analytical modeling by itself, it is applicable to a wide variety of processes and systems, such as petro-chemical, power generation, automotive, manufacturing, medical, aeronautical, financial and any system in which signals are available for processing that are related to the commercial system process operation or performance. The only requirement of the system 10 is that there is some type of cross-correlation, be it linear or non-linear, between the signals used as input to the system 10. The signals can be linear, non-linear, stationary, non-stationary, clean or noisy (with an arbitrary distribution). The system 10 uses a database of historical operation data to model the commercial system or process. The database is assumed to contain data from all relevant operating modes of the system; however, if a new mode of operation is encountered and is determined not to bu a result of ec»~imercial system or sensor failures, a new vector can be added to the existing training matrix to incorporate the unanticipated operating mode in the system model.
WO 97/49011 ~ PCT/US97/10430 The following nonlimiting examples illustrate various aspects of the invention described herein. The data used is all taken from the EBR-II reactor at Argonne National Laboratory (West).
Eltam~le I
The effect of time delay correlation is described in this example, and FIGS.
6A and 6B show two voltage signals with a four second delay between them.
Before the signals are processed by the Leadlag module 20 (see FIG. 6A), the correlation coefficient is 0.0182 which implies no correlation versus processing through the Leadlag module 20 to obtain a correlation of 0.9209 (see FIG. 6B). When the set of signals, or data, being used is more than two, all the possible pair combinations are used to calculate maximum possible correlation coefficients so all signals can be properly correlated.
Example II
An experiment to determine the accuracy of the invention (the "SMSET"
methodology generally) was carried out using sensor data from the Experimental Breeder Reactor II (EBR-In at Argonne National Laboratory (U558). The sensor data set contained I3 signals from sensors monitoring EBR-II. Table I shows the SMSET
Estimation accuracy for EBR-II Data. Table I includes the channel numbers and descriptions for each of the sensor signals used in the analysis. The experiment was conducted in three steps; first the SMSET module was trained using two days worth of EBR-II data, next the trained SMSET module was used to estimate the state of approximately 110 hours worth of EBR-II data, and then the accuracy of the estimates was analyzed. For each of the sensor signals listed in Table I, FIGS
7-19, respectively, show the sensor signal (top plot) and SMSET estimate superimposed, the middle plot shows error between the SMSET and the sensor signal (in percent of the signal magnitude), ad a histogram (bottom plot) of the error. The histogram plots are compared to a Gaussian distribution with the same mean ad variance to give an SUBSTITUTE SHEET (RULE 26) t WO 97/49011 ~ PCT/US97/10430 idea of how Gaussian the error signals. FIG. 20 provide a summary of the data of FIGS. 7-19.
A methodology entitled MiniMax (Appendix B) was used to train the system using the two days of training data cited above. After the MiniMax method was applied, a training matrix was constructed consisting of twenty-five unique vectors constituting an empirical model of the overall system. After creating the model, the methodology was then applied to the signals listed in the accuracy table. Each signal in the system has its own estimation error signal that is a measure of how close the pattern recognition model is representing the system relative to the sensor readings. The second column of Table I lists the standard deviation of the estimate error for all of the signals in the experiment in terms of each of the signals' magnitude. The magnitude of the signal is defined by its mean during normal operation. The third column in Table I Iists the mean of the estimate error for all of the signals also in terms of the signal magnitude. In general the estimate error standard deviations are in the range of 0.01 % to 0.1 % and the estimate error means are centered around 0. Bar graphs of the tabular information are shown in FIGS. 20A and 20B as graphic representation of the accuracy information.
Ta 1e I
SMSET Estimation Accuracy Table for EBRII Data:
SMET Estimate Error Standard SMSET Estimate hannel Number and Diviation (% of Error Mean Value Description Sensor Magnitude) (%
of Sensor Magnitude) 1) Primary Pump #I 0.05245 0.01241 Power 2) Primary Pump #2 0.14352 0.06595 Power 3) Primary Pump #1 0.01078 0.00001 Speed 4) Primary Pump #2 0.01272 -0.00278 Speed 5) Reactor Outlet Flowrate0.09585 0.04452 6) Primary Pump #2 0.06034 -0.02495 Flowrate 7) Subassembly Outlet 0.04635 0.00339 Temperature 2B1 SUBSTITUTE SHEET (13ULE 26) WO 97/49011 ~ PCT/US97/10430 8) Subassembly Outlet 0.04904 -0.00118 Temperature 2B1 9) Subassembly Outlet 0.05664 -0.00306 Temperature 4E1 10) Subassembly Outlet0.04926 -0.00413 Temperature 4F 1 11) Reactor Outlet 0.04727 0.00513 Temperature 1534CF
12) Primary Tank Sodium0.02440 -0.00280 12) Primary Tank Sodium0.00615 0.00316 Level 531 Induction Exam~e III
In FIGS. 21-32 examples of different sensor failure modes are shown along with how the system reacts to the failures. The preferred method of FIG. 1 is applied to the data. The sensor signals used in these examples are from a subset of 22 sensor signals used in the system. The 22 sensors monitored the EBR-II subassembly system at Argonne National Laboratory (West). Each of FIGS. 21-32 contains four subplots in which the upper most plot is related to Subassembly Outlet temperature ("SOT") 3F1, the upper middle plot is related to SOT 3C1, the lower middle plot is related to SOT 5C2, and the bottom plot is related to SOT 7A3. The system applied in each of the examples uses the same training matrix, which consists of 83 vectors selected from a training data base containing almost a weeks worth of data taken once every minute.
In FIGS. 21-23 are shown the results of using the system 10 during approximately 5.5 days of normal operation of EBR-II. FIG. 21 shows the SOT
signals with their corresponding SMSET estimates (signal being the circles and the lines being the estimate). FIG. 22 shows the respective raw estimate errors (not in terms of the signal magnitude) derived by taking the difference between the SOR
signals and corresponding SMSET estimates. Finally in FIG. 23 the results are shown from applying the decision making module of the system 10 (the SPRT module 50--SUBSTITUTE SHEET (RULE 26) _...... ...... .._.__._... .... ........_......_..... .. T .....
_.._.._~_.....V_.____...-..
WO 97/49011 ' PCT/US97/10430 see Appendix D) to the SMSET estimation errors of FIG. 22. The SPRT plots show a total of only three false alarms which is a false alarm rate of 9.4 x 10'5, and this is well within the specified false alarm rate of 1.0 x 103.
One type of failure mode that is common among sensors is a slow drift. This type of failure can be difficult to detect early on especially when the sensor signals contain noise. FIGS. 24-26 illustrate a comparative example of processing data from this type of failure and failure identification. Signal #2 (FIG. 24B) has a 0.2 % linear drift in it's mean over the 2.75 day period starting at 4000 minutes into the signal.
The other sensors are operating normally. FIG. 25 shows the resulting SMSET
estimation errors for each sensor signal. The error plot for signal #2 (FIG.
25B) shows evidence of drifting after the sensor signal has drifted approximately 0.05 % .
In FIG. 26 the SPRT method has determined that #2 (FIG. 26B) is drifting after approximately 0.05 % of drift and that all other sensors are operating normally.
Another type of failure that can occur is a step change in the sensor signal.
This can be the result of a short in the sensor or DAS, a calibration error or for a variety of other reasons. FIGS. 27-29, show a example of this type of failure for the SOT measurements. In this example sensor signal #3 (FIG. 27C) contains a pulse with an amplitude of 0.25 % of the signal magnitude. The pulse starts at 4000 minutes and lasts for 2000 minutes. FIG. 27 shows the sensor signals and the SMSET
estimates for the four SOT signals. FIG. 28 shows the resulting SMSET
estimation errors. The error signal for #3 (FIG. 28C) shows that there is a problem starting at 4000 minutes and ending at 6000 minutes. The error signals are fed through the SPRT module 50, and the results are plotted in FIG. 29. Clearly, there has been a disturbance in sensor #3 (FIG. 29C) beginning at time 4000 minutes and ending at 6000 minutes.
In FIGS. 30-32 an example of a failure mode related to the sensor gain is shown. In this example the gain of the sensor signal changes over tune, i.e., the amplitude is increasing over time. The gain begins changing linearly over time from a beginning value of 1 to a final value of 1 +0.075 % of the sensor magnitude.
The system 10 for the estimation error is applied to the signals, and the results are shown in FIG. 31. A human operator would most likely not be able to tell that there is a problem even after 8000 minutes by looking at the sensor signal. In FIG. 31A, it is SUBSTITUTE SHEET (RULE 26) WO 97/49011 ~ PCT/US97/10430 apparent that signal #1 is operating abnormally. This is confirmed in FIG. 32A
by the SPRT results, showing a steadily increasing number of SPRT alarms over the minute period.
While preferred embodiments of the invention have been shown and described, it will be apparent to those skilled in the art that various changes and modifications can be made without departing from the invention in its broader aspects as set forth in the claims provided hereinafter.
SUBSTITUTE SKEET (RULE 26) T
WO 97/49011 . PCT/US97/10430 Appendix A
Computer software for Leadlag module which performs dynamic, real-time intersensor lead-lag time correlation adjustments.
SUBSTITUTE SHEET (RULE 26) WO 97/49011 . PCT/C1S97/10430 /*w**********~*********w**~~**r,rs**t~*,re****~rrr,r*w**r.*a~yw*~
/* LEADLAG OPTIMIZ.~TION MODULE
/**~rw*,r******r*r**r****~***w**w**r,r*~r**~rr**,r*,r******~r*,v******
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#define pi 3.1415926 #define N 1024 #define xcsize 2047 #define fil_xcsize 2079 #define filsize 32 void phase shift optimization(int argc,char argv[][20],int method);
void conv(float f[]. float g[], float cLl, int size);
void der(float y[], float diff[], int size);
void roots(float diffxcf], int size, float *root);
void fliplr(float a[], int size);
void prn info(char *!;
void main(int argc, char **argv) {
int i,method:
char tempargv[l0][20];
if(argc !=5) {
psa info(argv[0]);
exit ( 1 ) ;
for(i=O;i<argc;i++1 strcpyltempargv[i],argv[i]):
~rintf("Enter 1 or 2 below. (\"1\" means the employment cf the");
printf(" derivative technique to find the shift, while \"2\"");
printft" means the application of direct max. correlation");
printf(" technique.):\n");
scarf("~d",&method);
phase_shift_optimization(argc,tempargv,method);
void phase shift optimization(int argc, char argv[][201, int method) {
int i,j,ph;
float root;
float t=(xcsizel,f2(xcsize),bifil xcsizel:
float xc(fil_xcsizeJ, ~il_xc(fil xcsizel;
float di=ffil_xc(fil_xcsize-11;
FILE *;_~.filel *infile2,*infile3,*outfile, *outfilel, *outfile2:
SUBSTITUTE SHEET (RULE 26) __ .......T _....... ......._...... .....
WO 97/49011 . PCT/LTS97/10430 /* Open the input and output data files. *!
outfile=fopew argvf4l,"w");
fork=O:i<xcsize:i++) { flfi]=o;
f2fi]=0;
forti=o:i<fil_xcsize:i++) { xcli]=0;
b fi] =0;
fil xcfi]=0;
if((infilel=fopentargvfi],"r")) __ ~L) ( printf("There is no data file %s(\n", argvfi]);
exit(0);
else { i=0;
while((fscanf(infilel,"tf",&flfi])) !=EOF) i++;
if((infile2=fopentargvf2],"r")> _= NULL) ( printf("There is no data file %s!\n", argvf2]);
exit(o);
else { i=0;
while(tfscanf(infile2."'tf",&f2(i])) !=EOF) i++;
if((infile3=fopentargvf3],"r")) _= NULL) { printf("There is no data file %s!\n", argv[31);
exit(0);
else i=0;
while((fscanf(infile3,"~f".&bfi])) !=EOF) i++;
/* Calculate the cross-correlation of the input and the ~/
/* reference signals. _ ' */
fliplrlfl.N);
conv(fi,f2.xc,xcsize);
- /* To pass xc through a LPF */
conv(b.xc.fil xc.f~l xcsize>;
!* Find the shift, using direct max. correlation technicue. */
~f(method==2) SUBSTITUTE SHEET (RULE 26) WO 97/49011 . PCT/US97/10430 { ph=f i1 xc I O ] ;
j=0;
for(i=O:i<fil xcsize:i++) if (fil xc ti] >ph) { ph=fil xc (I] ;
j=i;
ph=j-(fil xcsize+1)/2;
printf(~The shift is td\n",ph);
/* Fiad the shift, using derivative technique. */
if(method==1) { der(fil xc.difffil xc,fil xcsize);
roots(difffil_xc.fil_xcsize-1,&root);
ph=root-(fil~xcsize+1)/2;
printf(~The shift is tf\n".ph);
/* Phase-equalize the input (f2) relative to reference (f11 */
/* If ph>0, f2 leads fl; if ph<0, f2 lags fl. */
if (ph>0) forli=ph:i<N;i++) f2 (i-ph] = f2 (I] ;
for(i=N-ph;i<N:i++) f2 (i1=0;
if Iph<0) { Ph = -Ph:
for(i=N-l;i>=ph:i--) f2 (I] = f2 Ii-ph1 ;
for(i=O;icph;i++) f2li]=0;
fOr(1=0;1<N:l++) fprintf(outfile,"'~f\n",f2til);
fclose(iafilei);
fclose(iafile2);
fclose(infile3l;
fcloseloutfile);
void conv(float f [] , float g []', float c [] , int size) {
int m,k;
fork=O:k<size;k++) { c (k1=0 ;
form=O;m<=k;m++) c [k] = c (k] +f Im] *g Ik-m] ;
SUBSTITUTE St'iEET (RULE 26) _..... ..._...._.T... _._. .
void fliplr(float a(], int size) {
int i,j;
float temp;
jafloorisize/2);
forfi=O;i<j;i++) { temp=a(i];
a(il=a(size-i-11;
a(size-i-1]=temp;
void derlfloat y(], float diffy(], int size) {
iat i;
float diff;
for(i=O;i<size-l;i++) diffy(i] = yIi+1] -y(i] ;
void roots(float diffxc(], int size, float *root) {
int i.j;
float term:
ifldiffxc(0)*diffxc(size-i] > 0) { printf(°The cross correlation is not unimodal.\n");
exitt0);
else { (*root)=0.0;
for(i=O;i<size-1;i++) { termal;
fortj~0;j<size-i;j++) if((i-j)>0) term=term*((-diffxc(jl)/(diffxc(i]-diffxc(j]));
(*root) _ (*root) + term:
void prn infoichar *pgm namel {
priatf ("\n9rsta~s\n", "Usage: ", pgm_name, " iafilel infile2 infile3 outfile").
priatf("\a"):
printf("Note that infilel & infile2 are reference and input sigaal");
priatf(" respectively. infile3 should contain the coefficients of");
printf(" the LPF, and outfile receives the phase-equalized input signal.\n");
SUBSTITUTE SHEET (RULE 26) WO 97/49011 ~ PCT/US97/10430 Appendix B
Computer software for producing an optimal training set derived by searching signal information during a training period to construct training vectors including highest and lowest points for signals under surveillance.
SUBSTITUTE SHEET (RULE 26) T ....._.._.._ ___ _..........
WO 97!49011 ' PCT/US9?/10430 /**t**r***r*r**r***rr******************t************r****r***********/
/* MINIMAX TRAINING MODULE */
/*r*r***r*******r*r******r**ar*r*r***r***r***rr**********************/
vOld MlnMBX()( int L.W,j,i.k.numPairs,didSwitch;
int time~tsfMAXSENS*2],c:
/*int min_time~ts(MAXSENS];*/
float minmax(2lf~S~Sl,tmp.ex;
InitialScreen();
textLook(YELLOW.BLUE);
fseek(Train,OL,O);
gotoxy(17,8):
cprintf(" train using the full file? (y/n): ");
gotoxy(56,8);
c=getche();
/*cscanf("$c".&cl;*/
iflc=='n' gotoxy(17,8);
cprintf(" How many lines into the file: ");
gotoxy(53,8);
cscanf("$d",&L);
]
else{
L=lengthFile(Train);
fseek(Train,OL,01;
]
W=readinputSample(Train);
gotoxy(17,8);/* */
cprintf(" Finding max and min for all sensors... ");
for(7=0;j<W;j++1( minmaxf0][j1=Samplefj];
minmax(I](j]=Sample(j];
time~ts ( j ) =0 ;
time~ts (W+j ) =0 ;
]
/***** Finding time points for each sensor ******/
forti=l;i<L;i++){
W=readinputSample(Train);
for(j=O;j<W;j++){
iflSample(j]>=minmax(O][jJ) time~ts ( j ] =i ;
if(Sample[j]<=minmax[1][j]) time~ts(W-1+j)=i;
]
]
fseek(Train,OL,O);
gotoxy(17,8);/* */
cprintff" Sorting time points............ ");
/****rt***r**rr*a*******/
/*r******gOrtlng *******/
SUBSTITUTE SHEET (RULE 26) WO 97/49011 ~ PCT1US97/10430 numPairs=2*w; 24 didSwiLCh=1;
while(didSwitch){
numPairs--didSwitch=0;
for(i=O;i<numPairs;i++){
if(time~ts[i]>time~tsfi+1] ) {
tmp=time~ts [ i ] ;
time.~ts [ i ] =time~ts [ i+1 ] ;
time~ts [ i+1 ) =tmp;
didSwitch=1;
]
) ]
/*'**"* getting unique time points ******/
gotoxy(17,8);/* */
cprintf(~ Removing redundant time points..... ");
j=0;
for(i=l;i<2*W;i++
if (time~ts [i-1] !=time~ts [i] ) {
j++;
time~ts [j ]=time~ts [i] ;
) ]
ColsD=j;
RowsD=W;
j=0;
gotoxy(17,8);/* */
cprintf(" Creating training matrix........... ");
for(i=0;i<L;i++){
W=readinputSample(Train);
if (i==time~ts[j] ) fork=O;k<RowsD;k++){
Dtk][j]=Sample[k];
Dttj][k]=Sample[k];
j++;
]
gotoxy(17,8);/* »/
cprintf(" Extend training range (y/n): ");
gotoxy(56,8);
/*cscanf("$c",&c);*/
getche();
c=getche();
if(c=='y'){
gotoxy(17,141;/* */
cprintf(" How many standard deviations from the mean: ");
gotoxy(17,15);
cprintf(" (typical value = 3) Enter value = ");
gotoxy(53,15);
cscanf("$f",&ex);
gotoxy(17,17);
cprintf(" Extending training matrix....... ");
extendD(exl;
/*********************w*************a***********t******************/
/*********************************************w************w******w/
SUBSTITUTE SHEET (RULE 26) ... . ...... .. ......__ ..... . .. L. ._..,.,.....__e . _......... .
....._... ... _.....__.._ WO 97/49011 ' PCT/US97I10430 void EqusilySpaced(1( int L,W.i.j.k,count.num.c.stop;
float ex:
InitialScreen(1;
textLook(YELLOW,BLUE1;
fseek(Train.OL,O);
gotoxy(I7,8);
cprintf(' train using the full file? (y/n): ");
gotoxy(56.8);
c=getchet):
iftc=='n')( gotoxy(17.81.
cprintf(' How many lines into the file: ');
gotoxy(53,8):
cscanf('%d'.&L);
else{
L=lengthFiletTrain);
fseek(Train.OL.O);
) stop=0;
while (!stop)( gotoxy(14.8):/* */
cprintft' Enter numer of training vectors tmax I32): ');
gotoxy(61.81:
cscanf('%d'.&num):
iflnum>132) stop=1;
) gotoxy(14,8):
cprintf(" Getting vectors from training file.... '):
count=floort((float)L)/((float) num)I:
if(count<1)[ count=1; L=num:) ColsD=num:
j=0:
for (i=O;i<L:i++)( .
if ( (i%courstl==0) ( W=readinputSample(Train);
RowsD=Wt fortk=O:k<RowsD:k++){
D(k)[j)=Sample(k):
Dt[jl[k)=Sampleik);
) j++;
) ) gotoxy(17,8);/* */
cprintf(' Extend training range (y/n): ')t gotoxy(56.8);
/*cscanf('%c",&c):*/
getche();
c=getchet);
iftc=='y')i gotoxy(17.141:/* */
cprintf(' How many standard deviations from the mean: ");
gotoxy(17.15);
cprintf(" (typical value = 3) Enter value = ');
gotoxy(53.15);
cscanft'%f~,&exl;
gotoxy(17,17);
SUBSTITUTE SHEET (RULE 26) cprintf(" Extending training matrix....... ");
extendDlexl;
) void UserSpecified()( InitialScreen();
gotoxy(14,8);
cprintf(" This feature is not available in the DEMO version ";;
gotoxy(14,9);
cprintf(" using MinMax (hit a key to continue)..... ");
getch();
MinMax();
) void extendD(float ex)( int i,~;
float mn(MAXSENS/*RowsD*/l, std(MAXSENS/*RowsD*/],tmp;
/**** InltlallZlng**rwrrr*rrrrrr/
for(i=O;i<RowsD;i++)( mn(i]=0.0;
std[i1=0.0;
]
/*****CAlculating the mean '*****/
forti=O;i<ColsD;i++) for(j=O;j<RowsD;j++) ma(j1+=D[j] [f];
for(j=O;j<RowsD;j++) uai(j ] /=ColsD;
/**** Calculating the standard deviation*****/
for(i=O;i<ColsD;i++) for(j=O;j<RowsD;j++) std(j]+=(D(j](i)-mnij])*(D(jl(i]-mn(j]):
fortj=O;j<RowsD;j++) std(j]/=(ColsD-1);
/**** Extending the range of the training matrix***/
for k =O;i<ColsD:i++)( for(j=O;j<RowsD;j++){
if (D(j] [i]«(j] ) ( D(j] (i]-=std(j]*ex:
Dt(i](j]-=std(j]*ex:
else( D(j][i]+=std(j]*ex;
Dt(i][j]+=std(j]*ex;
l int lengthFile(FILE *fl char c;
int f;
i=0:
whilef(c=getc(fl))!=EOF) if(c=='\n') i++;
fseek(fl,OL,OI;
return ( f ) ;
/*
int widthFile(FILE *fl)( char c;
int f;
SUBSTITUTE SHEET (RULE 26) .. T ... .... ._..._..._ .....
i=o;
whiie((c=gecc(~1))!='\n')( ) */
int ChooseTraining() ( int ch, yy, xx, stop;
char buff;
textLook(YELLOW.BLUE);
gotoxy(8.7);
cprintf(" There are four different ways of extracting training data from gotoxy(8.8);
cprintf(" the training file, ");
gotoxy(28.8);
textLook(13.BLUE);
cprintf("$-12s",training);
gotoxy(40.8);
textLook(YELLOW.BLUE);
cprintf(", choose one below: ");
gotoxy(30.11):
textLook(BLACK.LIGHTGRAY1;
cprintf(" 1) Use File as is "):
gotoxy(30.13);
cprintf(" 2) MinMax method ");
gotoxy(30.15);
cprintf(" 3) Equally Spaced ");
gotoxy(30.17);
cprintf(" 4) Specify States ");
/* make selection */
gotoxy(48.11);
yyall:
~ac=4 8 stop=0;
while (stop'=1)( ch=getch();
if (ch==80) ( yy=yy+2;
if (yy>17) yy=11;
if (ch==72) ( yY=YY-2%
if (yy<11) yy=17;
) if (ch==13) stop=1;
/* TESTING CONTENTS */
/*
gotoxy(1.22);
cprintf(" , ");
gotoxyl1.22);
cprintf("choice = $d".((yy-9)/2));
./
gotoxy(xx.yy);
) - return ((yy-9)/2);
) SUBSTITUTE SHEET (RULE 26) void GetSettingsl) ( int ch, yy, xx, stop;
char buff;
/* default F1 and F2 : columns for flow 1 and flow 2'/
F1=1;
F2=2:
textLook(YELLOW,HLUE);
gotoxy18,7);
cprintf(" The default input and output file names are listed below.
gotoxy(8,8);
cprintf(" Use %c and %c to move to selection, <backspace> to change name.
24.25);
gotoxy(22.11);
textLook(BLACK,LIGHTGRAY);
cprintf(" 1) training data:");
gotoxy140.11);
textLook(LIGFiTGRAY.BLACK);
cprintf(" %s ,training); ;* use gotoxy(51.I1) */
gocoxy(22.13);
textLookIBLACK,LIGHTGRAY);
cprintf(" 2) input data :");
gotoxy140,13);
textLook(LIGHTGRAY.BLACK);
cprintf(" %s ,input); /* use gotoxy(51,13) "/
gotoxy(22,15);
textLook(BLACK.LIGHTGRAY);
cprintf(" 3) SFM :")r gotoxyl40,15);
textLook(LIGHTGRAY.BLACK);
cprintf(" 2 ~); /* use gotoxy(51.15) */
gotoxy(22.17);
textLook(BLACX,LIGHTGRAY);
cprintf(~ 4) Column flow 1:");
gotoxy(40,17);
textLook(LIGHTGRAY,BLACK);
cprintf(" 1 ");
textLook(BLACK.LIGHTGRAY);
gotoxy(22.19);
cprintf(" 5) Column flow 2:");
gotoxy(40.19);
textLook(LIGHTGRAY.BLACK);
cprintf(" 2 ");
gotoxy(37,21);
textLook(RED.LIGHTGRAY);
cprintf(" done "); /*use goto(42,21) */
/* make selection */
gotoxy(53.11);
yy=11;
xx=53;
stop=0;
while (stop!=11( ch=getchl);
if (ch==801( yy=yy+2;
if (yy>21) yy=11;
SUBSTITUTE SHEET (RULE 26) T, _.._._. _ WO 9?!49011 ' PCTIUS97/10430 if (ch==72)( ~-2;
if (yy<li) yy=21;
) if (lch==81&&(yy!=21))( if (yy==11) NewNametxx.yy.ll; /* 1=training *!
if (yy==13) NewName(xx.yy.2); /* 2=input */
if (yy==15) NewName l~oc, yy. 3 ) ; / * 3=output * /
if (yes=17) NewName ( roc, yy. 4 ) ;
if (yy==19) NewName(xx.yy.5);
yy=yy+2;
) if (yy==21) ~oca42 ;
else sac=53 ;
if ((yy==21)&&(ch==13)) stop=1;
/* TESTING CONTENTS */
/*
gotoxy(1.22);
cpzintf(" '):
gotoxy(1.22);
cprintf("training = %s",training);
gotoxy(1.23);
cprintf(" ~):
gotoxy(1.23);
cprintf("input = %s\n".input);
gotoxy(1.24);
cprintf(" '):
gotoxyl1.24);
cprintf("output = %s\n",output);
*/
gotoxylxx.yy);
void InitialScreen() ( textbackground(CYAN);
clrscr();
textLook(RED.BLACK);
highvideo();
gotoxy(24.2);
cprintfl" "):
gotoxyl24.3I;
cprintf(~ MSET SIGNAL VALIDATION SYSTEM ~);
gotoxy(24.4);
cprintf(" ");
SUBSTITUTE SHEET (RULE 26) WO 97!49011 ' PCT/US97/10430 normvideo(); 30 textLook(YELLOW.BLUE);
void textLook(int txt, int bg)( textbackgrouad(bg):
textcoiorttxt);
void NewNametint xpos, int ypos, int whc) ( int l. c, maxi;
char temp(4):
textLook(LIGHTGRAY.BLACK);
gotoxylxpos-l2,ypos)r priatf(' '):
gotoxy(xpos-l2.yposl;
i=0:
maxi=-1;
while (tc=getche())!=I3)( if (c==81 (i=i-1:
if !i<01 i=0;
else( maxi=max(i.maxi);
switch (whc)( case 1: training(i)=c; break;
case 2: input(i)=c; break:
case 3: temp(ij=c: break:
case 4: temp(i)=c; break:
case 5: temp[ij=c; break:
default: break:
if+;
switch (whc)( case 1: traiaing(maxi+1]='\0';break:
case 2: input(maxi+1)='\0'; break:
case 3: temp(maxi+11='\0';
FACTOR=(float) atof(temp); break;
case 4: temp(maxi+1)='\0';
F1=atoiltemp~; break;
case 5:
temp(maxi+lj='\0';
F2=atoi(temp~; break:
default: break;
/* F1=F1-1;
F2=F2-1; */
SUBSTITUTE SHEET (RULE 26) ,._._.."._...r_. .. _ T.._ , . _ _ _..... .._.......
WO 97/49011 ' PCT/US97/10430 Appendix C
Computer software for modeling behavior for examples of the operating states of the commercial system.
SUBSTITUTE SHEET (RULE 26) % function [Erms. X hat, Err, WW2. WW1 = meet (Input, rangeL, rangeU, D, DDi, % out cola, prt_cols, alpha, beta, p flag,thrsh);
% This function estimates the state of a system using the (MSET).
;t allows scaling of the input data to the range % 0 - 1 and the use of the algorithm in a predictive mode.
% Fraction outputs:
% Exnts = Root mean squared errors for variables specified by % prt cols.
% X hat = Estimated states for variables specified by prt cols.
% Err = Estimation error for variables specified by prt cols.
% Faction inputs:
% Input = input state matrix: an N by M+1 array with the first column % containing a timestamp. The array contains n observation % vectors, with m dependent variables in each vector.
% rangeL Length M vector, where each element sets the = lower limit of % data for a corresponding variable.
% rangeU Length M vector, where each element sets the = upper limit of % data for a corresponding variable.
% D = Training set, an M by N array.
% DDi _ Inverse of the similarity matrix (from auto_trainnsa).
% out cols Optional vector specifying which columns represent a output variables predicted by the algorithm. These variables are % not included in the evaluation of W.
% prt_cols Optional vector specifying which columns to = keep in the % output.
t alpha = Multiplicative factor in the vprprod nonlinear operator.
% beta = Power factor in the vprprod nonlinear operator.
% p flag Print/don't print run progress data for 0/1.
=
% thrah = Cutoff threshold for weighting vector W (default 0) % The rangeLrangeU vectors are used to specify the anticipated and range of % the variables.Data is linearly scaled from the ranges specified by these % vectors range 0:1. If the rangeL vector specifies the to the lower limit of % the data rangeU is 0, then the code will shift the data while by subtracting % the rangeL
values from each element in a corresponding column of the data.
% If both rangeL and rangeU vectors are set to a scalar of the value of 0, % the data will not be scaled.
function [Erms. X_hat, Err,WW2.WW1 = meet (Input, rangeL, rangeU, D, DDi, ...
out cols, prt cols, alpha, beta, p_flag, thrsh);
if (nargin < 11), thrsh=0.0; end tic % Case in which not enough inputs are specified.
if nargin c 5 error('Required arguments are: Input, rangeL, rangeU, D and DDi\n\n');
end % Remove time stamp from input matrix and transpose input matrix.
Time = Input(:,1);
Y = Input(:,2:size(Input.2))';
[M, N] = size(Y);
% If out_cols, prt cols, alpha, beta, and D_flag are not specified, pick % default values for them.
if nargin == 5, out_cols=0; prt_cols~l:M; alpha=1; beta=1; Y_flag=0; end if nargin == o, prt_cois=1:M; alpha=1; beta=1; p_flag=0; end SUBSTITUTE SHEET (RULE 26) T a...__.~..._u._... _. . .._..
WO 97/49011 ' PCT/US97/10430 _f nargin =_ ., alpha=1: beta=1; p-flag=0; end if nargia == e, beta=1; p flag=o; end if nargin == 9, p flag=o; end if prt cois == 0, prt cols=1:M; end if slabs == 0, algha=1: end if beta == 0, beta=1; end % Set print flag for debug printout.
print-'lag = n flag;
% Print message if print flag is set.
if lprint_flag >= 1) fprintf('\n Starting MSET ........\n\n'):
end % Scale the input matrix to the range 0:1, if the rangeL and rangeU
% vectors are specified.
if (leagth(rangeL) _= M) & (lengthtrangeU) _= M) % Scale each observation vector is the training matrix.
Y=(Y-rangeL'*onest1.N11./...
(rangeU'*ones(1,N)-rangeL'*ones(1,N)):
%for I = 1:M
% Y(i,:) _ (Y(i.:) - rangeL(i)) / lrangeU(i) - rangeL(i)):
%ead % Print message if print flag is set.
if tprint_flag >= 1) fprintf(' Data is scaled to 0:1 range....\n\n');
end end % Shift the training matrix by the values specified in rangeL, if the rangeL
% vector is specified and rangeU is 0.
if (length(rangeL) _= M) & (rangeU == 0) % Shift each observation vector in the training matrix.
Y = Y - rangeL'*onestl,N);
%for I = 1:M
% Y(i,:) = Y(i,:) - rangeL(i):
%ead % Print message if print flag is set.
if tpzint flag >= 1) fprintf(' Data is shifted by the values in rangeL....\n\n');
end end % If the are output columns specified, then remove these variables from the % D sad Y matrices.
D~rOj s D;
Y_prOj = Y:
if tout_cols ~= 0) D_proj (out cola, : ) = Il t Y~roj (out_cols, : ) = I] ;
end % Print message if print_flag is set.
if (print_'lag >= 1) fprint°;' percent complete: o');
end SUBSTITUTE SHEET (RULE 26) X hat = zerosilength(prt_cols),N);
tmp = zeros(M.l);
Ezms = zeros(length(prt_cols).i);
Err -- zeros(leagth(prt_cols),N);
DtY = zeroslM-lengthlout_cols),1);
W = zeroslN.l);
t Main loop. Calculate estimate vectors (X hat) for each input state t vector Y.
for i=1:N
DLY = vprprod(D_proj', Y~roj(:,i), alpha, beta);
W ~ DDi ~ DtY;
WW2l:.i)~W;
tW . W ./ sum(W);
ii.find(W<thrsh):
ifllength(ii)>0) W(11)=zeros(length(ii),1);
t w . w./sum(w);
nod WW(:,i)~W;
tmp = D ~ W ;
X hatl:,i) a tmp(prt cola);
t Print message if print flag is set.
if (print flag >. 1) if ((rem(i,floor(N/100)) _. 0) ~ (i..1)) fprintf('\b\b\b');
fprintf('~t3.Of', i/N~100);
sad sad end t Scale the X hat matrix from the range 0:1 back to the range specified by t the raageL and raageU vectors, if necessary.
if (leagth(raageLl =. M) & (leagth(raageU) _. M) t Scale each observation vector in the training matrix.
tNNN=lengthtrangeU(prt cola));
trU.rangeUlprt_cols); rL.rangeL(prt cola);
tX hat=(rU(:)~ones(1.N)-...
rL(:)~ones(l,N))...
~ X_hat + rL(:)~ones(1,N);
for i = i:length(prt cola) X hat(i,:) _ (rangeU(prt cols(i)) - raageL(prt_cols(i))) ~ ...
X hat(i,:) + raageL(prt cols(i));
sad end t Shift the X_hat matrix back to the range of the data by adding rangeL to t the data. if necessary.
if (leagth(rangeL) .. M) & (rangeU =. 0) t Shift each observation vector in the training matrix.
NNN.length(prt cola);
X hat=X hat + rangeL(prt_cols)~ones(1.NNN);
tfor i = i:length(prt_cols) t X hat(i.:) = X hatli,:) + rangeL(prt_cois(i));
Lead end SUBSTITUTE SHEET (RULE 26) % Reset Y matrix to input matrix.
Y = Input(:,2:sizetInput.2))';
% Calculate error.
Err = Y(prt-cols,:) - X hat;
% Calculate rms error for variables specified by prt_cols.
Erms = diag(Err * Err');
Erms = sqrt(Erms' ./ (N - M - 1));
- % Add timestamp to X_hat and Err arrays and transpose X hat and Err arrays.
X_hat = (Time'; X_hat]';
Err = (Time'; Err]';
if (print flag ~= I) btm=fix(clock);
fprintf('\n\n Total time to complete MSET using %d training vectors\n', ...
size(D,2));
fprintf(' to analyze %d observations with %d variables each: ', N. M);
fprintf('%6.2f mires\n\n', toc/60);
end SUBSTITUTE SHEET (RULE 26) % function (z, norm_dist) _- vprprod (x, y, alpha, bets);
%
% This function perfoxmts the nonlinear operation on iaatricae z and y at the ~t heart of the MSFT. It uses the Eollooring nonlinear b operator to compare vectors in the matrices:
f(dist) . 1 / (I + alpha dist"beta), b rahere diet is the normalized Qiatance between a vector in y and each obaervatioa vector in x.
b b I! the constant alpha sad beta are not specified, default values of 1 are % used for both of them.
%
b Thie version of vDrprod returns the norm of the distance between the b each vector in y sad the exemplar vetora in x. The vector distances era b normalized with respect to the sum of the distance vectors.
%
b b function (z, norm_diat] . vprprod (x, y, alpha, beta);
if Inargin =~ Z) alpha . is beta . 1;
cad INx.~sx] . nine (x) ;
(Ny~My] a aiza(y):
if (Mx -. I,~r) fpriat!('\n\n in vpsprod(x,y), the number of columns in x must\n');
lpriatf (' equal the number of ro~re in y\a\n' ) ;
atr= (~ columns in x: ' , num2str (I~c) , , , , ' . sad the number of rove in y: ', num2str(Ny)j;
error (atr) ;
end % Initialize arrays.
z . zeros (~T7C.M~r) ;
norm = zeroa(Nx,My);
yi o zeros(Nx,Mx);
diet . zeroe(Nx,l);
tmp ~ zeros(Mr,Nx);
for i . l:My h Sxpaad each column of y into a Nx by Ny (' Nx by ~) aytrix.
of .. !..l. J 1 ~ ,...--!~ .._» r .
T _. .
Appendix D
Computer software for performing pattern recognition by detecting onset of degradation in noisy signals.
SUBSTITUTE SHEET (RULE 26) .....~....~_.. . .. .. L w._ ..~__..__ .__._..... ___.._._._. ___ .
WO 97/49011 ' PCT/US97/10430 shut ~ /
~111~~~f1f~1~11N1~~11111111~1f1~11f~hf111111!~1f1111M1r~11 /~ Stz~ :ha SS3tT asalpsis..... ~/
/~ Czleulata :"..a vsr=sacs of :hn sat:.~sta arsarsy/
!'_ (Langs~<ealtLaagt~ Ca7.c:aaagLsLanqt~:
~a~,s0 . 0 : seaal~0 . 0 s =or (.~3 r i<talc.aagth: ice) ~~'atf (hii~.~.~t'~.~ 1 ts~sat.Cf ibnt~
arsal.~ta>aP/eale~aayts:
WO 97/49011 ' PCT/ITS97/10430 fgatathuf,l3.axxor2):
tamp.atof fbnf) s maaa2i.tsmp/calctaagsh:
fsaak(ar-erl,OL.O)s fsaaktarrar2.0L.0):
varisaes1Ø0: variaacnZØ0;
for (3.G; i<calCS,,aagthsi~+) tgats (l~ut.l3.asrorl) temp.ataf that) ;
vssiaaeai+.(tamp-maaal)~Itsatg-meaal)/tcalcLaagth-1):
fgatalbat.l3.errar2);
tamp.ataf (bttf) ;
variaacaZf~ ( tang-mesa2) ~ Itaa<p-maaaZ) / tea,lc!.aagt~-11 fsaektesrarl,OL.O):
fsoakterror2,OD,0)t /~ aetaal 9F3t~ ealeulatioa sad sigaal avspyiag logic ~/
s~l~d : subl.O t M7..8icr'n~~lqrt tvariaaeell :
gl.N1/var3aaoal:
DG.FACTD3t~lqrttvariaaca2) t g2~~tdi /variaacs2:
171.1og taE"'~7l/ Il-~) ) :
8a.log( tI-HZ"":'1) /AI,pHl) s forti~Oti<1:i+t)~
if (1..0) fg~tf tparass. ~bf\a~,J171) itti..l) fpriattipanms.'tf\a~,88)s itti~~z) tpr3at:tparsas.~b!\a~.~)t it ti~~3l lyriatf tpasasss. ~1st\a~.BS) :
(close (Da--amsl Sposl~0: Sgol~.0: Saagl~Ot SaagZ.Oi far (i.OricZaagt~:iw){
/~ tgotatbuf.l3.ox=ar~)7 tamp.staf(bufy:
./
=seaaftsrrarl.~~fla~.itampi):
faeaat tarras2. ~~f\a~ . itaaq:2) _ =t t (Sposi .. ,~? ~ ~ (8posl .. ngl ) Spoai.0 s .. (IS'posZ .. ~)~(t$pos2 .. Ha)) SposZ.os '_t IISaagl ~. 7~)~~t~qi .. Hi)) Snagl.0;
if t tsasgs .. 1~) ~ ( tSSsogZ .. ~) ) Sasq2.0 r stapposl- -g1~ thLl/~ - tampl) : stapa.gi~ -gl~ (~/2 + ~aa~pl) etapposs~ -gZ~(I~B/2 - tamp2); atapasg2. -g2~tbt2/2 + tamps):
Spasi +. stapposi: Sn~g1 +. stapaagls SpoaZ +. stappos2; Saag~ +. atapaag2:
.. tS~toal c. ~) gpo~l.eJV: =t tSaagi <. ~) ~Dgl.~Ai:
'_f ISpos~ <. ~) S~as2.l~s .. tSaag2 <. gA) Saag2.u:
ifl5posl >. H8) Spoal~tiH: _tt9aagl >> BH) Sneg1~38t '-ttSlsosl >. go) SposZ.aDs :ftiaag2 >. LD) Sasg2.8Hs t WO 97/49011 ' PCT/US97/10430 a ttSpoala.as)~(tSaegla.88)) subi~lr if t t9posle..7171) 44 (Saagl<.~1~1) ) aubl~0 r i~((Sposla.BS)~~tSaag2a~H8)) sub2.l:
it ( tSpoel<..>l71) ii (Saag2<.~l) ) saub2.0 r :prj_atf(sprtposl."~f\a~.Sposl):
lpr3attisprtposs.~'~!\a~,Spos?):
~s3attlsgstaagl.'~t\a'.Saagl):
fpriatf(spstasg2.'~f\n~.Saeg2)r tsaaat tilowi.'~lla' . its~pl) r taeaaf ttsstl. 'art\a' , i~taap2) r if laubl) fpriatt teambi.'!!\a~. tsmQ2)~:
~lsa fpriatffccabi,~~t\a'.tampl)r lseaattfloaz.'tt\a~.&tsmpi)r faeaa=tfast2.~~lla~.&tomp2):
it ta:b2) lpriatflca~h2.'~f\a~.tsmpZ):
else tple3att icoa~2. ~1t\a' . tsa~l) r itt~odt (donbla) (cat+i+1) . t~la)p~) ~.G) {
Qotosyt«.3.1) 1 cp r-iatt (~~-3.3t ' , t (float) (mt+i+1) ) / t tt7.oat) Lenqtlt) ~100/Z) getosyci~.Il7 r epriattt~~-3.3f ~,lco.a)1 qotosy(34,15):
tastLoak (~~E.ltl~!) r cpsiat_ f ~ ~: x8! 1~ ' ) gotoxyt45.15):
g~tcht~ r -closa(spz rosl): telosslepz~tasgl)r fcloaattsatl): tcloss(errorl)1 tclosa (caasbl) : fclosa (tawl) 1 fclosslsprtposZ)r fc3.oselsp=taagZ): fclas~Ifast2): fclos~(arros?)1 fctoselca~ts3) : fcloaa tfla~rZ) r falose(Za)1 rrriditpntSa~pls (71IL8 ~ia) iat n~. flag. ». j char ch, hut C16I
mm~.0 ; ilag~0 ~ i.0; j.0 ~
eh.fgate(ia):
xhila((cht.'\n')i4(chl.zoy)){
avms(1(isspacalch))):/~Ei~IChta~,~)i~i(chl.~..)):'/
~~ (C'~l.~W \a' ) {k**J RoxsDe j; j.0= } ~/
if (aum..l) {
bug CiI ~cli:
1++s flag.lr it ((au~..0)~~(llag~~i)){
bs~ Ci*11 ~' \O' sepia Ij7 ~ (float) stszad(hut.aDL>;1 i.a~
tlaq.0:
jet }
ch.lgate(ia)i ii (eh..sOH) t /~ (close (Ia1 : ~/
rotura (0)~
}
aLa rstta:a (j) a a Ratio (float atasl, :last asaa2) .f (ta~~~a) )~ (a~..o)) ratuxa a.o:
slsa i= (anml ~. ate) rstuxa ac~/ausl=
also ratusa atasL/na~r irslsD () iat axtm. flag. i. j. x:
char eh. but C16I r ataN.O ~ !laq.0 ~ i.0: j~0 ~ k.0;
xhila ( (eh.lgate L~aial ) (~BOF) {
alas. ( 1 ( isapaca (eh) ) 4R ( ch! .' , ' ) ~a ( ch 1 .' ~ ~ ) y .f Ich..'~a~) {ki~~ RoxaD.j; j.0:}
it (aum..l) bnf Ci) .ch;
i*~;
=Lag.i:
if ( (a~..0) 4i(llag..i) ) T ___._.....
~ ..:+iI =~ \o ~ , Dttk1 h1 ~ tfloat) atr:~d(bxf.8~:,7 DIjII3~1-t~'..anti s.--ad(but.STflL:.i;
1~0~
flag.0,' j~, CG1SD.'s:
t~' osa (~l t; > i::
In FIGS. 21-32 examples of different sensor failure modes are shown along with how the system reacts to the failures. The preferred method of FIG. 1 is applied to the data. The sensor signals used in these examples are from a subset of 22 sensor signals used in the system. The 22 sensors monitored the EBR-II subassembly system at Argonne National Laboratory (West). Each of FIGS. 21-32 contains four subplots in which the upper most plot is related to Subassembly Outlet temperature ("SOT") 3F1, the upper middle plot is related to SOT 3C1, the lower middle plot is related to SOT 5C2, and the bottom plot is related to SOT 7A3. The system applied in each of the examples uses the same training matrix, which consists of 83 vectors selected from a training data base containing almost a weeks worth of data taken once every minute.
In FIGS. 21-23 are shown the results of using the system 10 during approximately 5.5 days of normal operation of EBR-II. FIG. 21 shows the SOT
signals with their corresponding SMSET estimates (signal being the circles and the lines being the estimate). FIG. 22 shows the respective raw estimate errors (not in terms of the signal magnitude) derived by taking the difference between the SOR
signals and corresponding SMSET estimates. Finally in FIG. 23 the results are shown from applying the decision making module of the system 10 (the SPRT module 50--SUBSTITUTE SHEET (RULE 26) _...... ...... .._.__._... .... ........_......_..... .. T .....
_.._.._~_.....V_.____...-..
WO 97/49011 ' PCT/US97/10430 see Appendix D) to the SMSET estimation errors of FIG. 22. The SPRT plots show a total of only three false alarms which is a false alarm rate of 9.4 x 10'5, and this is well within the specified false alarm rate of 1.0 x 103.
One type of failure mode that is common among sensors is a slow drift. This type of failure can be difficult to detect early on especially when the sensor signals contain noise. FIGS. 24-26 illustrate a comparative example of processing data from this type of failure and failure identification. Signal #2 (FIG. 24B) has a 0.2 % linear drift in it's mean over the 2.75 day period starting at 4000 minutes into the signal.
The other sensors are operating normally. FIG. 25 shows the resulting SMSET
estimation errors for each sensor signal. The error plot for signal #2 (FIG.
25B) shows evidence of drifting after the sensor signal has drifted approximately 0.05 % .
In FIG. 26 the SPRT method has determined that #2 (FIG. 26B) is drifting after approximately 0.05 % of drift and that all other sensors are operating normally.
Another type of failure that can occur is a step change in the sensor signal.
This can be the result of a short in the sensor or DAS, a calibration error or for a variety of other reasons. FIGS. 27-29, show a example of this type of failure for the SOT measurements. In this example sensor signal #3 (FIG. 27C) contains a pulse with an amplitude of 0.25 % of the signal magnitude. The pulse starts at 4000 minutes and lasts for 2000 minutes. FIG. 27 shows the sensor signals and the SMSET
estimates for the four SOT signals. FIG. 28 shows the resulting SMSET
estimation errors. The error signal for #3 (FIG. 28C) shows that there is a problem starting at 4000 minutes and ending at 6000 minutes. The error signals are fed through the SPRT module 50, and the results are plotted in FIG. 29. Clearly, there has been a disturbance in sensor #3 (FIG. 29C) beginning at time 4000 minutes and ending at 6000 minutes.
In FIGS. 30-32 an example of a failure mode related to the sensor gain is shown. In this example the gain of the sensor signal changes over tune, i.e., the amplitude is increasing over time. The gain begins changing linearly over time from a beginning value of 1 to a final value of 1 +0.075 % of the sensor magnitude.
The system 10 for the estimation error is applied to the signals, and the results are shown in FIG. 31. A human operator would most likely not be able to tell that there is a problem even after 8000 minutes by looking at the sensor signal. In FIG. 31A, it is SUBSTITUTE SHEET (RULE 26) WO 97/49011 ~ PCT/US97/10430 apparent that signal #1 is operating abnormally. This is confirmed in FIG. 32A
by the SPRT results, showing a steadily increasing number of SPRT alarms over the minute period.
While preferred embodiments of the invention have been shown and described, it will be apparent to those skilled in the art that various changes and modifications can be made without departing from the invention in its broader aspects as set forth in the claims provided hereinafter.
SUBSTITUTE SKEET (RULE 26) T
WO 97/49011 . PCT/US97/10430 Appendix A
Computer software for Leadlag module which performs dynamic, real-time intersensor lead-lag time correlation adjustments.
SUBSTITUTE SHEET (RULE 26) WO 97/49011 . PCT/C1S97/10430 /*w**********~*********w**~~**r,rs**t~*,re****~rrr,r*w**r.*a~yw*~
/* LEADLAG OPTIMIZ.~TION MODULE
/**~rw*,r******r*r**r****~***w**w**r,r*~r**~rr**,r*,r******~r*,v******
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#define pi 3.1415926 #define N 1024 #define xcsize 2047 #define fil_xcsize 2079 #define filsize 32 void phase shift optimization(int argc,char argv[][20],int method);
void conv(float f[]. float g[], float cLl, int size);
void der(float y[], float diff[], int size);
void roots(float diffxcf], int size, float *root);
void fliplr(float a[], int size);
void prn info(char *!;
void main(int argc, char **argv) {
int i,method:
char tempargv[l0][20];
if(argc !=5) {
psa info(argv[0]);
exit ( 1 ) ;
for(i=O;i<argc;i++1 strcpyltempargv[i],argv[i]):
~rintf("Enter 1 or 2 below. (\"1\" means the employment cf the");
printf(" derivative technique to find the shift, while \"2\"");
printft" means the application of direct max. correlation");
printf(" technique.):\n");
scarf("~d",&method);
phase_shift_optimization(argc,tempargv,method);
void phase shift optimization(int argc, char argv[][201, int method) {
int i,j,ph;
float root;
float t=(xcsizel,f2(xcsize),bifil xcsizel:
float xc(fil_xcsizeJ, ~il_xc(fil xcsizel;
float di=ffil_xc(fil_xcsize-11;
FILE *;_~.filel *infile2,*infile3,*outfile, *outfilel, *outfile2:
SUBSTITUTE SHEET (RULE 26) __ .......T _....... ......._...... .....
WO 97/49011 . PCT/LTS97/10430 /* Open the input and output data files. *!
outfile=fopew argvf4l,"w");
fork=O:i<xcsize:i++) { flfi]=o;
f2fi]=0;
forti=o:i<fil_xcsize:i++) { xcli]=0;
b fi] =0;
fil xcfi]=0;
if((infilel=fopentargvfi],"r")) __ ~L) ( printf("There is no data file %s(\n", argvfi]);
exit(0);
else { i=0;
while((fscanf(infilel,"tf",&flfi])) !=EOF) i++;
if((infile2=fopentargvf2],"r")> _= NULL) ( printf("There is no data file %s!\n", argvf2]);
exit(o);
else { i=0;
while(tfscanf(infile2."'tf",&f2(i])) !=EOF) i++;
if((infile3=fopentargvf3],"r")) _= NULL) { printf("There is no data file %s!\n", argv[31);
exit(0);
else i=0;
while((fscanf(infile3,"~f".&bfi])) !=EOF) i++;
/* Calculate the cross-correlation of the input and the ~/
/* reference signals. _ ' */
fliplrlfl.N);
conv(fi,f2.xc,xcsize);
- /* To pass xc through a LPF */
conv(b.xc.fil xc.f~l xcsize>;
!* Find the shift, using direct max. correlation technicue. */
~f(method==2) SUBSTITUTE SHEET (RULE 26) WO 97/49011 . PCT/US97/10430 { ph=f i1 xc I O ] ;
j=0;
for(i=O:i<fil xcsize:i++) if (fil xc ti] >ph) { ph=fil xc (I] ;
j=i;
ph=j-(fil xcsize+1)/2;
printf(~The shift is td\n",ph);
/* Fiad the shift, using derivative technique. */
if(method==1) { der(fil xc.difffil xc,fil xcsize);
roots(difffil_xc.fil_xcsize-1,&root);
ph=root-(fil~xcsize+1)/2;
printf(~The shift is tf\n".ph);
/* Phase-equalize the input (f2) relative to reference (f11 */
/* If ph>0, f2 leads fl; if ph<0, f2 lags fl. */
if (ph>0) forli=ph:i<N;i++) f2 (i-ph] = f2 (I] ;
for(i=N-ph;i<N:i++) f2 (i1=0;
if Iph<0) { Ph = -Ph:
for(i=N-l;i>=ph:i--) f2 (I] = f2 Ii-ph1 ;
for(i=O;icph;i++) f2li]=0;
fOr(1=0;1<N:l++) fprintf(outfile,"'~f\n",f2til);
fclose(iafilei);
fclose(iafile2);
fclose(infile3l;
fcloseloutfile);
void conv(float f [] , float g []', float c [] , int size) {
int m,k;
fork=O:k<size;k++) { c (k1=0 ;
form=O;m<=k;m++) c [k] = c (k] +f Im] *g Ik-m] ;
SUBSTITUTE St'iEET (RULE 26) _..... ..._...._.T... _._. .
void fliplr(float a(], int size) {
int i,j;
float temp;
jafloorisize/2);
forfi=O;i<j;i++) { temp=a(i];
a(il=a(size-i-11;
a(size-i-1]=temp;
void derlfloat y(], float diffy(], int size) {
iat i;
float diff;
for(i=O;i<size-l;i++) diffy(i] = yIi+1] -y(i] ;
void roots(float diffxc(], int size, float *root) {
int i.j;
float term:
ifldiffxc(0)*diffxc(size-i] > 0) { printf(°The cross correlation is not unimodal.\n");
exitt0);
else { (*root)=0.0;
for(i=O;i<size-1;i++) { termal;
fortj~0;j<size-i;j++) if((i-j)>0) term=term*((-diffxc(jl)/(diffxc(i]-diffxc(j]));
(*root) _ (*root) + term:
void prn infoichar *pgm namel {
priatf ("\n9rsta~s\n", "Usage: ", pgm_name, " iafilel infile2 infile3 outfile").
priatf("\a"):
printf("Note that infilel & infile2 are reference and input sigaal");
priatf(" respectively. infile3 should contain the coefficients of");
printf(" the LPF, and outfile receives the phase-equalized input signal.\n");
SUBSTITUTE SHEET (RULE 26) WO 97/49011 ~ PCT/US97/10430 Appendix B
Computer software for producing an optimal training set derived by searching signal information during a training period to construct training vectors including highest and lowest points for signals under surveillance.
SUBSTITUTE SHEET (RULE 26) T ....._.._.._ ___ _..........
WO 97!49011 ' PCT/US9?/10430 /**t**r***r*r**r***rr******************t************r****r***********/
/* MINIMAX TRAINING MODULE */
/*r*r***r*******r*r******r**ar*r*r***r***r***rr**********************/
vOld MlnMBX()( int L.W,j,i.k.numPairs,didSwitch;
int time~tsfMAXSENS*2],c:
/*int min_time~ts(MAXSENS];*/
float minmax(2lf~S~Sl,tmp.ex;
InitialScreen();
textLook(YELLOW.BLUE);
fseek(Train,OL,O);
gotoxy(17,8):
cprintf(" train using the full file? (y/n): ");
gotoxy(56,8);
c=getche();
/*cscanf("$c".&cl;*/
iflc=='n' gotoxy(17,8);
cprintf(" How many lines into the file: ");
gotoxy(53,8);
cscanf("$d",&L);
]
else{
L=lengthFile(Train);
fseek(Train,OL,01;
]
W=readinputSample(Train);
gotoxy(17,8);/* */
cprintf(" Finding max and min for all sensors... ");
for(7=0;j<W;j++1( minmaxf0][j1=Samplefj];
minmax(I](j]=Sample(j];
time~ts ( j ) =0 ;
time~ts (W+j ) =0 ;
]
/***** Finding time points for each sensor ******/
forti=l;i<L;i++){
W=readinputSample(Train);
for(j=O;j<W;j++){
iflSample(j]>=minmax(O][jJ) time~ts ( j ] =i ;
if(Sample[j]<=minmax[1][j]) time~ts(W-1+j)=i;
]
]
fseek(Train,OL,O);
gotoxy(17,8);/* */
cprintff" Sorting time points............ ");
/****rt***r**rr*a*******/
/*r******gOrtlng *******/
SUBSTITUTE SHEET (RULE 26) WO 97/49011 ~ PCT1US97/10430 numPairs=2*w; 24 didSwiLCh=1;
while(didSwitch){
numPairs--didSwitch=0;
for(i=O;i<numPairs;i++){
if(time~ts[i]>time~tsfi+1] ) {
tmp=time~ts [ i ] ;
time.~ts [ i ] =time~ts [ i+1 ] ;
time~ts [ i+1 ) =tmp;
didSwitch=1;
]
) ]
/*'**"* getting unique time points ******/
gotoxy(17,8);/* */
cprintf(~ Removing redundant time points..... ");
j=0;
for(i=l;i<2*W;i++
if (time~ts [i-1] !=time~ts [i] ) {
j++;
time~ts [j ]=time~ts [i] ;
) ]
ColsD=j;
RowsD=W;
j=0;
gotoxy(17,8);/* */
cprintf(" Creating training matrix........... ");
for(i=0;i<L;i++){
W=readinputSample(Train);
if (i==time~ts[j] ) fork=O;k<RowsD;k++){
Dtk][j]=Sample[k];
Dttj][k]=Sample[k];
j++;
]
gotoxy(17,8);/* »/
cprintf(" Extend training range (y/n): ");
gotoxy(56,8);
/*cscanf("$c",&c);*/
getche();
c=getche();
if(c=='y'){
gotoxy(17,141;/* */
cprintf(" How many standard deviations from the mean: ");
gotoxy(17,15);
cprintf(" (typical value = 3) Enter value = ");
gotoxy(53,15);
cscanf("$f",&ex);
gotoxy(17,17);
cprintf(" Extending training matrix....... ");
extendD(exl;
/*********************w*************a***********t******************/
/*********************************************w************w******w/
SUBSTITUTE SHEET (RULE 26) ... . ...... .. ......__ ..... . .. L. ._..,.,.....__e . _......... .
....._... ... _.....__.._ WO 97/49011 ' PCT/US97I10430 void EqusilySpaced(1( int L,W.i.j.k,count.num.c.stop;
float ex:
InitialScreen(1;
textLook(YELLOW,BLUE1;
fseek(Train.OL,O);
gotoxy(I7,8);
cprintf(' train using the full file? (y/n): ");
gotoxy(56.8);
c=getchet):
iftc=='n')( gotoxy(17.81.
cprintf(' How many lines into the file: ');
gotoxy(53,8):
cscanf('%d'.&L);
else{
L=lengthFiletTrain);
fseek(Train.OL.O);
) stop=0;
while (!stop)( gotoxy(14.8):/* */
cprintft' Enter numer of training vectors tmax I32): ');
gotoxy(61.81:
cscanf('%d'.&num):
iflnum>132) stop=1;
) gotoxy(14,8):
cprintf(" Getting vectors from training file.... '):
count=floort((float)L)/((float) num)I:
if(count<1)[ count=1; L=num:) ColsD=num:
j=0:
for (i=O;i<L:i++)( .
if ( (i%courstl==0) ( W=readinputSample(Train);
RowsD=Wt fortk=O:k<RowsD:k++){
D(k)[j)=Sample(k):
Dt[jl[k)=Sampleik);
) j++;
) ) gotoxy(17,8);/* */
cprintf(' Extend training range (y/n): ')t gotoxy(56.8);
/*cscanf('%c",&c):*/
getche();
c=getchet);
iftc=='y')i gotoxy(17.141:/* */
cprintf(' How many standard deviations from the mean: ");
gotoxy(17.15);
cprintf(" (typical value = 3) Enter value = ');
gotoxy(53.15);
cscanft'%f~,&exl;
gotoxy(17,17);
SUBSTITUTE SHEET (RULE 26) cprintf(" Extending training matrix....... ");
extendDlexl;
) void UserSpecified()( InitialScreen();
gotoxy(14,8);
cprintf(" This feature is not available in the DEMO version ";;
gotoxy(14,9);
cprintf(" using MinMax (hit a key to continue)..... ");
getch();
MinMax();
) void extendD(float ex)( int i,~;
float mn(MAXSENS/*RowsD*/l, std(MAXSENS/*RowsD*/],tmp;
/**** InltlallZlng**rwrrr*rrrrrr/
for(i=O;i<RowsD;i++)( mn(i]=0.0;
std[i1=0.0;
]
/*****CAlculating the mean '*****/
forti=O;i<ColsD;i++) for(j=O;j<RowsD;j++) ma(j1+=D[j] [f];
for(j=O;j<RowsD;j++) uai(j ] /=ColsD;
/**** Calculating the standard deviation*****/
for(i=O;i<ColsD;i++) for(j=O;j<RowsD;j++) std(j]+=(D(j](i)-mnij])*(D(jl(i]-mn(j]):
fortj=O;j<RowsD;j++) std(j]/=(ColsD-1);
/**** Extending the range of the training matrix***/
for k =O;i<ColsD:i++)( for(j=O;j<RowsD;j++){
if (D(j] [i]«(j] ) ( D(j] (i]-=std(j]*ex:
Dt(i](j]-=std(j]*ex:
else( D(j][i]+=std(j]*ex;
Dt(i][j]+=std(j]*ex;
l int lengthFile(FILE *fl char c;
int f;
i=0:
whilef(c=getc(fl))!=EOF) if(c=='\n') i++;
fseek(fl,OL,OI;
return ( f ) ;
/*
int widthFile(FILE *fl)( char c;
int f;
SUBSTITUTE SHEET (RULE 26) .. T ... .... ._..._..._ .....
i=o;
whiie((c=gecc(~1))!='\n')( ) */
int ChooseTraining() ( int ch, yy, xx, stop;
char buff;
textLook(YELLOW.BLUE);
gotoxy(8.7);
cprintf(" There are four different ways of extracting training data from gotoxy(8.8);
cprintf(" the training file, ");
gotoxy(28.8);
textLook(13.BLUE);
cprintf("$-12s",training);
gotoxy(40.8);
textLook(YELLOW.BLUE);
cprintf(", choose one below: ");
gotoxy(30.11):
textLook(BLACK.LIGHTGRAY1;
cprintf(" 1) Use File as is "):
gotoxy(30.13);
cprintf(" 2) MinMax method ");
gotoxy(30.15);
cprintf(" 3) Equally Spaced ");
gotoxy(30.17);
cprintf(" 4) Specify States ");
/* make selection */
gotoxy(48.11);
yyall:
~ac=4 8 stop=0;
while (stop'=1)( ch=getch();
if (ch==80) ( yy=yy+2;
if (yy>17) yy=11;
if (ch==72) ( yY=YY-2%
if (yy<11) yy=17;
) if (ch==13) stop=1;
/* TESTING CONTENTS */
/*
gotoxy(1.22);
cprintf(" , ");
gotoxyl1.22);
cprintf("choice = $d".((yy-9)/2));
./
gotoxy(xx.yy);
) - return ((yy-9)/2);
) SUBSTITUTE SHEET (RULE 26) void GetSettingsl) ( int ch, yy, xx, stop;
char buff;
/* default F1 and F2 : columns for flow 1 and flow 2'/
F1=1;
F2=2:
textLook(YELLOW,HLUE);
gotoxy18,7);
cprintf(" The default input and output file names are listed below.
gotoxy(8,8);
cprintf(" Use %c and %c to move to selection, <backspace> to change name.
24.25);
gotoxy(22.11);
textLook(BLACK,LIGHTGRAY);
cprintf(" 1) training data:");
gotoxy140.11);
textLook(LIGFiTGRAY.BLACK);
cprintf(" %s ,training); ;* use gotoxy(51.I1) */
gocoxy(22.13);
textLookIBLACK,LIGHTGRAY);
cprintf(" 2) input data :");
gotoxy140,13);
textLook(LIGHTGRAY.BLACK);
cprintf(" %s ,input); /* use gotoxy(51,13) "/
gotoxy(22,15);
textLook(BLACK.LIGHTGRAY);
cprintf(" 3) SFM :")r gotoxyl40,15);
textLook(LIGHTGRAY.BLACK);
cprintf(" 2 ~); /* use gotoxy(51.15) */
gotoxy(22.17);
textLook(BLACX,LIGHTGRAY);
cprintf(~ 4) Column flow 1:");
gotoxy(40,17);
textLook(LIGHTGRAY,BLACK);
cprintf(" 1 ");
textLook(BLACK.LIGHTGRAY);
gotoxy(22.19);
cprintf(" 5) Column flow 2:");
gotoxy(40.19);
textLook(LIGHTGRAY.BLACK);
cprintf(" 2 ");
gotoxy(37,21);
textLook(RED.LIGHTGRAY);
cprintf(" done "); /*use goto(42,21) */
/* make selection */
gotoxy(53.11);
yy=11;
xx=53;
stop=0;
while (stop!=11( ch=getchl);
if (ch==801( yy=yy+2;
if (yy>21) yy=11;
SUBSTITUTE SHEET (RULE 26) T, _.._._. _ WO 9?!49011 ' PCTIUS97/10430 if (ch==72)( ~-2;
if (yy<li) yy=21;
) if (lch==81&&(yy!=21))( if (yy==11) NewNametxx.yy.ll; /* 1=training *!
if (yy==13) NewName(xx.yy.2); /* 2=input */
if (yy==15) NewName l~oc, yy. 3 ) ; / * 3=output * /
if (yes=17) NewName ( roc, yy. 4 ) ;
if (yy==19) NewName(xx.yy.5);
yy=yy+2;
) if (yy==21) ~oca42 ;
else sac=53 ;
if ((yy==21)&&(ch==13)) stop=1;
/* TESTING CONTENTS */
/*
gotoxy(1.22);
cpzintf(" '):
gotoxy(1.22);
cprintf("training = %s",training);
gotoxy(1.23);
cprintf(" ~):
gotoxy(1.23);
cprintf("input = %s\n".input);
gotoxy(1.24);
cprintf(" '):
gotoxyl1.24);
cprintf("output = %s\n",output);
*/
gotoxylxx.yy);
void InitialScreen() ( textbackground(CYAN);
clrscr();
textLook(RED.BLACK);
highvideo();
gotoxy(24.2);
cprintfl" "):
gotoxyl24.3I;
cprintf(~ MSET SIGNAL VALIDATION SYSTEM ~);
gotoxy(24.4);
cprintf(" ");
SUBSTITUTE SHEET (RULE 26) WO 97!49011 ' PCT/US97/10430 normvideo(); 30 textLook(YELLOW.BLUE);
void textLook(int txt, int bg)( textbackgrouad(bg):
textcoiorttxt);
void NewNametint xpos, int ypos, int whc) ( int l. c, maxi;
char temp(4):
textLook(LIGHTGRAY.BLACK);
gotoxylxpos-l2,ypos)r priatf(' '):
gotoxy(xpos-l2.yposl;
i=0:
maxi=-1;
while (tc=getche())!=I3)( if (c==81 (i=i-1:
if !i<01 i=0;
else( maxi=max(i.maxi);
switch (whc)( case 1: training(i)=c; break;
case 2: input(i)=c; break:
case 3: temp(ij=c: break:
case 4: temp(i)=c; break:
case 5: temp[ij=c; break:
default: break:
if+;
switch (whc)( case 1: traiaing(maxi+1]='\0';break:
case 2: input(maxi+1)='\0'; break:
case 3: temp(maxi+11='\0';
FACTOR=(float) atof(temp); break;
case 4: temp(maxi+1)='\0';
F1=atoiltemp~; break;
case 5:
temp(maxi+lj='\0';
F2=atoi(temp~; break:
default: break;
/* F1=F1-1;
F2=F2-1; */
SUBSTITUTE SHEET (RULE 26) ,._._.."._...r_. .. _ T.._ , . _ _ _..... .._.......
WO 97/49011 ' PCT/US97/10430 Appendix C
Computer software for modeling behavior for examples of the operating states of the commercial system.
SUBSTITUTE SHEET (RULE 26) % function [Erms. X hat, Err, WW2. WW1 = meet (Input, rangeL, rangeU, D, DDi, % out cola, prt_cols, alpha, beta, p flag,thrsh);
% This function estimates the state of a system using the (MSET).
;t allows scaling of the input data to the range % 0 - 1 and the use of the algorithm in a predictive mode.
% Fraction outputs:
% Exnts = Root mean squared errors for variables specified by % prt cols.
% X hat = Estimated states for variables specified by prt cols.
% Err = Estimation error for variables specified by prt cols.
% Faction inputs:
% Input = input state matrix: an N by M+1 array with the first column % containing a timestamp. The array contains n observation % vectors, with m dependent variables in each vector.
% rangeL Length M vector, where each element sets the = lower limit of % data for a corresponding variable.
% rangeU Length M vector, where each element sets the = upper limit of % data for a corresponding variable.
% D = Training set, an M by N array.
% DDi _ Inverse of the similarity matrix (from auto_trainnsa).
% out cols Optional vector specifying which columns represent a output variables predicted by the algorithm. These variables are % not included in the evaluation of W.
% prt_cols Optional vector specifying which columns to = keep in the % output.
t alpha = Multiplicative factor in the vprprod nonlinear operator.
% beta = Power factor in the vprprod nonlinear operator.
% p flag Print/don't print run progress data for 0/1.
=
% thrah = Cutoff threshold for weighting vector W (default 0) % The rangeLrangeU vectors are used to specify the anticipated and range of % the variables.Data is linearly scaled from the ranges specified by these % vectors range 0:1. If the rangeL vector specifies the to the lower limit of % the data rangeU is 0, then the code will shift the data while by subtracting % the rangeL
values from each element in a corresponding column of the data.
% If both rangeL and rangeU vectors are set to a scalar of the value of 0, % the data will not be scaled.
function [Erms. X_hat, Err,WW2.WW1 = meet (Input, rangeL, rangeU, D, DDi, ...
out cols, prt cols, alpha, beta, p_flag, thrsh);
if (nargin < 11), thrsh=0.0; end tic % Case in which not enough inputs are specified.
if nargin c 5 error('Required arguments are: Input, rangeL, rangeU, D and DDi\n\n');
end % Remove time stamp from input matrix and transpose input matrix.
Time = Input(:,1);
Y = Input(:,2:size(Input.2))';
[M, N] = size(Y);
% If out_cols, prt cols, alpha, beta, and D_flag are not specified, pick % default values for them.
if nargin == 5, out_cols=0; prt_cols~l:M; alpha=1; beta=1; Y_flag=0; end if nargin == o, prt_cois=1:M; alpha=1; beta=1; p_flag=0; end SUBSTITUTE SHEET (RULE 26) T a...__.~..._u._... _. . .._..
WO 97/49011 ' PCT/US97/10430 _f nargin =_ ., alpha=1: beta=1; p-flag=0; end if nargia == e, beta=1; p flag=o; end if nargin == 9, p flag=o; end if prt cois == 0, prt cols=1:M; end if slabs == 0, algha=1: end if beta == 0, beta=1; end % Set print flag for debug printout.
print-'lag = n flag;
% Print message if print flag is set.
if lprint_flag >= 1) fprintf('\n Starting MSET ........\n\n'):
end % Scale the input matrix to the range 0:1, if the rangeL and rangeU
% vectors are specified.
if (leagth(rangeL) _= M) & (lengthtrangeU) _= M) % Scale each observation vector is the training matrix.
Y=(Y-rangeL'*onest1.N11./...
(rangeU'*ones(1,N)-rangeL'*ones(1,N)):
%for I = 1:M
% Y(i,:) _ (Y(i.:) - rangeL(i)) / lrangeU(i) - rangeL(i)):
%ead % Print message if print flag is set.
if tprint_flag >= 1) fprintf(' Data is scaled to 0:1 range....\n\n');
end end % Shift the training matrix by the values specified in rangeL, if the rangeL
% vector is specified and rangeU is 0.
if (length(rangeL) _= M) & (rangeU == 0) % Shift each observation vector in the training matrix.
Y = Y - rangeL'*onestl,N);
%for I = 1:M
% Y(i,:) = Y(i,:) - rangeL(i):
%ead % Print message if print flag is set.
if tpzint flag >= 1) fprintf(' Data is shifted by the values in rangeL....\n\n');
end end % If the are output columns specified, then remove these variables from the % D sad Y matrices.
D~rOj s D;
Y_prOj = Y:
if tout_cols ~= 0) D_proj (out cola, : ) = Il t Y~roj (out_cols, : ) = I] ;
end % Print message if print_flag is set.
if (print_'lag >= 1) fprint°;' percent complete: o');
end SUBSTITUTE SHEET (RULE 26) X hat = zerosilength(prt_cols),N);
tmp = zeros(M.l);
Ezms = zeros(length(prt_cols).i);
Err -- zeros(leagth(prt_cols),N);
DtY = zeroslM-lengthlout_cols),1);
W = zeroslN.l);
t Main loop. Calculate estimate vectors (X hat) for each input state t vector Y.
for i=1:N
DLY = vprprod(D_proj', Y~roj(:,i), alpha, beta);
W ~ DDi ~ DtY;
WW2l:.i)~W;
tW . W ./ sum(W);
ii.find(W<thrsh):
ifllength(ii)>0) W(11)=zeros(length(ii),1);
t w . w./sum(w);
nod WW(:,i)~W;
tmp = D ~ W ;
X hatl:,i) a tmp(prt cola);
t Print message if print flag is set.
if (print flag >. 1) if ((rem(i,floor(N/100)) _. 0) ~ (i..1)) fprintf('\b\b\b');
fprintf('~t3.Of', i/N~100);
sad sad end t Scale the X hat matrix from the range 0:1 back to the range specified by t the raageL and raageU vectors, if necessary.
if (leagth(raageLl =. M) & (leagth(raageU) _. M) t Scale each observation vector in the training matrix.
tNNN=lengthtrangeU(prt cola));
trU.rangeUlprt_cols); rL.rangeL(prt cola);
tX hat=(rU(:)~ones(1.N)-...
rL(:)~ones(l,N))...
~ X_hat + rL(:)~ones(1,N);
for i = i:length(prt cola) X hat(i,:) _ (rangeU(prt cols(i)) - raageL(prt_cols(i))) ~ ...
X hat(i,:) + raageL(prt cols(i));
sad end t Shift the X_hat matrix back to the range of the data by adding rangeL to t the data. if necessary.
if (leagth(rangeL) .. M) & (rangeU =. 0) t Shift each observation vector in the training matrix.
NNN.length(prt cola);
X hat=X hat + rangeL(prt_cols)~ones(1.NNN);
tfor i = i:length(prt_cols) t X hat(i.:) = X hatli,:) + rangeL(prt_cois(i));
Lead end SUBSTITUTE SHEET (RULE 26) % Reset Y matrix to input matrix.
Y = Input(:,2:sizetInput.2))';
% Calculate error.
Err = Y(prt-cols,:) - X hat;
% Calculate rms error for variables specified by prt_cols.
Erms = diag(Err * Err');
Erms = sqrt(Erms' ./ (N - M - 1));
- % Add timestamp to X_hat and Err arrays and transpose X hat and Err arrays.
X_hat = (Time'; X_hat]';
Err = (Time'; Err]';
if (print flag ~= I) btm=fix(clock);
fprintf('\n\n Total time to complete MSET using %d training vectors\n', ...
size(D,2));
fprintf(' to analyze %d observations with %d variables each: ', N. M);
fprintf('%6.2f mires\n\n', toc/60);
end SUBSTITUTE SHEET (RULE 26) % function (z, norm_dist) _- vprprod (x, y, alpha, bets);
%
% This function perfoxmts the nonlinear operation on iaatricae z and y at the ~t heart of the MSFT. It uses the Eollooring nonlinear b operator to compare vectors in the matrices:
f(dist) . 1 / (I + alpha dist"beta), b rahere diet is the normalized Qiatance between a vector in y and each obaervatioa vector in x.
b b I! the constant alpha sad beta are not specified, default values of 1 are % used for both of them.
%
b Thie version of vDrprod returns the norm of the distance between the b each vector in y sad the exemplar vetora in x. The vector distances era b normalized with respect to the sum of the distance vectors.
%
b b function (z, norm_diat] . vprprod (x, y, alpha, beta);
if Inargin =~ Z) alpha . is beta . 1;
cad INx.~sx] . nine (x) ;
(Ny~My] a aiza(y):
if (Mx -. I,~r) fpriat!('\n\n in vpsprod(x,y), the number of columns in x must\n');
lpriatf (' equal the number of ro~re in y\a\n' ) ;
atr= (~ columns in x: ' , num2str (I~c) , , , , ' . sad the number of rove in y: ', num2str(Ny)j;
error (atr) ;
end % Initialize arrays.
z . zeros (~T7C.M~r) ;
norm = zeroa(Nx,My);
yi o zeros(Nx,Mx);
diet . zeroe(Nx,l);
tmp ~ zeros(Mr,Nx);
for i . l:My h Sxpaad each column of y into a Nx by Ny (' Nx by ~) aytrix.
of .. !..l. J 1 ~ ,...--!~ .._» r .
T _. .
Appendix D
Computer software for performing pattern recognition by detecting onset of degradation in noisy signals.
SUBSTITUTE SHEET (RULE 26) .....~....~_.. . .. .. L w._ ..~__..__ .__._..... ___.._._._. ___ .
WO 97/49011 ' PCT/US97/10430 shut ~ /
~111~~~f1f~1~11N1~~11111111~1f1~11f~hf111111!~1f1111M1r~11 /~ Stz~ :ha SS3tT asalpsis..... ~/
/~ Czleulata :"..a vsr=sacs of :hn sat:.~sta arsarsy/
!'_ (Langs~<ealtLaagt~ Ca7.c:aaagLsLanqt~:
~a~,s0 . 0 : seaal~0 . 0 s =or (.~3 r i<talc.aagth: ice) ~~'atf (hii~.~.~t'~.~ 1 ts~sat.Cf ibnt~
arsal.~ta>aP/eale~aayts:
WO 97/49011 ' PCT/ITS97/10430 fgatathuf,l3.axxor2):
tamp.atof fbnf) s maaa2i.tsmp/calctaagsh:
fsaak(ar-erl,OL.O)s fsaaktarrar2.0L.0):
varisaes1Ø0: variaacnZØ0;
for (3.G; i<calCS,,aagthsi~+) tgats (l~ut.l3.asrorl) temp.ataf that) ;
vssiaaeai+.(tamp-maaal)~Itsatg-meaal)/tcalcLaagth-1):
fgatalbat.l3.errar2);
tamp.ataf (bttf) ;
variaacaZf~ ( tang-mesa2) ~ Itaa<p-maaaZ) / tea,lc!.aagt~-11 fsaektesrarl,OL.O):
fsoakterror2,OD,0)t /~ aetaal 9F3t~ ealeulatioa sad sigaal avspyiag logic ~/
s~l~d : subl.O t M7..8icr'n~~lqrt tvariaaeell :
gl.N1/var3aaoal:
DG.FACTD3t~lqrttvariaaca2) t g2~~tdi /variaacs2:
171.1og taE"'~7l/ Il-~) ) :
8a.log( tI-HZ"":'1) /AI,pHl) s forti~Oti<1:i+t)~
if (1..0) fg~tf tparass. ~bf\a~,J171) itti..l) fpriattipanms.'tf\a~,88)s itti~~z) tpr3at:tparsas.~b!\a~.~)t it ti~~3l lyriatf tpasasss. ~1st\a~.BS) :
(close (Da--amsl Sposl~0: Sgol~.0: Saagl~Ot SaagZ.Oi far (i.OricZaagt~:iw){
/~ tgotatbuf.l3.ox=ar~)7 tamp.staf(bufy:
./
=seaaftsrrarl.~~fla~.itampi):
faeaat tarras2. ~~f\a~ . itaaq:2) _ =t t (Sposi .. ,~? ~ ~ (8posl .. ngl ) Spoai.0 s .. (IS'posZ .. ~)~(t$pos2 .. Ha)) SposZ.os '_t IISaagl ~. 7~)~~t~qi .. Hi)) Snagl.0;
if t tsasgs .. 1~) ~ ( tSSsogZ .. ~) ) Sasq2.0 r stapposl- -g1~ thLl/~ - tampl) : stapa.gi~ -gl~ (~/2 + ~aa~pl) etapposs~ -gZ~(I~B/2 - tamp2); atapasg2. -g2~tbt2/2 + tamps):
Spasi +. stapposi: Sn~g1 +. stapaagls SpoaZ +. stappos2; Saag~ +. atapaag2:
.. tS~toal c. ~) gpo~l.eJV: =t tSaagi <. ~) ~Dgl.~Ai:
'_f ISpos~ <. ~) S~as2.l~s .. tSaag2 <. gA) Saag2.u:
ifl5posl >. H8) Spoal~tiH: _tt9aagl >> BH) Sneg1~38t '-ttSlsosl >. go) SposZ.aDs :ftiaag2 >. LD) Sasg2.8Hs t WO 97/49011 ' PCT/US97/10430 a ttSpoala.as)~(tSaegla.88)) subi~lr if t t9posle..7171) 44 (Saagl<.~1~1) ) aubl~0 r i~((Sposla.BS)~~tSaag2a~H8)) sub2.l:
it ( tSpoel<..>l71) ii (Saag2<.~l) ) saub2.0 r :prj_atf(sprtposl."~f\a~.Sposl):
lpr3attisprtposs.~'~!\a~,Spos?):
~s3attlsgstaagl.'~t\a'.Saagl):
fpriatf(spstasg2.'~f\n~.Saeg2)r tsaaat tilowi.'~lla' . its~pl) r taeaaf ttsstl. 'art\a' , i~taap2) r if laubl) fpriatt teambi.'!!\a~. tsmQ2)~:
~lsa fpriatffccabi,~~t\a'.tampl)r lseaattfloaz.'tt\a~.&tsmpi)r faeaa=tfast2.~~lla~.&tomp2):
it ta:b2) lpriatflca~h2.'~f\a~.tsmpZ):
else tple3att icoa~2. ~1t\a' . tsa~l) r itt~odt (donbla) (cat+i+1) . t~la)p~) ~.G) {
Qotosyt«.3.1) 1 cp r-iatt (~~-3.3t ' , t (float) (mt+i+1) ) / t tt7.oat) Lenqtlt) ~100/Z) getosyci~.Il7 r epriattt~~-3.3f ~,lco.a)1 qotosy(34,15):
tastLoak (~~E.ltl~!) r cpsiat_ f ~ ~: x8! 1~ ' ) gotoxyt45.15):
g~tcht~ r -closa(spz rosl): telosslepz~tasgl)r fcloaattsatl): tcloss(errorl)1 tclosa (caasbl) : fclosa (tawl) 1 fclosslsprtposZ)r fc3.oselsp=taagZ): fclas~Ifast2): fclos~(arros?)1 fctoselca~ts3) : fcloaa tfla~rZ) r falose(Za)1 rrriditpntSa~pls (71IL8 ~ia) iat n~. flag. ». j char ch, hut C16I
mm~.0 ; ilag~0 ~ i.0; j.0 ~
eh.fgate(ia):
xhila((cht.'\n')i4(chl.zoy)){
avms(1(isspacalch))):/~Ei~IChta~,~)i~i(chl.~..)):'/
~~ (C'~l.~W \a' ) {k**J RoxsDe j; j.0= } ~/
if (aum..l) {
bug CiI ~cli:
1++s flag.lr it ((au~..0)~~(llag~~i)){
bs~ Ci*11 ~' \O' sepia Ij7 ~ (float) stszad(hut.aDL>;1 i.a~
tlaq.0:
jet }
ch.lgate(ia)i ii (eh..sOH) t /~ (close (Ia1 : ~/
rotura (0)~
}
aLa rstta:a (j) a a Ratio (float atasl, :last asaa2) .f (ta~~~a) )~ (a~..o)) ratuxa a.o:
slsa i= (anml ~. ate) rstuxa ac~/ausl=
also ratusa atasL/na~r irslsD () iat axtm. flag. i. j. x:
char eh. but C16I r ataN.O ~ !laq.0 ~ i.0: j~0 ~ k.0;
xhila ( (eh.lgate L~aial ) (~BOF) {
alas. ( 1 ( isapaca (eh) ) 4R ( ch! .' , ' ) ~a ( ch 1 .' ~ ~ ) y .f Ich..'~a~) {ki~~ RoxaD.j; j.0:}
it (aum..l) bnf Ci) .ch;
i*~;
=Lag.i:
if ( (a~..0) 4i(llag..i) ) T ___._.....
~ ..:+iI =~ \o ~ , Dttk1 h1 ~ tfloat) atr:~d(bxf.8~:,7 DIjII3~1-t~'..anti s.--ad(but.STflL:.i;
1~0~
flag.0,' j~, CG1SD.'s:
t~' osa (~l t; > i::
Claims (30)
1. A method for monitoring at least one of an industrial process and industrial sensors, comprising the steps of:
generating time varying data from a plurality of industrial sensors;
processing the time varying data to effectuate- optimum time correlation of the data accumulated from the plurality of industrial sensors;
searching the time correlated data to identify maximum and minimum values for the data, thereby determining a full range of values for the data from the industrial process;
determining learned states of a normal operational condition of the industrial process and using the learned states to generate expected values of the operating industrial process;
comparing the expected values to current actual values of the industrial process to identify a current state of the industrial process closest to one of the learned states and generating a set of modeled data;
processing the modeled data to identify a pattern for the data and upon detecting a deviation from a pattern characteristics of normal operation, an alarm is generated.
generating time varying data from a plurality of industrial sensors;
processing the time varying data to effectuate- optimum time correlation of the data accumulated from the plurality of industrial sensors;
searching the time correlated data to identify maximum and minimum values for the data, thereby determining a full range of values for the data from the industrial process;
determining learned states of a normal operational condition of the industrial process and using the learned states to generate expected values of the operating industrial process;
comparing the expected values to current actual values of the industrial process to identify a current state of the industrial process closest to one of the learned states and generating a set of modeled data;
processing the modeled data to identify a pattern for the data and upon detecting a deviation from a pattern characteristics of normal operation, an alarm is generated.
2. The method as defined in claim 1 wherein the industrial process comprises a physical process.
3. The method as defined in claim 1 wherein the step of determining optimum time correlation comprises comparing pairs of sensor signals, each characteristic of a separate sensor and calculating a cross correlation vector over time, applying a low pass filter to remove noise from the cross correlation vector and determining phase shift between the sensor signals.
4. The method as defined in claim 3 wherein the step of determining phase shift comprises differentiating the cross correlation vector with respect to lag time between each pair of signals and performing an interpolation to compute the root of the differential of the cross correlation vector.
5. The method as defined in claim 1 wherein the step of identifying a current state of the industrial process closest to the learned state includes forming a combination of the learned states to identity a true state of the industrial process.
6. The method as defined in claim 5 further including the step of substituting an expected value for incomplete observations of the industrial process.
7. The method as defined in claim 1 wherein the step of detecting a deviation from normal operation comprises applying a sequential probability ratio test to the modeled data.
8. The method as defined in claim 1 wherein the step of detecting a deviation from normal operation comprises performing a pattern recognition analysis using computer means.
9. A method for monitoring at least one of an industrial process and an industrial data source, comprising the steps of:
generating time varying data from a plurality of industrial data sources;
determining learned states of a normal operational condition of the industrial process to use the learned states to generate expected values of the operating industrial process;
comparing the expected values to current values of the industrial process to identifying a current state of the industrial process closest to one of the learned states and generating a set of modeled data;
processing the modeled data to identify a pattern for the data and upon detecting a deviation from a pattern characteristic of normal operation, an alarm is generated.
generating time varying data from a plurality of industrial data sources;
determining learned states of a normal operational condition of the industrial process to use the learned states to generate expected values of the operating industrial process;
comparing the expected values to current values of the industrial process to identifying a current state of the industrial process closest to one of the learned states and generating a set of modeled data;
processing the modeled data to identify a pattern for the data and upon detecting a deviation from a pattern characteristic of normal operation, an alarm is generated.
10. The method as defined in claim 9 wherein the step of identifying a current state of the industrial process closest to the learned state includes forming a combination of the learned states to identify a true state of the industrial process.
11. The method as defined in claim 9 further including the step of substituting an expected value for incomplete observations.
12. The method as defined in claim 9 wherein the industrial data source is selected from the group consisting of an industrial manufacturing process, a utility operation, weather forecasting and a transportation system.
13. The method as defined in claim 9 wherein the plurality of industrial data sources comprises a plurality of sensor pairs.
14. The method as defined in claim 9 wherein the step of processing the modeled data comprises applying a sequential probability ratio test (SPRT) process.
15. The method as defined in claim 9 further including a step of determining time phase shift between the plurality of the time varying data being output.
16. A method for monitoring at least one of an industrial process and an individual date source, comprising the steps of:
sensing time varying data from at least one industrial data source of an industrial process;
determining learned states of a desired operational condition of the industrial process to use the learned states to generate expected values of the industrial process;
comparing the expected values to current sensed values of the industrial process to identify a current state of the industrial process closest to one of the learned states and generating data characteristic of the current state; and processing the data that is characteristic of the current state to identify a pattern for the data and upon detecting a deviation from a pattern characteristic of the desired operational condition, a signal is generated indicating at least one of the industrial process and the industrial data source is not of the desired operational condition.
sensing time varying data from at least one industrial data source of an industrial process;
determining learned states of a desired operational condition of the industrial process to use the learned states to generate expected values of the industrial process;
comparing the expected values to current sensed values of the industrial process to identify a current state of the industrial process closest to one of the learned states and generating data characteristic of the current state; and processing the data that is characteristic of the current state to identify a pattern for the data and upon detecting a deviation from a pattern characteristic of the desired operational condition, a signal is generated indicating at least one of the industrial process and the industrial data source is not of the desired operational condition.
17. The method as defined in claim 16 further including the step of searching the time varying data, before comparing the current actual values to the expected values, to identify minimum and maximum values for the data, thereby establishing a full range of values for the data.
18. The method as defined in claim 17 wherein each said industrial data source is characterized by two data values associated with the minimum and maximum values.
19. The method as defined in claim 16 wherein said step of processing the data characteristic of the current state to identify a pattern comprises applying a sequential probability ratio test.
20. The method as defined in claim 19 wherein data that is characteristic of the current state is processed to generate a set of modeled data which is further processed to identify the pattern for the data.
21. The method as defined in claim 16 wherein the industrial process is selected from the group consisting of a manufacturing process, a physical process, a chemical process, a biological process and an electronic process.
22. The method as defined in claim 16 further including the step of substituting an estimated signal for said industrial data source upon detecting the deviation from a pattern characteristic of the desired operational condition, thereby replacing a faulted data source enabling continued operation and monitoring of the industrial process.
23. The method as defined in claim 16 further including the step of processing the time varying data to effectuate optimum time correlation of the data.
24. The method as defined in claim 23 wherein the step of determining optimum time correlation comprises comparing pairs of sensor signals, each characteristic of a separate sensor and calculating a cross correlation vector over time, applying a low pass filter to remove noise from the cross correlation vector and determining phase shift between the sensor signals.
25. A method for monitoring at least one of an industrial process and an industrial sensor, comprising the steps of:
sensing time varying data from at least one industrial data source of an industrial process;
searching signals from the at least one industrial data source to identify maximum and minimum values for the time varying data;
determining learned states of a desired operational condition of the industrial process to use the learned states to generate expected values of the industrial process; and processing the expected values by identifying a pattern for the time varying data and upon detecting a deviation from the desired operational condition, a signal is generated indicating at least one of the industrial process and the industrial data source is not of the desired operational condition.
sensing time varying data from at least one industrial data source of an industrial process;
searching signals from the at least one industrial data source to identify maximum and minimum values for the time varying data;
determining learned states of a desired operational condition of the industrial process to use the learned states to generate expected values of the industrial process; and processing the expected values by identifying a pattern for the time varying data and upon detecting a deviation from the desired operational condition, a signal is generated indicating at least one of the industrial process and the industrial data source is not of the desired operational condition.
26. The method as defined in claim 25 further including the step of substituting an estimated signal for said industrial data source upon detecting the deviation from a pattern and characteristic of the desired operational condition, thereby replacing a faulted data source enabling continued operation and monitoring of the industrial process.
27. The method as defined in claim 25 further including the step of processing the time varying data to effectuate optimum time correlation.
28. The method as defined in claim 25 wherein the step of identifying a pattern for the time varying data comprises applying a sequential probability ratio test.
29. The method as defined in claim 25 wherein the industrial process is selected from the group consisting of a manufacturing process, a physical process, a chemical process, an electronic process and a biological process.
30. Apparatus for monitoring at least one of an industrial process and industrial sensors, comprising:
means for generating time varying data from a plurality of industrial sensors;
means for processing the time varying data to effectuate optimum time correlation of the data accumulated from the plurality of industrial sensors;
means for searching the time correlated data to identify maximum and minimum values for the data, thereby determining a full range of values for the data from the industrial process;
means for determining learned states of a normal operational condition of the industrial process and using the learned states to generate expected values of the operating industrial process;
means for comparing the expected values to current actual values of the industrial process to identify a current state of the industrial process closest to one of the learned states and generating a set of modeled data; and means for processing the modeled data to identify a pattern for the data and upon detecting a deviation from a pattern characteristics of normal operation, an alarm is generated.
means for generating time varying data from a plurality of industrial sensors;
means for processing the time varying data to effectuate optimum time correlation of the data accumulated from the plurality of industrial sensors;
means for searching the time correlated data to identify maximum and minimum values for the data, thereby determining a full range of values for the data from the industrial process;
means for determining learned states of a normal operational condition of the industrial process and using the learned states to generate expected values of the operating industrial process;
means for comparing the expected values to current actual values of the industrial process to identify a current state of the industrial process closest to one of the learned states and generating a set of modeled data; and means for processing the modeled data to identify a pattern for the data and upon detecting a deviation from a pattern characteristics of normal operation, an alarm is generated.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/666,938 | 1996-06-19 | ||
US08/666,938 US5764509A (en) | 1996-06-19 | 1996-06-19 | Industrial process surveillance system |
PCT/US1997/010430 WO1997049011A1 (en) | 1996-06-19 | 1997-06-13 | Industrial process surveillance system |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2257881A1 CA2257881A1 (en) | 1997-12-24 |
CA2257881C true CA2257881C (en) | 2004-02-10 |
Family
ID=24676137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002257881A Expired - Lifetime CA2257881C (en) | 1996-06-19 | 1997-06-13 | Industrial process surveillance system |
Country Status (9)
Country | Link |
---|---|
US (2) | US5764509A (en) |
EP (1) | EP0906593B1 (en) |
JP (1) | JP3449560B2 (en) |
KR (1) | KR100313067B1 (en) |
AU (1) | AU3396797A (en) |
CA (1) | CA2257881C (en) |
DE (1) | DE69723839T2 (en) |
ES (1) | ES2205244T3 (en) |
WO (1) | WO1997049011A1 (en) |
Families Citing this family (138)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998024009A1 (en) * | 1996-11-28 | 1998-06-04 | Siemens Aktiengesellschaft | Process for parametering a fuzzy automaton that compares a measurement system to a pattern signal |
US6131076A (en) * | 1997-07-25 | 2000-10-10 | Arch Development Corporation | Self tuning system for industrial surveillance |
US6185466B1 (en) * | 1997-10-06 | 2001-02-06 | Proteus Industries, Inc. | Distributed digital control system including modules with multiple stored databases and selector |
US5987399A (en) * | 1998-01-14 | 1999-11-16 | Arch Development Corporation | Ultrasensitive surveillance of sensors and processes |
US6119111A (en) * | 1998-06-09 | 2000-09-12 | Arch Development Corporation | Neuro-parity pattern recognition system and method |
US6035240A (en) * | 1998-11-12 | 2000-03-07 | Moorehead; Jack | Flexible distributed processing system for sensor data acquisition and control |
US7386426B1 (en) * | 1999-04-30 | 2008-06-10 | Smartsignal Corporation | Method and system for nonlinear state estimation |
WO2000067412A2 (en) * | 1999-04-30 | 2000-11-09 | Dryken Technologies | Method and system for nonlinear state estimation |
US6442542B1 (en) * | 1999-10-08 | 2002-08-27 | General Electric Company | Diagnostic system with learning capabilities |
US6876991B1 (en) | 1999-11-08 | 2005-04-05 | Collaborative Decision Platforms, Llc. | System, method and computer program product for a collaborative decision platform |
US6539343B2 (en) * | 2000-02-03 | 2003-03-25 | Xerox Corporation | Methods for condition monitoring and system-level diagnosis of electro-mechanical systems with multiple actuating components operating in multiple regimes |
WO2001061615A1 (en) * | 2000-02-14 | 2001-08-23 | Infoglide Corporation | Monitoring and control of processes and machines |
US7739096B2 (en) * | 2000-03-09 | 2010-06-15 | Smartsignal Corporation | System for extraction of representative data for training of adaptive process monitoring equipment |
WO2001067262A1 (en) | 2000-03-09 | 2001-09-13 | Smartsignal Corporation | Generalized lensing angular similarity operator |
US6957172B2 (en) | 2000-03-09 | 2005-10-18 | Smartsignal Corporation | Complex signal decomposition and modeling |
WO2001069186A1 (en) | 2000-03-10 | 2001-09-20 | Cyrano Sciences, Inc. | Measuring and analyzing multi-dimensional sensory information for identification purposes |
AU4733601A (en) | 2000-03-10 | 2001-09-24 | Cyrano Sciences Inc | Control for an industrial process using one or more multidimensional variables |
US6952662B2 (en) * | 2000-03-30 | 2005-10-04 | Smartsignal Corporation | Signal differentiation system using improved non-linear operator |
US6609036B1 (en) * | 2000-06-09 | 2003-08-19 | Randall L. Bickford | Surveillance system and method having parameter estimation and operating mode partitioning |
US6917839B2 (en) * | 2000-06-09 | 2005-07-12 | Intellectual Assets Llc | Surveillance system and method having an operating mode partitioned fault classification model |
EP1299778A2 (en) * | 2000-06-30 | 2003-04-09 | The Dow Chemical Company | Multi-variable matrix process control |
JP2002043200A (en) * | 2000-07-24 | 2002-02-08 | Mitsubishi Electric Corp | Method and device for detecting abnormal cause |
TW577003B (en) * | 2000-09-29 | 2004-02-21 | Manugistics Inc | System, network, storage device, and method for supply chain management, including collaboration |
CA2419240C (en) * | 2000-10-26 | 2007-04-10 | Triant Technologies Inc. | Method for estimating and reducing uncertainties in process measurements |
US20020077792A1 (en) * | 2000-10-27 | 2002-06-20 | Panacya, Inc. | Early warning in e-service management systems |
AU2002224459A1 (en) * | 2000-10-27 | 2002-05-06 | Manugistics, Inc. | System and methods for sharing and viewing supply chain information |
TW541483B (en) * | 2000-10-27 | 2003-07-11 | Manugistics Inc | System and method for ensuring order fulfillment |
US20030149570A1 (en) * | 2000-10-27 | 2003-08-07 | Panacya, Inc. | Early warning in e-service management systems |
US6556939B1 (en) * | 2000-11-22 | 2003-04-29 | Smartsignal Corporation | Inferential signal generator for instrumented equipment and processes |
GB0029760D0 (en) * | 2000-12-06 | 2001-01-17 | Secr Defence Brit | Tracking systems for detecting sensor errors |
US7233886B2 (en) * | 2001-01-19 | 2007-06-19 | Smartsignal Corporation | Adaptive modeling of changed states in predictive condition monitoring |
US7373283B2 (en) * | 2001-02-22 | 2008-05-13 | Smartsignal Corporation | Monitoring and fault detection system and method using improved empirical model for range extrema |
US20020183971A1 (en) * | 2001-04-10 | 2002-12-05 | Wegerich Stephan W. | Diagnostic systems and methods for predictive condition monitoring |
US7539597B2 (en) | 2001-04-10 | 2009-05-26 | Smartsignal Corporation | Diagnostic systems and methods for predictive condition monitoring |
DK1393136T3 (en) * | 2001-04-26 | 2009-05-11 | Abb As | Method for monitoring and detecting sensor failures in oil and gas production systems |
US6668240B2 (en) | 2001-05-03 | 2003-12-23 | Emerson Retail Services Inc. | Food quality and safety model for refrigerated food |
US6892546B2 (en) | 2001-05-03 | 2005-05-17 | Emerson Retail Services, Inc. | System for remote refrigeration monitoring and diagnostics |
US6839655B2 (en) | 2001-05-25 | 2005-01-04 | University Of Chicago | System for monitoring non-coincident, nonstationary process signals |
GB0113627D0 (en) * | 2001-06-05 | 2001-07-25 | Univ Stirling | Controller and method of controlling an apparatus |
US6975962B2 (en) * | 2001-06-11 | 2005-12-13 | Smartsignal Corporation | Residual signal alert generation for condition monitoring using approximated SPRT distribution |
EP1419442A2 (en) * | 2001-08-21 | 2004-05-19 | Idtect | System and method for scalable multi-level remote diagnosis and predictive maintenance |
US20030046382A1 (en) * | 2001-08-21 | 2003-03-06 | Sascha Nick | System and method for scalable multi-level remote diagnosis and predictive maintenance |
JP4184638B2 (en) * | 2001-08-31 | 2008-11-19 | 株式会社東芝 | Life diagnosis method for semiconductor manufacturing equipment |
US6892163B1 (en) | 2002-03-08 | 2005-05-10 | Intellectual Assets Llc | Surveillance system and method having an adaptive sequential probability fault detection test |
US7254520B2 (en) * | 2002-05-14 | 2007-08-07 | Analysis And Measurement Services Corporation | Testing of wire systems and end devices installed in industrial processes |
US6915237B2 (en) * | 2002-05-14 | 2005-07-05 | Analysis And Measurement Services Corporation | Integrated system for verifying the performance and health of instruments and processes |
US7103615B2 (en) * | 2002-07-23 | 2006-09-05 | The Boeing Company | Process evaluation distributed system |
US7233884B2 (en) * | 2002-10-31 | 2007-06-19 | United Technologies Corporation | Methodology for temporal fault event isolation and identification |
US6889173B2 (en) | 2002-10-31 | 2005-05-03 | Emerson Retail Services Inc. | System for monitoring optimal equipment operating parameters |
US6909960B2 (en) * | 2002-10-31 | 2005-06-21 | United Technologies Corporation | Method for performing gas turbine performance diagnostics |
PT1579288T (en) * | 2002-11-04 | 2017-06-23 | Ge Intelligent Platforms Inc | System state monitoring using recurrent local learning machine |
GB0314870D0 (en) * | 2003-06-26 | 2003-10-29 | Rolls Royce Power Eng | Remote monitoring system |
US6980874B2 (en) * | 2003-07-01 | 2005-12-27 | General Electric Company | System and method for detecting an anomalous condition in a multi-step process |
US20050004684A1 (en) * | 2003-07-01 | 2005-01-06 | General Electric Company | System and method for adjusting a control model |
US7050875B2 (en) * | 2003-07-01 | 2006-05-23 | General Electric Company | System and method for detecting an anomalous condition |
US20060074558A1 (en) * | 2003-11-26 | 2006-04-06 | Williamson Walton R | Fault-tolerant system, apparatus and method |
US7292952B1 (en) * | 2004-02-03 | 2007-11-06 | Sun Microsystems, Inc. | Replacing a signal from a failed sensor in a computer system with an estimated signal derived from correlations with other signals |
US7249287B2 (en) * | 2004-04-19 | 2007-07-24 | General Electric Company | Methods and apparatus for providing alarm notification |
US7412842B2 (en) | 2004-04-27 | 2008-08-19 | Emerson Climate Technologies, Inc. | Compressor diagnostic and protection system |
US7799273B2 (en) | 2004-05-06 | 2010-09-21 | Smp Logic Systems Llc | Manufacturing execution system for validation, quality and risk assessment and monitoring of pharmaceutical manufacturing processes |
US7275377B2 (en) | 2004-08-11 | 2007-10-02 | Lawrence Kates | Method and apparatus for monitoring refrigerant-cycle systems |
US7953577B2 (en) * | 2004-08-25 | 2011-05-31 | Siemens Corporation | Method and apparatus for improved fault detection in power generation equipment |
US7188050B2 (en) * | 2004-08-25 | 2007-03-06 | Siemens Corporate Research, Inc. | Method and apparatus for detecting out-of-range conditions in power generation equipment operations |
EP1851959B1 (en) | 2005-02-21 | 2012-04-11 | Computer Process Controls, Inc. | Enterprise control and monitoring system |
EP1705542B1 (en) * | 2005-03-24 | 2008-08-06 | Abb Research Ltd. | Estimating health parameters or symptoms of a degrading system |
US20060293859A1 (en) * | 2005-04-13 | 2006-12-28 | Venture Gain L.L.C. | Analysis of transcriptomic data using similarity based modeling |
US7640145B2 (en) * | 2005-04-25 | 2009-12-29 | Smartsignal Corporation | Automated model configuration and deployment system for equipment health monitoring |
US7155365B1 (en) * | 2005-08-02 | 2006-12-26 | Sun Microsystems, Inc. | Optimal bandwidth and power utilization for ad hoc networks of wireless smart sensors |
CN101365378A (en) * | 2005-11-29 | 2009-02-11 | 风险获利有限公司 | Residual-based monitoring of human health |
EP1793296A1 (en) * | 2005-12-05 | 2007-06-06 | Insyst Ltd. | An apparatus and method for the analysis of a process having parameter-based faults |
US7558985B2 (en) * | 2006-02-13 | 2009-07-07 | Sun Microsystems, Inc. | High-efficiency time-series archival system for telemetry signals |
US8590325B2 (en) | 2006-07-19 | 2013-11-26 | Emerson Climate Technologies, Inc. | Protection and diagnostic module for a refrigeration system |
US8341260B2 (en) * | 2006-08-16 | 2012-12-25 | Oracle America, Inc. | Method and system for identification of decisive action state of server components via telemetric condition tracking |
US8116566B2 (en) * | 2006-08-28 | 2012-02-14 | Colorado State University Research Foundation | Unknown pattern set recognition |
US8046200B2 (en) * | 2006-09-05 | 2011-10-25 | Colorado State University Research Foundation | Nonlinear function approximation over high-dimensional domains |
US20080216494A1 (en) | 2006-09-07 | 2008-09-11 | Pham Hung M | Compressor data module |
US8275577B2 (en) * | 2006-09-19 | 2012-09-25 | Smartsignal Corporation | Kernel-based method for detecting boiler tube leaks |
US7822697B2 (en) * | 2006-09-29 | 2010-10-26 | Globvision Inc. | Method and apparatus for infrastructure health monitoring and analysis wherein anomalies are detected by comparing measured outputs to estimated/modeled outputs by using a delay |
US7769562B2 (en) * | 2006-11-13 | 2010-08-03 | Oracle America, Inc. | Method and apparatus for detecting degradation in a remote storage device |
US8682835B1 (en) * | 2006-12-15 | 2014-03-25 | Intellectual Assets Llc | Asset surveillance method and system comprising a dynamic model framework |
US8311774B2 (en) | 2006-12-15 | 2012-11-13 | Smartsignal Corporation | Robust distance measures for on-line monitoring |
US8706451B1 (en) * | 2006-12-15 | 2014-04-22 | Oracle America, Inc | Method and apparatus for generating a model for an electronic prognostics system |
US7917540B2 (en) * | 2007-02-22 | 2011-03-29 | Colorado State University Research Foundation | Nonlinear set to set pattern recognition |
US20090037142A1 (en) | 2007-07-30 | 2009-02-05 | Lawrence Kates | Portable method and apparatus for monitoring refrigerant-cycle systems |
CA2695450C (en) | 2007-08-03 | 2016-10-18 | Smartsignal Corporation | Fuzzy classification approach to fault pattern matching |
US7853441B2 (en) * | 2007-08-22 | 2010-12-14 | United Technologies Corp. | Systems and methods involving engine models |
US7930639B2 (en) | 2007-09-26 | 2011-04-19 | Rockwell Automation Technologies, Inc. | Contextualization for historians in industrial systems |
US7689368B2 (en) * | 2007-10-26 | 2010-03-30 | Caterpillar Inc. | Systems and methods for early detection of machine component failure |
US9140728B2 (en) | 2007-11-02 | 2015-09-22 | Emerson Climate Technologies, Inc. | Compressor sensor module |
US8700550B1 (en) | 2007-11-30 | 2014-04-15 | Intellectual Assets Llc | Adaptive model training system and method |
US8712929B1 (en) | 2007-11-30 | 2014-04-29 | Intellectual Assets Llc | Dynamic data filtering system and method |
US8103672B2 (en) * | 2009-05-20 | 2012-01-24 | Detectent, Inc. | Apparatus, system, and method for determining a partial class membership of a data record in a class |
AU2010253739B2 (en) | 2009-05-29 | 2015-07-16 | Emerson Climate Technologies Retail Solutions, Inc. | System and method for monitoring and evaluating equipment operating parameter modifications |
US8560283B2 (en) * | 2009-07-10 | 2013-10-15 | Emerson Process Management Power And Water Solutions, Inc. | Methods and apparatus to compensate first principle-based simulation models |
DE102009040386A1 (en) | 2009-09-07 | 2011-03-10 | Schaeffler Technologies Gmbh & Co. Kg | Method for state and process monitoring and device therefor |
EP2523625B1 (en) * | 2010-01-14 | 2017-03-08 | PhysIQ Inc. | Multivariate residual-based health index for human health monitoring |
US8386859B2 (en) * | 2010-04-30 | 2013-02-26 | International Business Machines Corporation | On-chip non-volatile storage of a test-time profile for efficiency and performance control |
US8276018B2 (en) | 2010-04-30 | 2012-09-25 | International Business Machines Corporation | Non-volatile memory based reliability and availability mechanisms for a computing device |
US8862433B2 (en) | 2010-05-18 | 2014-10-14 | United Technologies Corporation | Partitioning of turbomachine faults |
EP2580629A2 (en) * | 2010-06-10 | 2013-04-17 | Siemens Corporation | Method for quantitative resilience estimation of industrial control systems |
US10761524B2 (en) * | 2010-08-12 | 2020-09-01 | Rosemount Inc. | Wireless adapter with process diagnostics |
JP5501903B2 (en) * | 2010-09-07 | 2014-05-28 | 株式会社日立製作所 | Anomaly detection method and system |
CN105910247B (en) | 2011-02-28 | 2018-12-14 | 艾默生电气公司 | The monitoring and diagnosis of the HVAC of house solution |
US20120259792A1 (en) * | 2011-04-06 | 2012-10-11 | International Business Machines Corporation | Automatic detection of different types of changes in a business process |
US9256224B2 (en) | 2011-07-19 | 2016-02-09 | GE Intelligent Platforms, Inc | Method of sequential kernel regression modeling for forecasting and prognostics |
US8660980B2 (en) * | 2011-07-19 | 2014-02-25 | Smartsignal Corporation | Monitoring system using kernel regression modeling with pattern sequences |
US9250625B2 (en) | 2011-07-19 | 2016-02-02 | Ge Intelligent Platforms, Inc. | System of sequential kernel regression modeling for forecasting and prognostics |
US8620853B2 (en) * | 2011-07-19 | 2013-12-31 | Smartsignal Corporation | Monitoring method using kernel regression modeling with pattern sequences |
US8964338B2 (en) | 2012-01-11 | 2015-02-24 | Emerson Climate Technologies, Inc. | System and method for compressor motor protection |
KR101622068B1 (en) * | 2012-05-16 | 2016-05-17 | 도시바 미쓰비시덴키 산교시스템 가부시키가이샤 | Setting calculation system learning device and learning method |
US9075713B2 (en) | 2012-05-24 | 2015-07-07 | Mitsubishi Electric Research Laboratories, Inc. | Method for detecting anomalies in multivariate time series data |
US9310439B2 (en) | 2012-09-25 | 2016-04-12 | Emerson Climate Technologies, Inc. | Compressor having a control and diagnostic module |
US10222769B2 (en) | 2012-10-12 | 2019-03-05 | Emerson Process Management Power & Water Solutions, Inc. | Method for determining and tuning process characteristic parameters using a simulation system |
US9803902B2 (en) | 2013-03-15 | 2017-10-31 | Emerson Climate Technologies, Inc. | System for refrigerant charge verification using two condenser coil temperatures |
WO2014144446A1 (en) | 2013-03-15 | 2014-09-18 | Emerson Electric Co. | Hvac system remote monitoring and diagnosis |
US9551504B2 (en) | 2013-03-15 | 2017-01-24 | Emerson Electric Co. | HVAC system remote monitoring and diagnosis |
CN106030221B (en) | 2013-04-05 | 2018-12-07 | 艾默生环境优化技术有限公司 | Heat pump system with refrigerant charging diagnostic function |
CN105683852B (en) | 2013-09-06 | 2018-04-10 | 通用电气智能平台有限公司 | Apparatus and method for model adaptation |
US9430882B2 (en) | 2013-10-11 | 2016-08-30 | Kenton Ho | Computerized vehicle maintenance management system with embedded stochastic modelling |
US10409926B2 (en) | 2013-11-27 | 2019-09-10 | Falkonry Inc. | Learning expected operational behavior of machines from generic definitions and past behavior |
US9379951B2 (en) | 2014-01-10 | 2016-06-28 | Instep Software, Llc | Method and apparatus for detection of anomalies in integrated parameter systems |
US10037128B2 (en) | 2014-02-04 | 2018-07-31 | Falkonry, Inc. | Operating behavior classification interface |
KR101997580B1 (en) * | 2015-01-08 | 2019-07-08 | 비앤에프테크놀로지 주식회사 | Data classification method based on correlation, and a computer-readable storege medium having program to perform the same |
US10101049B2 (en) | 2015-11-12 | 2018-10-16 | Oracle International Corporation | Determining parameters of air-cooling mechanisms |
KR101827108B1 (en) * | 2016-05-04 | 2018-02-07 | 두산중공업 주식회사 | Plant fault detection learning method and system |
US20170372237A1 (en) * | 2016-06-22 | 2017-12-28 | General Electric Company | System and method for producing models for asset management from requirements |
JP7009438B2 (en) * | 2016-07-07 | 2022-01-25 | アスペン テクノロジー インコーポレイテッド | Computer systems and methods for monitoring key performance indicators (KPIs) using time series pattern models |
WO2018035718A1 (en) * | 2016-08-23 | 2018-03-01 | Accenture Global Solutions Limited | Real-time industrial plant production prediction and operation optimization |
US10718689B2 (en) | 2016-12-22 | 2020-07-21 | General Electric Company | Modeling and visualization of vibration mechanics in residual space |
US11392850B2 (en) * | 2018-02-02 | 2022-07-19 | Oracle International Corporation | Synthesizing high-fidelity time-series sensor signals to facilitate machine-learning innovations |
US11295012B2 (en) * | 2019-01-09 | 2022-04-05 | Oracle International Corporation | Characterizing and mitigating spillover false alarms in inferential models for machine-learning prognostics |
US11334057B2 (en) * | 2019-01-25 | 2022-05-17 | Waygate Technologies Usa, Lp | Anomaly detection for predictive maintenance and deriving outcomes and workflows based on data quality |
JP7229861B2 (en) * | 2019-06-20 | 2023-02-28 | 株式会社日立製作所 | Failure predictor diagnostic device and its method |
KR102072836B1 (en) * | 2019-07-02 | 2020-02-03 | 비앤에프테크놀로지 주식회사 | Data classification method based on correlation, and a computer-readable storege medium having program to perform the same |
US10958521B2 (en) | 2019-07-19 | 2021-03-23 | Oracle International Corporation | Method and apparatus for configuring a cloud storage software appliance |
DE102020109858A1 (en) * | 2020-04-08 | 2021-10-14 | Balluff Gmbh | Method of operating a system |
US11449044B2 (en) | 2020-04-17 | 2022-09-20 | Emerson Process Management Power & Water Solutions, Inc. | Successive maximum error reduction |
US11704615B2 (en) | 2020-08-31 | 2023-07-18 | altumAI Insurance Solutions, LLC | Risk assessment apparatus and related methods |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3851157A (en) * | 1973-07-09 | 1974-11-26 | United Aircraft Corp | Self-correcting feedback control system |
US4295128A (en) * | 1979-03-26 | 1981-10-13 | University Of Tennessee Research Corp. | Apparatus for measuring the degradation of a sensor time constant |
US5070468A (en) * | 1988-07-20 | 1991-12-03 | Mitsubishi Jukogyo Kabushiki Kaisha | Plant fault diagnosis system |
US4937763A (en) | 1988-09-06 | 1990-06-26 | E I International, Inc. | Method of system state analysis |
US5009833A (en) * | 1989-01-11 | 1991-04-23 | Westinghouse Electric Corp. | Expert system for surveillance, diagnosis and prognosis of plant operation |
US4975685A (en) * | 1989-05-08 | 1990-12-04 | General Motors Corporation | Guide path short detector |
SE463338B (en) * | 1989-06-14 | 1990-11-05 | Ludwik Liszka | SETTING TO MONITOR AND / OR DIAGNOSTIC CURRENT OPERATING CONDITIONS WITH COMPLIED MACHINES |
DE3923432C2 (en) * | 1989-07-15 | 1997-07-17 | Bodenseewerk Geraetetech | Device for generating measurement signals with a plurality of sensors |
US4977390A (en) * | 1989-10-19 | 1990-12-11 | Niagara Mohawk Power Corporation | Real time method for processing alaarms generated within a predetermined system |
US5402521A (en) * | 1990-02-28 | 1995-03-28 | Chiyoda Corporation | Method for recognition of abnormal conditions using neural networks |
US5164895A (en) * | 1990-03-16 | 1992-11-17 | Westinghouse Electric Corp. | Neutron flux mapping system for nuclear reactors |
US5255208A (en) * | 1991-08-08 | 1993-10-19 | Aeg Westinghouse Transportation Systems, Inc. | On-line processor based diagnostic system |
US5223207A (en) * | 1992-01-29 | 1993-06-29 | The United States Of America As Represented By The United States Department Of Energy | Expert system for online surveillance of nuclear reactor coolant pumps |
US5410492A (en) * | 1992-01-29 | 1995-04-25 | Arch Development Corporation | Processing data base information having nonwhite noise |
US5459675A (en) * | 1992-01-29 | 1995-10-17 | Arch Development Corporation | System for monitoring an industrial process and determining sensor status |
US6002839A (en) * | 1992-11-24 | 1999-12-14 | Pavilion Technologies | Predictive network with graphically determined preprocess transforms |
JP3147586B2 (en) * | 1993-05-21 | 2001-03-19 | 株式会社日立製作所 | Plant monitoring and diagnosis method |
US5586066A (en) * | 1994-06-08 | 1996-12-17 | Arch Development Corporation | Surveillance of industrial processes with correlated parameters |
JPH0822403A (en) * | 1994-07-11 | 1996-01-23 | Fujitsu Ltd | Monitor device for computer system |
US5680409A (en) | 1995-08-11 | 1997-10-21 | Fisher-Rosemount Systems, Inc. | Method and apparatus for detecting and identifying faulty sensors in a process |
-
1996
- 1996-06-19 US US08/666,938 patent/US5764509A/en not_active Expired - Lifetime
-
1997
- 1997-06-13 AU AU33967/97A patent/AU3396797A/en not_active Abandoned
- 1997-06-13 WO PCT/US1997/010430 patent/WO1997049011A1/en active IP Right Grant
- 1997-06-13 ES ES97930046T patent/ES2205244T3/en not_active Expired - Lifetime
- 1997-06-13 DE DE69723839T patent/DE69723839T2/en not_active Expired - Lifetime
- 1997-06-13 EP EP97930046A patent/EP0906593B1/en not_active Expired - Lifetime
- 1997-06-13 JP JP50322398A patent/JP3449560B2/en not_active Expired - Lifetime
- 1997-06-13 KR KR1019980710448A patent/KR100313067B1/en not_active IP Right Cessation
- 1997-06-13 CA CA002257881A patent/CA2257881C/en not_active Expired - Lifetime
-
1998
- 1998-02-24 US US09/028,443 patent/US6181975B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0906593A1 (en) | 1999-04-07 |
WO1997049011A9 (en) | 1999-04-15 |
JP2000505221A (en) | 2000-04-25 |
KR20000022050A (en) | 2000-04-25 |
DE69723839T2 (en) | 2004-04-22 |
US6181975B1 (en) | 2001-01-30 |
DE69723839D1 (en) | 2003-09-04 |
KR100313067B1 (en) | 2001-12-12 |
CA2257881A1 (en) | 1997-12-24 |
US5764509A (en) | 1998-06-09 |
AU3396797A (en) | 1998-01-07 |
EP0906593B1 (en) | 2003-07-30 |
ES2205244T3 (en) | 2004-05-01 |
JP3449560B2 (en) | 2003-09-22 |
EP0906593A4 (en) | 1999-09-15 |
WO1997049011A1 (en) | 1997-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2257881C (en) | Industrial process surveillance system | |
US7308385B2 (en) | Diagnostic systems and methods for predictive condition monitoring | |
US7539597B2 (en) | Diagnostic systems and methods for predictive condition monitoring | |
JP5306902B2 (en) | System and method for high performance condition monitoring of asset systems | |
EP1950634B1 (en) | Process for adapting measurement suite configuration for gas turbine performance diagnostics | |
AU2002246994A1 (en) | Diagnostic systems and methods for predictive condition monitoring | |
WO1999064962A1 (en) | Neuro-parity pattern recognition system and method | |
JP7068246B2 (en) | Abnormality judgment device and abnormality judgment method | |
US20220137611A1 (en) | Abnormality determination apparatus, learning apparatus and abnormality determination method | |
Mathew et al. | Regression kernel for prognostics with support vector machines | |
EP3190519A1 (en) | Monitoring device and monitoring method thereof, monitoring system, and recording medium in which computer program is stored | |
KR20200010671A (en) | System and method for fault diagnosis of equipment based on machine learning | |
WO2019038283A1 (en) | Method for monitoring an industrial plant and industrial control system | |
US11928565B2 (en) | Automated model building and updating environment | |
Galotto et al. | Data based tools for sensors continuous monitoring in industry applications | |
CN113646786A (en) | Signal selection device, learning device, signal selection method, and program | |
US20230035541A1 (en) | Optimizing a prognostic-surveillance system to achieve a user-selectable functional objective | |
Xu et al. | On-line sensor calibration monitoring and fault detection for chemical processes | |
Escobet et al. | Fault diagnosis | |
Trovò | A cognitive fault detection and diagnosis system for sensor networks | |
Houiji et al. | Fault diagnosis and fault tolerant control against simultaneous sensor and actuator faults for linear stochastic systems | |
Zhao et al. | An adaptive DISSIM algorithm for statistical process monitoring |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20170613 |