What is claimed is:
1. A tool for system modeling and monitoring a system with a plurality of sensors, each sensor generating a signal representative of a system parameter, said tool comprising:
a memory storing a plurality of historical snapshots of one or more sensor signals, said plurality of snapshots forming a training matrix ({overscore (D)}) corresponding to a universe of identified states of a monitored system;
a data acquisition unit receiving signals from said sensors, each received signal being representative of a system parameter at a selected time;
an information processor coupled to said data acquisition unit acquiring real-time snapshots as state vectors ({right arrow over (Y)}input) indicative of observed states of said monitored system;
a similarity operator ({circle over (x)}SSCOP) implemented within said information processor operable on state vectors with said training matrix from said memory to determine similarity as a function of the absolute difference between like sensor values divided by expected sensor ranges; and
said information processor generating an expected state vector ({right arrow over (Y)}expected) responsive to said similarity operator.
2. A tool as recited in claim 1, wherein the similarity operator defines the relationship S{overscore (D)}{circle over (x)}SSCOP{right arrow over (Y)}input (where {overscore (D)} is the transpose of {overscore (D)}) and has the form:
22
s
i
=
1
–
i
where 1 represents the normalized similarity between a parameter and its corresponding value in one of said training vectors, is a coarse tuning parameter and is a fine tuning parameter.
3. A tool as in claim 2, wherein the information processor further comprises:
an adder adding comparison results between two vectors; and
a divider dividing a sum from said adder by the number of parameters being compared in said two vectors.
4. A tool as in claim 3, wherein the information processor further comprises:
matrix transposition means for generating the transpose of a matrix; and
matrix multiplication means for multiplying said training set by a weight unit vector {overscore (W)} to generate said expected state vector;
whereby {overscore (D)} is the transpose of training matrix {overscore (D)}, {overscore (G)}({overscore (D)}{circle over (x)}SSCOP{overscore (D)}), {overscore (S)}{overscore (D)}{circle over (x)}{right arrow over (y)}input, {overscore (G)}1 is the inverse of {overscore (G)}, the weight unit vector is defined as:
{right arrow over (W)}{overscore (G)}1{right arrow over (S)}
and
{right arrow over (y)}expected{overscore (D)}{right arrow over (W)}.
5. A tool as recited in claim 2, wherein said data acquisition unit comprises a personal computer based data acquisition board receiving sensor data from said sensors.
6. A tool as recited in claim 2, wherein said monitored system is selected from the group consisting of a machine, a process and a biological system.
7. A tool as recited in claim 2, said expected state vector being compared with a corresponding real time snapshot, expected state vector parameters being compared against corresponding real-time sensor signals, said information processor logging any differences indicated in said comparison.
8. A tool as recited in claim 7 further comprising a monitoring device for generating an alarm signal indicative of a difference between a current state and known normal states of operation of the monitored system based upon the similarity measure determined with said similarity operator.
9. A method of empirically monitoring a system comprising:
a) building a training set matrix ({overscore (D)}) of historical system snapshots, said training set matrix describing a universe of identified states of a system being monitored;
b) receiving a state vector representative of an actual state of said monitored system, said state vector including a plurality of time related sensor parameter values;
c) comparing said received state vector ({right arrow over (Y)}input) against vectors from said training set matrix to provide measures of similarity to said received state vector and states in said training set matrix based on the absolute difference of corresponding sensor values, normalized by the expected range of each sensor; and
d) generating an estimated state vector ({right arrow over (Y)}expected) from results of the comparison step (c).
10. A method as recited in claim 9, further comprising:
f) generating an alarm signal indicative of a difference between the actual state and the estimated state of operation of the monitored system.
11. A method as recited in claim 10, wherein the alarm generating step (f) comprises applying a sequential probability ratio test (SPRT) to successive differences between successive actual states and estimated states.
12. A method as recited in claim 9, wherein the received state vector is augmented with parameter values generated for one or more virtual sensors.
13. A method as recited in claim 9, wherein the comparison step (c) comprises:
i) generating an operator model matrix ({overscore (G)});
ii) generating a similarity vector ({overscore (S)}); and
iii) generating a weight vector ({right arrow over (W)}) from said operator model matrix and said similarity vector.
14. A method as in claim 13, wherein the step (i) of generating the operator model matrix (G) comprises comparing the transpose of the training matrix against the training matrix ({overscore (D)}{circle over (x)}SSCOP{overscore (D)}), each element comparison having the form:
23
s
i
=
1
–
i
where 1, represents said measures of similarity between said received state vector and states in said training set matrix, is a coarse tuning parameter and is a fine tuning parameter.
15. A method as in claim 14, wherein the step (ii) of generating a similarity vector comprises comparing for similarity said state vector with the transpose of said training set matrix ({overscore (D)}{circle over (x)}{right arrow over (y)}input).
16. A method as in claim 15, wherein the step (iii) of generating a weight vector has the form:
{right arrow over (W)}{overscore (G)}1{right arrow over (S)}.
17. A method as in claim 16, wherein the step (d) of generating the estimated state vector has the form:
{right arrow over (y)}estimated{overscore (D)}{right arrow over (W)}.
18. A method as in claim 17, wherein said system being monitored is selected from the group consisting of a machine, a process being carried out in a closed system and a biological system.
19. A method as in claim 14, wherein tuning parameters and are selectively chosen between 1 and 4.
20. A method as in claim 19 wherein for two parameters a1, a2 in a-space,
24
a
=
max
(
a
1
,
a
2
)
–
min
(
a
1
,
a
2
)
(
Max
a
–
Min
a
)
,
Mina and Maxa being the range limits in a-space.
21. A computer program product for empirically monitoring a system, said computer program product comprising a computer usable medium having computer readable program code thereon, said computer readable program code comprising:
computer readable program code means for receiving state vectors representative of actual states of a system being monitored, each said state vector including a plurality of time related sensor parameter values;
computer readable program code means for building a training set matrix ({overscore (D)}) of historical system snapshots, said training set matrix describing a universe of acceptable states of said monitored system;
computer readable program code means for comparing said received state vectors ({right arrow over (Y)}input) against vectors from said training set matrix;
computer readable program code means for generating expected state vectors ({right arrow over (Y)}expected) from results of said comparison; and
computer readable program code means for generating an alarm signal indicative of a difference between the operational state and normal states of operation of the monitored system, based on estimates.
22. A computer program product for empirically monitoring a system as in claim 21, wherein the computer readable program code means for generating the alarm comprises:
computer readable program code means for applying a sequential probability ratio test (SPRT) to the difference between input sensor data and estimated sensor data.
23. A computer program product for empirically monitoring a system as in claim 21, wherein the computer readable program code means for comparing vectors comprises:
computer readable program code means for generating an operator model matrix ({overscore (G)});
computer readable program code means for generating a similarity vector ({overscore (S)}); and
computer readable program code means for generating a weight vector ({right arrow over (W)}) from said operator model matrix and said similarity vector.
24. A computer program product for empirically monitoring a system as in claim 23, wherein the computer readable program code means for generating the operator model matrix (G) transposes the training matrix and compares the transposed training matrix against the training matrix ({overscore (D)}{circle over (x)}SSCOP{overscore (D)}), each element comparison having the form:
25
s
i
=
1
–
i
where i represents the normalized similarity between a parameter and its corresponding value in one of said training vectors, is a coarse tuning parameter and is a fine tuning parameter.
25. A computer program product for empirically monitoring a system as in claim 24, wherein the computer readable program code means for generating a similarity vector compares said state vector with the transpose of said training set matrix ({overscore (D)}{circle over (x)}{right arrow over (y)}input).
26. A computer program product for empirically monitoring a system as in claim 25, wherein the weight vector is generated according to:
{right arrow over (W)}{overscore (G)}1{right arrow over (S)}.
27. A computer program product for empirically monitoring a system as in claim 26, wherein the expected state vector is generated according to:
{right arrow over (y)}expected{overscore (D)}{right arrow over (W)}.
28. A computer program product for empirically monitoring a system as in claim 27, said system being selectable from the group consisting of a machine, a process being carried out in a closed system and a biological system.
29. An apparatus for monitoring an operating condition of a selected system, comprising:
a first data source for providing reference data characteristic of an operating condition of a reference system;
a second data source for providing selected data characteristic of an operating condition of said selected system;
a similarity module operative to determine at least one measure of similarity of said selected data for said selected system relative to said reference data of said reference system, by dividing the absolute difference of related data points from said selected data and said reference data, by an expected range of the related data points in said reference data, and subtracting from one.
30. An apparatus according to claim 29 further comprising an estimation module operative to generate an estimate of said selected data based on said measure of similarity.
31. An apparatus according to claim 30 further comprising a test module operative to perform a statistical hypothesis test on said selected data and said estimate thereof, said test indicating if there is a statistically significant deviation between them.
32. An apparatus according to claim 31 wherein said statistical hypothesis test is a sequential probability ratio test.
33. An apparatus according to claim 29, wherein said measures of similarity for two related data points from said selected data and said reference data is provided according to:
26
s
=
1
–
(
d
1
–
d
2
Range
)
where d1 and d2 are said two related data points, and and are selected constants.
34. An apparatus according to claim 33, wherein is selected in the range of 1 to 4.
35. An apparatus according to claim 33, wherein is selected in the range of 1 to 4.
36. A similarity engine, comprising:
a memory for storing a plurality of known state vectors;
an input bus for providing a current state vector; and
a processor disposed to render a measure of similarity between the current state vector from said input bus and a selected known state vector from said memory, equal to a statistical combination of a set of similarity values for corresponding elements of the current state vector and the selected known state vector,
where a similarity value for a comparison of an element from the current state vector to a corresponding element from the selected known state vector is a function of a quantity theta, theta being the absolute difference of said corresponding elements divided by the range of values for corresponding elements across the plurality of known state vectors.
37. A similarity engine according to claim 36, wherein said similarity value for a comparison of said corresponding elements of the current state vector and the selected known state vector is equal to theta raised to a power, then divided by a constant, with this result subtracted from one.
38. A similarity engine according to claim 36, wherein said measure of similarity between said current state vector and said selected known state vector is equal to the arithmetic means of all quantities theta for each corresponding pair of elements from said two vectors, subtracted from one.
39. A similarity engine according to claim 36, wherein said measure of similarity between said current state vector and said selected known state vector is equal to the arithmetic mean of all similarity values for each corresponding pair of elements from said two vectors.
40. A similarity engine according to claim 36, wherein said measure of similarity between said current state vector and said selected known state vector is equal to the median of all similarity values for each corresponding pair of elements from said two vectors.
41. A similarity engine according to claim 36, wherein said processor is further disposed to generate an estimated state vector in response to input of said current state vector, using at least some of said plurality of known state vectors and at least one said measure of similarity.
42. A similarity engine according to claim 41, wherein said processor is further disposed to compare said estimated state vector and said current state vector.
43. A similarity engine according to claim 42, wherein said processor employs a statistical test to a sequence of comparisons of said estimated state vectors and said current state vectors.
44. A method for determining a measure of similarity between a current sate of a system and a previously known state of the system comprising the steps of:
acquiring sensor values from a set of sensors indicative of said current state;
for each sensor in said set:
determining an expected range over prior known values of the sensor,
determining the absolute value of the difference of the current state sensor value and the sensor value from the previously known state, and
calculating a similarity value for the sensor between its current state value and its previously known state value as a function of the result of said absolute value divided by said range; and
statistically combining the similarity values for the set of sensors to provide a measure of similarity between the current state and the previously known state.
45. A method according to claim 44, wherein said similarity value for a sensor is equal to the quantity of said absolute value divided by said range, said quantity being raised to a power and divided by a constant, subtracted from one.
46. A method according to claim 44, wherein said step of statistically combining comprises calculating the arithmetic mean of the similarity values of the set of sensors.
47. A method according to claim 44, wherein said step of statistically combining comprises calculating the median of the similarity values of the set of sensors.
48. A method according to claim 44, wherein said step of statistically combining comprises averaging quantities equal to for each sensor, said absolute value divided by said range, and subtracting from one a value based on the average.
49. A method according to claim 48, wherein the average is raised to a power, then divided by a constant, and then subtracted from one.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1.-12. (canceled)
13. Apparatus for determining a roll angle of a device, comprising:
a housing enclosing the device,
a coil arranged in or on the housing in a fixed relationship relative to the housing, and
a control electronics connected with the coil and producing a time-limited voltage profile.
14. The apparatus of claim 13, wherein the control electronics in conjunction with the coil produces a pulse-shaped voltage profile.
15. The apparatus of claim 13, wherein the control electronics in conjunction with the coil produces a voltage profile resembling a damped oscillation having a decay time.
16. The apparatus of claim 13, wherein the control electronics repeats the voltage profile with a repeat frequency f.
17. The apparatus of claim 13, wherein the coil has a positive terminal and a negative terminal, and wherein the control electronics generates an electric current flow always in an identical direction from one of the terminals to the other terminal.
18. The apparatus of claim 13, further comprising a second dipole arranged in the housing, and a drive rotating the second dipole about a rotation axis with a relative speed OMEGA relative to the housing.
19. The apparatus of claim 18, wherein the second dipole is implemented as a rotating permanent magnet.
20. The apparatus of claim 18, wherein the rotation axis of the second dipole is oriented perpendicular to an axis of the coil.
21. The apparatus of claim 13, further comprising a receiver arranged external to the device, with the receiver measuring three time-dependent, mutually perpendicular magnetic field components of a magnetic field outside the device.
22. The apparatus of claim 13, wherein the device is a drill head of a drilling device, with the drill head including the housing.
23. The apparatus of claim 13, wherein the device is a medical device selected from the group consisting of a device for obtaining endoscopic images for diagnostic purposes, a device for obtaining electrical or electrophysiological data, a device for examining blood vessels and treatment of vessel constrictions, a device for performing andor monitoring surgical procedures on the brain, heart or the intestinal tract, a device for implantation of organ and tissue transplants, joint prostheses, electromagnetic sensors and pulse transmitters, heart pacemakers, a device for vessel transplants and catheters, a device for removal and destruction of gallstones or kidney stones, inflamed tissue, tumor tissue, bone and joint material, a device for targeted release of therapeutic substances on diseased tissue or tumor tissue, and a device for irradiation of tumor tissue.
24. A method for determining a roll angle of a device with a housing, comprising the steps of:
producing a time-limited voltage profile with a control electronics and a coil, wherein the coil is fixedly arranged relative to the housing on or in the housing,
measuring a magnetic field outside the housing with a receiver, and
determining the roll angle from a temporal change of the measured magnetic field.