3
$\begingroup$

I am not sure if this question will be a little off-topic on this forum, that I will give it a try anyway, since it implies signal process arguments.

By using MATLAB, I'm on my way to generate a turbulent wind field. This wind field is generally a Gaussian process with all the time series having 0 mean value and unitary standard deviation. I will shortly introduce you to the problem:

1) Discretize the space in Y-Z plane in a certain number of points Ny, Nz;

2) Discretize the time scale (generally 600s) with a proper time sample, dt = 0.15;

3) Calculate distance among points;

4) Generate only positive frequency vector f = (0:length(t)/2-1)*df;

5) Generate power spectra

$$ S_{ii}(f)=\frac{4\sigma_{ii}^{2}\left(L_{ii}/U\right)}{\left(1+6f\left(L_{ii}/U\right)\right)^{5/3}} $$ where $$ ii = u,v,w\,\, (speed\,\,components\,in\,x\,y\,z\,direction)$$ $$ U = const $$ $$ L_{ii} = const $$

6) Generate coherence matix

$$ Coh_{u}=\exp\left(-12\sqrt{\left(\frac{f*dist}{U}\right)^{2}+\left(0.12\frac{dist}{U}\right)^{2}}\right) $$ $$ Coh_{v,w}= \exp\left(-12\, dist\,\frac{f}{U}\right) $$

7) Generate random numbers with 0 mean and 1 std

nn_u = complex(normrnd(0,1,size(H_u)),normrnd(0,1,size(H_u)));
nn_v = complex(normrnd(0,1,size(H_v)),normrnd(0,1,size(H_v)));
nn_w = complex(normrnd(0,1,size(H_w)),normrnd(0,1,size(H_w)));

8) Cholesky factorization of the Coherence matrix (retrieves lower triangular factor)

9) Generate time series

$$ U = [real(fft(Coh_{u}*nn_{u}))\,\,imag(fft(Coh_{u}*nn_{u}))] $$ $$ V = [real(fft(Coh_{v}*nn_{v}))\,\,imag(fft(Coh_{v}*nn_{v}))] $$ $$ W = [real(fft(Coh_{w}*nn_{w}))\,\,imag(fft(Coh_{w}*nn_{w}))] $$

Now, after this consistent theorethical introduction, I can move towards the real matter: when calculating the standard deviations for eac time series (u,v,w components), they don't match the expected values $$ \sigma_{u} = 1 $$ $$ \sigma_{v} = 0.8 $$ $$ \sigma_{w} = 0.5 $$ because of several reasons:

  • space discretization introducing smoothing effects
  • time sample period
  • power spectrum only within a short frequency range

Btw, I would like to, let's say, scale the time series in order they to be still Gaussian variables with zero mean and a standard deviation better approaching the expected values.

Do you have any hint?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.