Temperature compensation in wave-based damage detection systems

10324068 ยท 2019-06-18

Assignee

Inventors

Cpc classification

International classification

Abstract

A method performed by a processing device, the method comprising: obtaining first waveform data indicative of traversal of a first signal through a structure at a first time; applying a scale transform to the first waveform data and the second waveform data; computing, by the processing device and based on applying the scale transform, a scale-cross correlation function that promotes identification of scaling behavior between the first waveform data and the second waveform data; performing one or more of: computing, by the processing device and based on the scale-cross correlation function, a scale factor for the first waveform data and the second waveform data; and computing, by the processing device and based on the scale-cross correlation function, a scale invariant correlation coefficient between the first waveform data and the second waveform data.

Claims

1. A method for detecting an anomaly in a physical structure, the method comprising: causing ultrasonic transmission, through and across a wall or boundaries of a physical structure, of a first signal comprising a first guided wave, and a second signal comprising a second guided wave; obtaining a first sequence of data representing a traversal of the first signal through and across the wall, plate, or boundary of the physical structure at a first time, wherein a first ambient temperature is associated with the structure at the first time; obtaining a second sequence of data representing a traversal of the second signal through and across the wall or boundaries of the physical structure at a second time, wherein a second ambient temperature is associated with the physical structure at the second time, the first ambient temperature differs from the second ambient temperature, and a difference between the first ambient temperature and the second ambient temperature causes a distortion of the second signal, relative to the first signal, as the second signal traverses through and across the wall or boundaries of the physical structure; applying a scale transform to the first sequence of data and the second sequence of data; computing, by a processing device and based on applying the scale transform, a scale-cross correlation function that promotes identification of scaling behavior between the first sequence of data and the second sequence of data, wherein a computational complexity of computing the scale cross-correlation function includes a log-linear complexity; performing at least first operations or second operations; with the first operations comprising: computing, by the processing device and based on the scale-cross correlation function, a scale factor for the first sequence of data and the second sequence of data, with the scale factor being indicative of an amount of variation between the first ambient temperature and the second ambient temperature; applying the scale factor to the second sequence of data to produce a third sequence of data representing the traversal of the second signal through and across the wall or boundaries of the physical structure at the second time, the third sequence of data representing the second signal adjusted based on the scale factor to compensate for the distortion of the second signal, relative to the first signal, that results from variation in the first ambient temperature and the second ambient temperature; and generating a compensated signal based on the third sequence of data, the compensated signal comprising a resolution fidelity that is maintained from a resolution fidelity of the second signal; with the second operations comprising: computing, by the processing device and based on the scale-cross correlation function, a scale invariant correlation coefficient between the first sequence of data and the second sequence of data, with the scale invariant correlation coefficient comprising a compensation statistic for compensating for the distortion of the second signal, relative to the first signal, that results from variation in the first ambient temperature and the second ambient temperature; applying the scale invariant correlation coefficient comprising the compensation statistic to the second sequence of data to produce the third sequence of data representing the traversal of the second signal through and across the wall or boundaries of the physical structure at the second time, the third sequence of data representing the second signal adjusted based on the compensation statistic for the distortion of the second signal, relative to the first signal, that results from variation in the first ambient temperature and the second ambient temperature; and generating the compensated signal based on the third sequence of data, the compensated signal comprising the resolution fidelity that is maintained from the resolution fidelity of the second signal; and detecting an anomaly in the wall or between the boundaries of the physical structure based on a comparison of the compensated signal to the first signal.

2. The computer-implemented method of claim 1, further comprising: detecting, based on the scale factor and the scale invariant correlation coefficient, one or more areas of structural change in the wall or between the boundaries of the physical structure.

3. The computer-implemented method of claim 2, wherein the structural change comprises a degradation of the wall or between the boundaries of the physical structure.

4. The computer-implemented method of claim 1, wherein the scale invariant correlation coefficient is indicative of a measure of similarity between the first sequence of data and the second sequence of data.

5. The computer-implemented method of claim 1, wherein the scale factor comprises a value that is used as a multiplier in scaling the first sequence of data to correspond to the second sequence of data.

6. The method of claim 1, wherein the processing device is included in a wave-based damage detection system.

7. The method of claim 1, wherein the physical structure comprises a concrete structure.

8. The method of claim 1, wherein the scale-cross correlation function is computed in accordance with:
x(t)s.sub.(t)=S.sup.1{S{x(t)}S{s(t)}}, wherein represents a scale cross-correlation operation; wherein the overbar represents a complex conjugation operation; wherein x(t) is the first sequence of data; wherein s(t) is the second sequence of data; wherein includes a scaling factor on s(t); wherein S{x(t)} is the scale domain of x(t); wherein S{s(t)} is the scale domain of s(t); and wherein S.sup.1 {} represents an inverse scale transform.

9. The method of claim 1, wherein computing the scale-cross correlation function comprises: computing a product of a scale domain of the first sequence of data and a scale domain of the second sequence of data.

10. The method of claim 1, wherein computing the scale-cross correlation function comprises: resampling the first sequence of data; resampling the second sequence of data; applying an amplification factor to the resampled first and second sequence of data; and cross-correlating the amplified, resampled first and second sequence of data.

11. The method of claim 1, wherein computing the scale-invariant correlation coefficient comprises: determining an increased value of the scale cross-correlation function in a stretch domain factor, relative to other values of the scale cross-correlation function in the stretch domain factor.

12. The method of claim 1, wherein one or more of the first signal and the second signal is an ultrasonic wave signal.

13. The method of claim 1, wherein the physical structure comprises one or more of a pipe structure, a heating structure, one or more pipe structures in an oil refinery, one or more pipe structures in a chemical refinery, one or more pipe structures in a gas refinery, one or more natural fuse pipelines, one or more oil pipelines, one or more heating pipe structures, one or more cooling pipe structures, one or more pipe structures in a nuclear power plant, one or more pressure vessels, one or more concrete structures of a bridge, one or more concrete structures of civil infrastructure, one or more portion of an airplace, one or more portions of an aerospace vehicle, one or more portions of a submarine, and one or more metallic structures.

14. The method of claim 1, further comprising: identifying a maximization of the scale-cross correlation function in the stretch factor domain; wherein computing the scale factor comprises: computing, by the processing device and based on the maximization of the scale-cross correlation function in the stretch factor domain, the scale factor for the first sequence of data and the second sequence of data; and wherein computing the scale invariant correlation coefficient comprises: computing, by the processing device and based on the maximization of the scale-cross correlation function in the stretch factor domain, the scale invariant correlation coefficient between the first sequence of data and the second sequence of data.

15. The method of claim 1, further comprising: identifying a maximization of the scale-cross correlation function in the scale transform domain; wherein computing the scale factor comprises: computing, by the processing device and based on the maximization of the scale-cross correlation function in the scale transform domain, the scale factor for the first sequence of data and the second sequence of data; and wherein computing the scale invariant correlation coefficient comprises: computing, by the processing device and based on the maximization of the scale-cross correlation function in the scale transform domain, the scale invariant correlation coefficient between the first sequence of data and the second sequence of data.

