This patent application is related to U.S. patent application Ser. No. 10/772,971 entitled “APPARATUS AND METHOD FOR MODELING RELATIONSHIPS BETWEEN SIGNALS” filed on Feb. 5, 2005, which is incorporated by reference.
This disclosure relates generally to signal processing systems and more specifically to an apparatus and method for isolating noise effects in a signal.
Signal processing systems are used in a wide variety of applications to process various types of signals. For example, a signal processing system may be used in a process control system to control the operation of a processing facility. As a particular example, the signal processing system could manage the use of valves in the processing facility using various signals related to the operation of the valves. Example processing facilities include manufacturing plants, chemical plants, crude oil refineries, and ore processing plants.
Conventional signal processing systems often process signals that suffer from noise or other disturbances. Conventional signal processing systems filter the signals using low-pass filters to remove the noise or other disturbances from the signals. Low-pass filters often cannot eliminate much of the noise or other disturbances from the signals without impeding the performance of the signal processing systems.
This disclosure provides an apparatus and method for isolating noise effects in a signal.
In one aspect, a method includes receiving a matrix having a first plurality of samples associated with a first signal and a second plurality of samples associated with a second signal. The second signal has a first portion associated with the first signal and a second portion associated with at least one disturbance. The method also includes projecting the matrix so as to at least substantially separate the first portion of the second signal from the second portion of the second signal.
In another aspect, an apparatus includes at least one memory operable to store a matrix having a first plurality of samples associated with a first signal and a second plurality of samples associated with a second signal. The second signal has a first portion associated with the first signal and a second portion associated with at least one disturbance. The apparatus also includes at least one processor operable to perform canonical QR-decomposition on the matrix. The canonical QR-decomposition creates an orthogonal matrix and an upper triangular matrix. The upper triangular matrix has a plurality of values along a diagonal of the matrix. Each value is greater than or equal to zero, and the diagonal lies between an upper left corner and a lower right corner of the upper triangular matrix.
In yet another aspect, a computer program is embodied on a computer readable medium and operable to be executed by a processor. The computer program includes computer readable program code for generating a matrix having a first plurality of samples associated with a first signal and a second plurality of samples associated with a second signal. The second signal has a first portion associated with the first signal and a second portion associated with at least one disturbance. The computer program also includes computer readable program code for decomposing the matrix so as to form a projection of the matrix. The projection at least substantially separates the first portion of the second signal from the second portion of the second signal.
Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.
For a more complete understanding of this disclosure, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:
In this example embodiment, the system 100 includes a monitored system 102. The monitored system 102 represents any suitable system for producing or otherwise receiving an input signal 104 and producing or otherwise providing an ideal output signal 106. In some embodiments, the monitored system 102 is represented by a process model G(s), which represents the transformation of the input signal 104 into the output signal 106.
The monitored system 102 may represent any type of system. The monitored system 102 could, for example, represent a manufacturing or other processing system or a communication system. As a particular example, the monitored system 102 could represent a manufacturing plant having various valves that are controlled based on the input signal 104 and/or the ideal output signal 106. The monitored system 102 could also represent a communication system where the input signal 104 represents a signal transmitted by a mobile telephone and the ideal output signal 106 represents the ideal signal to be received by a base station.
As shown in
In the example in
As shown in
To facilitate more accurate control over the monitored system 102, the controller 112 generates at least one matrix associated with the input signal 104 and the actual output signal 110. The controller 112 then generates a projection of the matrix using “canonical QR-decomposition.” This projects the matrix into orthogonal space, where the projection at least partially separates the input signal 104, the portion of the actual output signal 110 corresponding to the input signal 104, and the portion of the actual output signal 110 corresponding to the noise or other disturbances 108. In this way, the controller 112 at least partially separates the effects of the input signal 104 in the output signal 110 from the effects of the noise 108 in the output signal 110. As a result, the controller 112 is able to more effectively isolate the effects of noise 108 in the actual output signal 110.
QR-decomposition refers to a matrix decomposition performed according to the following equation:
A=QR
where A represents a matrix being decomposed, Q represents an orthogonal matrix, and R represents an upper triangular matrix.
A problem with conventional QR-decomposition is that a given matrix A could be decomposed in different ways. For example, a given matrix A could be decomposed into [Q1 R1], [Q2 R2], or [Q3 R3]. This creates problems in isolating noise 108 in the actual output signal 110 because it means that the same matrix representing the same input signals 104 and actual output signals 110 could have different QR-decompositions.
Canonical QR-decomposition or “CQR decomposition” represents a unique QR-decomposition where the diagonal values in the triangular matrix R are greater than or equal to zero. The “diagonal values” in the matrix R represent the values along the diagonal between the upper left corner and the lower right corner of the matrix R. By preventing the diagonal values in the upper triangular matrix R from being less than zero, each matrix A can be uniquely decomposed. This helps to facilitate the separation of noise effects contained in the actual output signal 110. In some embodiments, software routines are used to decompose a matrix using canonical QR-decomposition. Example software to decompose a matrix using canonical QR-decomposition is shown in the Software Appendix.
Although
The controller 112 or other monitor in the system 100 of
As described above, the controller 112 separates the effects of noise 108 from the effects of the input signal 104 in the output signal 110. In particular, the controller 112 generates a matrix and performs canonical QR-decomposition to project the matrix into orthogonal space, where the input signal 104, the portion of the actual output signal 110 corresponding to the input signal 104, and the portion of the actual output signal 110 corresponding to the noise 108 are at least partially separated. In this way, the controller 112 or other monitor can at least partially separate the noise effects from the input effects in the actual output signal 110.
Although
A matrix 300 in
At least some of the samples 302 of the actual output signal 110 appear multiple times in the matrix 300. For example, the sample 302 labeled “y2” appears twice in a diagonal pattern, and the sample 302 labeled “y3” appears three times in a diagonal pattern. Overall, the matrix 300 includes n different samples 302 of the actual output signal 110.
In this example, the matrix 300 represents a “column Hankel matrix.” In this type of matrix, the matrix includes a time series of samples 302 in the horizontal direction 304 (left to right) and a time series of samples 302 in the vertical direction 306 (top to bottom). Because the samples 302 in the horizontal direction 304 form a time series in the left-to-right direction, the matrix 300 represents a “forward” column Hankel matrix.
A different matrix 330 is shown in
To isolate the effects of noise 108 in the actual output signal 110 from the effects of the input signal 104, the controller 112 may generate the matrices 300, 330 using the samples 302, 332 of the actual output signal 110 and the input signal 104. The controller 112 then generates a matrix 360, which is shown in
Although
[Ub Ŷ]
where U represents a column Hankel matrix of the input signal 104, Ŷ represents a column Hankel matrix of the ideal output signal 106, and b indicates that a matrix is a backward column Hankel matrix. By default, any matrix without a b sub-notation represents a forward column Hankel matrix.
In this example, the matrix 360 is decomposed using CQR decomposition so as to project the matrix 360 into orthogonal space. The orthogonal space is defined by three axes 402, 404, 406. The first axis 402 represents an index of the rows in the decomposed matrix, and the second axis 404 represents an index of the columns in the decomposed matrix. Both indexes increase moving from left to right in
As shown in
In contrast,
[Ub Y]
where Y represents a column Hankel matrix of the actual output signal 110.
In this example, the matrix 360 is decomposed using CQR decomposition so as to project the matrix 360 into the same orthogonal space. As shown in
[U Yb].
In this example, the matrix 360 is decomposed using CQR decomposition so as to project the matrix 360 into the orthogonal space. As shown in
Similarly,
[U Y].
In this example, the matrix 360 is decomposed using CQR decomposition so as to project the matrix 360 into the orthogonal space. As shown in
Finally,
[Ub Yb].
In this example, the matrix 360 is decomposed using CQR decomposition so as to project the matrix 360 into the orthogonal space. As shown in
Using one or more of these projections, the controller 112 or other monitor in the system 100 of
As can be seen in
In some embodiments, to reduce the processing power and time needed by the controller 112 to process the signals, the controller 112 processes the samples in batches. For example, the controller 112 could process samples of the input signal 104 and actual output signal 110 in batches of five hundred samples each.
To help reduce the size of the matrix needed to generate a projection, the controller 112 may generate and process a first matrix 360 associated with a first batch of the samples. The first matrix 360 is decomposed into Q1 and R1. To process the next batch of samples, the controller 112 generates a matrix 360 for the next batch of samples and combines that matrix 360 with R1. For example, the controller 112 could combine a new matrix 360 with a previous R matrix to create a concatenated matrix as follows:
where x represents the number of the current data segment (where x≧2), Datax represents the data samples in the x-th data segment, and Rx−1 represents the R matrix associated with the (x−1)-th data segment. The matrix resulting from this combination is then processed by the controller 112 and decomposed. This allows the controller 112 to process a smaller matrix, even as the total number of samples becomes very large.
In the example above, the samples in the previous data segments are continuously carried through the processing of future data segments. In effect, the controller 112 is concatenating the data segments together, and the projection corresponding to the x-th data segment represents all previous data segments. In other embodiments, the samples in previous data segments may be phased out of the processing of future data segments. In effect, this provides a “forgetting factor” where older data segments contribute less to the projection than newer data segments. For example, the controller 112 could combine a new matrix 360 with a previous R matrix as follows:
where λ represents a value between zero and one. A λ value of one would operate as described above. A λ value of zero causes the controller 112 to ignore the previous R matrix and only process the current data segment. A λ value between zero and one causes the controller 112 to partially consider the previous R matrix in forming the projection, which over time reduces the effects of older data segments to a greater and greater extent.
Although
The controller 112 receives samples of an input signal at step 502. This may include, for example, the controller 112 receiving samples of an input signal 104 or the controller 112 receiving the input signal 104 and generating the samples.
The controller 112 receives samples of an actual output signal at step 504. This may include, for example, the controller 112 receiving samples of an actual output signal 110 or the controller 112 receiving the actual output signal 110 and generating the samples.
The controller 112 generates a first matrix using the samples of the input signal at step 506. This may include, for example, the controller 112 generating a forward or backward column Hankel matrix 330 using the samples of the input signal 104.
The controller 112 generates a second matrix using the samples of the actual output signal at step 508. This may include, for example, the controller 112 generating a forward or backward column Hankel matrix 300 using the samples of the actual output signal 110.
The controller 112 generates a third matrix using the first and second matrices at step 510. This may include, for example, the controller 112 generating a third matrix 360 by concatenating the first and second matrices 300, 330.
The controller 112 projects the third matrix into orthogonal space at step 512. This may include, for example, the controller 112 performing CRQ decomposition to project the third matrix 360 into orthogonal space. This may also include the controller 112 generating a projection as shown in
At this point, the controller 112 may use the projection in any suitable manner. For example, the controller 112 could use the projection to identify a model that relates the input signal 104 to the ideal output signal 106 contained in the actual output signal 110.
Although
It may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation. The term “or” is inclusive, meaning and/or. The phrases “associated with” and “associated therewith,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like. The term “controller” means any device, system or part thereof that controls at least one operation. A controller may be implemented in hardware, firmware, software, or some combination of at least two of the same. The functionality associated with any particular controller may be centralized or distributed, whether locally or remotely.
While this disclosure has described certain embodiments and generally associated methods, alterations and permutations of these embodiments and methods will be apparent to those skilled in the art. Accordingly, the above description of example embodiments does not define or constrain this disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of this disclosure, as defined by the following claims.
Number | Name | Date | Kind |
---|---|---|---|
4740968 | Aichelmann, Jr. | Apr 1988 | A |
5490516 | Hutson | Feb 1996 | A |
5706402 | Bell | Jan 1998 | A |
5980097 | Dagnachew | Nov 1999 | A |
5991525 | Shah et al. | Nov 1999 | A |
6026334 | Kayihan et al. | Feb 2000 | A |
6510354 | Lin | Jan 2003 | B1 |
6564176 | Kadtke et al. | May 2003 | B2 |
6615164 | Gopisetty et al. | Sep 2003 | B1 |
6622117 | Deligne et al. | Sep 2003 | B2 |
6757569 | Lin | Jun 2004 | B2 |
6907513 | Nakanishi | Jun 2005 | B2 |
7003380 | MacMartin et al. | Feb 2006 | B2 |
7035357 | Bonhomme | Apr 2006 | B2 |
7089159 | Hachiya | Aug 2006 | B2 |
20030004658 | Bechhoefer et al. | Jan 2003 | A1 |
20030061035 | Kadambe | Mar 2003 | A1 |
20040057585 | Madievski et al. | Mar 2004 | A1 |
20040071103 | Henttu | Apr 2004 | A1 |
20040071207 | Skidmore et al. | Apr 2004 | A1 |
20040078412 | Nakanishi | Apr 2004 | A1 |
20050015205 | Repucci et al. | Jan 2005 | A1 |
Number | Date | Country | |
---|---|---|---|
20050177349 A1 | Aug 2005 | US |