I have a touch signal on a plate recorded with 3 accelerometers with a sample rate of 150kHz over a duration of 5 seconds (so 750k samples). The goal is to localize the position of the touch in the end. But for that, I need to separate the reflections from the direct wave. And therefore need to do some signal analysis. I have read some papers about structural health monitoring using where they analyze the data using Wigner-Ville distribution (WVD). I wanted to try that as well but I struggle to get it to work in either Matlab or Python, where I get a memory error since the data is so large (and the function depends on a double fft). I have tried to look at the interesting part of the signal, but even that can be up to 2 seconds which also gives the same error. Is it so that WVD only works on small samples of data? Also, are there other methods that I should try for signal analysis? I have tried spectrogram which works nicely. And scaleograms which worked ok-ish.

  • 1
    $\begingroup$ An improvement over WVD is synchrosqueezing. Small comparison here. $\endgroup$ Mar 13, 2023 at 17:28
  • 3
    $\begingroup$ I'd recommend looking at @OverLordGoldDragon's suggestion. The WVD is a dead-end for most applications. Looks pretty, but ... has problems. If you want a C implementation of the WVD, this C code does it. $\endgroup$
    – Peter K.
    Mar 13, 2023 at 18:11


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.