Source: https://patents.google.com/patent/CA2601446A1/en
Timestamp: 2018-12-15 03:13:35
Document Index: 231423508

Matched Legal Cases: ['art 60', 'art 75', 'art 75', 'art 60', 'art 75', 'arts 60', 'art 75', 'art 60', 'art 60', 'art 75', 'art 60', 'art 75', 'art 75', 'art 60']

CA2601446A1 - Predictive emissions monitoring system and method - Google Patents
CA2601446A1
CA2601446A1 CA 2601446 CA2601446A CA2601446A1 CA 2601446 A1 CA2601446 A1 CA 2601446A1 CA 2601446 CA2601446 CA 2601446 CA 2601446 A CA2601446 A CA 2601446A CA 2601446 A1 CA2601446 A1 CA 2601446A1
CA 2601446
CA2601446C (en )
60/663461, filed on March 18, 2005.
Public awareness has increased with respect to the environment, and primary pollutants such as nitrogen oxides and sulfur dioxide are currently regulated in most industries, either under 40 CFR
Part 60 or 40 CFR Part 75. It is the responsibility of the federal Environmental Protection Agency and the individual states to enforce these regulations. A great deal of attention in recent years has been spent on addressing the monitoring requirements of these regulations, in order to minimize the discharge of noxious gases into the atmosphere by industrial facilities.
A CEM system typically includes either an in situ analyzer installed directly in an exhaust stack, the exhaust pipe of the reciprocating engine, or in an extractive system which extracts a gas sample from the exhaust stack and conveys it to an analyzer at grade level.
Continuous emissions monitoring system components such as gas analyzers are quite expensive, difficult to maintain, and difficult to keep properly calibrated. As such, the regulations that deal with a CEM system require the analyzers to be calibrated periodically and subjected to other quality assurance programming to ensure the accuracy and reliability of the compliance data.
In many cases, the regulations allow for certification and operation of alternatives to the hardware-based continuous emissions monitoring system. Such alternatives include software solutions that predict the emissions from available process and ambient parameters.
Procedures for certifying these predictive emissions monitoring systems (PEMS) are detailed in the regulations, namely 40 CFR
Part 75, Subpart E and 40 CFR Part 60, Appendix B, Performance Specification 16. Generally, a PEM
system models the source of emissions that generates the emissions and predicts the quantity of emissions that are produced given the operating state of the process.
Regulations allow a maximum downtime of ten percent for calibration. If a unit remains in operation greater than ten percent of the time with the CEMS down, the emissions level is considered by the regulators to be at maximum potential level. This results in out-of-compliance operation and over-reporting of emissions. Facilities must maintain and operate their gas analyzers to avoid penalties requiring an ongoing operational expense and, occasionally, emergency services are required. A
reliable sofl.ware-based PEMS that can be certified under 40 CFR Part 75, Subpart E would represent an extremely cost-effective option of the compliance monitoring needs of industrial facilities.
There have been PEM systems built in the past to predict various combustion and emission parameters from continuous industrial processes and to calculate process or combustion efficiency for compliance reporting and process optimization purposes. Typically, the PEM
system is "trained" by monitoring multiple inputs such as pressures, temperatures, flow rates, etc., and one or more output parameters such as NO,,, CO, 02, etc. After training, in normal operation, the PEM system monitors only the multiple inputs and calculates estimated output parameter values that closely match the actual pollutant levels. Methodologies used in the past include nonlinear statistical, neural network, eigenvalue, stochastic, and other methods of processing the input parameters from available field devices and to predict process emission rates and combustion or process efficiency. For the most part, these PEM systems are complicated, relatively costly, and or difficult to implement. These systems also typically require retraining with the support of specialized staff from the system provider to adjust the proprietary model to the real-world conditions encountered in the field.
In, accordance with the present invention, a system and method are provided for predicting emissions from an emissions source. Test values of process variables relating to operation of the emissions source are gathered, along with corresponding time-correlated test values of the emissions variable to be predicted. Using the test values of the process variables, test values of a plurality of first coefficients are calculated for each process variable and associated with the process variable, and test values of a plurality of second coefficients are calculated for each value of each process variable and associated with the value of the process variable. Comparison values of the process variables relating to operation of the emissions source are gathered, along with corresponding time-correlated comparison values of the emissions variable to be predicted. Using the comparison values of the process variables, comparison values of a plurality of first coefficients are calculated for each process variable and associated with the process variable, and comparison values of a plurality of second coefficients are calculated for each value of each process variable and associated with the value of the process variable. Predetermined combinations of the comparison values of the variables and their associated coefficients are then iteratively compared with the test values of the respective variables and associated coefficients. Where the comparison yields matches between the comparison values and test values of the variables and their associated coefficients, the test values of the emissions variable associated with the matched test values of the variables are averaged and assigned as a predicted value of the emissions variable.
FIG. 8 illustrates a time plot of the differences between predicted versus actual pollutant emissions in a test case of a predictive model generated in accordance with the present invention; and FIG. 9 illustrates an overall view of the data flow for compliance.
FIG. 1 is a schematic diagram of a system 20 in accordance with the present invention for monitoring, predicting, and controlling system process variables and emissions in one or more continuous or batch processes and/or emissions sources. The system shown in FIG. 1 is configured for centralized monitoring and management of multiple processes or emissions sources. Referring to FIG.
1, emissions source(s) 101(a)-(c) each run in a continuous or batch process which utilizes raw materials (for example, coal or fuel oil) to produce a measurable output (energy or other products). Emission sources 101(a)-(c) can take any form including reciprocating diesel engines, reciprocating gas engines, gas turbines, steam turbines, package boilers, waste heat boilers, solar-based generators, wind-based generators, fuel-cell based generators, or any other devices that are capable of transforming any form of potential energy into electricity while exhausting pollutant emissions 102 to the atmosphere through one or more corresponding stack(s) or duct(s) 103a-c. In FIG.1, emissions source lOl a and associated elements of system 20 are shown enclosed in a box A to indicate that these components are located onsite at a power generation facility or other facility. Elements of system 20 outside of box A may be sited at nearby or remote locations with respect to emissions source l Ola, and may be configured to interface with a PEMS computer 107 (as described below) located onsite proximate emissions source lOla. Alternatively, PEMS computer 107 may be located remotely from any of emissions sources lOla-lOlc.
Process aiid emissions data used to generate the predictive model may be acquired in any of several ways. In the embodiment shown in FIG. 1, process parameter data (for example, temperatare or pressure values) relating to a given emissions source 101 a is measured by an associated process control system 105a. In addition to process control system 105a or as an alternative to the process control system, the process data or specific portions thereof may be obtained by discrete measuring devices 199 positioned at various locations along the process stream. Process control system 105a or discrete measuring devices 199 can measure such process parameters as temperature, pressure, differential pressure, and mass flow. It is understood that the actual process variables measured by the measuring devices will depend on the process in question.
In the embodiment shown in FIG. 1, emissions data are measured by an associated continuous emissions monitoring system (CEMS), generally designated 198a, which is coupled to the emissions source. The elemeints and capabilities of existing CEM systems are well-known, and will not be discussed in great detail herein. Typically, CEM system 198a extracts or receives emissions samples from an associated emission source lOla and analyzes the samples for constituent components. Based upon the analysis of such components, information can be obtained about the process which generates the emissions. Once this information is known, various process parameters can be adjusted or modified in order to optimize the process andJor modify the generated emissions.
In addition to process CEM system 198a or as an alternative to CEM system 198a, the emissions data or specific portions thereof may be obtained using discrete measuring devices 199a positioned at various locations within or around the emissions source.
Depending on the process in question, CEM system 198a or discrete measuring devices 199a can measure such emission characteristics as oxides of nitrogen, oxides of carbon, unburned fuel in the emission stream, emission volume, emission heat, emission noise, etc.
It is understood that the actual emission variables measured by the measuring devices will depend on the process in question. Devices ands systems for measuring gaseous emissions are commercially available from any of a variety of sources, for example Horiba Instrt.iments, Inc., of Irvine, CA. Also, instrumentation and measurement devices to be used in the collecting data for use in generating the predictive model may be subject to quality controls pursuant to local regulatory requirements and any site quality assurance programs.
Referring again to FIG. 1, in the computer-assisted implementation of the method, historical process and emissions data is gathered and ultimately conveyed to a PEMS
computing system, generally designated 200, where operations are performed on the gathered data and where the predictive model is generated and implemented. A wired or wireless local area network (LAN) 109 connects PEMS computing system 200 with process and emissions monitoring systems 198 and 105, with operator workstations 110, with supervisor workstations 111, and with any other elements of system 20 as desired. PEMS computing system 200 may be coupled to process control system 105, discrete measuring devices 199, and CEM system 198 for receiving process and emissions data via one or more seiial ports, via a serial peripheral interface (SPI), a serial communications interface (SCI), or via another suitable communications interface.
FIG. 2 shows a more detailed view of one embodiment of the of PEM computing system 200.
In the embodiment shown in FIGS. 1 and 2, PEMS computing system 200 includes at least a personal computer or laptop computer 107 along with a display or workstation 110 and suitable user interface devices, for example a keyboard and mouse. PEMS computing system 200 is located onsite at the emissions source(s). The PEMS predictive model is typically generated by and runs locally on a single computing device 107 which provides measured process data, measured emissions data, predicted emission variable values, and a variety of other information to workstation 110 and to the various other local and remote workstations previously described.
In the embodiment shown in FIGS. 1 and 2, the software elements or elements comprising the PEM system of the present invention reside on computing device 107, generally designated the PEMS
computing device. In general, computing device 107 includes a processor having a speed of 133 MHz or greater, at least 512 MB of RAM and, preferably, a fault-tolerant hard drive. Examples of suitable computing devices include a personal computer (PC), a laptop computer, an engineering workstation, and a server interfacing with onsite or remotely located client computing devices. As used herein, the term "PEMS computing device" refers to any computing device on which any utility or element of the PEM system software resides. In the embodiment shown in FIG. 2, PEMS computing device 107 contains a data acquisition utility 301, a relational database application 302, an alarm generation utility 303, a report generation utility 304, a license utility 305, ODBC software and drivers 306, and one or more local database files 307.
Referring to FIG. 1, if the process or emissions data requires pre-processing (for example, analog-to-digital conversion) prior to submission to computing device 107, suitable processing hardware and/or software may be incorporated into process control system 105, into computing device 107, or into the data paths between the various data acquisition devices and computing device 107. In the embodiment shown in FIG. 1, a multi-channel analog-to-digital (A/D) converter 197a is incorporated along the data path between controller 105a and PEMS computing device 107 for converting analog values of the process parameters to digital values usable by the computing system.
Preferably, A/D converter 197a has a relatively high resolution (20-24 bits or higher) and is used to improve signal-to-noise ratio of the underlying analytical measurements. The signal-to-noise ratio can be measured online and automatically optimized by adjusting digital filter parameters either at initial setup, during auto-calibration, or continuously online. Alternatively, an A/D
port installed in PEMS
computing device 107 may convert analog values received by device 107 into digital representations of the measured analog data values. Hardware and software for suitable pre-processing of such data and conversion of data formats is known to those skilled in the art and is readily available.
It is understood that any or all of the software elements or elements comprising the PEM
system of the present invention may be distributed among various interconnected onsite or remotely located computing devices 180, depending on the needs of a particular user or application. It is also understood that a single PEMS computing device 107 may be coupled to multiple emissions sources in order to monitor each source and provide predictive emissions and compliance data for each source.
To predict the emissions that will be generated by emissions sources 101a-101c for a given set of process parameters, system 20 uses a predictive model incorporated into a predictive emissions monitoring system (PEMS). The predictive model of the present invention is generated using actual process and emissions data collected during normal operation of the emissions source over a predetermined time period. More specifically, the PEM system uses the historical data collected during normal operation over a predetermined time period as part of a training dataset to generate an empirical model for use in predicting the values of process variables (for example, in an absence of process data due to a failed sensor or other cause) and emissions variables. The accuracy of the resulting predictions is largely dependent upon the range and quality of the training dataset.
FIG. 4 is a process flow diagram showing steps relating to generation of the predictive model.
Prior to generation of the predictive model, process data is collected at step 425 and emissions data is collected at step 426 during normal system operation. The process and emissions data are used in generating a historical training dataset for the predictive model. As used herein, the term "process data" refers to any measured values of variables (such as temperature, pressure, volumetric or mass flow rate, etc.) relating to a given process. Similarly, the term "emissions data" refers to any measured values of variables (such as concentrations of specified gases) relating to emissions resulting from an associated process. This first set of process and emissions data provides test data values of the process and emissions variables, for use in generation of the predictive model.
Referring to FIGS. 1 and 4, process variable data (for example, temperature or pressure values) relating to a given emissions source 101 is collected by process control system 105 and/or by discrete measuring devices 199 operatively coupled to the process stream.
Process control system 105, discrete measuring devices 199, and CEM system 198 may be actively polled for real-time data, or a manually-generated or automated request may be sent by from an onsite or remote system access node (for example, operator terminal 110) to provide real-time process parameter data. Similarly, emissions data is collected by CEM system 198 and/or by discrete measuring devices 199 positioned at various locations within or around the emissions source(s).
The process and emissions data is collected over a predetermined time period and is characterized according to such features as data type (for example, temperature, pressure), data source (i.e., the particular field operating device from which the data was received), and minimum and maximum values of the data from a given source. The collected process data and emissions data are then pre-processed in step 426a, if required. For example, it may be necessary to convert analog data provided by the measuring instruments to digital data manipulable by digital computing devices, if the data quality assurance methods and/or other operations to be performed on the data are computer-assisted.
Referring to FIGS. 1 and 2, in a computer-assisted implementation of the method, process and emissions data from CEM system 198a and/or discrete measuring instraments 199a is received by a data acquisition element 301 residing in PEMS computing device 107. Data acquisition element 301 is configured to query and to enable querying of CEM system 198a and/or discrete measuring devices 199a for associated process and emissions data. Data acquisition element 301 may be configured by a user to a variety of operational modes. For example, element 301 may be programmed to query CEM
system 198a or measuring devices 199a upon startup or activation of the PEM
system, upon receipt of a command from a user at PEM computing device 107, or automatically on a regular basis at predetermined intervals. In other modes of operation, element 301 may receive process and/or emissions data forwarded automatically at predetermined intervals by CEM
system 198a or devices 199a or in response to a query initiated from a user at a remote computing device. Other operating modes and events resulting in transmission and receipt of process and emissions data are also contemplated.
In step 426a, the measured process and emissions data is also structured into one or more records in a relational database which define a raw data database. Compilation and organization of the data may be accomplished by a portion of the PEMS application, or the compilation and organization may be accomplished using another, commercially available application, such as Microsoft ACCESS, dBaseTM, DB2, a standard spreadsheet program such as Microsoft Excel, or another suitable database platform. However, any database platform used to structure the gathered data is preferably accessible using Open Database Connectivity (ODBC) programming statements, or using programming statements conforming to a comparable standard that permits querying of the database using Structured Query Language (SQL) requests.
In the computer-implemented embodiments discussed herein, interaction between the relational database(s) of the present invention and interaction between a user and the databases is conducted using Structured Query Language (SQL) requests. These requests may, for example, may be formulated as required, previously structured into SQL programming segments, or may be previously einbedded in applications programs or other prograins.
As known in the art, the SQL requests are processed by the database management systein (DBMS), which retrieves requested data elements from the relational database and forwards the data to the requesting entity, for exainple a htunan operator located at an onsite or remote system access point.
Storage of the process and emissions data and infomlation associated with the data in relational database(s) and the use of SQL statements to interact with the database(s) provides operators or other system users with enormous speed and flexibility with regard to accessing and manipulating the stored data. For example, a user can defme the organization of the data, detennine relationships between the data elements, conduct searches for data elements meeting user-defmed criteria, and dynamically modify the database by rearranging elements, adding elements, removing elements, and changing the values of existing data elements.
In the embodiments described herein, PEMS computing device 107 interfaces with process control system 105a, discrete measuring devices 199a, and other elements of system 20 via a set of standard data interfaces known as Object Database Connectivity (ODBC). As is known in the art, ODBC translates an SQL request into a request the database system understands, thereby enabling the database to be accessed without knowing the proprietary interface of a given database application. The ODBC or other interface software and associated drivers for accessing the process and emissions data files application are incorporated into the computing device on which the database is stored and on any remote computing devices through which database access may be requested.
Separate data streams from different process or emissions monitoring devices may be entered into different database applications, depending on such factors as the equipment being used and the geographic locations of the emissions sources. Preferably a single type of database platform is used to store process and emissions data for each emissions source. Alternatively, the raw data may be retained in memory in one of various alternative file formats for fiuther manipulation prior to incorporation into a database. Formatting of the data is generally undertaken (in conjunction with the chosen database application) by the data acquisition element of the software, but may alternatively be accomplished by another portion of the PEMS program if so desired.
In steps 430 and 431, the data is analyzed in accordance with procedures outlined in 40 CFR
parts 60 and 75, incorporated herein by reference. Calibration adjustments are made and erroneous or invalid data is otherwise eliminated.
For simplification, the following describes the generation and operation of the predictive model for a single process or emissions source. It will be understood that the methodology described herein can be repeated for each process or emissions source to be monitored and controlled. The statistical hybrid method utilizes standard statistical operations on the historical training dataset (average, correlation, standard deviation, confidence, and variance) along with a fixed set of tuning coefficients that are more typically found in non-linear statistical and other advanced empirical predictive models. The resulting hybrid method uses built-in statistical SQL
data processing structures and the hybrid tuning coefficients to transform the current process vector against the historical training dataset and to find predicted values. A method for deriving optimum values of the hybrid tuning coefficients from the historical training dataset is provided herein and may be used to automatically build a statistical hybrid model in the embodiment described herein.
Referring again to FIG. 4, at step 432, a change vector or delta value is calculated from each pair of time-successive measured test values of each process variable. As used herein, the term "time-successive" as applied to the measured data values is understood to mean a first measured value and the another measured value measured at a point closest in time to the first value, either before or after measurement of the first value. For each current value of the process variable, the change vector is generated by subtracting the last value of the process variable from the current value of the process variable. For example, the change vector v,, for two successive measurements of a temperature parameter T would be equal to Tt - T(t_et) (i.e., the temperature at time t at which a first temperature measurement was taken, minus the temperature at time t-At when the previous temperature measurement was taken.) The change vector represents the change in a given process variable over the sampling interval. Once calculated, the calculated values of the change vector may be added to an additional data field in the data file for the process variable.
Alternatively, the change vector values may be stored in another record in the relational database.
In step 433, using suitably formulated SQL statements, a value for the TSLU is then calculated for each corresponding measured value of the process variable. The TSLU is an arbitrary number representing in its simplest form, the Time Since Last Upset an operating state of the process.
This simplest embodiment is an integer representing the time since the last process upset was recorded in minutes. A given model can use multiple TSLU values to delineate distinct operating modes.
Another example would be if a unit has six distinct operating modes, then TSLU
could be 1 through 6.
Alternatively the TSLU can be defined as 1000 through 1999 for mode 1, 2000 through 2999 for mode 2, etc. with the first digits (thousands) representing the operating mode and the next three digits representing the time since last upset in the operating mode as defined previously. The TSLU allows the model to predict emissions with temporal and mode specific variability, an advancement over previous statistical (linear and non-linear) models.
If the TSLU is measured in units of sampling interval, for example, with a sampling interval of one minute, a TSLU of 3 would indicate a process change in the past equal to three times the sampling interval at which the process variable was sampled to provide test data or three minutes ago.
In cases where all of the measured values of the process variable are less than the corresponding initial tolerance for the measured value, the TSLU's are set to 0. In this condition, the unit is offline. For each value of the process variable, the time since last upset is reset to 1 if the change in the process variable (from the previous measured value of the process variable to the current measured value) is greater than the initial tolerance. If there is no change in the measured value greater than or equal to the initial tolerance the time since last upset is incremented by adding 1 sampling interval to the previous value of the TSLU. In this respect, the TSLU is an indicator variable which provides a running total of the number of sampling intervals that have elapsed since the occurrence of a change in the process variable that exceeded the initial tolerance for that process variable. Successive values of the TSLU are added to a field in the data file for the process variable. Incorporation and pre-processing of the historical training dataset is now complete.
In step 436, correlation factor is calculated to provide a quantitative indication of a correlation between the emissions variable to be calculated and the associated process variable. In one embodiment, the correlation factor is a linear correlation coefficient As is known in the art, the correlation coefficient is a value between -1 and 1 which indicates the closeness of the relationship between two variables to a linear relationship. The closer to 0 the correlation coefficient is, the less likely there is to be a linear relationship between the two variables.
Conversely, where the correlation coefficient is close to 1, there is a strong linear relationship between the two variables. The method of the present invention focuses on the relative strength of the correlation between two variables, rather than on whether the correlation between the variables is positive or negative.
Thus, the absolute value of the correlation coefficient is used in the present method for evaluating the strength of the correlation.
Methods for calculating the correlation coefficient using a set of values for each variable are well-known.
In addition, each variable is provided with an initial tolerance value that is stored in the configuration file with the model setup. A tolerance value is derived for each input variable from the historical data contained in training dataset by using a standard statistical function (for example, standard deviation) and scaling the variable in question relative to the remainder of the input variables.
The tolerance for each input variable represents a signal-to-noise ratio for the given historical training dataset and is calculated such that a change in the input variable value equal or greater to the tolerance is significant (not just an incidental variation caused by random fluctuations in the measurement). In step 437, the standard deviation for each process variable is calculated and a tolerance for each process variable is set to a value of one-tenth of the standard deviation. This value (0.10) is called the initial global configuration parameter and can be adjusted manually or automatically by the system to maximize accuracy and resiliency to input failure. Alternatively, in cases where process variable data is available for a period of normal operations including startup and shutdown of the process, the standard deviation is computed for the measured values of the process variable over the measurement cycle, and an initial tolerance for the process variable is set to approximately one half the standard deviation. In cases where process variable data is unavailable for such a period of normal operations, the initial tolerance for the process variable is set to approximately 2.5% of the range (maximum - minimum) of the measured values of the process variable. Numerous methods for calculating the initial tolerances are contemplated, and an optimum tolerance setting may be calculated automatically based on the historical training dataset.
Increasing the number of data points for a variable in the training dataset (for example, by decreasing the sampling interval or by taking more data samples over a longer tinie total period) allows the value of the corresponding global configuration parameter to be decreased, resulting in increased accuracy of the model. However, there is a tradeoff when structuring the SQL
statements for the predictive model in that the greater the number of data points for a parameter in the training dataset and the lower the value of the corresponding global configuration parameter, the more system resources are required to process the data at a given base sampling interval.
Critical Load variables (CLV) - A critical load variable is a variable that is either critical to predicting the value of the desired variable, or critical to the compliance reporting requirements for the emissions source. Critical Load variables are always used in generation of the model or are always needed for regulatory compliance reports. Critical Load variables also typically fall witliin the top 10%
of process variables having a correlation coefficient greater than 0.50 with respect to the emission variable to be predicted.
Criteria variables (CV) - Criteria variables have significant correlation (relative to the other input variables) to the predicted value of desired variable. Criteria variables typically fall between the top 10% and the top 33% of process variables having a correlation coefficient greater than 0.50 with respect to the emission or other variable to be predicted. Criteria variables are used frequently in generation of the model, but are not critical for predicting the value of the emissions variable.
Process variables having correlation coefficients below 0.50 with respect to the emission variable to be predicted are not used in generation of the predictive model.
Any calculated variables (for example, combustion efficiency) are categorized as restricted variables.
These variables are restricted from storage in the historical database and are stored in a compliance database.
In step 442, a Subpart E analysis is performed on the predictive model as described in 40 CFR
Part 75, Subpart E, incorporated herein by reference.
In step 443, it is determined whether the Subpart E analysis results are acceptable. In step 444, if the Subpart E analysis results are acceptable, the predictive model is put into real-tinne mode. In step 445, the model is certified per Federal regulations prior to utilization for compliance reporting purposes.
It is desirable to generate the predictive model based on a sequential elimination of the least critical variables (i.e., eliminating from the search criteria, in descending order, the process variables having the lowest correlation coefficient) until a valid match is found. Thus, consideration of each input variable would be reduced to the most significant load and critical compliance variables in succession, one at a time. In one embodiment of the present invention, the process variables are grouped by significance into load, critical compliance, criteria, and non-criteria variables, as described above, which allows the predictive model to iterate through SQL statements, limiting the calls to the database to a maximum of 10 attempts. In other applications, a greater or lesser number of query attempts may be used. Using this system, common, commercially available computers (for example, personal computers) possess processor speed and database capabilities sufficient to generate valid predictions every 10 seconds at a base sampling interval of 1 minute. The most desirable solution described above would iterate through each variable potentially generating hundreds of database calls with each attempt:
When a valid prediction is achieved, it is output to the control system, the data acquisition system, or published locally where it can be reviewed for processing of alanns. The predictions are also stored in a compliance database that is not editable and maintains a continuous secure location for compliance emission data.
In step 574, the previous values of the variables are updated for the next calculation of the change vector prior to repeating at the base sampling interval. Each new process vector (each acquisition of the real-time data from the process) is processed independently. This allows the system to process either batch or continuous process data. The acquired data is sequential, in that one data value for each variable is gathered at each base sampling interval, enabling the deltas to be calculated properly. The reset is done each time the current process vector is processed.
The previous values of the variables are retained only to calculate the deltas for the next record.
In one example, on a typical gas turbine application under 40 CFR Part 60, the base sampling interval is set to 1 minute and the required matches in the historical training dataset is 1 record. Each minute, the process vector is acquired and then processed into a SQL statement for comparison with the historical training dataset. The resulting output vector includes the empirical emissions data contained in the training dataset valid for the current process condition reflected in the process vector, its delta or change vector, and any associated TSLU's. The model outputs a corrected NOx concentration (in the applicable units of lbs per mmBTU) for 40 CFR Part 60, Appendix GG compliance.
The model outputs are recorded in the compliance database following averaging and screening to 15 minute average blocks as required.
Element 304 of the PEM system may provide reporting capability for compliance with 40CFR
Part 75 and 40CFR Part 60 regulations and EDR generation capacities. This element may support system operators, interface with data acquisition devices, and can be run from any workstation on system 20.
Any element of the PEMS system of the present invention may be stored on any suitable computer-readable storage medium (for example, CD-ROM, magnetic tape, internal or external hard drive, floppy disk(s), etc.) In addition, one or more components of the software may be transmitted or downloaded via a signal communicated over a hard-wired' connection or using a wireless connection.
FIGS. 6, 7, and 8 show the results of a Subpart E analysis using a predictive model generated in accordance with the present invention as applied to a gas turbine. The graphs used conform to formats found in 40 CFR Part 75, Subpart E including the time plot of the PEMS
vs. CEMS data (FIG.
6), the x-y plot of the PEMS vs. CEMS hour average data (FIG. 7), and the time plot of the differences between the PEMS and CEMS (FIG. 8). Procedures for certifying PEM systems are detailed in the regulations, namely 40 CFR Part 75, Subpart E and 40 CFR Part 60, Appendix B, Performance Specification 16, incorporated herein by reference. FIGS. 6-8 show the extremely strong correlation between the predicted and actual values of NO, emissions achievable using the method described herein.
In Figure 9, a typical data flow example is provided. The nitrogen oxides emissions from the gas-fired boiler are regulated in units of lbs of NOx per nimBTU of heat input. The formula for the calculation of NOx emission rate in the applicable standard is obtained using EPA Method 19, Equation 19-1. The model is trained using raw dry NOx ppmv and Oxygen %
concentration that is used to calculate the emission rate using Equation 19-1. The constants used in formula are also provided in Method 19. The predicted NOx ppmv and Oxygen % are used to calculate the predicted NOx emission rate to be used for compliance determination.
The system and method of the present invention addresses the previously-described shortcomings of existing system. Using the methodology and software disclosed herein, a highly accurate predictive emissions model may be generated for a given emissions source by a technician having little or no understanding of the emissions source, the process run by the emissions source, or the theory or operation of the statistical hybrid model. The present invention allows owners and operators of continuous or batch processes to build and maintain accurate predictive model of the pollutant emission rates. Compared to existing systems, the system described herein is less expensive and complicated to run and maintain. In addition, no special hardware is required. Thus, a predictive model embodying a method in accordance with the present invention is unique in its ability to be developed by non-specialized staff that has no familiarity with the process, pollution control, or the methodology used by the model. In addition, users of the model and third party consultants can update the model without support of the manufacturer's engineering support. The process flow shown in FIGS.
4 and 5 is representative of a preferred mode of implementing the present invention. However, it should be understood that various modifications of the process flow could be used to provide a different level of computational flexibility, depending on the complexity of the model, needed to address various data sources and regulatory schemes. The present invention contemplates any suitable variation on this process flow.
Operation of the predictive model with respect to batch processes is almost identical to its application to continuous processes. With regard to batch processes, the TSLU
is critical to proper batch predictions, but is not based on time since last upset as previously defined. In this instance, the TSLU usually is defined as the time since the start of the batch and can be compounded to include a leading integer to defme the batch type or loading. Batch processing is a series of disconnected continuous operations each with a new TSLU incrementing from the beginning of the batch to its conclusion by the base sampling interval.
Public Function GetNewPollutants(ByVal sngCriticalLoad As Single) As Boolean Description: This subroutine calculates pollutants.
sngCriticalLoad sngCriticalLoad is typically natural gas flow.
' Returns: GetNewPollutants GetNewPollutants returns a value of true if no faults occur, else false is returned.
03/12/2006 Brian Swanson 03/22/2002 Brian Swanson Original Version.
Dim sngHIl As Single Dim sngH12 As Single Dim sngH13 As Single Dim sngHI4 As Single Dim sngNOxl As Single Dim sngNOx2 As Single Dim sngNOx3 As Single Dim sngNOx4 As Single Dim sngHI As Single Static sngStackNOx As Single Static sngStackCO As Single Static sngStackCO2 As Single Static sngStackO2 As Single Static sngStackHC As Single Static sngStackSO2 As Single Static sngStackHAPs As Single Dim strPredict As String Dim i, intCount, intCounter, intNumberSystemVariables As Integer Dim aryDeltaTol(intMaximumNumber_of_Inputs) As Double Static aryLastValue(intMaximum_Number_of_Inputs), aryNewDelta(intMaximuxn_Number of_Inputs) As Double Static intLastTSLUValue As Integer~
Dim strConnectString As String Const FUNC_NAME As String = "GetNewPollutants"
If FConfiguration.cboProcessErrors.Text Then ' On Error GoTo ErrorHandler End If If intLastTSLUValue < 1 Then intLastTSLUValue =100 End If StartLoop:
intCounter = 0 For intCount = 1 To intMaximum_Number_of_Inputs aryNewDelta(intCount) = adblMinute_Record(intCount +
intNumberSystemVariables + 10) - aryLastValue(intCount) aryLastValue(intCount) = adblMinute_Record(intCount +
intNumberSystemVariables + 10) Next intCount ReturnLoop:
intCounter = intCounter + 1 For i = 1 To sngconNoInputs aryDeltaTol(i) = dblTolerance(i) * intCounter Next i FConfiguration.txtExcel_Data_Source.Text = "PEMSData"
strConnectString = ";DBQ=" & App.Path & "\Datashare;DefaultDir=" &
App.Path &
"\Datashare;DriverID=27;FIL=text;MaxBufferSize=2048;PageTimeout=5;"";Initial Catalog=" & App.Path & "\Datashare"
strConnectString = FConfiguration.txtExcel_Data Source & strConnectString strConnectString = ";Extended Properties=" "DSN=" & strConnectString strConnectString = FConfiguration.txtExcel Data_Source & strConnectString strConnectString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=" & strConnectString 'Debug.print strConnectString If objFileInput.State = adStateOpen Then objFileInput.Close End If objFileInput.Open strConnectString strPredict = "SELECT Avg(P 1) As StackNO, Avg(P4) As StackO2, "&_ "Avg(P6) As StackNOxlbs, Avg(P2) As StaclcCO, Avg(P3) as StackCO2, Avg(P5) as StackHC From tmdinput Where "
If intCounter > 4 Then If ((adblMinute Record(4) < 10)) Then' And (intCounter > 4)) Then strPredict = strPredict & "([TSLU] < 100) AND "
Else strPredict = strPredict & "([TSLU] > 99) AND "
End if End If strPredict = strPredict & "(" & _ "((Input39 < " & adblMinute_Record(49) + aryDeltaTol(39) & ") And (Input39 > "
& adblMinute_Record(49) - aryDeltaTol(39) & ")) And " & -"((Input68 <'" & adblMinute_Record(78) + aryDeltaTol(68) & ") And (Input68 > "
& adblMinute_Record(78) - aryDeltaTol(68) & ")) And " & -"((Inputl2 < " & adblMinuteRecord(22) + aryDeltaTol(12) & ") And (Inputl2 > "
& adblMinute_Record(22) - aryDeltaTol(12) & ")) And " & -"((Inputl5 < " & adblMinute_Record(25) + aryDeltaTol(15) & ") And (Inputl5 > "
& adblMinute_Record(25) - aryDeltaTol(15) & ")) And " & _ "((Inputl6 < " & adblMinute_Record(26) + aryDeltaTol(16) & ") And (Inputl6 > "
& adblMinute_Record(26) - aryDeltaTol(16) & ")) And " & _ "((Inputl8 < " & adblMinute_Record(28) + aryDeltaTol(18) & ") And (Inputl8 > "
& adblMinute_Record(28) - aryDeltaTol(18) & ")) And " & -"((Inputl9 < " & adblMinute_Record(29) + aryDeltaTol(19) & ") And (Inputl9 > "
& adblMinute_Record(29) - aryDeltaTol(19) & ")) And " & "((Input20 < " &
adblMinute_Record(30) + aryDeltaTol(20) & ") And (Input20 > "
& adblMinute_Record(30) - aryDeltaTol(20) & ")) And " & _ "((Input4l < " & adblMinute_Record(51) + aryDeltaTol(41) & ") And (Input4l > "
& adblMinute_Record(51) - aryDeltaTol(41) & ")) And " & _ "((Input49 < " & adblMinute_Record(59) + aryDeltaTol(49) & ") And (Input49 > "
& adblMinute_Record(59) - aryDeltaTol(49) & ")) And " & -"((Input50 < " & adblMinute_Record(60) + aryDeltaTol(50) & ") And (Input50 > "
& adblMinute_Record(60) - aryDeltaTol(50) & ")) And " & _ "((Input72 < " & adblMinute_Record(82) + aryDeltaTol(72) & ") And (Input72 > "
& adblMinute_Record(82) - aryDeltaTol(72) & ")) And " & -"((Input89 < " & adblMinute_Record(99) + aryDeltaTol(89) & ") And (Input89 > "
& adblMinute_Record(99) - aryDeltaTol(89) & ")) And " & _ "((Input48 < " & adblMinute_Record(58) + aryDeltaTol(48) & ") And (Input48 > "
& adblMinute_Record(58) - aryDeltaTol(48) & ")) And " & -"((Input90 < " & adblMinute_Record(100) + aryDeltaTol(90) & ") And (Input90 >
" & adblMinute Record(100) - aryDeltaTol(90) & "))"
Select Case intCounter Case 1, 2 strPredict = strPredict & " AND " &
"((" & Abs(aryNewDelta(39)) & " < InputDelta39 + " & aryDeltaTol(39) & ") And (" & Abs(aryNewDelta(39)) & " > InputDelta39 - " & aryDeltaTol(39) & ")) And "
& Abs(aryNewDelta(68)) & " < InputDelta68 + " & aryDeltaTol(68) & ") And (" & Abs(aryNewDelta(68)) & " > InputDelta68 - " & aryDeltaTol(68) & ")) And "
"((" & Abs(aryNewDelta(12)) & " < InputDeltal2 + " & aryDeltaTol(12) & ") And (" & Abs(aryNewDelta(12)) & " > InputDeltal2 - " & aryDeltaTol(12) & ")) And "
"((" & Abs(aryNewDelta(15)) & " < InputDeltal5 + " & aryDeltaTol(15) & ") And (" & Abs(aryNewDelta(15)) & " > InputDeltal5 - " & aryDeltaTol(15) & ")) And "
"((" & Abs(aryNewDelta(16)) & " < InputDeltal6 + " & aryDeltaTol(16) & ") And (" & Abs(aryNewDelta(16)) & " > InputDeltal6 - " & aryDeltaTol(16) & ")) And "
"((" & Abs(aryNewDelta(18)) & " < InputDeltal7 + " & aryDeltaTol(17) & ") And (" & Abs(aryNewDelta(17)) & " > InputDeltal7 - " & aryDeltaTol(17) & ")) And "
"((" & Abs(aryNewDelta(19)) & " < InputDeltal9 + " & aryDeltaTol(19) & ") And (" & Abs(aryNewDelta(19)) & " > InputDeltal9 - " & aryDeltaTol(19) & ")) And "
"((" & Abs(aryNewDelta(20)) & " < InputDelta20 + " & aryDeltaTol(20) & ") And (" & Abs(aryNewDelta(20)) & " > InputDe1ta20 - " & aryDeltaTol(20) & ")) And "
"((" & Abs(aryNewDelta(41)) & " < InputDelta4l + " & aryDeltaTol(41) & ") And (" & Abs(aryNewDelta(41)) & " > InputDelta4l - " & aryDeltaTol(41) & ")) And "
"((" & Abs(aryNewDelta(49)) & " < InputDelta49 + "-& aryDeltaTol(49) & ") And (" & Abs(aryNewDelta(49)) & " > InputDelta49 - " & aryDeltaTol(49) & ")) And "
"((" & Abs(aryNewDelta(50)) & " < InputDelta50 + " & aryDeltaTol(50) & ") And (" & Abs(aryNewDelta(49)) & " > InputDelta50 - " & aryDeltaTol(50) & ")) And "
"((" & Abs(aryNewDelta(72)) & " < InputDelta72 + " & aryDeltaTol(72) & ") And (" & Abs(aryNewDelta(72)) & " > InputDelta72 - " & aryDeltaTol(72) & ")) And "
"((" & Abs(aryNewDelta(89)) & " < InputDelta89 + " & aryDeltaTol(89) & ") And (" & Abs(aryNewDelta(89)) & " > InputDelta89 - " & aryDeltaTol(89) & ")) And "
"((" & Abs(aryNewDelta(48)) & " < InputDelta48 + " & aryDeltaTol(48) & ") And (" & Abs(aryNewDelta(48)) & " > InputDelta48 - " & aryDeltaTol(48) & ")) And "
"((" & Abs(aryNewDelta(90)) & " < InputDe1ta90 + " & aryDeltaTol(90) & ") And (" & Abs(aryNewDelta(90)) & " > InputDelta90 - " & aryDeltaTol(90) & ")))"
Case 3 'Use just loads with triple tolerance strPredict = strPredict & ")"
Case 4' Use just key loads with normal tolerance strPredict = "SELECT Avg(P1) As StackNO, Avg(P4) As StackO2, "&_ "Avg(P6) As StackNOxlbs, Avg(P2) As StackCO, Avg(P3) as StackCO2, Avg(P5) as StackHC From tmdinput Where "
strPredict = strPredict & _ "((Input39 < " & adblMinute_Record(49) + aryDeltaTol(39) & ") And (Input39 > " & adblMinute_Record(49) - aryDeltaTol(39) & ")) And " & -"((Input68 < " & adblMinute_Record(78) + aryDeltaTol(68) & ") And (Input68 > " & adblMinute_Record(78) - aryDeltaTol(68) & ")) And " & -"((Input89 < " & adblMinute_Record(99) + aryDeltaTol(89) & ") And (Input89 > " & adblMinute_Record(99) - aryDeltaTol(89) & ")) And " & -"((Input4l < " & adblMinute_Record(51) + aryDeltaTol(41) & ") And (Input4l > " & adblMinute_Record(51) - aryDeltaTol(41) & ")) And " & -"((Input2O < " & adblMinute_Record(30) + aryDeltaTol(20) & ") And (Input2O
> " & adblMinute_Record(30) - aryDeltaTol(20) & ")) And " & -"((Input72 < " & adblMinute_Record(82) + aryDeltaTol(72) & ") And (Input72 > " & adblMinute_Record(82) - aryDeltaTol(72) & ")) And " & -"((Input49 < " & adblMinute_Record(59) + aryDeltaTol(49) & ") And (Input49 > " & adblMinute_Record(59) - aryDeltaTol(49) & ")) And " & -"((Input50 < " & adblMinute_Record(60) + aryDeltaTol(50) & ") And (Input5O
> " & adblMinute_Record(60) - aryDeltaTol(50) & ")) And " & -"((Input48 < " & adblMinute_Record(58) + aryDeltaTol(48) & ") And (Input48 > " & adblMinute_Record(58) - aryDeltaTol(48) & ")) And " & -"((Input90 < " & adblMinute_Record(100) + aryDeltaTol(90) & ") And (Input9O
> " & adblMinute-Record(100) - aryDeltaTol(90) & "))"
Case 5 'Use just key loads with x tolerance strPredict ="SELECT Avg(P 1) As StackNO, Avg(P4) As StackO2, "&_ "Avg(P6) As StackNOxlbs, Avg(P2) As StackCO From tmdinput Where "
strPredict = strPredict & _ "((Input89 < " & adblMinute_Record(99) + aryDeltaTol(89) & ") And (Input89 > " & adblMinute_Record(99) - aryDeltaTol(89) & ")) And " & -"((Input4l < " & adblMinute_Record(51) + aryDeltaTol(41) & ") And (Input4l > " & adblMinute_Record(51) - aryDeltaTol(41) & ")) And " & _ "((Input2O < ".& adblMinute_Record(30) + aryDeltaTol(20) & ") And (Input2O
> " & adblMinute_Record(30) - aryDeltaTol(20) & ")) And " & -"((Input72 < " & adblMinute_Record(82) + aryDeltaTol(72) & ") And (Input72 > " & adblMinute_Record(82) - aryDeltaTol(72) & ")) And " & -"((Input49 < " & adblMinute_Record(59) + aryDeltaTol(49) & ") And (Input49 > " & adblMinute_Record(59) - aryDeltaTol(49) & ")) And " & _ "((Input5O < " & adblMinute_Record(60) + aryDeltaTol(50) & ") And (Input5O
> " & adblMinute_Record(60) - aryDeltaTol(50) & ")) And " & -"((Input48 < " & adblMinute_Record(58) + aryDeltaTol(48) & ") And (Input48 > " & adblMinute_Record(58) - aryDeltaTol(48) & ")) And " & -"((Input90 < " & adblMinute_Record(100) + aryDeltaTol(90) & ") And (Input90 > " & adblMinute-Record(100) - aryDeltaTol(90) & "))"
Case 6 'Use critical loads and most correlative only strPredict ="SELECT Avg(P 1) As StackNO, Avg(P4) As StackO2, "&_ "Avg(P6) As StackNOxlbs, Avg(P2) As StackCO, Avg(P3) as StackCO2, Avg(P5) as StaclcHC From tmdinput Where "
strPredict = strPredict & _ "((Input49 < " & adblMinute_Record(59) + aryDeltaTol(49) & ") And (Input49 > " & adblMinute_Record(59) - aryDeltaTol(49) & ")) And " & -"((Input50 < " & adblMinute_Record(60) + aryDeltaTol(50) & ") And (Input50 > " & adblMinute_Record(60) - aryDeltaTol(50) & ")) And " & -"((Input48 < " & adblMinute_Record(58) + aryDeltaTol(48) & ") And (Input48 > " & adblMinute_Record(58) - aryDeltaTol(48) & ")) And " & -"((Input90 < " & adblMinute_Record(100) + aryDeltaTol(90) & ") And (Input90 > " & adblMinute-Record(100) - aryDeltaTol(90) & "))"
Case 7 'Use critical loads and most correlative only strPredict = "SELECT Avg(P 1) As StackNO, Avg(P4) As StaclcO2, "&_ "Avg(P6) As StackNOxlbs, Avg(P2) As StackCO, Avg(P3) as StackCO2, Avg(P5) as StackHC From tmdinput Where "
, Case 8 'Use critical loads only strPredict = "SELECT Avg(P 1) As StackNO, Avg(P4) As StackO2, "&_ "Avg(P6) As StackNOxlbs, Avg(P2) As StackCO, Avg(P3) as StackCO2, Avg(P5) as StackHC From tmdinput Where "
strPredict = strPredict & _ "((Input48 < " & adblMinute_Record(58) + aryDeltaTol(48) & ") And (Input48 > " & adblMinute_Record(58) - aryDeltaTol(48) & ")) And " & -"((Input90 < " & adblMinute_Record(100) + aryDeltaTol(90) & ") And (Input90 > " & adblMinute Record(100) - aryDeltaTol(90) & "))"
Case 9 'Use critical loads only strPredict = "SELECT Avg(P1) As StackNO, Avg(P4) As StackO2, "&_ "Avg(P6) As StackNOxlbs, Avg(P2) As StackCO, Avg(P3) as StackCO2, Avg(P5) as StackHC From tmdinput Where "
strPredict = strPredict & _ "((Input48 < " & adblMinute_Record(58) + aryDeltaTol(48) & ") And (Input48 > " & adblMinute_Record(58) - aryDeltaTol(48) & ")) And " & -"((Input90 < " & adblMinute_Record(100) + aryDeltaTol(90) & ") And (Input90 > " & adblMinute-Record(100) - aryDeltaTol(90) & "))"
Case Else 'Calculate heat input.
Dim sngGasFlow As Single sngGasFlow = sngCriticalLoad sngHl = sngGasFlow * FConfiguration.txtGCV * 60 / 1000000 If intCounter < 10 Then On Error GoTo ReturnLoop: ' Else GoTo Err_GetPollutants End If If objMASConn. State = adStateClosed Then ' objMASConn.Open FConfiguration.txtADO_Source End If If objMASRS.State = adStateOpen Then objMASRS.Close End If Dim cnp As ADODB.Connection, cindp As ADODB.Command Set cnp = New ADODB.Connection Set cmdp = New ADODB.Command cnp.Open "Driver={Microsoft Access Driver (*.mdb)};" & _ "DBQ=" & App.Path & "/datashare/PEMSTMDInput.mdb"
With cmdp .CommandText = strPredict Set ActiveConnection = cnp End With objMASRS.CursorLocation = adUseClient objMASRS.Open cmdp Debug.Print objMASRS.RecordCount 'objMASRS.Open strPredict, objFilelnput, adOpenStatic, adLockReadOnly If ((objMASRS.EOF) Or (IsNull(objMASRS.Fields(0))) Or (IsNull(objMASRS.Fields(1)))) Then objMASRS.Close objMASConn.Close GoTo ReturnLoop Else Debug.Print intCounter adblMinute_Record(3) = objMASRS.RecordCount If adblMinute Record(51) > 300 Then adblMinute_Record(5) = objMASRS.Fields(0) adblMinute_Record(8) = objMASRS.Fields(1) adblMinute_Record(9) = objMASRS.Fields(2) adblMinute_Record(7) = objMASRS.Fields(4) adblMinute Record(6) = objMASRS.Fields(3) adblMinute_Record(10) = objMASRS.Fields(5) Else adblMinute_Record(5) = 0 adblMinute_Record(8) = 20.9 adblMinute_Record(9) = 0 adblMinute_Record(7) = 0 adblMinute_Record(6) = 0 adblMinute Record(10) = 0 End If If aryNewDelta(intconOnlineThresholdlnputNo + 10) < 1 Then intLastTSLUValue = intLastTSLUValue + 1 adblMinute Record(4) = intLastTSLUValue Else ~
adblMinute_Record(4) = 0 End If adblMinute_Record(1) = intCounter objMASRS.Close End If 'End if'(If MWLoad > 5 then operating, else 0) GetNewPollutants = intCounter Exit Function I
ErrGetPollutants:
GetNewPollutants = 0 If objMASRS.State = adStateOpen Then objMASRS.Close End If If objMASConn.State = adStateOpen Then objMASConn.Close End If Exit Function ErrorHandler:
Call HandleError(MODULE_NAME, FUNC_NAME, Err.Number, Err.Description) objMASRS.Close objMASConn.Close End Function
each comparison value of the additional variable with each test value of the additional variable; and the comparison values of selected ones of the second coefficients associated with the comparison value of the variable with the test values of the selected ones of the second coefficients associated with the test value of the variable;
for each additional variable in each predetermined combination of a plurality of predetermined combinations of the selected ones of the additional variables, identifying all test values of the additional variable where the test value differs from a comparison value of the additional variable by an amount equal to or less than an associated predetermined amount, and where, for each of the selected ones of the second coefficients associated with each test value of the additional variable, all test values of the selected ones of the second coefficients differ from the comparison values of the selected ones of the second coefficients by an amount equal to or less than an associated predetermined amount; and assigning, as the predicted value of the first variable, an average of all of the test values of the first variable that are associated with respective test values of each additional variable for which the test first variable values differ from the comparison additional variable values by the associated predetermined amount.
21. A method for generating a model representative of a process, the process including a result variable representing a product of the process, and a plurality of process variables representing characteristics of the process other than the product of the process, the method comprising the steps of acquiring a plurality of test values of the result variable, each test value of the plurality of result variable test values being measured at a corresponding point in time;
for each first coefficient of a plurality of first coefficients, providing a separate test value of the first coefficient associated with each process variable of the plurality of process variables, each separate test value of the first coefficient being a function of at least a portion of the test values of the plurality of test values of the associated process variable; and for each second coefficient of a plurality of second coefficients, providing a separate test value of the second coefficient associated with each test value of each process variable of the plurality of process variables, each separate test value of the second coefficient being a function of at least a portion of the test values of the plurality of test values of the associated process variable.
computer readable program code means for causing a computer to, for each first coefficient of a plurality of first coefficients, associate a separate test value of the first coefficient with each additional variable of the plurality of additional variables, each separate test value of the first coefficient being a function of at least a portion of the test values of the plurality of test values of the associated additional variable; and computer readable program code means for causing a computer to, for each second coefficient of a plurality of second coefficients, associate a separate test value of the second coefficient with each test value of each additional variable of the plurality of additional variables, each separate test value of the second coefficient being a function of at least a portion of the test values of the plurality of test values of the associated additional variable.
computer readable program code means for causing a computer to, for each first coefficient of the plurality of first coefficients, provide a separate comparison value of the first coefficient associated with each variable of the selected ones of the additional variables, each separate comparison value of the first coefficient being a function of at least a portion of the comparison values of the plurality of comparison values of the associated additional variable; and computer readable program code means for causing a computer to, for each second coefficient of a plurality of second coefficients, associate a separate comparison value of the second coefficient with each comparison value of each selected one of the additional variables of the plurality of additional variables, each separate comparison value of the second coefficient being a function of at least a portion of the comparison values of the plurality of comparison values of the associated additional variable.
computer readable program code means for causing a computer to, for each additional variable in each predetermined combination of a plurality of predetermined combinations of the selected ones of the additional variables, iteratively compare:
each comparison value of the variable with each test value of the variable;
31 the comparison values of selected ones of the second coefficients associated with the comparison value of the variable with the test values of the selected ones of the second coefficients associated with the test value of the variable;
computer readable program code means for causing a computer to, for each additional variable in each predetermined combination of a plurality of predetermined combinations of the selected ones of the additional variables, identify all test values of the additional variable where the test value differs from a comparison value of the additional variable by an amount equal to or less than an associated predetermined amount, and where, for each of the selected ones of the second coefficients associated with each test value of the additional variable, all test values of the selected ones of the second coefficients differ from the comparison values of the selected ones of the second coefficients by an amount equal to or less than an associated predetermined amount; and computer readable program code means for causing a computer to assign, as the predicted value of the first variable, an average of all of the test values of the first variable that are associated with respective test values of each additional variable for which the test first variable values differ from the comparison additional variable values by the associated predetermined amount.
a computer-readable source code segment for causing a computer to, for each first coefficient of a plurality of first coefficients, associate a separate value of the first coefficient with each additional variable of the plurality of variables, each separate value of the first coefficient being a function of at least a portion of the values of the plurality of values of the associated additional variable; and a computer-readable source code segment for causing a computer to, for each second coefficient of a plurality of second coefficients, associate a separate value of the second coefficient with each value of each additional variable of the plurality of variables, each separate value of the second coefficient being a function of at least a portion of the values of the plurality of values of the associated additional variable.
for each process variable of the selected ones of the plurality of process variables and using the plurality of comparison values of the process variable, calculating an associated comparison correlation coefficient indicating a correlation between the process variable and the characteristic, for each process variable of the selected ones of the plurality of process variables and using the plurality of comparison values of the process variable, calculating an associated comparison tolerance value describing a range of values within which the comparison value of the process variable is located;
for each process variable in each predetermined combination of a plurality of predetermined combinations of the selected ones of the process variables, iteratively comparing each comparison value of the variable with each test value of the variable, the comparison value of the tolerance associated with the process variable with the test value of the tolerance associated with the process variable, the comparison value of the indicator associated with the process variable with the test value of the indicator associated with the process variable, the comparison value of the delta associated with the process variable with the test value of the delta associated with the process variable, and the comparison value of the correlation coefficient associated with the process variable with the test value of the correlation coefficient associated with the process variable;
for each process variable in each predetermined combination of a plurality of predetermined combinations of the selected ones of the process variables, identifying all test values of the additional variable where the test value of the additional variable differs from a comparison value of the additional variable by an amount equal to or less than a first predetermined amount, where the test value of the delta associated with the test value of the additional variable differs from the comparison value of the delta associated with the comparison value of the additional variable by an amount equal to or less than a second predetermined amount, and where the test value of the indicator associated with the test value of the additional variable differs from the comparison value of the indicator associated with the comparison value of the additional variable by an amount equal to or less than a third predetermined amount; and assigning, as the predicted value of the emissions variable, an average of all of the test values of the emissions variable that are associated with respective test values of each process variable for which the test process variable values differ from the comparison process variable values by the associated predetermined amount.
an emissions source; and a predictive emissions monitoring system for predicting a characteristic of an emission of the emissions source, the predictive emissions monitoring system including a computer system adapted to implement a method in accordance with claim 1.
CA 2601446 2005-03-18 2006-03-20 Predictive emissions monitoring system and method Active CA2601446C (en)
CA2601446A1 true true CA2601446A1 (en) 2006-09-28
CA2601446C CA2601446C (en) 2016-01-19
CA 2601446 Active CA2601446C (en) 2005-03-18 2006-03-20 Predictive emissions monitoring system and method
CN103019094B (en) * 2011-09-19 2017-04-12 费希尔-罗斯蒙特系统公司 Inference process modeling using the data of the multi-stage separation, the quality of fault detection and prediction