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:
- Calculation of the mean delay by taking the maximum of the cross-correlation over a long period of time
- Signal alignment based on the delay calculated in 1.
- On a sliding window, calculation of the delay taking the maximum of the cross-correlation.
- Correction of the delay calculated on the windows by the mean delay.
- 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?