I have measured data of a vibration with chirp input were I suspect unwanted shock events occurred. I therefore thought about computing the spectrogram of my time histories to check the frequency content.

I am however not fully sure about what to look for. My idea would be to look for a straight line at a given step in time across all frequencies (because a shock event, like two bodies hitting each other, is normally short in time and excites all frequencies). Is that correct?

Are there other ways to detect shock occurrence?

  • $\begingroup$ Sounds like a good idea, have you tried it? What did you find? $\endgroup$
    – Jdip
    Aug 15, 2022 at 21:12

1 Answer 1


As far as spectrograms go, you're correct. Worth noting, as shocks are time-localized, higher time resolution windows (in Heisenberg sense, meaning narrower in time) are preferred, and so is lower hop_size - otherwise spikes may be show as lower in intensity or be missed entirely.

Comparison on signal with four "shocks" (-- messy code):

enter image description here


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.