16. An apparatus for detecting an anomaly in a physical structure, the apparatus comprising: one or more processing devices; and one or more machine-readable hardware storage devices storing instructions that are executable to cause the one or more processing devices to perform operations comprising: causing guided wave transmission, through a physical structure, of a first signal and a second signal; obtaining a first sequence of data representing a traversal of the first signal through the physical structure at a first time, wherein a first ambient temperature is associated with the physical structure at the first time; obtaining a second sequence of data representing a traversal of the second signal through the physical structure at a second time, wherein a second ambient temperature is associated with the physical structure at the second time, the first ambient temperature differs from the second ambient temperature, and a difference between the first ambient temperature and the second ambient temperature causes a distortion of the second signal, relative to the first signal, as the second signal traverses through the physical structure; applying a scale transform to the first sequence of data and the second sequence of data; computing, based on applying the scale transform, a scale-cross correlation function that promotes identification of scaling behavior between the first sequence of data and the second sequence of data, wherein a computational complexity of computing the scale cross-correlation function includes a log-linear complexity; performing at least first operations or second operations; with the first operations comprising: computing, based on the scale-cross correlation function, a scale factor for the first sequence of data and the second sequence of data, with the scale factor being indicative of an amount of variation between the first ambient temperature and the second ambient temperature; applying the scale factor to the second sequence of data to produce a third sequence of data representing the traversal of the second signal through the physical structure at the second time, the third sequence of data representing the second signal adjusted based on the scale factor to compensate for the distortion of the second signal, relative to the first signal, that results from variation in the first ambient temperature and the second ambient temperature; and generating a compensated signal based on the third sequence of data, the compensated signal comprising a resolution fidelity that is maintained from a resolution fidelity of the second signal; with the second operations comprising: computing, based on the scale-cross correlation function, a scale invariant correlation coefficient between the first sequence of data and the second sequence of data, with the scale invariant correlation coefficient comprising a compensation statistic for compensating for the distortion of the second signal, relative to the first signal, that results from variation in the first ambient temperature and the second ambient temperatures; applying the scale invariant correlation coefficient comprising the compensation statistic to the second sequence of data to produce the third sequence of data representing the traversal of the second signal through the physical structure at the second time, the third sequence of data representing the second signal adjusted based on the compensation statistic for the distortion of the second signal, relative to the first signal, that results from variation in the first ambient temperature and the second ambient temperature; and generating the compensated signal based on the third sequence of data, the compensated signal comprising the resolution fidelity that is maintained from the resolution fidelity of the second signal.

17. The apparatus of claim 16, wherein the operations further comprise: detecting, based on the scale factor and the scale invariant correlation coefficient, one or more areas of structural change in the physical structure.

18. One or more machine-readable hardware storage devices storing instructions that are executable to cause one or more processing devices to perform operations comprising: causing guided wave transmission, through a physical structure, of a first signal and a second signal; obtaining a first sequence of data representing a traversal of the first signal through the physical structure at a first time, wherein a first ambient temperature is associated with the physical structure at the first time; obtaining a second sequence of data representing a traversal of the second signal through the physical structure at a second time, wherein a second ambient temperature is associated with the physical structure at the second time, the first ambient temperature differs from the second ambient temperature, and a difference between the first ambient temperature and the second ambient temperature causes a distortion of the second signal, relative to the first signal, as the second signal traverses through the physical structure; applying a scale transform to the first sequence of data and the second sequence of data; computing, based on applying the scale transform, a scale-cross correlation function that promotes identification of scaling behavior between the first sequence of data and the second sequence of data, wherein a computational complexity of computing the scale cross-correlation function includes a log-linear complexity; performing at least first operations or second operations; with the first operations comprising: computing, based on the scale-cross correlation function, a scale factor for the first sequence of data and the second sequence of data, with the scale factor being indicative of an amount of variation between the first ambient temperature and the second ambient temperature; applying the scale factor to the second sequence of data to produce a third sequence of data representing the traversal of the second signal through the physical structure at the second time, the third sequence of data representing the second signal adjusted based on the scale factor to compensate for the distortion of the second signal, relative to the first signal, that results from variation in the first ambient temperature and the second ambient temperature; and generating a compensated signal based on the third sequence of data, the compensated signal comprising a resolution fidelity that is maintained from a resolution fidelity of the second signal; with the second operations comprising: computing, based on the scale-cross correlation function, a scale invariant correlation coefficient between the first sequence of data and the second sequence of data, with the scale invariant correlation coefficient comprising a compensation statistic for compensating for the distortion of the second signal, relative to the first signal, that results from variation in the first ambient temperature and the second ambient temperature; applying the scale invariant correlation coefficient comprising the compensation statistic to the second sequence of data to produce the third sequence of data representing the traversal of the second signal through the physical structure at the second time, the third sequence of data representing the second signal adjusted based on the compensation statistic for the distortion of the second signal, relative to the first signal, that results from variation in the first ambient temperature and the second ambient temperature; and generating the compensated signal based on the third sequence of data, the compensated signal comprising the resolution fidelity that is maintained from the resolution fidelity of the second signal.

19. The one or more machine-readable hardware storage devices of claim 18, wherein the operations further comprise: detecting, based on the scale factor and the scale invariant correlation coefficient, one or more areas of structural change in the physical structure.

Description

BRIEF DESCRIPTION OF THE FIGURES

(1) FIG. 1 is block diagram of an example environment for generating temperature compensation indicators.

(2) FIG. 2 shows a graph indicative of a relationship between a number of samples to resample a uniformly sampled signal and a first-order approximation.

(3) FIGS. 3A-3C show graphs of sampling on a sine wave.

(4) FIG. 4 shows a diagram that demonstrates actions in computing the discrete-time exponential-time cross-correlation.

(5) FIG. 5 shows curves demonstrating the computational growth rates of OSS (N.sup.2 ln(N)) and the scale cross-correlation (N ln(N) log.sub.2 (N)).

(6) FIG. 6 shows a graph of measured ambient temperatures during a simulation.

(7) FIGS. 7A-7D show correlation coefficients for temperature compensation methods.

(8) FIGS. 8A-8B show diagrams of a wideband, modulated sinc waveform that captures a frequency spectrum.

(9) FIGS. 9A-9B show graphs indicative of a wideband response of a thin aluminum plate.

(10) FIG. 10 shows correlation coefficients versus scale cross-correlation scale estimates.

(11) FIGS. 11A, 11B are examples of graphs that illustrate the relationships between the standard and compensated correlation coefficients and the scale estimates.

(12) FIG. 12 is a flowchart of a process for generating temperature compensation indicators.

(13) FIG. 13 is a block diagram of components in an example environment for generating temperature compensation indicators.

DETAILED DESCRIPTION

(14) A system disclosed herein computes a scale-invariant descriptor based on the Mellin transform, to be used to improve wave-based damage detection systems by compensating for the variation in signals that result from variations in temperature. This compensation statistic is referred to as the scale-invariant correlation coefficient, and the system measures it from the scale cross-correlation function between two signals.

(15) Referring to FIG. 1, a block diagram is shown of an example environment 100 for generating temperature compensation indicators, e.g., values indicative of an amount to compensate for the variation in signals that result from variations in temperature. There are various types of temperature compensation indictors, including, e.g., a scale invariant coefficient 115, a scale factor 117, and so forth.

(16) Example environment 100 includes structure 102, e.g., a concrete structure, a pipe structure, a heating structure, a refinery, and a nuclear power plant and so forth. Example environment 100 also includes system 110 and data repository 114. In this example, data repository 114 that stores information 109 indicative of various algorithms, including, e.g., algorithms that are represented by and/or in accordance with the equations described herein. In this example, system 110 uses information 109 to compute various temperature compensation indicators.

(17) In the example of FIG. 1, system 110 is configured to emit signals (e.g., ultrasonic wave signals) to structure 102 at various points in time, e.g., a first time (T1) and a second time (T2). Based on the emitted signals, system 110 records waveform data 104, 105 that is indicative of how signals 106, 107, respectively, travel through structure 102 at times T1, T2, respectively. In this example, system 110 detects structural changes (e.g., damage) in structure 102 based on changes in waveform data 104, 105.

(18) In this example, the temperature of structure 102 (e.g., the ambient air surrounding structure 102) fluctuates between time T1 and time T2. These fluctuations cause variations in the waveform data 104, 105. To account for these temperature based variations (which are independent from and different from structural damage), system 110 uses the techniques described herein to compute temperature compensation indicators. By application of the temperature compensation indicators to one or more of waveform data 104, 105, system 110 can identify the variations in waveform data 104, 105 that are caused by temperature fluctuations and compensate for them, e.g., thereby promote detection of variations in waveform data 104, 105 that are caused by structural damage in structure 102. The example environment 100 may include many thousands of client devices and systems.

(19) In this example, one of the algorithms included in information 109 is based on the Mellin transform, which is defined by the integral

(20) { x ( t ) } = X ( p ) = 0 x ( t ) t p - 1 dt . ( 7 )
In some examples, the special case for which p=jc,

