Monitoring, detecting, and quantifying chemical compounds in a gas sample stream

DE112011103066B4Active Publication Date: 2025-02-27MKS INSTR INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
DE112011103066
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2010-09-13
Filing Date
2011-09-08
Publication Date
2025-02-27
Estimated Expiration
2031-09-08

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Computer method for detecting and quantifying chemicals in a continuously queried liquid or gaseous sample stream, comprising: Receiving a sample measurement, which has a digitized spectroscopic profile, by a computing device; by the computing device calculating a multivariate multilevel background model comprising a first model modeling a first temporal effect and a second model modeling a second temporal effect that differs from the first temporal effect; by the computing device generating a background-cleaned sample measurement based on the sample measurement and the multivariate multilevel background model; and by means of the computing device executing a multivariate multilevel library search, error detection and quantification algorithm to identify one or more basic chemicals in the background-cleaned sample measurement, wherein the algorithm comprises: Identifying one or more chemical substances in the background-cleaned sample measurement based on multivariate statistical process control in comparison with the background-cleaned sample measurement using a spectral reference library; Performing at least either (i) Identifying a first chemical basic substance based on a focused chemical evaluation of one or more chemical basic substances, or (ii) Quantifying the first chemical basic substance based on the focused chemical evaluation of one or more chemical basic substances Calculating a residual profile by subtracting the first chemical component from the background-cleaned sample measurement; and Identifying a second set of one or more basic chemicals in the residue profile based on a comparison of the residue profile with the spectral reference library.
Need to check novelty before this filing date? Find Prior Art

Description

FIELD OF THE INVENTION

[0001] The invention relates generally to monitoring, detecting and quantifying chemical compounds in a sample, and more specifically to monitoring a continuous air or liquid stream by a spectroscopic method with the goal of detecting and quantifying a range of specific chemical materials in stream samples at low concentrations. BACKGROUND

[0002] Spectroscopy is the study of the interaction between electromagnetic radiation and a sample (containing, for example, gases, solids, and liquids, or a combination of these). The way in which the radiation interacts with a particular sample is based on properties of the sample (e.g., its molecular composition). Generally, specific wavelengths of radiation are absorbed by chemical compounds within the sample as the radiation passes through the sample. The specific wavelengths of radiation that are absorbed are unique to the chemical compounds within the particular sample. By identifying the wavelengths of radiation that were absorbed, it is therefore possible to identify the specific chemical compounds present in the sample.

[0003] Infrared spectroscopy is a specialized field of spectroscopy in which, for example, the types of chemical compounds and the concentration of individual chemical compounds within a sample are detected by exposing the sample (e.g., gas, solid, liquid, or a combination thereof) to infrared electromagnetic energy. Generally, infrared energy is characterized by electromagnetic energy wavelengths between approximately 0.7 µm (frequency 14,000 cm -1 ) and approximately 1000 µm (frequency 10 cm -1). The infrared energy is directed through the sample and interacts with the chemical compounds within it. The energy passing through the sample is detected by a detector (e.g., an electromagnetic detector). The detected signal is then used to determine, for example, the molecular composition of the sample and the concentration of specific chemical compounds within the sample.

