# Estimation of time-varying velocity

Objective:
Estimate the mechanical tension of a cable using the velocity of the waves travelling along it.

Experimental setup:
I have a cable in tension equipped with accelerometers. I measure a strong cross-correlation between the sensors which corresponds to waves propagating along the cable.

Tension measurement:
I have a model of the wave velocity as a function of the mechanical tension. I can therefore estimate it after finding the wave velocity. However, the tension of the cable changes (smoothly) over time. So I need to be able to estimate the velocity of the waves as they change over time.

To estimate the time-varying velocity, I tried a cross-correlation approach on sliding windows. I proceed as follows:

1. Calculation of the mean delay by taking the maximum of the cross-correlation over a long period of time
2. Signal alignment based on the delay calculated in 1.
3. On a sliding window, calculation of the delay taking the maximum of the cross-correlation.
4. Correction of the delay calculated on the windows by the mean delay.
5. Transformation of delays into velocity by knowing the distance between the sensors (constant).

The calculation of the delays is done using an interpolation as shown here: How to calculate a delay (correlation peak) between two signals with a precision smaller than the sampling period?

Below is the kind of figure I get for different window sizes with a 75% overlap between them. The top figure corresponds to the estimated delay. The lower figure shows the amplitude of the maximum of the cross-correlation.

It can be seen on the figure that for short windows (blue) the delay measurement is very noisy. On the contrary, for a large window (yellow), the delay measurement is smoothed and does not correspond to the temporal evolution of the mechanical tension.

My questions:
I am not convinced by this approach and I wonder if there are any tools to solve this problem? Do you have any suggestions or reading material to recommend? Maybe about non-stationary signals?

• Could you please edit your question with more information about what you're doing? Specifically, you say "I have tried to address this issue using cross-correlations over sliding windows" -- does this mean that you're limiting the range of delays over which you're doing your cross-correlation, and if so, how are you sliding the window? Or does this mean that you have some velocity-finding engine, and you're doing some sort of post-processing on the velocity that you've found? Dec 14, 2022 at 15:59
• (StackExchange usage note: it works best if you edit your question so that it reads as if you've never edited it. I.e., please don't put a section at the end titled "Edit" -- just blend the new stuff in with the existing. This is all motivated by StackExchange's notion of being a Q&A site, not a discussion forum). Dec 14, 2022 at 16:00
• I have modified my question to take into account your comments. I hope it is clearer, if not I can clarify. Dec 14, 2022 at 18:14