(21) { x ( t ) } = X ( jc ) = 0 x ( t ) t - jc - 1 dt . ( 8 )
is also often referred to as the Mellin transform. To avoid confusion, equation (8) is referred to as the Mellin transform and equation (7) as the generalized Mellin transform. Another case of the generalized Mellin transform is known as the scale transform, which system 110 uses to compute the scale-invariant correlation coefficient. Generally, a scale transform includes a modification (e.g., a transform) between two spaces (e.g., a source space and a destination space) where the axis vectors of the source space are longer or shorter than the corresponding axis vectors in the destination space. This causes objects to stretch or shrink along the axes as they are transformed between the two spaces.

(22) In signal processing and computer vision, the Mellin transform has been utilized for its scale-invariant properties. A time-scale operation on the signal x(t) is expressed as a phase change in the Mellin domain,
M{x(t)}=X(jc)e.sup.jc ln().(9)

(23) The magnitude of the Mellin transform is invariant to changes in the time-scale of a signal. This is analogous to the Fourier magnitude spectrum's shift invariance property.

(24) The generalized Mellin transform is closely related to the Laplace transform. Through algebraic manipulation, the expression for the Mellin transform can be rewritten as

(25) { x ( t ) } = X ( p ) = - x ( t ) e p l n ( t ) d [ ln ( t ) ] . ( 10 )

(26) In equation (10), the generalized Mellin transform is equivalent to the Laplace transform, but integrated over logarithmic time. When p=j c, the Mellin transform becomes equivalent to the Fourier transform integrated over logarithmic time. This implies that, if an input signal x(t) is exponentially skewed by substituting t=e.sup., the Mellin transform expression becomes

(27) { x ( t ) } = X ( j c ) = 0 x ( e ) e - jc r d = { x ( e ) } , ( 11 )
where F {} represents the Fourier transform. This property is the basis for the fast Mellin transform algorithm.

(28) In engineering, the Mellin transform's scale invariance property has been used in a variety of applications. These applications include the classification of ships from radar signals and the interpretation of speech waveforms. A variant known as the Fourier-Mellin transform is also popular in several engineering fields. The Fourier-Mellin transform is computed from the Mellin transform of the Fourier magnitude spectrum. As a result, the magnitude of the Fourier-Mellin transform achieves invariance to both shifting and scaling. In two dimensions, the Fourier spectrum is also polar transformed to achieve rotation invariance. The Fourier-Mellin transform has been used in applications for the analysis of speech and Doppler waveforms, as well as for pattern recognition and watermark detection in images.

(29) Sometimes, the magnitude of the Mellin transform is analyzed alone to achieve invariance. Unfortunately, this is less than ideal since it requires the removal of phase information, which is necessary for generating complete descriptors of a signal. However, when comparing two signals, the product of the Mellin transformed signals can be used to compute the Mellin cross-correlation function. The maximum of the Mellin cross-correlation is a measure of the scale-invariant similarity between two signals and the location of the maximum can also be used to estimate the scale factor between the signals, as described in further detail below. The Mellin cross-correlation is used in combination with the Fourier-Mellin transform for image registration and pattern recognition applications.

(30) Although the Mellin transform has found widespread use in many applications, there are several difficulties involved with implementing it. First, the Mellin transform of a signal is not guaranteed to exist. Second, in discrete-time, efficient computation of the discrete-time Mellin transform requires data to be exponentially sampled in time. This is often impractical to implement. Therefore, the Mellin transform is usually approximated using the fast Mellin transform algorithm, in which uniformly sampled data is exponentially resampled. However, this non-uniform resampling procedure incurs its own Nyquist sampling restrictions and complicates computation of the associate cross-correlation function.

(31) In this example, the scale cross-correlation function and scale-invariant correlation coefficient, based on the scale-invariant properties of Mellin transform, provide (and/or are used in) ultrasonic temperature compensation. Below, a case of the generalized Mellin transform known as the scale transform is described. The scale transform exists for all finite energy signals. System 110 derives the continuous-time scale cross-correlation and uses it to derive the scale-invariant correlation coefficient and associated scale factor. System 110 also commutates the scale transform and scale cross-correlation in discrete time, and derives the Mellin resampling theorem to address the numerical difficulties with the fast Mellin transform algorithm.

(32) Compared with the temperature compensation methods of the prior art, the techniques for temperature compensation described herein have increased computational speed and robustness (e.g., relative to the computational speed and robustness of the prior art methods). In an example, the continuous-time scale-invariant correlation coefficient described herein is mathematically equivalent to the OSS correlation coefficient as the size of the library K.fwdarw.. This suggests the techniques described herein to be optimal in terms of mean squared error. In an example, the scale-invariant correlation coefficient described herein can be computed very efficiently due to its relationship with the Fourier transform. In this example, the scale-invariant correlation coefficient is as effective as OSS, an optimal method, and more robust than LPC.

(33) In an example, system 110 implements stretch-based, model-driven temperature compensation algorithms based on the scale transform. In the scale transform domain, system 110 manipulates the stretch factor of signals and compute quantities invariant to changes in that stretch factor. System 110 implements three algorithms for temperature compensation based on these scale domain tools: the scale-invariant correlation (SIC) method, the iterative scale transform (IST) method, and the combined SIC/IST method.

(34) The Scale Transform

(35) In an example, system 110 uses the scale transform and scale cross-correlation function for computing the scale factor and the scale-invariant correlation coefficient between two signals. In general, the generalized Mellin transform of equation (7) and the Mellin transform of equation (8) of a signal may not converge. Under appropriate conditions, the generalized Mellin transform of a function (t) converges within some analytic strip a<Re{p}<b, where a and b are real numbers. To promote convergence, system 110 uses the scale transform. The scale transform is a special case of the generalized Mellin transform for which p=j c+,

(36) �� { x ( t ) } = X ( c ) = 0 x ( t ) t - jc - 1 / 2 dt . ( 12 )
where S{} represents the scale transform. The transform is sometimes normalized by 1/(2).sup.1/2 to preserve symmetry between it and its inverse. This integral is also sometimes referred to as the Mellin transform or the Mellin transform of square-integrable functions.

(37) The scale transform shares several useful properties with the Fourier transform that are not present in the Mellin transform. For example, the kernel of the inverse scale transform is the complex conjugate of the kernel of the scale transform, as shown in the below equation (13):

(38) 0 �� - 1 { X ( c ) } = x ( t ) = 1 2 - X ( c ) t j c - 1 / 2 d c . ( 13 )

(39) In equation (13), S.sup.1{} represents the inverse scale transform. The scale transform also satisfies Parseval's theorem. This implies that the L.sup.2 norm, or energy, of the signal is conserved between the time and scale domains, in accordance with the below equation (14):

(40) 0 .Math. x ( t ) .Math. 2 dt = - .Math. X ( c ) .Math. 2 d c . ( 14 )

(41) Therefore, given a finite energy signal, its scale transform and its inverse always exists. Since system 110 is configured to process physical signals that have finite energy, the scale transform may be defined. Parseval's theorem then also implies that the magnitude of the scale transform exhibits invariance to energy-preserving scaling operations, in accordance with the below equation (15):
S{{square root over ()}x(t)}=X(c)e.sup.jc ln().(15)

(42) As with the Mellin transform, the scale transform is closely related to a logarithmic-time Fourier transform. By performing a change of variables, such that t=e.sup. and dt=e.sup. d, the scale transform can be represented in accordance with the below equation (16):

(43) �� { x ( t ) } = X ( c ) = - x ( e ) e ( - jc + 1 / 2 ) d = { e ( 1 / 2 ) x ( e ) } { x ~ ( ) } . ( 16 )
From this expression, system 110 may also represent the inverse scale transform as indicated in the below equation (17)
s.sup.1{X(c);t}=e.sup.(1/2)ln(t)F.sup.1{X(c);ln(t)}(17)
In an example, system 110 may not compute the inverse scale transform, as performing the substitution of =ln(t) has several numerical complications. Instead, system 110 may extract the same information using the inverse Fourier transform.

(44) In equation (16), {tilde over (x)}() is an energy-preserved, exponentially skewed signal, as demonstrated by performing the same change of variables, where t=e.sup. and dt=e.sup.d, to show

(45) 0 .Math. x ( t ) .Math. 2 dt = 0 .Math. e ( 1 / 2 ) x ( e ) .Math. 2 dt . ( 18 )

