scientimate.psd2timeseries#
Eta, t, Hm0, fp, fEta, SxxEta, a = scientimate.psd2timeseries(f, Sxx, fs=2, CalcMethod='fft', dispout='no')
Description#
Generate random wave data from a given spectrum
Inputs#
- f
Frequency (Hz)
- Sxx
Power spectral density (m^2s)
- fs=8
Sampling frequency that data collected at in (Hz)
- CalcMethod=’fft’
- Method for Calculating random time series,‘fft’: using Fast Fourier Transform, ‘sp’: using wave superposition
- dispout=’no’
Define to display outputs or not (‘yes’: display, ‘no’: not display)
Outputs#
- Eta
Water Surface Level Time Series in (m)
- t
Time in (s)
- Hm0
Zero moment wave height (m)
- fp
Peak wave frequency (Hz), fp=1/Tp (Tp: Peak wave period (s))
- fEta
Frequency from generated time series(Hz)
- SxxEta
Power spectral density from generated time series (m^2s)
- a
Wave amplitude for for one-sided spectrum (0<fEta<fs/2) from generated time series (m)
Examples#
import scientimate as sm
import numpy as np
N=2**11
fs=8
df=fs/N #Frequency difference
f=np.arange(0,fs/2+df,df) #Frequency vector
f[0]=f[1]/2 #Assign temporarily non-zero value to fisrt element of f to prevent division by zero
Sxx=0.016*9.81**2/((2*np.pi)**4*(f**5))*np.exp(-1.25*(0.33/f)**4) #Calculating Spectrum
f[0]=0
Sxx[0]=0
Eta,t,Hm0,fp,fEta,SxxEta,a=sm.psd2timeseries(f,Sxx,fs,'fft','yes')
References#
Branlard, E. (2010). Generation of time series from a spectrum. Technical University Denmark. National Laboratory for Sustainable Energy.