Extraction of waves from surface elevation?

7 次查看(过去 30 天)
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!!

回答(1 个)

Star Strider
Star Strider 2016-8-30
Guessing here because I have no idea what your data actually are, but findpeaks comes quickly to mind.
  2 个评论
Leo Reith
Leo Reith 2016-8-30
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 2016-8-30
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?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Oceanography and Hydrology 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by