(46) Therefore, the scale transform is equivalent to the Fourier transform of a signal that has been exponentially time-skewed with constant energy. When performing the inverse scale transform, system 110 can reverse this process
{tilde over (x)}()=F.sup.1{X(c)},(19)

(47) and then perform an energy-preserving logarithmic skew on {tilde over (x)}(), such that x(t)=e.sup.(1/2)ln(t){tilde over (x)}(ln(t)), to return the signal to its original domain.

(48) Scale Cross-Correlation Function

(49) As with the Mellin transform, system 110 defines a cross-correlation function between two signals and use it to compute the scale factor and scale-invariant descriptor of similarity between them.

(50) Optimization in the Stretch Factor Domain

(51) The scale cross-correlation function of two signals x(t) and s(t) is defined by the product of their scale domains, as indicated in the below equation (20):
x(t)s.sub.(t)=S.sup.1{S{x(t)}S{s(t)}},(20)

(52) where represents the scale cross-correlation operation and the overbar represents a complex conjugation operation. In the time domain, the scale cross-correlation function is defined in accordance with the below equation (21):

(53) xs ( ) = x ( t ) s ( t ) = 0 x ( t ) s ( t ) dt > 0. ( 21 )

(54) In equation (21), if y(t)=x(t)s(t) is the scale cross-correlation of x(t) and s(t), then .sub.xs(t) is the inner product of every x(t) and s( t) pair for values of a greater than zero.

(55) In some examples, due to numerical complications, system 110 may not compute the inverse scale transform. To avoid these complications, system 110 further manipulates equation (20) by substituting the inverse scale transform relationship in equation (17) and expressing the scale cross correlation in the ln(a) domain as indicated in the below equation (22):

(56) xs ( ) ( = e ) - ( 1 / 2 ) ln ( ) - 1 { X * ( c ) S ( c ) ; ln ( ) } = - 1 / 2 xs ( ln ( ) ) . ( 22 )
The function (ln()) is another representation for the scale-cross correlation in the ln() domain.
Computation of Scale Invariant Correlation (SIC) Method

(57) For .sub.xs(ln()), which may be computable by system 110, the natural logarithm is monotonic and the maximum with respect to is equivalent to the maximum with respect to ln(). Therefore, the maximum corresponds to the same maximum in .sub.xs(ln()). Therefore, system 110 computes the optimal stretch factor (e.g., scale factor) as indicated in the below equation (23):

(58) ^ = exp ( arg max ln ( ) xs ( ln ( ) ) ) . ( 23 )
System 110 defines a scale-invariant correlation coefficient defined generally by the below equation (24):

(59) xs = max x s 0 x * ( t ) s ( t ) dt = max x s xs ( ) = max ln ( ) 1 x s xs ( ln ( ) ) , ( 24 )
where .sub.xs is normalized such that .sub.xs=1 when x(t) is a stretched replica of s(t). The scale estimate {circumflex over ()} (e.g., scale factor) specifies how much a signal has scaled or stretch relative to the baseline and the scale-invariant correlation coefficient .sub.xs specifies how similar the two signals are, invariant to scaling or stretching.
Computation of Iterative Scale Transform (IST) MethodMaximization in the Scale Transform Domain c

(60) Instead of computing the estimated scale factor directly from the scale-cross correlation function, system 110 computes it through an optimization in the scale transform domain c, e.g., by maximizing the scale-cross correlation function in the scale transforms domain c.

(61) In an example, by applying Parseval's theorem of

(62) 0 x * ( t ) s ( t ) dt = 1 2 - X * ( c ) S ( c ) d c
and a time stretching property in accordance with S{{square root over ()}x(t);c}=X(c)e.sup.jcln() to the scale-cross correlation function .sub.xs(), system 110 expresses an optimal stretch estimate in the scale transform domain (e.g., a scale factor) as indicated in the below equation 25:

(63) ^ = arg max o x s xs ( ) arg max 1 2 x s - X * ( c ) S ( c ) e j c ln ( ) d c ( 25 )
In this example, system 110 modifies the stretch factor by altering the phase of the scale transform, e.g., by multiplying either X(c) or S(c) by a complex exponential.

(64) The scale-invariant correlation coefficient may then be computed by using from equation (25), in accordance with the below equation (26):

(65) 0 xs = 1 2 x s - X * ( c ) S ( c ) e j c ln ( ^ ) d c . ( 26 )
These expressions provide another means of computing the scale factor estimate and scale-invariant correlation coefficient.
Performance of Scale Transform Methods

(66) As discussed in further detail below, system 110 implements SIC technique by computing the scale transform of each signal followed by computing the scale cross-correlation function, from which the scale factor and scale-invariant correlation coefficient is extracted. System 110 implements IST by computing the scale transform of each signal and then uses a standard iterative optimization method to compute the scale factor and scale-invariant correlation coefficient directly from the scale transforms. In an example, the SIC technique may be more computationally efficient, e.g., relative to computation efficiency of the IST technique. In still another example, the IST technique is associated with increased resolution in terms of how accurate the results may be, e.g., relative to the accuracy of the SIC technique.

(67) Scale-Invariant Correlation (SIC) Method

(68) The scale-invariant correlation (SIC) method maximizes .sub.xs(ln()) directly in the log-stretch factor domain ln(a) as expressed in equation (23). In this example, by sampling x(t) and s(t) in the time domain and truncating the signal to a length of N samples, the scale transform representations, X(c) and S(c), are represented only by a finite number of values. Using equation (23), system 110 computes .sub.xs(ln()) as the inverse Fourier transform of X*(c)S(c). In this example, system 110 evaluates .sub.xs(ln()) for a finite, discrete set of stretch factors .

(69) The resolution of the set of stretch factors is defined by the sampling interval of .sub.xs(ln()). Assuming a unitary sampling period, x(t) is defined over the range 1tN and x(e.sup.T) is defined for 0Tln(N). In this example, since x(e.sup.T) is of length N ln(N), the interval between each sample is 1/N. In this example, since .sub.xs(ln()) is related to x(e.sup.T) and s(e.sup.T) by a Fourier transform followed by an inverse Fourier transform, it also has a sampling interval of 1/N.

(70) This implies that the smallest measurable deviation from =1 is

(71) = exp ( 1 N ) . ( 27 )

(72) For sufficiently large values of N, system 110 approximates by a first order Taylor series approximate to obtain

(73) 1 1 N . ( 28 )

(74) In this example, the resolution of SIC is approximately 1/N. Therefore, SIC is limited in resolution. However, system 110 improves this resolution by combining SIC with an iterative optimization approach.

(75) System 110 calculates the computational complexity of the SIC method. To compute SIC, system 119 exponentially resamples x(t) and s(t), computes Fourier transforms of x(t) and s(t), compute an inverse Fourier transform, and obtains a maximum of the result (and/or an increased value). Maximizing .sub.xs(ln()) and exponentially resampling x(t) can both be computed in linear time. In this example, x(e.sup.) is of length N ln(N) and the computational complexity of computing its Fourier transform, using the fast Fourier transform algorith, is O(N ln(N)log(N ln(N))), or O(N ln(N)log(N)) after simplifying. Since this is the most computationally expensive operation in SIC, the computational complexity of SIC is also O(N ln(N)log(N)).

(76) Iterative Scale Transform (IST) Method

(77) The iterative scale transform (IST) method maximizes the scale cross-correlation function .sub.xs() by phase shifting X*(c) or S(c) in the scale transform domain c as shown in equation (60). Solving this optimization problem iteratively in the scale transform domain c allows IST to have increased precision. In an example, the scale cross-correlation is not (globally) convex, but is locally convex around multiple maxima.

(78) To compute the stretch factor estimate {circumflex over ()} using IST, system 110 computes the scale transforms X*(c) and S(c). As with SIC, the complexity of these operation is O(N ln(N)log(N)). System 110 selects an initial guess for , multiply S(c) (or X*(c)) by e.sup.jcln(), and then computes the inner product between X*(c) and S(c)e.sup.jcln(). Each of these operations has a linear complexity. This process of choosing an , applying a phase shift, and computing an inner product is then repeated for different values of by a vortex optimization algorithm until the inner product converges to a maximum value. The complexity of most convex optimization algorithms, neglecting special cases, is O(M.sup.2) where M is the number of parameters to optimize across. For this application, system 110 optimizes across one variable , so M=1 and the complexity is constant. Therefore, the complexity of the optimization procedure is O(N ln(N)), for each iteration, where N ln(N) is the number of samples in the scale transform domain.

