wavefromvelocitypsd#
[Hm0, fp, Tp, Tm01, Tm02, f, Syy, m0] = wavefromvelocitypsd(Ux, Uy, fs, h, heightfrombed, fKuvmin, fcL, fcH, KuvafterfKuvmin, kCalcMethod, nfft, SegmentSize, OverlapSize, dispout)
Description#
Calculate wave properties from wave orbital velocity by converting it to water surface elevation power spectral density
Inputs#
- Ux
Wave horizontal orbital velocity data in x direction in (m/s)
- Uy
Wave horizontal orbital velocity data in y direction in (m/s)
- fs
Sampling frequency that data collected at in (Hz)
- h
Water depth in (m)
- heightfrombed=0;
Height from bed that data collected at in (m)
- fKuvmin=fs/2;
Frequency that a velocity conversion factor (Kuv) at that frequency is considered as a minimum limit for Kuv
- fcL=0;
Low cut-off frequency, between 0*fs to 0.5*fs (Hz)
- fcH=fs/2;
High cut-off frequency, between 0*fs to 0.5*fs (Hz)
- KuvafterfKuvmin=’constant’;
- Define conversion factor, Kuv, value for frequency larger than fKuvmin‘nochange’: Kuv is not changed for frequency larger than fKuvmin‘one’: Kuv=1 for frequency larger than fKuvmin‘constant’: Kuv for f larger than fKuvmin stays equal to Kuv at fKuvmin (constant)
- kCalcMethod=’beji’;
- Wave number calculation method‘hunt’: Hunt (1979), ‘beji’: Beji (2013), ‘vatankhah’: Vatankhah and Aghashariatmadari (2013)‘goda’: Goda (2010), ‘exact’: calculate exact value
- nfft=length(Eta);
Total number of points between 0 and fs that spectrum reports at is (nfft+1)
- SegmentSize=256;
Segment size, data are divided into the segments each has a total element equal to SegmentSize
- OverlapSize=128;
Number of data points that are overlapped with data in previous segments
- dispout=’no’;
Define to display outputs or not (‘yes’: display, ‘no’: not display)
Outputs#
- Hm0
Zero-Moment Wave Height (m)
- fp
Peak wave frequency (Hz)
- Tp
Peak wave period (second)
- Tm01
Wave Period from m01 (second), Mean Wave Period
- Tm02
Wave Period from m02 (second), Mean Zero Crossing Period
- f
Frequency (Hz)
- Syy
Power spectral density (m^2/Hz)
- m0
Zero-Moment of the power spectral density (m^2)
Examples#
fs=2; %Sampling frequency
duration=1024; %Duration of the data
N=fs*duration; %Total number of points
df=fs/N; %Frequency difference
dt=1/fs; %Time difference, dt=1/fs
t(:,1)=linspace(0,duration-dt,N); %Time
Eta(:,1)=detrend(0.5.*cos(2*pi*0.2*t)+(-0.1+(0.1-(-0.1))).*rand(N,1));
hfrombed=4;
h=5;
k=0.2;
Ux=(pi/5).*(2.*Eta).*(cosh(k*hfrombed)/sinh(k*h));
Uy=0.2.*Ux;
[Hm0,fp,Tp,Tm01,Tm02,f,Syy,m0]=wavefromvelocitypsd(Ux,Uy,fs,5,4,0.6,0,fs/2,'constant','beji',N,256,128,'yes');
References#
Beji, S. (2013). Improved explicit approximation of linear dispersion relationship for gravity waves. Coastal Engineering, 73, 11-12.
Goda, Y. (2010). Random seas and design of maritime structures. World scientific.
Hunt, J. N. (1979). Direct solution of wave dispersion equation. Journal of the Waterway Port Coastal and Ocean Division, 105(4), 457-459.
Vatankhah, A. R., & Aghashariatmadari, Z. (2013). Improved explicit approximation of linear dispersion relationship for gravity waves: A discussion. Coastal engineering, 78, 21-22.
Wiberg, P. L., & Sherwood, C. R. (2008). Calculating wave-generated bottom orbital velocities from surface-wave parameters. Computers & Geosciences, 34(10), 1243-1262.
Welch, P. (1967). The use of fast Fourier transform for the estimation of power spectra: a method based on time averaging over short, modified periodograms. IEEE Transactions on audio and electroacoustics, 15(2), 70-73.