[0004] For infrared spectroscopy, the infrared absorption spectrum can be related to chemical concentrations using mathematical equations (e.g., Beer's law, which relates light absorption to the properties of the material through which the light travels). A critical variable in these equations is the "background spectrum" (or spectra), which can be used as a baseline from which to detect and quantify new chemical compounds. The background spectrum is often calculated to quantify the infrared source passing through the sample of interest. The background spectrum can also account for other instrumental functions and environmental conditions.For example, the background spectrum can be measured in a clean environment before a sample of interest is introduced into the system, allowing new measurements to be checked against the background spectrum. Advantageously, the system can ignore the background chemical components or other background components (identified using the background spectrum) and only monitor and / or detect and quantify new (or additional) chemical compounds.

[0005] The background spectrum is often approximated by a single background spectrum (e.g., a constant background spectrum that does not compensate for changes over time, such as changes to the instrument and / or the environment). If the instrument stability and environmental conditions are well controlled, the current background spectra should ideally form a constant vector over time that is sufficiently close to the background spectrum so that the error is white and negligible (and chemical identification and quantification of the new chemical compounds can be implemented with acceptable accuracy and precision). However, the instrument and / or the environment change so frequently that a single background spectrum does not accurately model the true background of the system. This can lead to imprecise and / or erroneous detections of chemical compounds (e.g.,false positives or missed detections of chemical compounds).

[0006] Document US 2010 / 0 908 45 A1 discloses a gas detection system and a method for analyzing infrared gas spectra used for chemical threat detection, quantification, and alerting. Using a chemical library, a chemical threat list, and a background model containing the data history, spectra with interfering signals can be incorporated into the background model. The model is updated using delay buffering to prevent the inclusion of threat spectra and exponential decays to preferentially represent the most recent background history, all calculated in logarithmic space for rapid detection and alerting. SUMMARY OF THE INVENTION

[0007] Spectroscopy can be used to detect, identify, and / or quantify trace concentrations of chemical compounds (or compounds) in a sample. Concentrations of chemical compounds can be measured in situ (e.g., at the site of, for example, a building, tunnel, or landfill) and in real time (e.g., the contents of the sample are immediately and quickly processed and analyzed on-site without having to take a sample and analyze the sample in a laboratory at a relatively later time). In some embodiments described herein, a multivariate multilevel background algorithm is computed, comprising a first model (e.g., an evolving background model) and a second model (e.g., a multivariate noise model) that models the remaining noise in the evolving background model.The multivariate multilevel background algorithm is applied to sample measurements (e.g., digitized sample spectra) to generate a corrected background sample spectrum. In some embodiments described herein, a multivariate multilevel library search, error detection, and quantification algorithm is applied to the background-corrected sample spectrum to identify one or more chemicals (using an error detection algorithm) and to calculate concentrations of the one or more chemicals to be assayed from the list of one or more chemicals (using a multivariate library search).

[0008] In one aspect, the invention relates to a computer method for detecting and quantifying chemicals in a continuously sampled liquid or gas sample stream. The method includes receiving a sample measurement including a digitized spectroscopic profile by a computing device. The method includes calculating, by the computing device, a multivariate multilevel background model, wherein the model comprises a first model modeling a first temporal effect, or a second model modeling a second temporal effect different from the first temporal effect, or both models. The method includes generating, by the computing device, a background-corrected sample measurement based on the sample measurement and the multivariate multilevel background model.The method comprises executing a multivariate, multilevel library search, error detection, and quantification algorithm to identify one or more precursor chemicals in the background-corrected sample measurement. The algorithm comprises identifying one or more chemical substances in the background-corrected sample measurement based on multivariate statistical process control in comparison with the background-corrected sample measurement from a spectral reference library.The algorithm comprises performing at least one of the following two steps: (i) identifying a first precursor chemical based on a focused chemical assessment of the one or more chemical substances or on a concentrated chemical assessment of the one or more chemicals of interest or (ii) quantifying a first precursor chemical based on the focused chemical assessment of the one or more chemical substances.

[0009] In another aspect, the invention relates to a system for detecting and quantifying chemicals in a continuously sampled liquid or gas sample stream. The system comprises a data acquisition module configured to receive a sample measurement comprising a digitized spectroscopic profile. The system comprises a multivariate multilevel background module in communication with the data acquisition module and configured to calculate a multivariate multilevel background model comprising at least a first model modeling a first temporal effect and a second model modeling a second temporal effect different from the first temporal effect.The multivariate multilevel background module is configured to generate a background-corrected sample measurement based on the sample measurement and the multivariate multilevel background model. The multivariate multilevel background module is configured to update the multivariate multilevel background model based on the sample measurement. The system includes a data quality diagnostic module, which is in communication with the multivariate multilevel background module and is configured to determine whether the sample measurement is suitable for inclusion as an update in the multivariate multilevel background model.

[0010] In another aspect, the invention relates to a computer program product materially embodied in a computer-readable storage medium. The computer program product comprises instructions executable to cause a data processing device to receive a sample measurement comprising a digitized spectroscopic profile. The computer program product further includes instructions executable to cause a data processing device to calculate a multivariate multilevel background model comprising a first model modeling a first temporal effect, or a second model modeling a second temporal effect different from the first temporal effect, or both models.The computer program product further comprises instructions executable to cause a data processing device to generate a background-corrected sample measurement based on the sample measurement and the multivariate multilevel background model. The computer program product further comprises instructions executable to cause a data processing device to execute a multivariate multilevel library search, error detection, and quantification algorithm to identify one or more precursor chemicals in the background-corrected sample measurement. The algorithm is configured to identify one or more chemical substances in the background-corrected sample measurement based on multivariate statistical process control comparing the background-corrected sample measurement to a spectral reference library.The algorithm is configured to identify a first chemical precursor based on a focused chemical evaluation of the one or more chemical substances.

[0011] In another aspect, the invention relates to a computer program product materially embodied in a computer-readable storage medium. The computer program product comprises instructions executable to cause a data processing device to receive a sample measurement comprising a digitized spectroscopic profile. The computer program product comprises instructions executable to cause a data processing device to calculate a multivariate multilevel background model comprising at least a first model modeling a first temporal effect and a second model modeling a second temporal effect different from the first temporal effect.The computer program product includes instructions executable to cause a data processing device to generate a background-corrected sample measurement based on the sample measurement and the multivariate multilevel background model. The computer program product includes instructions executable to cause a data processing device to determine whether a sample measurement is suitable for inclusion in the multivariate multilevel background model as an update. The computer program product includes instructions executable to cause a data processing device to update the multivariate multilevel background model based on the sample measurement.

[0012] In another aspect, the invention relates to a system for detecting and quantifying chemicals in a continuously sampled liquid or gas sample stream. The system comprises a data acquisition module configured to receive a sample measurement comprising a digitized spectroscopic profile. The system comprises a multivariate multilevel background module in communication with the data acquisition module and configured to calculate a multivariate multilevel background model comprising a first model modeling a first temporal effect, a second model modeling a second temporal effect different from the first temporal effect, or both models.The multivariate multilevel background module is configured to generate a background-corrected sample measurement based on the sample measurement and the multivariate multilevel background model. The system includes a multivariate multilevel library search, error detection, and quantification module in communication with the data acquisition module, wherein the multivariate multilevel background module is configured to execute a multivariate multilevel library search, error detection, and quantification algorithm to identify one or more precursor chemicals in the background-corrected sample measurement based on a comparison of the background-corrected sample measurement to a spectral reference library.The multivariate multilevel library search, error detection, and quantification module is configured to perform at least one of the following steps: (i) identifying a first precursor chemical based on a focused chemical assessment of the one or more chemical substances; or (ii) quantifying the first precursor chemical based on the focused chemical assessment of the one or more chemical substances.

[0013] In another aspect, the invention relates to a computer method for detecting and quantifying chemicals in a continuously sampled liquid or gas sample stream. The method comprises receiving, by a computing device, a sample measurement comprising a digitized spectroscopic profile. The method comprises calculating, by the computing device, a digitized multilevel background model, the model comprising at least a first model modeling a first temporal effect and a second model modeling a second temporal effect different from the first temporal effect. The method comprises generating, by the computing device, a background-corrected sample measurement based on the sample measurement and the multivariate multilevel background model.The method includes determining, by the computing device, whether the sample measurement is suitable for inclusion as an update in the multivariate multilevel background model. The method includes updating, by the computing device, the multivariate multilevel background model based on the sample measurement.

[0014] In other embodiments, any of the above aspects may include one or more of the following features. Identifying the first precursor chemical may include determining that no precursors are present. Calculating may include updating the multivariate multilevel background model.The multivariate multilevel library search, error detection, and quantification algorithm may further comprise calculating a residue profile by subtracting the first precursor chemical from the background-corrected sample measurement, quantifying a content by determining the concentration of the first precursor chemical from the background-corrected sample measurement, identifying a second set of one or more precursor chemicals in the residue profile based on a comparison of the residue profile to the spectral reference library, and identifying a second precursor chemical based on a focused chemical evaluation of the second set of one or more precursor chemicals.

[0015] In some examples, the sample measurement is determined to be suitable for inclusion in the multivariate multilevel background model, and the multivariate multilevel background model is updated based on the sample measurement. The sample measurement may be filtered through a data buffer to avoid contamination resulting from slow chemical data poisoning in the sample stream. The size of the data buffer may be determined by a data poisoning rate value.

[0016] In other examples, the influence of one or more interfering chemicals in the sample measurement is reduced based on a mask function. One or more chemical interfering substances can be identified, and the mask function can be updated based on the one or more identified chemical interfering substances. One or more update conditions can be defined, comprising updating at least one of the following models: (i) the multivariate multilevel background model or (ii) the multivariate multilevel library search, error detection, and quantification model if no chemical compounds are detected in the sample measurement. Updating at least one of the following models: (i) the multivariate multilevel background model or (ii) the multivariate multilevel library search, error detection, and quantification model if non-interesting chemical compounds are detected in the sample measurement.Updating at least one of the following models: (i) the multivariate multilevel background model or (ii) the multivariate multilevel library search, error detection and quantification model if there is no alarm for any chemical compound of interest in the sample measurement, and not updating at least one of the following models (i) the multivariate multilevel model or (ii) the multivariate multilevel library search, error detection and quantification model.

[0017] In some examples, identifying a precursor chemical comprises ensuring that no precursor chemicals are present. The sample measurement may be a background-corrected sample measurement calculated based on a multivariate multilevel background model. The one or more chemical substances may be identified based on a matrix-based simultaneous comparison comprising a least squares regression. The least squares regression may comprise a classical least squares method, a partial least squares method, an inverse least squares method, or any combination thereof. The one or more chemical substances may be identified based on a multivariate regression.The precursor chemical of one or more precursors can be identified based on a least squares regression.

[0018] In other examples, identifying the precursor chemical of the one or more precursor chemicals comprises calculating an RMS value of a digitized spectrum of each of the one or more chemical substances, calculating a concentration of each of the one or more chemical substances, calculating a t-statistic of the digitized spectra for each of the one or more chemical substances, wherein the t-statistic is based on a variance of the associated chemical substance of the one or more chemical substances, and identifying the first precursor chemical from the one or more chemical substances, wherein the first precursor chemical comprises a lowest RMS value and a highest t-statistic of the one or more chemical substances.

[0019] In some examples, the spectral reference library is constant, or the spectral reference library is dynamically updated to include or exclude spectra, or both. The spectral reference library can be dynamically extended with a multivariate noise model. The first model of the multivariate multilevel background model can comprise evolving the background model. A background spectrum of the evolving background model can be initialized in a time domain, a frequency domain, or both based on an exponentially weighted moving average, and the background spectrum can be updated based on the exponentially weighted moving average. The second model of the multivariate multilevel background algorithm can comprise a multivariate noise model.

[0020] In other examples, the multivariate noise model is filtered based on the first model, and a remaining spectral deviation of the multivariate noise model is corrected based on a multivariate approach including principal component analysis, independent component analysis, multivariate curve resolution, partial least squares, weighted least squares, total least squares, continuum regression, ridge regression, or any combination thereof.

[0021] In some examples, the multivariate noise model is updated based on an exponentially weighted multivariate approach to minimize a residue profile of the cleaned residual spectral deviation, where the exponentially weighted multivariate approach includes an exponentially weighted moving principal component analysis, an exponentially weighted moving independent component analysis, an exponentially weighted moving multivariate curve resolution, an exponentially weighted moving partial least squares, an exponentially weighted moving absolute least squares, an exponentially weighted moving continuum regression, an exponentially weighted moving ridge regression, or any combination thereof.

[0022] The techniques, methods, and apparatus described herein may provide one or more of the following advantages. Advantageously, a multilevel background model (which can be updated regularly) can significantly reduce the systematic and spectral bias of the detection system (e.g., compared to using only a single background spectrum). The multilevel background model (e.g., comprising a first background model, such as an evolving background model, and a second background model, such as a multivariate noise model) allows measurements (e.g., infrared measurements) to be calculated over a long time period. The multilevel background model can be updated with background data to track instrument and / or environmental drift.A time delay can be applied to the background data to protect the multilevel background model and / or a fault detection model from being contaminated with the signal containing hazardous chemicals or gases of interest. The first background model (e.g., an averaged background model) can be computed both as an interferogram in the time domain and as a spectrum in the frequency domain. A multithreaded architecture can allow the system to apply the multilevel background model in real time while model updates (or parts of it, such as updating the second model) are computed using background processes.

[0023] A multivariate, multilevel library search, error detection, and quantification can be applied to the background-corrected measurements. The first step generates a list of chemical substances that are highly recommended for further processing by a second step using a digitized spectral reference library. Advantageously, the first step can quickly identify one or more chemical substances, and the second step can then determine whether or not each of the chemical substances should be identified as a chemical of interest, as well as the calculated concentration of each of the identified chemicals. Other aspects and advantages of the present invention will become apparent from the following detailed description, which, taken in conjunction with the accompanying figures, describe the principles of the invention solely by way of example.

[0024] The multilevel library search, error detection, and quantification algorithm includes chemical prescreening and refining. Advantageously, this can allow for rapid implementation of chemical identification and quantification for a large-scale library. Combining a multilevel background model with multilevel library search, error detection, and quantification increases the sensitivity (the detection limit) without sacrificing speed in algorithm implementation. SHORT DESCRIPTION OF THE CHARACTERS

[0025] The foregoing and other aspects, features and advantages of the present invention, as well as the invention itself, will become more fully understood from the following description of the various embodiments when read in conjunction with the accompanying figures. Fig. 1 shows an exemplary block diagram of a detection system for monitoring and / or detecting and quantifying chemical compounds in a sample. Fig. 2 shows an example process flow for the detection system of the Fig. 1 for monitoring and / or detecting and quantifying chemical compounds in a sample. Fig. Figure 3 shows an exemplary computer-implemented method for generating a multivariate multilevel background model. Fig. Figure 4 shows an exemplary computer-implemented method for updating the multivariate multilevel background model. Fig. Figure 5 shows an example graph of sample spectra measured using a single background spectrum. Fig. Figure 6 shows an example graph of sample spectra measured using an evolving background model. Fig. Figure 7 shows an exemplary graph of sample spectra measured using a multivariate multilevel background model. Fig. Figure 8 shows an exemplary computer-implemented method for monitoring, detecting, and quantifying chemical compounds in a sample using a multivariate multilevel library search, error detection, and quantification algorithm. Fig. Figure 9 shows an exemplary computer-implemented method for identifying one or more chemical substances in a sample. Fig. Figure 10 shows an example graph of test spectra measured using a single background spectrum. Fig. Figure 11 shows an example graph of an evolving background model calculated for the test spectra. Fig. Figure 12 shows an example graph of the test spectra measured using a multivariate multilevel background model. Fig. Figure 13 shows an example control chart for test spectra. DETAILED DESCRIPTION

[0026] Generally, chemicals in trace or low concentrations are detected and quantified by analyzing spectral data using a computer program. The spectral data originates from a continuously sampled liquid or gas sample stream. The terms "spectra" and "digitized spectra" can be used interchangeably and refer to digitized spectral information. The computer program includes a multilevel background algorithm, a multilevel error detection, library search, and quantification algorithm, and a data quality analysis module.

[0027] The multivariate multilevel background algorithm models systemic and / or environmental variations observed in the spectral profiles over time. The multivariate multilevel background algorithm can accurately and dynamically describe instrument function and environmental conditions. For example, the multilevel background algorithm includes a first model (e.g., an evolving background model) and a second model (e.g., a multivariate noise model) that models the residual noise in the first model. The multivariate multilevel background algorithm is referred to as "multivariate" because, in some embodiments, the approach may involve multivariate spectral profiles (which are multivariate rather than univariate measurements). The multivariate multilevel background algorithm is referred to as "multilevel" because the algorithm may include one or more stages to generate the background model.For example, the background algorithm may include a layer to compute the first model to model the background. In some examples, the background algorithm includes a layer (either separate from or in addition to other layers) to compute the second model to account for noise not modeled by the first model. The system uses the multivariate multilevel background algorithm to sample measurements to generate a background-cleaned sample spectrum. The multivariate multilevel background algorithm is often referred to as the "background algorithm" in this document for shorthand purposes.

[0028] A multivariate multilevel library search, error detection, and quantification algorithm is applied to the background-corrected sample spectrum to calculate the probability of the presence of one or more chemicals of interest. The multivariate multilevel library search, error detection, and quantification algorithm comprises a multivariate error detection algorithm and spectral residual analysis suitable for rapidly detecting and quantifying a wide range of chemical compounds at trace levels while referencing a large computerized spectral library of matched chemicals. The multivariate multilevel library search, error detection, and quantification algorithm is referred to as "multivariate" because, in some embodiments, the approach is suitable for multivariate spectral profiles.The multivariate multilevel library search, error detection, and quantification algorithm is referred to as "multilevel" because the algorithm may include one or more levels to identify the chemicals of interest and the calculated concentration of each identified chemical. For example, the library search, error detection, and quantification algorithm may include a first level to calculate one or more chemicals from the background-corrected sample measurement (e.g., based on control charts generated using the spectral reference library). In some embodiments, the library search, quantification, and error detection algorithm may include a second level to determine the one or more chemicals of interest based on one or more chemicals (e.g.,based on residuals, t-values, and / or concentrations). The multivariate multilevel library search, error detection, and quantification algorithm is often referred to as a "search, detection, and quantification algorithm" for shorthand purposes in this document.

[0029] The data quality diagnostic module monitors the current sample measurement for data integrity prior to library searching, error detection, and quantitative analysis. The data quality diagnostic module also qualifies the sample for inclusion in the background algorithm and continues to filter the background through a data buffer to prevent background contamination resulting from slow chemical poisoning in the sample stream. The computer program uses a multithreaded architecture to quickly analyze the sample measurements in real time, while still maintaining the ability to update the more complex multivariate models in a background-like process.

[0030] Although the description and / or the figures describe the techniques in terms of applying a background algorithm to generate a background-cleaned sample spectrum and using a search, detection, and quantification algorithm to analyze the cleaned sample spectrum, these technologies do not require the algorithms to be used in conjunction. In some embodiments, only the background algorithm is used to generate the background-cleaned sample spectrum (e.g., another algorithm is used to detect defects). In some embodiments, only the search, detection, and quantification algorithm is used to detect defects (e.g.,the search, detection, and quantification algorithm is applied to an uncleaned sample measurement, or to an evolving, background-cleaned sample measurement, or to a different background generated by a different background-cleaning algorithm).

[0031] Fig. 1 shows an exemplary block diagram of a detection system for monitoring, detecting, and / or quantifying chemical compounds in a sample (e.g., for monitoring a trace gas in a gas sample). The detection system 10 can be used to detect and quantify trace amounts of substances such as sarin, tabun, soman, mustard gas, and VX nerve agent. In some embodiments, vapors of a solid or liquid substance can be detected and quantified. The detection system 10 can, for example, include an absorption spectrometer and / or Fourier transform spectroscopy, e.g., a fluorescence spectrometer. These can be optical spectroscopy, infrared spectroscopy (FTIR, FT-NIRS, FT-Raman), magnetic resonance imaging (nuclear magnetic resonance, NMR) and magnetic resonance spectroscopic imaging (MRSI), mass spectroscopy and electron spin resonance spectroscopy, etc.In some embodiments, the FT spectroscopy may be the AIRGARD® air analyzer provided by MKS Instruments, Inc. (Wilmington, MA), which is designed to rapidly detect and quantify chemical species or toxic industrial chemicals (TICs) at parts-per-billion (ppb) concentration levels. In the embodiment shown, the detection system 10 includes a gas sample source 26, a measurement unit 27, a detector 30, a processor 34, and a display 38. In various embodiments, the detection system 10 may be used to detect a trace amount of a gas in a short time period of a few seconds, with few, if any, false positives or negatives.

[0032] The scanning system 22 may, for example, include an interferometer. The interferometer module can measure all optical frequencies generated by its source and transmitted through a sample (e.g., sample 26 contained in the scanning system 22). A noise signal may pass through the sample 26 and be measured by the detector 30. The presence of different samples (e.g., a solid, a liquid, or a gas) may change the intensity of the detected radiation detected by the detector 30. The output of the detector may be a variable that is time-dependent. This output signal may be described as an interferogram. The interferogram may be represented as a plot of the received energy intensity over time (a "time-domain" signal) (e.g.,The interferogram can be a function of a variable optical path difference generated by moving a movable mirror. The interferogram can be understood as a summation of all wavelengths of energy emitted by the source and passed through the sample. Using the mathematical method of the Fourier transform (FT), a computer or processor can convert the interferogram into a spectrum characteristic of the light absorbed or transmitted through the sample. Because individual types of chemical compounds absorb specific wavelengths of energy, it is possible to determine the chemical compound(s) present in the sample based on the interferogram and the corresponding spectrum.In a similar way, the amount of energy absorbed by the sample or transferred through the sample can be used to determine the concentration of a chemical compound(s) in the sample.

[0033] In various embodiments, the sample of gas 26 may be ambient air. The sampling system 22 (e.g., a gas sampling system) may collect ambient air and introduce it into a sampling region within the sampling system 22. The gas sample may be introduced into the sampling system 22 at a predetermined flow rate using a flow system including an inlet 46 and an outlet 50 of the sampling system 22.

[0034] In some examples, detector 30 may be an infrared detector. In some embodiments, detector 30 is a cooled detector. Processor 34 may receive signals from detector 30 and identify a trace gas by its spectral fingerprint, or provide a relative or absolute concentration of the particular material within the sample. Processor 34 may, for example, be signal processing hardware and quantitative analysis software running on a personal computer. Processor 34 may include a processing unit and / or memory. Processor 34 may obtain and process continuous spectra while calculating the concentration of a plurality of gases within a sample. Processor 34 may transmit information, such as the identity of the trace gas, a spectrum of the trace gas, and / or the concentration of the trace gas, to a display 38.Processor 34 can store and display spectrum concentration time histories, as well as a measured spectrum and spectral residuals, in graphical and tabular formats. Processor 34 can collect and store various other data for reprocessing or review at a later time. Display 38 can be a CRT display, an LED display, a flat panel display, or other suitable display known in the art.

[0035] Fig. 2 shows an exemplary process flow 200 for the detection system 10 of the Fig. 1 for monitoring, detecting and / or quantifying chemical compounds in a sample. A sample (data) is acquired in step 202 (e.g., via the detector 30 of the Fig. 1). In step 206, the sample is preprocessed by the data quality diagnostic module 204 (e.g., to verify the integrity of the instrument and / or the sample). If the preprocessing does not successfully validate the sample and / or the instrument, the data is discarded. If the preprocessing in step 206 successfully validates the sample, the detection system 10 (via the processor 34) applies the background model in step 208 to generate a background-cleaned sample to remove all known background noise types from this sample (see step 310 of the Fig. 3) Advantageously, the background-cleaned sample allows the detection system 10 to analyze the sample for unknown / unexpected chemicals and ignore known / expected chemicals.

[0036] The search, detection, and quantification module 210 analyzes the background-cleaned sample to search for any precursor chemicals (e.g., chemicals that have a sufficient concentration that the detection system 10 triggers an alarm via an alarm module 224). In some embodiments, the background model is not applied in step 208, and the search, detection, and quantification module 210 processes uncleaned data. The search, detection, and quantification module 210 performs an iterative analysis of the background-cleaned sample to determine if any precursor chemicals are present (e.g., no precursor, one, or up to "n" chemicals, where n may be predetermined by the detection system 10). The iterative analysis is performed using a least squares regression module 212 and the fault detection model application module 214. These two modules are described in detail below.

[0037] The search, detection, and quantification module 210 transmits the results of the precursor chemical search to the data quality diagnosis module 204. In step 216, the data quality diagnosis module 204 determines whether the sample should be included in the background model (BGM) and / or the fault detection model (FDM). If the determination is positive, the data quality diagnosis module 204 transmits the sample to a time-delay buffer 218. If the determination is negative, the data quality diagnosis module 204 discards the sample. For example, if the search, detection, and quantification module 210 does not identify any precursors, the data quality diagnostic module 204 transfers the sample to the buffer 218 to update the model (e.g., via the background model update 220 and the error detection model update 222), where the sample would not include any precursors in the sample.However, if the search, detection, and quantification module 210 has identified one or more precursors, the data quality diagnostic module 204 discards the sample and flushes the samples in the buffer 218 to prevent the precursors from being included in the background model (which could cause the detection system 10 to inappropriately ignore precursors).

[0038] The main thread 201 executes in real time once the detection system 10 acquires data (e.g., interferograms transmitted from the detector 30). The parallel thread 226 executes in the background (e.g., not in real time) to update the detection system 10's algorithms for detecting, quantifying, and alarming chemicals or gases of interest. The main thread 201 and the parallel thread 226 may execute as separate computer program threads on separate central processing unit (CPU) cores, on separate computing systems, and / or the like. For example, the main thread 201 and the parallel thread 226 may be implemented as a multi-threaded architecture, with the main thread 201 being a first thread and the background thread 226 being a second thread.

[0039] In general, the main thread 201 is configured to calculate the first model update (e.g., via the first model update module 220A), analyze real-time spectroscopic measurements via the search, detection, and quantification module 210, which includes a fault detection model, identify one or more chemicals of interest (e.g., via the fault detection model application 214), and report on the one or more chemicals of interest (e.g., via the alarm module 224). The main thread 201 outputs a set of processed absorption spectra (e.g., background-cleaned absorption spectra), background spectra (e.g., spectra that can be used to update the background model), and a list of chemicals of interest and their associated detected concentrations and alarm information. This information can be provided, for example, to the display 38 of the Fig. 1 (e.g., a user interface) for real-time display and / or input into the buffer 218 so that the background model 220 and the error detection model update 222 can receive the information to update the models.

[0040] Generally, the parallel thread 226 is configured to calculate the second model update (e.g., via the second model update module 220B) and update the fault detection model (e.g., via the fault detection model update 222). Furthermore, the parallel thread 226 may be configured to perform other functionalities that may operate in parallel with the main thread 201. For example, the parallel thread 226 may perform some functionalities described in the data quality diagnostics module, such as determining the performance of the detection system 10. In some examples, the parallel thread 226 may determine an update rate for the background model, the search, detection, and quantification algorithm, or both (e.g., via the data quality diagnostics module 204, based on a current drift in instrument function, an environmental condition, or both).

[0041] With respect to the data acquisition 202, the module may also acquire context data (e.g., timestamps, temperature, information about the detection system 10, signal levels (e.g., when the signal-to-noise ratio decreases), etc.). The data acquisition module 202 operates, for example, on interferograms and / or diagnostic data for the detection system 10. Diagnostic data may include, for example, time, interferogram peak-to-peak (PP), interferogram direct current (DC), modulation efficiency, laser peak-to-peak (PP) (in volts (V)), laser direct current (DC) (V), the temperature of the detector (e.g., the detector 30), laser frequency (cm -1), flow rate of the sample gas (L / min), the temperature of the cell (in Celsius (C)) (e.g., within the sampling system 22, a gas cell, etc.), pressure (atm), pump (e.g., the pump that inputs the sample), temperature of the input sample 26, temperatures of the Stirling detector 30 (Kelvin, (K)), the temperature within the detection system 10, the board temperature (e.g., the temperature of the board on which components of the detection system 10 are implemented), etc.

[0042] With respect to the data quality diagnostic module 204, the module determines whether the data will be admitted to the detection system (via step 206) and whether the data will be included in the models (via step 208). The data quality diagnostic module 204 may preprocess interferograms for use by other modules to generate a processed interferogram. For example, the preprocessing may include performing centerburst spatial alignment, scan direction alignment, scan direction correction, interferogram length and height verification, summing two or more interferograms (e.g., averaging two or more sequence interferograms), high-pass filtering, and / or linearization. The data quality diagnostic module 204 may be configured to process single sweep interferograms (10 interferograms / s) and / or summed interferograms according to the application description.

[0043] Further referring to the data quality and diagnostics module 204, the module may qualify the processed interferogram to generate absorption spectra. For example, the data quality diagnostics module 204 qualifies the processed interferogram by detecting and logging the interferogram disturbances and centerburst jumps. The data quality diagnostics module 204 may tabulate the diagnostic data (e.g., the PP interferogram, the DC interferogram, etc., as described above). The data quality diagnostics module 204 may transform the qualified interferogram, which is in the time domain, into the frequency domain. For example, the data quality diagnostics module 204 transforms the qualified interferogram into a transmission spectrum. The transformation process into the frequency domain may include, for example, DC and tilt corrections, apodizations, fast Fourier transforms (FFT), phase corrections, and / or other transformations.The data quality diagnostic module 204 may use the transmission to calculate absorption spectra. The data quality diagnostic module 204 may transmit the absorption spectra to the background model unit 208.

[0044] Further with respect to the data quality diagnostic module 204, the module may store data and statistics reflecting the current performance of the detection system 10 under the currently calibrated conditions. The data quality diagnostic module 204 may monitor system performance (e.g., based on a system design specification). The data quality diagnostic module 204 may provide detection limits for target chemicals (e.g., the detection threshold for a chemical classified as a chemical of interest). The data quality diagnostic module 204 may calculate the detection distribution uncertainty based on the algorithm executed by the search, detection, and quantification module 210 to establish the detection limits.

[0045] With respect to the search, detection, and quantification module 210, the module detects whether an error is present (e.g., via a rapidly executed process) and then performs a library search to refine the error determination. Generally, the search, detection, and quantification module 210 first applies a mask function to the absorption spectrum to generate a masked spectrum. A mask function (e.g., a weight function) can be, for example, a range of values ​​(e.g., between 0 and 1) with the same units as the sample signal. A value of 0 completely excludes the corresponding variable from the signal, while a value of 1 allows the variable to be processed normally. The higher the values ​​between 0 and 1, the higher the weight of the variable. The mask function can be defined based on absorption peaks of common interfering substances (e.g., H2O and CO2, two chemicals in the air).The mask function can be predetermined or determined dynamically. The mask function update can be implemented according to the quality and quantity of the interfering substances (e.g., by the spectrum update module 130) using an EWMA algorithm. The search, detection, and quantification module 210 then executes a search, detection, and quantification algorithm on the acquired spectrum. The search, detection, and quantification module 210 generates concentration values, spectral values, residual values, and t-values ​​for each detected chemical component (or chemicals).

[0046] The fault detection model application 214 executes a first level that identifies chemical substances. The first level may include, for example, performing a multivariate regression against the spectral library 228 (e.g., a library of chemical spectra) to calculate regression coefficients for each chemical in the library (e.g., using Equations 13-14 below). The first level may include calculating a control chart based on the regression coefficients (e.g., using Equation 15). The first level may include identifying top chemicals (the chemical substances) with the highest coefficients (e.g., the highest "n" values, where the number n is specified), which are passed to the second level of the search, detection, and quantification module 210.

[0047] The least squares regression module 212 performs the second level, which includes performing a multivariate residual analysis on the top-identified chemicals calculated by the fault detection model application 214. The second level may include detecting (or identifying) the precursor chemical with the highest residual reduction. For the detected chemical, the second level (also referred to as "residual analysis") may include calculating a t-value (which measures detection confidence) and / or a concentration of the chemical. The second level may also include, for example, updating the residual spectrum based on a particular chemical. The updated residual spectrum (the spectrum with the precursor chemical removed) may be fed back into the fault detection model application 214 for a next iteration of the first and second levels (e.g.,when a chemical substance is above the predetermined threshold). In each iteration, a single chemical (or chemical compound) is identified until, for example, no sudden changes are present (e.g., no chemicals are identified with a highest residual reduction) and / or a maximum number of chemicals has been determined. The search, detection, and quantification module 210 transmits data for one or more chemicals of interest (e.g., the t-values ​​and detected concentrations) to the alarm module 224. The data quality diagnostic module 204 may also buffer the data from the search, detection, and quantification module 210 in the buffer 218. Advantageously, the two levels in the search, detection, and quantification 210 allow the detection system 10 to quickly determine when an error is present and then further process the data to determine the current effect (e.g.,whether a chemical precursor is identified or an alarm is triggered).

[0048] With respect to the alarm module 224, this module makes a decision based on the data associated with the one or more chemicals of interest as to whether or not to trigger an alarm. When the alarm module 224 triggers an alarm, the module may also be configured to determine an alarm confidence level (e.g., low, medium, high). The alarm module 224 may define a separate alarm decision structure for each of the one or more chemicals of interest. For example, the alarm module 224 may determine whether the current concentration of a chemical of interest exceeds a user-defined hazardous concentration level (e.g., for chemical agents, the threshold may be set to 0; for TICs, such as ammonia, the threshold may be set to several ppm). The alarm module 224 may use different alarm thresholds to calculate the alarm confidence level (e.g.,The alarm module 224 may use low, medium, and high confidence levels for low, medium, and high alarms, respectively. Various criteria (either alone or in combination) may be used to trigger an alarm. For example, a t-value may be preconfigured for an alarm, and "n" and "m" values ​​may be set (e.g., if "n" out of the last "m" spectra exceeds the t-value, an alarm is triggered) and / or other alarm criteria may be configured. The alarm module 224 may also output an update flag indicating the type of detection (which may be used, for example, to determine whether the current spectra should be used for an algorithm update). For example, the update flag may be an integer value that is set to 0 if no chemical detection has occurred (e.g.,including contaminant and / or hazard connections), 1, if no hazard detection occurred (but there was a contaminant detection), and 2, if no alarm occurred (a contaminant was present and / or a hazard connection detection, but no alarm was triggered).

[0049] With reference to the background model 220, the first model update module 220A calculates a first model of the background model 220 (e.g., using Equation 4 as described below) based on the data in the buffer 218. The data buffer 218 can prevent contamination resulting from slow chemical data contamination in the sample stream. For exemplary purposes only, assume that samples are taken every tenths of a second, and that a chemical is slowly introduced into the sample such that the system cannot detect the chemical for the first few minutes because the amount of the chemical is too small to be determined as a primary chemical (e.g., by the search, detection, and quantification algorithm). Furthermore, assume that after five minutes, the level of the chemical is high enough to be classified by the system as a primary chemical.If the background model is updated with each sample, the background model may slowly begin to incorporate the new chemical within the first four minutes if the system cannot detect the chemical. This could result in the system not detecting the chemical after five minutes because the background model has incorporated the chemical. Setting the data buffer to an appropriate size (e.g., five minutes) to store data before it is incorporated into the background model would result in the background model not being updated to include any measurements with trace amounts of the chemical. Once the system detects the chemical after four minutes, the data stored in the data buffer is discarded and not incorporated into the background model.Additionally, the data quality diagnostic module 204 may be configured to allow the sample to be transferred to buffer 218 based on one or more conditions. The conditions may include, for example, that the sample did not cause an alarm, the sample did not include detection of one or more chemicals of interest, and / or the sample did not include detection of interfering substances.

[0050] The size of the data buffer 218 may be calculated based on a delay time, such as two minutes (e.g., a period of time the detection system 10 waits before updating the evolving background model). The data buffer 218 may be configured to continue updating when an update flag is set to "ON." When the background update flag is set to "ON," the first model update module 220A retrieves the last sample (e.g., an interferogram) from the data buffer 218 and calculates the first model into a spectrum (e.g., using Equation 5 below). The first model update module 220A may empty the data buffer 218 when the background update flag is set to "OFF." The data buffer 218 will not be refilled until the background update flag is set to "ON."The second model may be computed by the second model update module 220B. Advantageously, the first model update module 220A may update the first model of the background model 220 while the second model (or portions thereof) is being computed by the parallel thread 226.

[0051] The models used by the detection system 10 (e.g., the background model and the error detection model) can be updated to account for fluctuations (or drift) in an instrument and / or the environment. By buffering the evolving background data, the detection system 10 can advantageously prevent sample measurements (e.g., sample spectra) that have been detected as containing chemicals (e.g., interferent and / or target compounds) from being included in the background model. Therefore, the spectra stored in the buffer 218 (and therefore included in the background model) can be considered "clean" spectra. The time delay applied to the data buffer can protect the models from being contaminated with spectra that include chemicals or gases of interest.For example, all spectra in the data buffer may be rejected if the detection system 10 detects chemicals or gases of interest from any spectrum in the buffer. Furthermore, the detection system 10 may be configured to update the models (e.g., by the parallel thread 226) independently of the chemical identification and quantification analysis for an individual sample (e.g., by the main thread 201), due to the fact that updating the algorithm models may involve time-intensive matrix operations.

[0052] With respect to parallel thread 226, while main thread 201 may be configured to execute at a high priority to ensure that the analysis of detection system 10 achieves a desired processing speed, parallel thread 226 may be configured to execute in the background (e.g., at a relatively low priority to update the data in buffer 218 as required by main thread 201). The spectral data used by parallel thread 226 is updated by data quality diagnostic module 204 as described above. Parallel thread 226 may receive data and results (e.g., from buffer 218).

[0053] With reference to the background model 220, the second model update module 220B calculates a second model for the background model 220 (e.g., a multivariate noise model, as described below). The second model may be initialized, for example, by a precalibrated multivariate noise model or a low-order polynomial. The second model update module 220B may calculate (or recalibrate) the second model (e.g., using Equation 8, see below). Advantageously, the second model may be updated to track the drift of the instrument (e.g., the detection system 10 through the laser PP and the laser DC) and / or the environment (e.g., ambient temperature and pressure).

[0054] For infrared spectroscopy, the infrared absorption spectrum at a time t (t = 1, 2, ..., τ), a t , linked to chemical concentrations by Beer's law: at=−log(st / st,0)=I∑i−0,1…mεici,t+et where: s t = the sample spectrum signal; s t,o = the background spectrum signal; l = the path length over which the chemical is observed (this can be set to a constant value for a given instrument, for example); ε i = the absorption coefficients (like a constant field) for chemical i (where i = 1, 2, ..., m chemicals in the chemical library); c i,t = the concentration at time t; and e t = the white noise term.

[0055] For equation 1, s t , s t,o and ε iall functions of the light frequency, v(v = 1, 2, n). Therefore, by measuring the absorbance of a chemical (or a species) at a known concentration, it is possible to determine the absorbance of the chemical for the known concentration and a given wavelength (e.g., wavenumber). The absorption spectrum can be generated by measuring the absorbance of the chemicals at known concentrations for a range of wavelengths. Equation 1 can be rewritten in matrix form: A=−log(S / S0)=CK+E where: A = a τ × n matrix of absorption spectra; S = the sample spectra; S o = the background spectra; C = a τ × m concentration matrix; K = an m × n matrix with constants containing the path length and absorption coefficient information; and E = an error matrix.

[0056] A critical variable in equation 2 is often S o (the “background spectrum” or “background spectra”), which is usually approximated by a single background spectrum. However, when a single background spectrum is used in practice, the systematic scattering and spectral fluctuation may change over time so that the changes are not negligible (e.g., as described with reference to Fig. 5). In some embodiments, systems and methods described herein generate a background model to more accurately predict the background spectrum. Fig. 3 shows an exemplary computer-implemented method 300 for generating a background model. While Fig. 3 shows the calculation of a first and second background model in layers 304 and 306. The background model may include any number of layers. For example, the background model may include only layer 304 (e.g., an evolving background model), only layer 306 (e.g., a multivariate noise model), and / or any combination of layers 304 and / or layer 306, either alone or in combination with other layers (e.g., three layers, four layers, etc.).

[0057] In step 302, the detector 30 receives a background measurement (e.g., measured in a clean environment before a sample of interest is introduced) comprising a digitized spectroscopic profile. In steps 304 and 306, the background module calculates a background model using, for example, a background algorithm for a spectroscopic measurement process (e.g., via the first model update module 220A and the second model update module 220B, respectively). The background algorithm includes calculating a first model based on the background measurement to model a first temporal effect (step 304, a first level). For example, the background algorithm calculates an evolving background model based on the background measurement.

[0058] The background algorithm further comprises calculating a second model that models a temporal effect that is different from the first temporal effect (step 306, a second level). The background algorithm may calculate the second model based on the sample measurement and / or the first model. For example, the background algorithm may calculate a multivariate noise model (e.g., P' sysfrom equation 3) based on the background measurement and the first model. In step 308, the detector 30 receives a sample measurement (e.g., from the environment after the sample measurement was taken) that includes a digitized sample spectrum. In step 310, the processor 34 generates a background-cleaned sample measurement based on the sample measurement and the background model. In step 312, the background module determines whether the sample measurement is suitable to be included as an update to the multivariate multilevel background model. If the background module determines that the measurement is suitable, the method 300 performs step 312. In step 312, the background module updates the background model based on the sample measurement. If the background module determines that the sample measurement is not suitable, the method 300 returns to step 308, and the process repeats.

[0059] The term "temporal effect" is used with reference to the first model and the second model to describe the difference between the models. For example, the first temporal effect is an averaged model (e.g., long-term averaged) of the background drift and noise (e.g., an exponentially weighted moving average of the sample). The first model models a first temporal effect (e.g., an averaged or long-term effect) because, when the curve of the first model is plotted against the curve of the current background, the first model will closely approximate the background, but will not perfectly match the background. The differences between the first model curve and the background curve are called residuals (e.g., the first model curve may be above or below the sample by a "delta" value in a particular time period). The second model models the second temporal effect - the short-term residual profiles (e.g.,Short-term differences between the first model and the current background).

[0060] In general, the detection system 10 measures a spectrum (e.g., the sample measurement), but uses the background-cleaned sample spectrum for detection (e.g., as described with reference to the Fig. 8-9). The detection system 10 can also average the sample measurement (e.g., if it does not contain hazardous chemicals) into the existing first model (e.g., an evolving background model). Because an evolving background model can only describe the middle range of the spectrum, the evolving background model cannot, for example, describe the difference between the current system and a current measurement. This difference can still be modeled by the second model (e.g., a multivariate noise model). For example, the multivariate noise model can model noise residuals of the evolving background model.

[0061] With reference to steps 304-306, the background model may comprise a digitized spectroscopic profile in the frequency domain (e.g., a spectrum generated by the data quality diagnostic module 204). For example, the background model S o in Equation 2. The digitized spectroscopic profile can be any type of spectrum. For example, the spectrum can be a spectroscopic spectrum (e.g., measured by FTIR) and / or a mass spectrum (e.g., by high-performance liquid chromatography (HPLC), liquid chromatography (LC), gas chromatography (GC)), and nuclear magnetic resonance (NMR).

[0062] With reference to step 304, the first model may be an evolving background model. The evolving background model may be updated frequently on a regular basis to correct for any changes (e.g., significant changes) in the instrument and / or the environment that occur over time. Advantageously, the evolving background model allows infrared measurements to be calculated over a long period of time (e.g., for analytical applications such as a continuously monitoring point sensor). The term "evolving" is used with reference to the evolving background model to express that the background model is somehow changed over time. For example, the signal-to-noise ratio of the digitized spectroscopic profile may be averaged over an extended period of time.In some embodiments, the evolving background model is an averaged background model (e.g., a moving average background model or an unweighted averaged background model). The detection system 10 may generate the evolving background model by filtering out background measurements with a low-pass filter to smooth the spectrum (e.g., in time sequence, such as filtering across a spectrum, e.g., 800 up to 4000). The evolving background model may be calculated and / or updated in either the time domain or the frequency domain, as further described with respect to steps 402-404 of FIG. Fig. 4 is.

[0063] Referring to step 306, the second model models the remaining noise of the first model to more accurately model the background (e.g., to facilitate continuous analysis over a long period of time). For example, the background module may model and remove the noise of the first model using a multivariate noise model. The multivariate noise model may, for example, be an averaged multivariate noise model. Assuming that the remaining noise of the first model can be described by a multivariate model, Equation 2 can be rewritten as: A=CK−TPsys'+E where: A = a τ × n matrix of absorption spectra; C = an m × x concentration matrix; K = a τ × m matrix with constants; T = a τ × m sys-Matrix of scores, which are obtained by projecting the remaining spectra from the first model into the subspace P sys be obtained; P sys = an n × m sys -predefined multivariate subspace matrix which describes the remaining systematic noise components of the first model (the transpose of P sys is marked by a (')); and E = an error matrix.

[0064] With reference to equation 3, m sys an integer constant. The value for m sys can be determined in advance (e.g., using a calibration dataset). The value can also be determined dynamically using a cross-validation approach based on a spectral matrix obtained in real time. P' sys, the multivariate noise model, can be solved using Equation 3. The multivariate noise model can be defined using multivariate methods based on the absorption spectra, diagnostic data, the first model, or other data. The multivariate methods can include, for example, principal component analysis (PCA), independent component analysis (ICA), multivariate curve resolution (MCR), partial least squares (PLS), total least squares (TLS), weighted least squares (WLS), continuum regression (CR), and ridge regression (RR). To implement the multivariate regression methods, the instrument and environmental diagnostic data (e.g., elapsed time, ambient temperature, temperatures related to the system (e.g., the detection system 10), sources (e.g.,Sample 26), the detector (e.g., detector 30), associated electronic circuitry, etc.) are used as y-variables to regress the remaining noise of the first model, the x-variable. The multivariate noise model can be implemented as described with reference to steps 406-408 of the . Fig. 4 be updated.

[0065] Fig. 4 shows an exemplary computer-implemented method 400 for updating a background model. In step 402, the first model update module 220A calculates a first model update based on the first model of the sample measurement, wherein the first model update includes noise data (e.g., the noise data that will ultimately be modeled and removed using the second model). In step 404, the first model update module 220A updates the background model based on the first model update. In step 406, the second model update module 220B calculates a second model update to model the noise data in the first model update. In step 408, the detection system 10 (e.g.,via the second model update module 220B and / or the first model update module 220A), the background model based on the second model update, wherein the noise data of the first model update is reduced using the second model update.

[0066] Referring to steps 402-404, the first model update module 220A calculates a first model update. In some embodiments, the first model may be an exponentially weighted moving average (EWMA) model that is updated over time. The first model may update either in the time domain (e.g., based on a time-domain update if the first model is an interferogram background) or in the frequency domain (e.g., based on a frequency-domain update if the first model is a spectral background). For example, if the first model update module 220A operates the first model in the time domain, the update method may be described as below: it+1,0=λ0it+1+(1−λ0)it,0 (t=1,2,…,τ) where: t = time; i t+1,0 = the time-domain interferogram background update (e.g., the first model); i t+1 = nearest interferogram background at time t + 1; i t,0 = the mean historical interferogram background (e.g., the first model) at time t; and λ0 = an update constant that determines the speed of the background update, where 0 < λ0 ≤ 1.

[0067] Referring to Equation 4, the first model update module 220A may calculate the first model based on an update constant or update constant field. In some embodiments, a λ0 is an update constant, where the same value of λ0 is used throughout the interferogram. For example, when using an interferogram for the first model, the same constant (e.g., λ = 0.9) is used for each point in the interferogram. A larger value of λ0 may give more weight to recent background observations and less weight to those further back in time. A smaller value of λ0 may place less weight on recent background observations. In some embodiments, λ0 may be an update constant field that provides different rates for updating background variables in the time domain.For example, an update constant λ = 0.9 is used for some interferogram points, an update constant of λ = 0.8 is used for some interferogram points, and an update constant of λ = 0.1 is used for some interferogram points, etc. The constant field can be defined by a process that extracts signals from noise.

[0068] The value(s) for λ0 may be predetermined based on the system parameters (e.g., based on the diagnostic data for the detection system 10 and / or information collected by the data quality diagnostic module 204). The value(s) for λ0 may be dynamically determined (or recalculated), for example, to determine the separation between spectral scatter of interest and instrument / environmental drift. For example, the first model update module 220A may vary λ0 based on the drift rate of the instrument, the environmental features, or both (e.g., determined by the data quality diagnostic module 204). For example, if the environment is stable, a value of λ = 0.9 may be used, but if the environment deteriorates, λ may be changed from 0.9 to 0.8 to account for the change in the environment.

[0069] The model update module 220A may operate the first model in the frequency domain. For example, if the first model (and an update method) is maintained in the time domain, as described above, the first model update module 220A may calculate the first model in the frequency domain. For example, the first model update module 220A may calculate the first model in the frequency domain using a Fast Fourier Transform (FFT). The data quality diagnosis module 204 may apply the FFT after performing data processing on the background interferogram, including filtering, linearization, an apodization function, phase correction, etc. The transform may be described as: where: s t+1,0 = the background spectrum in the frequency domain at time t + 1; i t+1,0 = the interferogram signal in the time domain at time t + 1; and = the transformation operation process as described above.

[0070] By using a first model (e.g., an evolving background model) that is frequently updated, systematic and spectral scatter can advantageously be significantly reduced compared to using only a single background spectrum. The first model update module 220A can calculate a first model update (e.g., either i t+1,0 in the time domain or s t+1,0 in the frequency domain), based on the first model (e.g. based on i t,0) and the sample measurement, wherein the first model update includes noise data (e.g., the noise data that will ultimately be modeled and removed using the second model). However, in some embodiments, using only the first model alone (e.g., only the first level of the background model) may still not eliminate all noise. For example, the systematic changes may not be negligible when, for example, only a single background spectrum is used.

[0071] With reference to steps 406-408, the second model update module 220B calculates a second model update. The second model update module 220B may filter the second model based on the first model. The second model update module 220B may correct the remaining spectral spread of the multivariate noise model based on a multivariate approach. The detection device 10 may frequently update the second model to account for instrument and environmental changes over time (e.g., both subtle and obvious changes). For example, the detection device 10 may rotate the coordinate axes of the second model based on changes in new spectral data. The detection device 10 may also evolve the second model over time (e.g., averaged, EWMA, etc.). For example, EWMA may be used in combination with multivariate methods, as described above.In some embodiments, the second model update is computed using EWMA in a noise subspace spanned by the second model using exponentially weighted moving principal component analysis (EWM-PCA), exponentially weighted moving independent component analysis (EWM-ICA), exponentially weighted moving multivariate curve resolution (EWM-MCR), exponentially weighted moving partial least squares (EWM-PLS), exponentially weighted moving absolute least squares (EWM-TLS), exponentially weighted moving weighted least squares (EWM-WLS), exponentially weighted moving continuum regression (EWM-CR), and exponentially weighted moving ridge regression (EWM-RR). An exemplary description of EWM-PCA is given below by Equations 6-12. Further details on EWM-PCA can be found in p.Wold, Exponentially weighted moving principal components analysis and projection to latent structures, EWMPCA and EWMPLS. Chemom. Intell. Lab. Syst. 23, pp. 149-161 (1994), which is incorporated herein by reference in its entirety. The EWM-PCA may include two computational components. In the first part of the EWM-PCA algorithm, the second model update module 220B computes the second model by calculating updated process values ​​at a next time point based on the digitized spectroscopic profile (e.g., using Equation 6). In the second part, a PCA model for the drift process is initialized and updated.

[0072] Referring to the first part of the EWM-PCA algorithm, process values ​​are updated based on the current process values ​​and for the next time points t + 1, according to: t^t+1=at+1P^t_sys where: t t+1 = a 1 xm sys-vector representing the predicted process values ​​at time t + 1; a t+1 = a sample spectrum at time t + 1; and P' t,sys = a subspace of the background noise model defined by the loads of the EWM-PCA model at time t.

[0073] The remaining color noise is estimated by equation 6 and the final sample spectrum is calculated by: a^t+1=at+1−t^t−1P^t,sys' where: â t+1 = the final sample spectrum corrected by the evolving background model and the background noise model; a t+l = a sample spectrum at time t + l corrected by the evolving background model; and P t,sys = the transpose of P̂ t,sys .

[0074] Referring to the second part of the EWM-PCA algorithm, the second model update module 220B (a) initializes (or calculates) the initial second model and (b) updates the second model (e.g., to account for instrument and environmental fluctuations). Regarding the initialization, the sample spectra A t separated after the first model has been calculated as described above, by the equation: At=TP^t,sys'+E (t=cal) where: A t = a τ(cal) x n matrix of sample spectra, where τ(cal) is the number of sample spectra used to calibrate the model (e.g., to form the second model); T = a τ(cal) × m sys -Matrix of evaluations; P' t,sys = loads of the initial second model; and E = an error matrix.

[0075] The initial second model, P̂' t,sys, can be calculated using PCA, ICA, MCR, PLS, TLS, WLS, CR and RR, as described above with reference to step 306 of the Fig. 3. The second model update module 220B may update the second model when a new matrix τ(cal+l) × n of sample spectra is ready for use (e.g., is ready in the buffer 218). The second model update module 220B may update the second model by rotating the axes of the P̂' t,sys -subspace created in the initialization step (see Equation 8) according to Equations 9, 10 and 11, as shown below, to minimize the residual profile defined by Equation 12: Tt+1=At+1P^t,sys where: T t+1 = evaluations at time t + l, which are estimated by projecting the sample spectra at time t + l into the subspace of the background noise model defined at time t; At+1 = the sample spectra at time t + l; and P t,sys = the loads of the background noise model defined at time t. Pt+1,sys=At+1'Tt+1(Tt+1'Tt+1)−1 where: P t+l,sys = loads at time t + 1; A' t+1 = the transpose of the sample spectra at time t + 1; T t+1 = a τ × m sys -Matrix of evaluations at time t + 1; and T' t+1 = the transpose of a τ × m sys -Matrix of evaluations at time t + 1. P^t+1,sys=λsysPt+1,sys+(1−λsys)P^t,sys where: P t+l,sys = the second model update at time t + 1; λ sys = a constant in the range 0 < λ sys ≤ 1, which determines the rotation speed for the second model; P t+l,sys = the same as in equation 10; and P t,sys= the same as in equation 9; minPt+1,v,sys[∑v=1,2n∑t=1,2τ(at+1,v−tt+1p^t+1,v,sys)2 / nτ] where: t t+1 = an element of the matrix T t+1; p t+l,v,sys = an element of the matrix P̂ t+l,sys ; n = the number of variables in a sample spectrum; and τ = the number of sample spectra at time t + 1.

[0076] Referring to equation 11, P̂ models t+l,sys (the update of the second model) noise data associated with the first model. P̂ t,sys was calculated using multivariate techniques; Equation 11 allows new data to be included in the second model. P̂ t+l,sys is calculated on the residual profile for the initial second model using equation 12 and by rotating the axes of the initial second model P̂' t,systo minimize the residual profile. The residual profile is calculated using equations 9 - 11. Referring to equation 11, the same value for λ sys be used for the EWM-PCA method or λ sys can be calculated based on the system specification (e.g., diagnostic data) and / or based on performance monitoring data calculated by the data quality diagnostic module 204. The dimensions of the P̂' t,sys The subspace can be configured as constant or determined on the fly. Using the background model (e.g., the first model and / or the second model) can advantageously significantly reduce the spectral deviation.

[0077] Fig. Figure 5 shows an exemplary graph 500 of the sample spectra measured using a single background spectrum (or interferogram). The time axis 502 is represented in minutes (min), extending from zero to 700 min. The wavenumber axis 504 is represented in inverse centimeters (cm -1 ), which ranges from 500 to 4500 cm -1The absorption axis 506 is represented in milliabsorption units (mA.U.), which ranges from -2 to 5. The single background spectrum was calculated before performing the measurements and was not updated over time. After calculating the background spectrum, the detection system measured ambient air for ten hours. For the ambient air, the chemical changes are only H2O and CO2. However, graph 500 shows that over ten hours, in conjunction with the spectral fluctuation, a symmetrical deviation was also observed due to the two gases (e.g., the fluctuations at 1000, 1500, 2000, and between 3500 and 4000 cm -1 ). Even in the first few hours (e.g., between time points 0 and 120), the fluctuation was not negligible. As time progressed (e.g., between 400 and 700 min), the spectral deviation was over 4 mA.U.

[0078] Fig. Figure 6 shows an exemplary graph 600 of sample spectra measured using a first model. The time axis 602 is represented in minutes (min), extending from zero to 700 min. The wavenumber axis 604 is represented in inverse centimeters (cm -1 ), which ranges from 500 to 4500 cm -1 The absorption axis 606 is represented in milli-absorption units (mA.U.), which extends from -2 to 5. The first model (e.g., an EWMA background model) was calculated before the measurement was taken (e.g., as in step 304 of the Fig. 3). After calculating the background spectrum, the detection system measured the ambient air for ten hours. The first model was updated over time as the detection system measured the ambient air (e.g., as described in steps 402 - 404 of Fig. 4). As in Fig. 5, the chemical changes for ambient air are H2O and CO2. Graph 600 shows that over the full ten-hour period, the spectral deviation was below 1 mA.U. Using the first model instead of a single background spectrum has advantageously significantly reduced the spectral deviation over time. However, the remaining spectral deviation is still not white noise (e.g., a spectral deviation of less than 0.1 mA.U.).

[0079] Fig. Figure 7 shows an exemplary graph 700 of the sample spectra measured using a background model. The time axis 702 is represented in minutes (min), extending from zero to 700 min. The wavenumber axis 704 is represented in inverse centimeters (cm -1 ), which ranges from 500 to 4500 cm -1The absorption axis 706 is represented in milli-absorption units (mA.U.), which extends from -2 to 5. The background model (e.g., including a first model and a second model, such as an EWMA background model and an EWM-PCA background model) was calculated prior to the measurement acquisition (as described in steps 304 and 306 of the Fig. 3). After calculating the background model, the detection system measured ambient air for ten hours. The background model was updated over time as the detection system measured the ambient air (e.g., in Fig. 4). As described in Fig. 5 and Fig. 6, only H2O and CO2 are chemical changes for ambient air. Graph 700 shows that over the full 10-hour period, the spectral deviation was reduced even further than using only the first model (as in Fig. 6). While approximately 70% of the total spectral deviation was removed by the evolving background model, an additional approximately 27% of the spectral deviation was removed using the second model (so that the final spectral deviation is less than 3%). The reduced spectral deviation lowers the detection limit (which increases the sensitivity of the detection system). For example, the average detection limit is between 10–15 parts-per-billion (ppb) when only a first model is used, with the average detection limit being in the range of 1–5 ppb when the background model is used (e.g., that the second model is also used).

[0080] Fig. Figure 8 shows an exemplary computer-implemented method 800 for detecting and monitoring chemical compounds in a sample using a search, detection, and quantification algorithm. In step 802, the processor 34 receives a sample measurement having a digitized spectroscopic profile (e.g., from the detector 30). The search, detection, and quantification algorithm may be repeatedly executed each time the system receives a sample measurement. The search, detection, and quantification module 210 calculates one or more precursor chemicals for the sample measurement using a search, detection, and quantification algorithm to analyze and interpret spectroscopic measurements in real time.Specifically, the search, detection, and quantification module 210 calculates one or more chemical substances from the sample measurement using a multivariate library search based on a plurality of control charts generated from the spectral reference library (step 804, the library search is performed by the least squares regression method 212 of FIG. Fig. 2). The search, detection, and quantification module 210 calculates one or more basic chemicals based on the one or more chemical substances using an error detection algorithm (step 806, the error detection level is performed by the error detection model application 214 of the Fig. 2). While Fig. 8 shows two levels in the search, detection, and quantification algorithm, the search, detection, and quantification algorithm may include any number of levels (e.g., only step 804, only step 806, or steps 804 and 806 in combination with one or more additional levels).

[0081] In step 808, the search, detection, and quantification module 210 determines whether any of the remaining chemical substances (e.g., the chemical substances excluding the chemical substances determined to be a chemical precursor) should be evaluated again by the search, detection, and quantification module 210. For example, the search, detection, and quantification module 210 may determine that one or more of the remaining chemical substances are above a predetermined threshold and therefore should be further evaluated to determine whether any remaining chemical precursors are present. If step 808 determines that one or more of the remaining chemical substances should be evaluated, the method 800 proceeds to step 804. Otherwise, the method 800 proceeds back to step 802 to evaluate the next sample measurement.

[0082] Referring to step 802, the sample measurement may be a background-cleaned sample measurement calculated based on the background model (e.g., calculated as described above in step 310 of the Fig. 3). Referring to step 804, this step is the first level of the search, detection, and quantification module algorithm: the library search level. The search, detection, and quantification module 210 may perform a multivariate library search (i.e., against a spectral library 228 of known chemicals) using regression (e.g., PLS). The search, detection, and quantification module 210 may, based on the regression, create control charts for each chemical in the spectral library (e.g., if there are 365 chemicals in the library, the search, detection, and quantification module 210 creates 365 control charts). Advantageously, the error detection level generates a list of chemical substances that are most strongly recommended for further processing by the second level.

[0083] Continuing with reference to step 804, the one or more chemical substances may be identified based on a matrix-based simultaneous comparison comprising least squares regression. Least squares regression may include, for example, partial least squares or inverse least squares. Fig. Figure 9 shows an exemplary computer-implemented method 900 for identifying one or more chemical substances in a sample during the library search level of the search, detection, and quantification algorithm. In step 902, the search, detection, and quantification module 210 receives the spectral reference library (e.g., K Bibliothek of equation 13). In step 904, the search, detection, and quantification module 210 calculates a background-cleaned sample spectrum (e.g., â t+1of equation 13 as shown below) based on a sample absorption spectrum (e.g. a t+1 of Equation 14 as shown below) for the sample measurement. In step 906, the search, detection, and quantification module 210 calculates one or more library matrix entries. The search, detection, and quantification module 210 calculates the library matrix entries based on the background-cleaned sample spectrum, the spectral reference library, and a regression coefficient vector (e.g., using Equations 13 and 14). In step 908, the search, detection, and quantification module 210 normalizes the regression coefficient vector to generate a control chart (e.g., b' t+lof Equation 15 as shown below), which includes a plurality of normalized regression coefficients. In step 910, the search, detection, and quantification module 210 identifies and quantifies the one or more chemical substances based on the regression coefficient. Each of the one or more chemical substances is associated with a corresponding normalized regression coefficient that is greater than a predetermined control threshold (e.g., determined by Equations 15 and 16, see below).

[0084] Referring to step 902, the search, detection, and quantification module 210 receives the spectral reference library K Bibliothek , a k Bibliothek x n matrix, which includes the absorptions of chemicals in the sample. For example, if K Bibliothek 366 library matrix entries, applies. k Bibliothek= 365. Each library matrix entry contains data for a sample (or a model spectrum for a chemical). For example, each library matrix entry can contain absorption data for a chemical over a number of wavenumbers (e.g., absorption data for wavenumbers 800 - 1200 cm -1 , and therefore n = 400). The spectral reference library can be constant. In some examples, the spectral reference library can be updated to include or remove spectra. For example, the spectral reference library can be dynamically updated to include and remove spectra.

[0085] Referring to step 904, the search, detection, and quantification module 210 calculates a background-cleaned sample spectrum based on a sample absorption spectrum. The multivariate library search algorithm is applied to the background-cleaned sample spectrum at time t+1: a^t+1=bt+1KLibrary where: â t+1 = the multivariate multilevel, background-corrected sample spectrum at time t+1; b t+1 = a regression coefficient vector (with dimensions 1 × K Bibliothek ) at time t+1; and K Bibliothek = the spectral reference library.

[0086] Advantageously, the system can achieve a fast implementation time by using the spectral reference library to identify the chemical substances. To increase the robustness of the library search, the linear regression shown in Equation 13 can be applied directly to the absorption spectrum: at+1=bt+1⌊KLibraryP^t,sys⌋ where: a t+1 = the sample absorption spectrum (e.g. a sample spectrum which is determined by the evolving background model â t+1 is corrected, will continue on the basis of a t+1 corrected); b t+1 = a regression coefficient vector (with dimensions K Bibliothek + K t,sys ) at time t+1; K Bibliothek = the spectral reference library; and P t,sys = the second model (e.g. calculated in real time, as described with reference to step 304 in Fig. 3 and steps 406 to 408 of the Fig. 4).

[0087] With reference to equation 14, the search, detection and quantification module increases 210 K Bibliothek with P t,sys , the second model, to generate an extended spectral reference library. As an example, assume that there are 365 chemicals in the spectral reference library, with each chemical having a chemical spectrum with 1,000 variables (so that K Bibliothek= 365 with n = 1,000). The search, detection, and quantification module 210 extends (or adds) the second model to the spectral reference library. For example, if the second model has three vectors, then the second model is expanded to K Bibliothek extended to dimensions of (K Bibliothek + K t,sys ) = 368 with n = 1,000. The search, detection and quantification module 210 develops the sample absorption spectrum a t+1 based on the extended spectral reference library. Linear regression can be implemented using regression methods such as PLS, PCR, GLS, CLS, WLS, CR, etc.

[0088] Referring to step 908, a control map is created for each spectral library input. The search, detection, and quantification module 210 may normalize the regression coefficient vector: bt+1'=bt+1 / δ^b(cal),t+1 where: b' t+1= the normalized regression coefficient vector to form the control chart; b t+1 = the regression coefficient vector (with dimensions K Bibliothek + K t,sys ) at time t+1; and δ^b(cal),t+1=a1±×(kLibrary+kt,sys)

[0089] Vector of normalization factors of the control chart at time t + l, which is updated over time by equation 16 using an exponentially weighted moving average update, as described as: δ^b(cal),t+1=λLibraryδb(cal),t+1+(1−λLibrary)δ^b(cal),t where λ Bibliothek = the update constant; and δ̂ b(cal),t = the normalization factors for the control chart of time t; and δ b(cal),t+l = a1 × (k Bibliothek + k t,sys )

[0090] Vector of standard deviations for updating the normalization factors at time t + l, which is calculated according to equation 17, as shown below: δt(cal),t+1=∑t=t+1,…,t+1+τ(cal)τ(cal)[bt+1(cal)−∑t=t+1,…,t+1+τ(cal)τ(cal)bt+1(cal) / τ(cal)]2τ(cal)−1 where b t+l(cal) = a1 × (k Bibliothek + k t,sys ) Vector of regression coefficients of the sample spectra in a calibration data set at time t + l; and τ(cal) = number of sample spectra in the calibration data set.

[0091] With reference to equation 16, the update constant λ Bibliothek calculated based on instrumental and / or environmental variations. If the search, detection, and quantification module 210 determines that any value from the normalized regression coefficients, b' t+1is greater than a predetermined control threshold, the search, detection, and quantification module 210 identifies the associated chemical as a chemical substance (e.g., identifies the chemical as exhibiting a sudden change). The chemical substances are used by the second stage to determine whether the sudden change is due to instrument and / or environmental fluctuation, or is based on other reasons (e.g., based on a chemical release).

[0092] With reference to step 806, this step is the second stage of the search, detection, and quantification algorithm: the error detection stage. The search, detection, and quantification module 210 confirms the calculations performed by the first stage. For example, the search, detection, and quantification module 210 determines whether a chemical substance among the one or more chemical substances should be identified as a chemical precursor. In some examples, the search, detection, and quantification module 210 may determine that none of the one or more chemical substances should be identified as a chemical precursor.This may occur, for example, upon first performing the method 800 on the sample measurement, or upon a subsequent repetition of the method 800 when the search, detection, and quantification module 210 determines that the remaining chemical substances should be evaluated (step 808).

[0093] Referring to step 808, the search, detection, and quantification module 210 may calculate a residual used in step 804, with the most recently identified precursor chemical removed from the data. For example, the search, detection, and quantification module 210 may calculate a residual profile by subtracting the identified precursor chemical from the sample measurement. At step 804, the search, detection, and quantification module 210 identifies a second set of one or more chemical substances in the residual profile based on a comparison of the residual profile to the spectral reference library.At step 806, the search, detection, and quantification module 210 identifies a second precursor chemical based on a focused chemical assessment of the second set of one or more chemical substances (or determines that none of the chemical substances in the second set are precursors). Upon completion of method 800, the list of precursors can be reported (e.g., to a user, to a database, etc., to keep track of the chemicals of interest in the sample).

[0094] The search, detection, and quantification module 210 may use various metrics to test each chemical substance. For example, the search, detection, and quantification module 210 may use a hit such as a T 2-Residues reduction, a t-statistic (e.g., the first stage may also use a hit, but the first stage may be designed as a preliminary library search to speed up the first stage). The search, detection, and quantification module 210 may be designed to select a specific number of precursors. For example, the search, detection, and quantification module 210 may be designed to identify the top five chemicals from the chemical substances (e.g., the five chemicals with the highest regression coefficients). For example, if the first stage provides ten precursors, the second stage may identify up to five precursors from the ten chemical substances. As another example, if only four chemical substances are identified in the first stage, the second stage may only return a maximum of four precursors.

[0095] With reference to equation 3, the chemical substances identified by the first stage are further analyzed using residual analysis: at+1=ct+1,ThreatKThreat+ct+1,Stö¨rstoffK^Stö¨rsoffe,t+1+tt+1P^sys,t+1+et+1 where a t+1 = the sample spectrum at time t + 1, corrected by the current developmental background model; c t+1,Threat = Threat concentrations at time t+ 1; K Threat = a matrix containing the spectra of known chemical threats; c t+1,Störstoff = contaminant concentrations at time t + 1; K Störstoffe,t+1 = a matrix containing the spectra of known chemical interferents, updated at time t + 1; t t+1 = hits of the background noise model; P sys,t+1 = the second model at time t + 1; and e t+1 = the spectral error at time t + 1.

[0096] With reference to Equation 18, the equation is formatted to have four terms: the chemical threat term (c t+1,Threat K Threat ), the contaminant expression (c t+1,Störstoff K Störstoffe,t+1 ), the color noise (t t+1 P sys,t+1 ), and the expression for white noise (e t+1 ). Mathematically, equation 18 can be written as equation 19, similar to equations 1 and 2, as below: at+1=ct+1K+et+1 where a t+1 = the expression in equation 18; c t+1 = [c t+1,Threat c t+1,Störstoff t t+1 ]; and K=⌊KThreat'KSto¨rstoffe'Psys'⌋

[0097] Various regression methods can be used to calculate the residual analysis (e.g., PLS and other regression methods mentioned above). Equations 18 and 19 can be generalized to simplify the mathematical calculations: c^t+1=at+1K^t+1+ where ĉ t+1 = estimated parameter vector; a t+1 = the sample spectrum, identical to the previous two equations; K^t+1+= the combined matrix comprising spectra of identified chemicals from the library, known interfering substance spectra, and the loadings of the background noise model; and where the superscript "+" denotes the pseudoinverse of the matrix.

[0098] With reference to Equation 20, the number of factors used in Equation 20 is determined by the number of individual values ​​in a matrix K that are greater than the tolerance threshold (e.g., which can be calculated at runtime or are preconfigured in the system). Based on the floating point in the matrix, the tolerance for the threshold for determining the rank of the matrix is ​​defined as: Tolerance=max(m,n)×‖K‖×ε where m = m Threat (the number of chemical threats) + m Störstoff (the number of chemical contaminants) + m sys (the number of factors used for color noise); ∥K∥ = the 2-norm of the matrix K; and ε = the smallest floating point number that can be represented by the variable type used for equation 21.

[0099] The accuracy of the estimated parameter vector ĉ t+1 can be calculated as ∑t+1=σt+12(K'K)+ where: Σ t+1 = a matrix which determines the accuracy of ĉ t+1 characterized; K = the combined matrix containing sample spectra, contaminant spectra and the residual spectrum; K' = the transpose of K; and σt+1l+12= = the root mean square (RMS) of the residual spectrum, calculated by: σt+12=(at+1−c^t+1K)(at+1−c^t+1K)'n−m−1 where a t+1 = the residual spectrum; ĉ t+1 = the estimated parameter vector; K = the combined matrix containing sample spectra, contaminant spectra and the residual spectrum; and m = the total number of components, as in equation 21.

[0100] The search, detection, and quantification module 210 calculates an accuracy matrix for the estimated parameter vector based on the root mean square using Equation 23. The search, detection, and quantification module 210 can calculate a root mean square for each digitized spectrum of each of the chemical substances. The estimated concentrations of the chemical substances are the first m Threat -Elements of ĉ t+1 , called ĉ i,t+1 ,i = 1, 2,..., m Threat . The variance of the estimated concentration is the matrix element Σ i,i (i = 1, 2, ..., m Threat). The search, detection, and quantification module 210 can calculate a t-statistic, which can be used within the algorithm as a confidence metric (e.g., for calculating a precursor chemical). The t-statistic can be calculated for each chemical substance based on a variance of the associated chemical substance. The t-statistic is given by: ti,t+1=ci,t+1∑i,t(i=1,2,…,mthreat) where t i,t+1 = the t-statistic for element i at time t + 1; c i,t+1 = the concentration of element i at time t + 1; and Σ i,i = the variance of the estimated concentration of element i.

[0101] As described above, with reference to Equations 18 to 24, the search, detection, and quantification module 210 refines the chemical precursor calculation by computing a residual analysis of the one or more library matrix inputs based on a residual spectrum (e.g.,

[0102] B.P sys ) to generate an estimated parameter vector (e.g. Ĉ t+1 ). The search, detection, and quantification module 210 iteratively processes each chemical substance using Equation 23 to calculate an RMS of each of the one or more chemicals. The search, detection, and quantification module 210 calculates a t-statistic for each of the chemicals using Equation 24. The t-statistic is based on a variance of the associated chemical of the one or more chemicals.

[0103] Referring to step 910, the search, detection, and quantification module 210 compares all RMS and t-statistics. The search, detection, and quantification module 210 retains the chemical (or multiple chemicals, depending on how the detection system is configured) with the lowest RMS and highest t-statistic. The alarm module 224 can decide whether to indicate a detection and / or the alarm level based on the t-value.

[0104] With further reference to step 910, the search, detection, and quantification module 210 quantifies the one or more chemical substances based on the concentrations obtained from the least squares regression using Equation 20.

[0105] Advantageously, the first stage of the search, detection and quantification process (e.g. with reference to step 804 of Fig. 8) quickly identify the one or more chemical substances. The second stage of the search, detection and quantification process (e.g., with reference to step 806 of Fig. 8) can then determine whether or not each of the chemical substances should be identified as a chemical precursor. The data generated by the second stage can be used to determine whether an alarm is triggered (and to determine the alarm level).

[0106] An example is provided below to demonstrate the entire process implemented by detection system 10. A data set from an actual chemical test (collected on December 2, 2008, at a National Experimental Test Center) is provided. In the experiment, cyanogen chloride (CK) was released at concentrations 10 times higher than the immediately hazardous to life or health (IDLH) level (e.g., 20 ppm). The interfering agent of 1% headspace Windex (NH3 and isopropyl alcohol (IPOH)) was introduced during the second 5 CK releases.

[0107] Fig. Figure 10 shows an exemplary graph 1000 for test spectra measured using a single background spectrum. The time axis 1002 is shown in minutes (min) and ranges from zero to 120 min (two hours). The wavenumber axis 1004 is shown in inverse centimeters (cm -1 ), in a range of 1000 to 4500 cm -1The absorption axis 1006 is plotted in milliabsorbance units (mA.U.), ranging from -10 to 100. As shown in graph 1000, the CK peaks (1010A, 1010B) are significantly disrupted by large NH3 and IPOH peaks during the second 5 chemical releases (second hourly time frame, shown by 1020A, 1020B). The first spectrum from the experiment was used as the background spectrum.

[0108] Fig. Figure 11 shows an exemplary graph 1100 of a first model calculated for the test spectra. The time axis 1102 is shown in minutes (min), in a range up to 120 min (two hours). The wavenumber axis 1104 is shown in inverse centimeters (cm -1 ), in a range of 1000 to 4500 cm -1The absorption axis 1106 is shown in milliabsorption units (mA.U.), ranging from -10 to 100. The first model (in the interferogram) was estimated according to Equation 4. The first model was then transferred to the frequency domain using Equation 5. Graph 1010 shows the absorption spectrum of the first model. As can be seen, approximately 5 mA.U. of background was estimated and removed.

[0109] Fig. Figure 12 shows an exemplary graph 1200 of test spectra measured using a background model. The time axis 1202 is shown in minutes (min), ranging from zero to 120 min (two hours). The wavenumber axis 1204 is shown in inverse centimeters (cm -1 ), in a range of 1000 to 4500 cm -1The absorption axis 1206 is shown in milliabsorption units (mA.U.), ranging from -10 to 100. For graph 1200, the second model was applied to remove the remaining background variation. The final spectrum obtained, as shown in graph 1200, is completely accurate (e.g., and can be input into search, detection, and quantification).

[0110] Fig.Figure 13 shows an exemplary control chart 1300 for test spectra. The control chart 1300 was generated by applying multivariate error detection (Equations 11 to 15). The dashed line 1302 is the threshold for detecting system changes. As shown by the lines extending above the threshold, the changes were identified as chemicals. The chemicals were then passed to the second stage of error detection and library searching to calculate a residual analysis (and determine the precursor chemicals). The residual analysis was applied to identify the precursor chemicals—the chemicals that were released (Equations 15 to 20). As described above, this is an iterative process. One chemical is identified and added to the equations each time.The process continues until either no more sudden changes are detected or the maximum number of chemical precursors is reached.

[0111] The systems and methods described above may be implemented in a digital electronic circuit, in computer hardware, firmware, and / or software. The implementation may be a computer program product (i.e., a computer program tangibly embodied in an information carrier). The implementation may be, for example, in a machine-readable storage device, for execution by, or for controlling the operation of, a data processing device. The implementation may be, for example, a programmable processor, a computer, and / or multiple computers.

[0112] A computer program may be written in any form of programming language, including compiled and / or interpreted languages, and the computer program may be stored in any form, including as a stand-alone program or as a subroutine, element, and / or other unit suitable for use in a computing environment. A computer program may be stored to run on one computer or on multiple computers at one location.

[0113] Method steps may be performed by one or more programmable processors executing a computer program to perform functions of the invention by acting on input data and generating outputs. The method steps may be performed with a device, and a device may be implemented as a special-purpose logic circuit. The circuit may be, for example, an FPGA (field programmable gate array) and / or an ASIC (application-specific integrated circuit). Modules, subroutines, and software add-ons may refer to portions of the computer program, processor, special-purpose circuit, software, and / or hardware that implement that functionality.

[0114] Processors suitable for executing a computer program include, by way of example, both general-purpose and special-purpose microprocessors, and any one or more processors of any type of digital computer. In general, a processor receives instructions and data from a read-only memory or a random-access memory, or both. The essential elements of a computer are a processor for executing instructions and one or more storage devices for storing instructions and data. In general, a computer may include and may be operatively coupled to transfer data from and / or to one or more mass storage devices for storing data (e.g., magnetic, magneto-optical disks, or optical disks).

[0115] Data and instructions can also be transmitted over a communications network. Information carriers suitable for executing computer program instructions and data include all forms of non-volatile memory, including, purely by way of example, semiconductor memory devices. The information carriers can be, for example, EPROM, EEPROM, flash memory devices, magnetic disks, internal hard disks, removable disks, magneto-optical disks, CD-ROM, and / or DVD-ROM disks. The processor and memory can be supplemented by and / or incorporated into logic circuitry for specific purposes.

[0116] To provide interaction with a user, the technologies described above can be implemented on a computer with a display device. The display device can be, for example, a cathode ray tube (CRT) and / or a liquid crystal display (LCD) monitor. Interaction with a user can be, for example, a display of information to the user and a keyboard and pointing device (e.g., a mouse or trackball) with which the user can provide input to the computer (e.g., to interact with a user interface element). Other types of devices can be used to provide interaction with a user. Other devices can, for example, provide the user with feedback in some form of sensory feedback (e.g.,visual feedback, auditory feedback, or tactile feedback). Input from the user may, for example, be received in any form, including auditory, verbal, and / or tactile input.

[0117] The technologies described above may be implemented in a distributed computing system having a back-end component. The back-end component may be, for example, a data server, a middleware component, and / or an application server. The technologies described above may be implemented in a distributed computing system having a front-end component. The front-end component may be, for example, a client computer with a graphical user interface, a web browser with which a user can interact with an example implementation, and / or other graphical user interfaces for a transmission device. The components of the system may be interconnected by any form or medium for digital data communication (e.g., a communications network).Examples of communication networks include a local area network (LAN), a wide area network (WAN), the Internet, wired networks, and / or wireless networks.

[0118] The system may comprise clients and servers. A client and a server are generally remote from each other and typically interact via a communications network. The relationship between the client and the server is established through computer programs running on the respective computers, which have a client-server relationship with each other.

[0119] Packet-based networks may include, for example, the Internet, a carrier Internet Protocol (IP) network (e.g., Local Area Network (LAN), Wide Area Network (WAN), Campus Area Network (CAN), Metropolitan Area Network (MAN), Home Area Network (HAN)), a private IP network, an IP Private Branch Exchange (IPBX), a wireless network (e.g., Radio Access Network (RAN), 802.11 network, 802.16 network, General Packet Radio Service (GPRS) network, HiperLAN), and / or other packet-based networks. Circuit-based networks may include, for example, the Public Switched Telephone Network (PSTN), a Private Branch Exchange (PBX), a wireless network (e.g., RAN, Bluetooth, Code-Division Multiple Access (CDMA) network, Time Division Multiple Access (TDMA) network, Global System For Mobile Communications (GSM) network), and / or other circuit-based networks.

[0120] The transmission device may include, for example, a computer, a computer with a browser device, a telephone, an IP phone, a mobile device (e.g., a cellular phone, a personal digital assistant (PDA) device, a laptop computer, an electronic mail device), and / or other communication devices. The browser device includes, for example, a computer (e.g., a desktop computer, a laptop computer) with a World Wide Web browser (e.g., Microsoft® Internet Explorer®, distributed by Microsoft Corporation, Mozilla® Firefox, distributed by Mozilla Corporation). The mobile computing devices include, for example, a personal digital assistant (PDA).

[0121] Comprise, include, and / or other plural forms of something are open-ended and have the listed parts and may have additional parts not listed. And / or is open-ended and has one or more of the listed parts and combinations of the listed parts.

Claims

[1] A computer method for detecting and quantifying chemicals in a continuously sampled liquid or gaseous sample stream, comprising: receiving, by a computing device, a sample measurement having a digitized spectroscopic profile; by the computing device, calculating a multivariate multilevel background model comprising a first model that models a first temporal effect and a second model that models a second temporal effect that is different from the first temporal effect; by the computing device, generating a background-corrected sample measurement based on the sample measurement and the multivariate multilevel background model; and by the computing device, executing a multivariate multilevel library search, error detection and quantification algorithm to identify one or more precursor chemicals in the background-corrected sample measurement, the algorithm comprising: Identifying one or more chemical substances in the background-corrected sample measurement based on multivariate statistical process control in comparison with the background-corrected sample measurement using a spectral reference library; Carrying out at least either (i) identifying a first precursor chemical based on a focused chemical evaluation of the one or more precursor chemicals, or (ii) Quantifying the first chemical precursor based on the focused chemical assessment of the one or more chemical precursors Calculating a residual profile by subtracting the first chemical component from the background-corrected sample measurement; and Identifying a second set of one or more precursor chemicals in the residual profile based on a comparison of the residual profile with the spectral reference library. [2] The computer method of claim 1, wherein identifying the first chemical species comprises determining that there are zero chemical species. [3] The computer method of claim 1, wherein calculating a multivariate multilevel background model comprises updating the multivariate multilevel background model. [4] The computer method of claim 1, wherein the multivariate multi-level library search, error detection and quantification algorithm further comprises: Quantifying a content by estimating the first chemical precursor concentration from the background-corrected sample measurement; and Identifying a second precursor chemical based on a focused chemical assessment of the second set of one or more precursor chemicals. [5] The computer method of claim 1, further comprising: Determine that the sample measurement is suitable for inclusion in the multivariate multilevel background model; and Updating the multivariate multilevel background model based on the sample measurement. [6] The computer method of claim 5, further comprising filtering the sample measurement through a data buffer (218) to prevent contamination based on slow chemical data poisoning in the sample stream. [7] The computer method of claim 6, wherein a size of the data buffer (218) is determined based on a data poisoning rate value. [8] The computer method of claim 5, further comprising reducing an influence of one or more interfering chemicals in the sample measurement based on a mask function. [9] The computer method of claim 8, further comprising: Identifying one or more chemical interfering substances; and Updating the mask function based on one or more identified chemical interferents. [10] The computer method of claim 5, further comprising defining one or more update conditions, comprising: Updating at least either (i) the multivariate multilevel background model, or (ii) the multivariate multilevel library search, error detection and quantification algorithm when zero chemical compounds are detected in the sample measurement; Updating at least either (i) the multivariate multilevel background model or (ii) the multivariate multilevel library search, error detection and quantification algorithm when zero chemical compounds of interest are detected in the sample measurement; Updating at least either (i) the multivariate multilevel background model or (ii) the multivariate multilevel library search, error detection and quantification algorithm, if there is no alarm due to any chemical compounds of interest in the sample measurement; or no updating of at least either (i) the multivariate multilevel background model or (ii) the multivariate multilevel library search, error detection and quantification algorithm. [11] A system (10) for detecting and quantifying chemicals in a continuously sampled liquid or gaseous sample stream, comprising: a data acquisition module configured to receive a sample measurement having a digitized spectroscopic profile; a multivariate multilevel background module in communication with the data acquisition module and designed to: Calculating a multivariate multilevel background model comprising a first model modeling a first temporal effect and a second model modeling a second temporal effect different from the first temporal effect; Generating a background-corrected sample measurement based on the sample measurement and the multivariate multilevel background model; and a multilevel library search, error detection, and quantification module in communication with the data acquisition module and the multivariate multilevel background module, designed to execute a multivariate multilevel library search, error detection, and quantification algorithm to identify one or more precursor chemicals in the background-corrected sample measurement, designed to: Identifying one or more chemical substances in the background-corrected sample measurement based on a comparison of the background-corrected sample measurement with a spectral reference library; Performing at least either (i) identifying a first chemical precursor based on a focused chemical evaluation of one or several chemical substances or (ii) quantifying the first precursor chemical based on the focused chemical evaluation of the one or more chemical substances; Calculating a residual profile by subtracting the first chemical component from the background-corrected sample measurement; and Identifying a second set of one or more precursor chemicals in the residual profile based on a comparison of the residual profile with the spectral reference library. [12] A computer-readable storage medium, the computer-readable storage medium comprising instructions effective to cause a data processing device to perform: Receiving a sample measurement having a digitized spectroscopic profile; Calculating a multivariate multilevel background model comprising a first model modeling a first temporal effect, or a second model modeling a second temporal effect different from the first temporal effect, or both models; Generating a background-corrected sample measurement based on the sample measurement and the multivariate multilevel background model; and Performing a multivariate multi-level library search, error detection and Quantification algorithm for identifying one or more chemical precursors in the background-corrected sample measurement, the algorithm being designed to: Identifying one or more chemical substances in the background-corrected sample measurement based on multivariate statistical process control in comparison with the background-corrected sample measurement using a spectral reference library; Identifying a first precursor chemical based on a focused chemical evaluation of the one or more chemical substances Calculating a residual profile by subtracting the first precursor chemical from the background-corrected sample measurement; and Identifying a second set of one or more precursor chemicals in the residual profile based on a comparison of the residual profile with the spectral reference library.

Citation Information

Patent Citations

  • Infrared gas detection and spectral analysis method

    US20100090845A1