(79) System 110 also improves the computational speed of IST by taking advantage of the structure of the scale transform. The majority of the energy in a signal is often located early in the scale transform domain. Therefore, system 110 truncates a large portion of the domain with little loss of information. As a result, the cost of the iterative algorith becomes O((N ln(N)), where represents the percentage of the scale transform domain retained after truncation.

(80) SIC/IST Combination

(81) As previously discussed, IST is a very precise estimation strategy but only if the result converges to the global maximum. In contrast, SIC requires no assumption of convexity but has a finite resolution. By combining these two methods, system 110 obtains highly precise estimates and guarantees convergence to the global maximum. This is done by using SIC to generate the initial stretch factor estimate {circumflex over ()} for IST. In general, the SIC estimate will lie within the locally convexity region around the global maximum of the scale cross-correlation function .sub.xs().

(82) In an example, if N is small enough such that SIC cannot adequately resolve the main lobe of the scale cross-correlation function, then the SIC estimate may not be accurate and IST may not be guaranteed to converge to the globally optimal result. However, for sufficiently large values of N, this is not an issue.

(83) Since IST computes the scale transform representations, X(c) and S(c), the only additional step required when combined with SIC is the computation of the inverse Fourier transform in the below equation (29) and maximization over .sub.xs() in equation (23).

(84) ^ = arg max x s e - ( 1 / 2 ) ln ( ) - 1 { X * ( c ) S ( c ) ; ln ( ) } = arg max ( x s ) - 1 { X * ( c ) S ( c ) ; ln ( ) } = arg max x s x , s ( ln ( ) ) . ( 29 )

(85) The computational complexity of these operations is O(N ln(N)log(N)), the same as initially computing X(c) and S(c). Therefore, these operations do not change the overall computational complexity of IST and the complexity of SIC/IST is equivalent to the computational complexity of IST.

(86) The properties of various temperature compensation techniques are shown in the below Table 1:

(87) TABLE-US-00001 TABLE 1 Computational Iterative Methods Resolution Complexity Complexity Finite Search OSS 1/N O(RN.sup.2) Resolution SIC 1/N O(N ln(N)log(N)) Methods Fine Search/ O(RN.sup.2) O(N) Resolution Iterative OSS Methods SIC/IST O(N ln(N)log(N)) O(pN ln(N))
The Discrete-Time Scale Transform

(88) In additional to processing continuous-time signals, system 110 is also configured to process discrete time signals that are sampled. As implied from equations (11) and (18), a discrete-time Mellin transform or discrete-time scale transform (DTST) can be computed by exponentially sampling a continuous-time signal and taking its discrete-time Fourier transform (DTFT). Unfortunately, uniform sampling is usually performed. This presents several challenges in implementing the Mellin or scale transforms.

(89) If the samples are uniformly spaced, then the discrete-time Mellin or scale transforms must be approximated. One option is to replace the continuous-time signals with discrete-time signals and the integrals with summations. However, this provides a poor approximation of the transform. In practice, this direct approach has been shown to be less effective than other approximations and is slow, requiring O(N.sup.2) complexity. More often, the Mellin and scale transforms are computed by exponentially resampling the uniformly sampled signal and computing its Fourier transform with the FFT. This is known as the fast Mellin transform (FMT) algorithm.

(90) Compared to the direct Mellin transform approximation, the fast approximation is more accurate and computationally efficient. The exponential resampling operation is implemented by interpolating unknown points on an exponential grid. According to the Nyquist-Shannon sampling theorem, a band-limited signal may be perfectly reconstructed by sinc interpolation. However, performing sinc interpolation on an exponential grid is impractical and computationally expensive. Instead, cubic spline interpolation is commonly used. Cubic spline interpolation provides a close approximation to sinc interpolation and may be computed with O(M) complexity, where M is the number of points on the exponential grid. The DTFT of the resampled signal then is computed using the FFT algorithm, which requires O(M log(M)) complexity.

(91) Mellin Resampling Theorem

(92) FIGS. 3A-3C illustrate examples of a sinusoid sampled on uniform and an exponential grid. Referring to FIG. 3A, graph 300 illustrates a continuous-time sine wave. Referring to FIG. 3B, graph 302 illustrates a uniformly sampled sine wave. Referring to FIG. 3C, graph 304 illustrates an exponentially sampled sine wave.

(93) In generating an exponentially resampled signal, system 110 uses an exponential grid. To generate the exponential grid, system 110 determines 1) where the first sample in the exponential grid is located in time; and 2) a number of samples to be included in the exponential grid. In this example, system 110 defines the first sample's location and, from that result, derives an exact solution for the necessary number of samples.

(94) In an example, signals may begin at time t=0, which is the scaling origin. In another example, on an exponential grid, t=0 translates to =ln(0)=. So as the first sample approaches t=0, the sampling interval approaches 0 and the number of necessary samples approaches infinity. To define the location of the first sample, system 110 enforces causality in the exponential-time domain. A causal signal is nonzero for time 0. In this example, causality is in exponential time, the signal x(t) will be nonzero for values ln(t)0 or t1.

(95) When exponential-time causality is assumed, the scale transform becomes

(96) { e ( 1 / 2 ) x ( e ) } = 0 e ( 1 / 2 ) x ( e ) e - jc d �� { x ( t ) } = 1 x ( t ) t - jc - 1 / 2 dt . ( 30 )

(97) Exponential-time causality implies that the time signal x(t) begins at time t=1. In continuous time, this is not advantageous since it removes data. However, for a uniformly sampled discrete-time signal, this assumption is very practical. In discrete-time, t=nT, where T is the sampling interval. The sampling interval T scales the signal x[nT], which translates to a phase shift in the scale domain,
S{x[nT]}=T.sup.1/2S{x[n]}e.sup.jc ln(T).(31)

(98) Therefore, when system 110 computes the DTST, system 110 determines (or accesses information specifying that) the signal has a sampling rate of 1. Under a unitary sampling rate, t=1 occurs when n=1. So in discrete-time, the causality condition allows us to exponentially resample starting from n=1 and neglect the asymptotic conditions around n=0, the scaling origin. This may require us to remove a single sample, assuming the first sample is located on the scaling origin. However, when analyzing the scaling behavior of a signal, the origin contains no information since it is not affected by scaling, x[ 0]=x[0], and the scale transform of values at the origin are not well defined. For example, the scale transform of a Dirac impulse (t) is a division by zero

(99) �� { ( t ) } = 0 ( t ) t - j c - 1 / 2 dt = ( t ) ( 0 ) - jc - 1 / 2 . ( 32 )

(100) For these reasons, it is practical for us to assume the first sample is n=1 and the exponential-time domain is causal.

(101) By enforcing causality, the exponentially resampled signal can be computed with a finite number of samples. To properly resample the signal, however, system 110 ensures that no information (or a reduced amount of information) is lost. This condition requires that the minimum sampling rate satisfies the Nyquist sampling criteria,
{tilde over (F)}.sub.s2f.sub.max,(33)

(102) where {tilde over (F)}.sub.s is the minimum sampling rate on the exponential grid and f.sub.max is the largest non-zero frequency in the signal. For example, if the uniform signal is critically sampled, where the sampling rate F.sub.s=2f.sub.max, then the exponentially resampled signal will require more samples than the uniform signal.

(103) Mellin Resampling Theorem.

(104) In this example, {tilde over (x)}[m] includes a causal, exponentially resampled signal generated from the uniformly sampled signal x[n], where x[n] is sampled at the Nyquist rate F.sub.s, and exists for all integers in the domain 1nN. Assume {tilde over (x)}[m] to have a minimum sampling rate of {tilde over (F)}.sub.s and include M samples. To promote maintenance of the Nyquist criteria {tilde over (F)}.sub.sF.sub.s is maintained, system 110 determines M in accordance with the below equation (34):

(105) M ln ( 1 / N ) ln ( 1 - 1 / N ) + 1. ( 34 )

