Extraction of waves from surface elevation?

9 vues (au cours des 30 derniers jours)
Leo Reith
Leo Reith le 30 Août 2016
Commenté : Star Strider le 30 Août 2016
How would I go about extracting individual waves from surface elevation time series data? Basically I want to plot the x largest waves on one graph to compare, so would need them extracted individually.
Thanks for any help!!

Réponses (1)

Star Strider
Star Strider le 30 Août 2016
Guessing here because I have no idea what your data actually are, but findpeaks comes quickly to mind.
  2 commentaires
Leo Reith
Leo Reith le 30 Août 2016
Thanks for the reply! I basically have ocean surface elevation data with a known time step and actually want to split the data and extract the waves (wave constitutes an up-crossing to up-crossing). From what I know findpeaks is good at identifying and measuring maxima but would not allow me to actually plot these waves overlapping.
Star Strider
Star Strider le 30 Août 2016
My pleasure!
To get the troughs, use findpeaks on the negative of your data. This would give you the minima, that should be the beginning of the upslope of each wave.
If your data have high-frequency noise, filtering them first with a low-pass filter might work best. There are various ways to design filters in MATLAB, among them being designfilt. My procedure for IIR filters is here: How to design a lowpass filter for ocean wave data in Matlab?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Oceanography and Hydrology dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by