(106) In this example, without following the integer constraint, an exponentially resampled signal {tilde over (x)}[] would exist across the domain 0ln(N). To satisfy the integer constraint, system 110 determines in accordance with the equation shown in the below equation (35):

(107) n ~ = m = m ( ln ( N ) M - 1 ) , 0 m M - 1. ( 35 )

(108) The constant represents the sampling interval for the exponentially resampled signal. is referred to as the Mellin interval and its inverse .sup.1 as the Mellin rate. To then maintain the Nyquist criteria, the minimum sampling rate in {tilde over (x)}[m] must be greater than or equal to the Nyquist rate. This is the same as stating that maximum sampling interval, which lies between the last two samples as illustrated in FIG. 2, in {tilde over (x)}[m] must be less than or equal to one uniform sampling interval. Following that logic, system 110 makes a determination in accordance with the below equation (36):

(109) 1 N - exp ( ( M - 2 ) ln ( N ) M - 1 ) 1 N - N M - 2 M - 1 N M - 3 M - 1 N - 1 ( M - 2 M - 1 ) ln ( N ) ln ( N - 1 ) M ( ln ( N ) - ln ( N - 1 ) ) 2 ln ( N ) - ln ( N - 1 ) M 2 ln ( N ) - ln ( N - 1 ) ln ( N ) - ln ( N - 1 ) M ln ( N ) ln ( N N - 1 ) + 1 M ln ( 1 / N ) ln ( 1 - 1 / N ) + 1. ( 36 )

(110) The Mellin Resampling Theorem provides an exact bound on the number of samples necessary to exponentially resample a signal, starting from n=1, while maintaining the Nyquist criteria. In practice, M is an integer, so a ceiling operation would be applied to the result. When a signal is critically resampled in accordance with the below equation (37):

(111) M = ln ( 1 / N ) ln ( 1 - 1 / N ) + 1 , ( 37 )

(112) the Mellin interval from equation (35) becomes
=ln(11/N).(38)

(113) In this example, M increases with N. In this example, ln(11/N) is replaced with its first order Taylor series expansion 1/N. After making that substitution, the first-order approximation of equation (34)(34) becomes

(114) 0 ln ( 1 / N ) ln ( 1 - 1 / N ) + 1 N ln ( N ) + 1. ( 39 )

(115) The error function for this approximation is then defined by

(116) g ( N ) = ln ( 1 / N ) ln ( 1 - 1 / N ) - N ln ( N ) = - ln ( N ) ( 1 + N ln ( 1 - 1 / N ) ln ( 1 - 1 / N ) ) . ( 40 )

(117) Assuming N>1, ln(11/N)<0 and N ln(11/N)<1. From these inequalities, system 110 determines that the approximation error g(N)<0. In this example, under a first order approximation,
M>N ln(N)+1.(41)

(118) Therefore, M increases with N at a rate of approximately N ln(N). Referring to FIG. 2, diagram 200 shows the first-order approximation error curve g(N). In general, the approximation is very close, deviating by approximately 1.15 samples for every power of 10 samples N. This also demonstrates that the Mellin resampling theorem is consistent with previous results, which demonstrated that, to maintain the Nyquist criteria, M>N ln(N).

(119) Discrete-Time Scale Transform

(120) Using the Mellin resampling theorem in equation (34), the DTST is defined as implemented by the fast Mellin transform algorithm. In this example, {tilde over (x)}[m] includes the exponentially resampled and amplified signal generated from a uniformly sampled signal with a unitary sampling rate x[n],
{tilde over (x)}[m]=e.sup.(1/2)mx[e.sup.m].(42)

(121) The Mellin interval is defined in equation (35). The DTST is then defined as

(122) �� { x [ n ] } = X ( e j c ) = .Math. m = o x [ m ] e - j c t = { x ~ [ m ] } , ( 43 ) where F now represents the DTFT of a discrete-time signal. The inverse transform can be computed by taking the inverse DTFT

(123) x ~ [ m ] = - 1 { X ( e jc ) } = - X ( e jc ) e jct d c , ( 44 ) and logarithmically resampling and attenuating back to the original domain.

(124) In another example, system 110 uses a perfect discrete-time interpolator. In this example, {tilde over (x)}[m] represents the energy-preserving time-skewed replica of the original uniformly sampled signal, such that

(125) .Math. n = 0 .Math. x [ n ] .Math. 2 = .Math. m = - .Math. x [ m ] .Math. 2 . ( 45 )

(126) In this example, the actual energy in the exponentially resampled signal will depend on the interpolation process used.

(127) As in the continuous case, a scaling operation on a discrete-time signal translates to an energy-normalizing phase shift in the scale domain. For a uniformly sampled signal, a scaling operation x[n] becomes a shift after the exponential resampling process. Therefore, in the scale domain, the scaling operation becomes

(128) �� { x [ n ] } = { e ( - 1 / 2 ) ln ( ) x ~ [ m + ln ( ) ] } = - 1 / 2 X ( c ) e - j c ln ( ) . ( 46 )
Discrete-Time Scale Cross-Correlation Function

(129) In this example, x[nT] and s[nT] include uniformly sampled signals with sampling interval T. The discrete-time Mellin cross-correlation between x[nT] and s[nT] is defined as

(130) xs [ ] = x [ nT ] s [ nT ] , > 0 = .Math. n = 0 x [ nT ] s [ nT ] , > 0 ( = �� ) - 1 { �� { x [ nT ] } _ �� { s [ nT ] } } . ( 47 )

(131) Since T scales the signal, it translates to a phase shift in the scale domain so that

(132) xs [ ] = �� - 1 { { x [ nT ] } _ T - 1 / 2 e - j c ln ( T ) �� { s [ n ] } T - 1 / 2 e j c ln ( T ) } = T - 1 �� - 1 { �� { x [ nT ] } _ �� { s [ n ] } } . ( 48 )

(133) In an example, discrete-time scale cross-correlation is defined from the pair of exponentially resampled and amplified signals, in accordance with the below equations:
{tilde over (x)}[m]=e.sup.(1/2)mx[e.sup.m](49)
{tilde over (s)}[m]=e.sup.(1/2)ms[e.sup.m],(50) where is the Mellin interval defined in (38). From these signals, system 110 determines the exponentially-skewed scale cross-correlation function, in accordance with the below equation (51):

(134) xs [ k ] = T - 1 e - ( 1 / 2 ) k .Math. m = - x ~ [ m ] s ~ [ m + k ] = T - 1 e - ( 1 / 2 ) k F - 1 { x ~ [ m ] } _ { s ~ [ m ] } } = T - 1 e - ( 1 / 2 ) k F - 1 { �� { x [ n ] } _ �� { s [ n ] } } = e - ( 1 / 2 ) k xs [ k ] , ( 51 ) where k=ln(). System 110 defines .sub.xs[k] to be the exponential-time cross-correlation function in discrete time,
.sub.xs[k]=F.sup.1{S{x[nT]}S{s[nT]}}.(52)

(135) If [m] and [m] are nonzero within the range 0mM1, then xs[k] and xs[k] will be nonzero over (M1)kM1. Direct computation of the scale cross-correlation xs[] requires implementation of the inverse scale transform, and therefore a logarithmic decimation of xs[k]. However, xs[k] is not a causal signal, an assumption made by the Mellin resampling theorem. In an example, system 110 computes the scale factor and scale-invariant correlation coefficient between two signals directly from xs[k]. Referring to FIG. 4, process 400 illustrates actions in the computation of the xs[k] from two windowed sinusoids, which vary by a scale factor of 2. In this example, system 110 receives (402) sinusoids 403a, 403b. Sinusoid 403a oscillates at 20 Hz. Sinusoid 403b oscillates at 40 Hz. System 110 exponentially resamples (404) sinusoids 403a, 403b, resulting in signals 405a, 405b, respectively. System 110 multiples (406) the resampled sinusoids by an exponential amplification factor, resulting in signals 407a, 407b, respectively. System 110 also cross-correlates (408) the multiplied, resampled sinusoids with each other, resulting in signal 409.

(136) Discrete-Time Scale Factor Computation

(137) In this example, x[n] and s[n] include scaled replicas of each other such that x[n]=s[n]. After exponentially resampling and amplifying the signals, the scale becomes a shift
{tilde over (s)}[m]=e.sup.(1/2)ms[e.sup.m]
{tilde over (x)}[m]=().sup.1/2{tilde over (s)}[m+ln()](53)

(138) Under these circumstances, system 110 applies the Cauchy-Schwarz inequality to the exponential-time cross-correlation function .sub.xs[k] in equation (52),

(139) 1 T 2 .Math. .Math. m = - s ~ [ m + ln ( ) ] s ~ [ ( m + k ) ] .Math. 2 1 T 2 .Math. m = - .Math. s ~ [ m + ln ( ) ] .Math. 2 .Math. .Math. m = - .Math. s ~ [ ( m + k ) ] .Math. 2 = 1 T 2 .Math. 1 .Math. m = - .Math. s ~ [ m ) .Math. 2 .Math. 2 . ( 54 )

(140) Assuming s[m] is not a periodic function, the expressions in equation (54) will be equal when k=ln(). This implies that, for non-periodic functions, the scale cross-correlation has a unique maximum when

(141) 0 arg max k xs [ k ] = ln ( ) - 1 . ( 55 )

(142) Through algebraic manipulation, this concludes that the scale factor is equal to

(143) = exp ( arg max k xs [ k ] ) . ( 56 )

(144) The function .sub.xs[k] is generally not convex. Therefore, when implementing, care must be taken to compute the maximum.

(145) Discrete-Time Scale-Invariant Correlation Coefficient

(146) For simplicity, assume both s[nT] and x[nT] are zero-mean signals so that their exponentially resampled versions {tilde over (s)}[m] and {tilde over (x)}[m] are also zero-mean. From the Cauchy-Schwarz inequality in equation (52), system 110 determines the maximum value of the exponential-time cross-correlation .sub.xs[k] in accordance with the below equation (55):

(147) max k xs ( k ) = 1 T .Math. m = - .Math. s ~ [ m ] .Math. 2 = 1 T .Math. m = - .Math. s ~ [ m ] .Math. 2 .Math. .Math. m = - .Math. x ~ [ m ] .Math. 2 = 1 T s ~ x ~ ( 57 )

(148) System 110 computes the discrete-time scale-invariant correlation coefficient the in accordance with the below equation (58):

(149) xs = T s ~ x ~ ( max k xs ( k ) ) , ( 58 )

(150) As in continuous time, .sub.xs is 1 when x[nT]=s[nT], .sub.xs is 1 when x[nT]=s[nT], and there is no scale relationship between the two signals when .sub.xs=0. System 110 uses the values between the extrema to determine the degree scale-invariant linear correlation between the two signals.

(151) Simulation Setup and Methodology

(152) In an example, system 110 is configured to compare the scale cross-correlation, LPC, and OSS compensation techniques using ultrasonic data from a thin plate under variable temperature conditions. To produce guided waves, system 110 uses a pair of synchronized lead zirconate titanate (PZT) piezoelectric transducers permanently bonded to the surface of a 9.8 cm wide by 30.5 cm long by 0.1 cm aluminum plate. Signals were generated and measured at a sampling rate of 1 MHz using a National Instruments PXI data acquisition equipment. For each measurement, the transducers were driven using a wide-band impulse-like sinc excitation and its response recorded for 10 ms. Referring to FIGS. 8A, 8B, diagrams 800, 802 show the excitation of a time domain signal and a power spectral density, respectively. Referring to FIGS. 9A, 9B, diagrams 900, 902 show the response (to excitation) of a time domain signal and a power spectral density, respectively.

(153) The experiment ran for 36.3 hours between 11:30 AM and 11:50 PM of the following day. During this time, the aluminum plate was cooled and warmed in a refrigerator while guided waves were generated and automatically recorded by the transducers at 2 minute intervals. The ambient temperature within the refrigerator was also measured automatically at 1 minute intervals. Referring to FIG. 6, graph 600 shows the measured ambient temperature over time. Starting at 11:30 AM on day one, the temperature was gradually reduced from room temperature, 20.5 C., to 3.37 C. until 2:51 PM. Between 2:51 PM and 7:33 PM, the temperature was then gradually increased back to room temperature, 20.4 C. After 7:33 PM, the ambient temperature decreased and then remained relatively constant, at around 3.89 C., between midnight and 10:36 AM the next day. Between 10:36 AM and 5:56 PM, the temperature was again gradually increased to 20.94 C. and then gradually decreased to 4.17 C. until 11:50 PM, when the experiment ended.

(154) At 6:18 PM on the first day, a cylindrical, steel, greased-coupled mass with a diameter of 3.8 cm and a length of 4.5 cm, was placed on top of the aluminum plate to simulate damage. At 4:04 PM on the second day, the mass was removed from the plate. The mass was removed to confirm that the changes in the wave propagation were a result of the mass and not an artifact introduced by the placement procedure. The timing also allowed us to measure both an increase and decrease in temperature with and without the mass present. Using a mass in place of damage allows easy repeatability of the experiment. While the mass may not perfectly simulate damage, it changes the propagation environment in ways that temperature will not. In this way, the mass acts similar to damage.

(155) An impulsive signal was chosen in order to drive the PZT transducers to excite as wide a frequency band as possible. Signal scaling occurs in both the time and frequency domains. Therefore, limiting the observable frequencies will reduce the accuracy of the uniform scaling model used by the temperature compensation strategies.

(156) After recording each guided wave record, the signals are high-pass filtered with a 3 kHz cutoff frequency and advanced 0.5 ms. The high-pass filtering operation in done to remove systematic low frequency noise in the system. This noise arises from various sources, such as mechanical vibrations and the pyroelectric effect. The time shift operation is necessary to remove group delay introduced by the excitation signal. Failing to account for group delay will introduce errors into the compensation strategies since the scaling origin will then not be located at t=0.

(157) Correlation Analysis

(158) System 110 compares five different descriptors used for detecting the mass: the correlation coefficient, the OSS correlation coefficient, two variations on the LPC correlation coefficient, and the scale-invariant correlation coefficient. The correlation coefficient is a standard measure of similarity but is very sensitive to changes in scale. In contrast, the OSS, LPC, and scale-invariant correlation coefficients are scale-invariant measures and more robust to changes in temperature.

(159) For each LPC method, system 110 utilizes a different form of linear regression. The first uses a standard least-squares linear regression to estimate the scale factor. The second LPC method uses a robust linear regression method using MATLAB's robustfit function. This function performs an iteratively reweighted least-squares regression, which is more robust to outlier data. In implementing each LPC method, system 110 uses a local window size of 1000 samples with a hop size of 1 sample between each cross-correlation operation. A larger hop size would increase the computational speed of the technique, but the hop size was kept to a minimum to maximize the accuracy of the linear regression. In computing the OSS correlation coefficient, system 110 accesses a library of 200 baselines over a scale range of 0.99 to 1.01, which is reasonable for this application. The library was designed to have the same resolution as the scale cross-correlation.

(160) Referring to FIGS. 7A, 7B, graphs 700, 702 show the correlation coefficients computed over the course of the experiment for two different baseline signals, taken at 20.5 C. and 12.4 C. respectively. The first baseline is near the highest temperature measured and the second is approximately the median temperature. Two baselines illustrate how each method is affected by different ranges of temperature change. In both plots, the standard correlation coefficient, labeled no compensation, is significantly affected by temperature. As the temperature deviates from the baseline temperature, the correlation coefficient decreases significantly. However, when the mass is added or removed, the correlation coefficient shows minor changes.

(161) The introduction of the mass causes significant changes for each of the compensated correlation coefficients. However, the LPC correlation coefficients are significantly affected by other effects as well. In FIG. 7A and FIG. 7B, the LPC correlation coefficients are almost equal to the OSS and scale-invariant correlation coefficients when the temperature is close to the baseline temperature. However, when the temperature deviates too far from the baseline, the LPC correlation coefficients drop and vary erratically. When the mass is on the plate, this erratic behavior becomes even more prevalent.

(162) The OSS and scale-invariant correlation coefficients of vary significantly at the moment the mass is introduced. The two techniques are almost equal to each other throughout the experiment. However, both descriptors, as well as LPC, do vary weakly with temperature. This indicates that it may be difficult to distinguish the mass from a sharp change in temperature using the compensated correlation coefficients alone. By utilizing both these scale-invariant descriptors as well as an estimate of the scale change, system 110 has an improved ability to detect the mass.

(163) Temperature and Scale

(164) Referring to FIGS. 7C and 7D, graphs 704, 706 show the scale factor estimates for each observed signal relative to two baseline signals. Graph 704 illustrates scale estimates with baseline at 20.5 C. Graph 706 illustrates scale estimates with baseline at 13.1 C.

(165) Each temperature compensation method is associated with an estimate. Comparison of FIGS. 7A-7D with FIG. 6 shows that the scale estimates from OSS and the scale cross-correlation follow a similar trend as the ambient temperature. The LPC technique estimate, however, is a poor predictor of temperature when the current temperature is far from the baseline temperature and when the mass is on the specimen. As with the correlation results, the OSS and scale cross-correlation produce almost identical results, and the scale estimates are not largely affected by the addition or removal of the mass.

(166) Referring to FIG. 10, graph 1000 shows the relationship between scale and temperature to be approximately linear, regardless of the state of the mass. The data, however, does exhibit a hysteresis, in which the scale value transitions slower than the temperature. This phenomenon is a result of the temperature sensor recording the ambient temperature rather than the temperature of the specimen. The temperature of the metal specimen changes at a slower rate than the air surrounding it. Therefore the speed of the guided waves, and scale change in the signal, will change slower than the temperature as recorded by the sensor.

(167) Mass Classification

(168) As illustrated in the FIGS. 7A-7B, the scale-invariant correlation coefficient is not perfectly invariant to temperature. However, in FIGS. 7C-7D, the scale estimate is affected by temperature. Therefore, the combination of these two descriptors can be used to provide a more complete description of the system than either one alone.

(169) FIGS. 11A, 11B illustrate the relationships between the standard and compensated correlation coefficients and the scale estimates, using a baseline signal at 13.1 C. Referring to FIG. 11A, graph 1100 shows the relationship between scale, estimated using the scale cross-correlation, and the standard correlation coefficient without temperature compensation. In this plot, there are little separation between the data taken with the mass present and the data taken without the mass. Referring to FIG. 11B, graph 1102 illustrates the relationship between the scale-invariant correlation coefficient and its associated scale estimate. In this plot, there is a clear separation between the data taken with and without the mass. Given a linear discriminator, the two conditions can be classified with one hundred percent accuracy. Using both the scale-invariant correlation coefficient and scale estimate allows us to better differentiate model errors caused by temperature and more significant deviations caused by damage or other effects. In this example, the two curves may eventually meet. This implies that, as the temperature deviates further from the baseline, the mass will become increasingly more difficult to detect.

(170) System 110 implements a computationally efficient technique, the scale cross-correlation function, for analyzing the scaling behavior between two signals. Through analytical and experimental comparison with the optimal signal stretch method, the scale cross-correlation is an optimal (minimum mean squared error) temperature compensation method, for a uniform scaling model for temperature. Given a baseline and observed signal, system 110 computes the scale factor and the scale-invariant correlation coefficient between them. The computation is presented for continuous-time and discrete time systems. In discrete time, system 110 derives the Mellin resampling theorem, which states the minimum number of samples necessary to exponentially resample a uniformly sampled signal. FIG. 5 shows curves in graph 500 demonstrating the computational growth rates of OSS (N2 ln(N)) and the scale cross-correlation (N ln(N) log 2(N)).

(171) The estimate of the scale factor is a robust, linear predictor of temperature in the system. The scale-invariant correlation coefficient was shown to be approximately invariant to variations in temperature. Using both the scale factor and scale-invariant correlation coefficient, a mass, simulating damage, could be detected with a linear discriminator.

(172) Since the scale cross-correlation requires no dense baseline library, it is a potentially very flexible tool for temperature compensation. Furthermore, its close relationship with the Fourier transform demonstrates it to be a potentially powerful tool as well.

(173) Referring to FIG. 12, system 110 executes process 1200 in computing temperature compensation indicators, e.g., a scale factor, a scale invariant correlation coefficient, and so forth. In operation, system 110 records (1202) a signal at a first point in time. The record signaled may include waveform data. The record signal is a signal that has travelled through a structure. At a second point in time, system 110 records (1204) another signal that has travelled through the structure. Between the first point in time and the second point in time, the structure has experienced one or more structure changes (e.g., damage or other structural modifications).

(174) Using the recorded signals, system 110 applies (1206) one or more time compensation algorithms, including, e.g., an algorithm for computing the scale cross-correlation function (from the scale transform), an algorithm for computing the scale factor (e.g., from the scale cross-correlation function), an algorithm for computing the scale-invariant correlation coefficient (e.g., from the scale cross-correlation function), and so forth. System 110 computes (1208) time compensation indicators, e.g., using the time compensation algorithms. System 110 computes various types of time compensation indicators, including, e.g., a scale factor, a scale-invariant correlation coefficient, and so forth. Using the time compensation indicators, system 110 detects (1210) damage in the structure. For example, system 110 applies the computed time compensation indicators to the record signals to correct and/or identify variations in the signals that are caused by temperature fluctuations between times T1, T2. After identifying the variations that are caused by temperature fluctuations, system 110 identifies other variations in the signals, with these other variations being indicative of structural changes in the structure.

(175) Referring to FIG. 13, components 1300 of an environment (e.g., environment 100) for generating temperature compensation indicators. Client device 101 can be any sort of computing device capable of taking input from a user and communicating over a network (not shown) with system 110 and/or with other client devices. In an example, client device 101 is a device associated with structure 102 (FIG. 1) for recording and/or tracking traversal of a signal through structure 102. For example, client device 101 can be a mobile device, a desktop computer, a laptop, a personal digital assistant (PDA), a server, an embedded computing system, a mobile device and so forth. Client device 101 can include monitor 1108, which renders visual representations of interface 1106.

(176) System 110 can be any of a variety of computing devices capable of receiving data, such as a server, a distributed computing system, a desktop computer, a laptop, a cell phone, a rack-mounted server, and so forth. System 110 may be a single server or a group of servers that are at a same location or at different locations.

(177) System 110 can receive data from client device 101 via interfaces 1106, including, e.g., graphical user interfaces. Interfaces 1106 can be any type of interface capable of receiving data over a network, such as an Ethernet interface, a wireless networking interface, a fiber-optic networking interface, a modem, and so forth. System 110 also includes a processor 1002 and memory 1004. A bus system (not shown), including, for example, a data bus and a motherboard, can be used to establish and to control data communication between the components of server 110. In the example of FIG. 13, memory 1004 includes data engine 1302 for executing the techniques and operations described herein.

(178) Processor 1002 may include one or more microprocessors. Generally, processor 1002 may include any appropriate processor and/or logic that is capable of receiving and storing data, and of communicating over a network (not shown). Memory 1004 can include a hard drive and a random access memory storage device, such as a dynamic random access memory, machine-readable media, or other types of non-transitory machine-readable storage devices. Components 1300 also include data repository 114, which is configured to store data collected through system 110 and generated by system 110.

(179) Embodiments can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations thereof. Apparatus of the invention can be implemented in a computer program product tangibly embodied or stored in a machine-readable storage device and/or machine readable media for execution by a programmable processor; and method actions can be performed by a programmable processor executing a program of instructions to perform functions and operations of the invention by operating on input data and generating output.

(180) The techniques described herein can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language.

(181) Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Computer readable storage media are storage devices suitable for tangibly embodying computer program instructions and data include all forms of volatile memory such as RAM and non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).

(182) Other embodiments are within the scope and spirit of the description claims. In another example, due to the nature of software, functions described above can be implemented using software, hardware, firmware, hardwiring, or combinations of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations.

(183) A number of embodiments have been described. Nevertheless, it will be understood that various modifications can be made without departing from the spirit and scope of the processes and techniques described herein. In addition, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other steps can be provided, or steps can be eliminated, from the described flows, and other components can be added to, or removed from, the described systems. Accordingly, other embodiments are within the scope of the following claims.