Simulating Atmospheric Turbulence by Synthetic ... - Science Direct

1 downloads 0 Views 451KB Size Report
Feb 10, 1993 - discussed by Jeffries et al. [3]. Shinozuka and Jan [2] generated ..... York: John Wiley; (second edition, 1986). 9. NAG Fortran Library Manual ...
Journal of Sound and Vibration (1995) 180(4), 627–635

SIMULATING ATMOSPHERIC TURBULENCE BY SYNTHETIC REALIZATION OF TIME SERIES IN RELATION TO POWER SPECTRA A. J. B Meteorological Office, London Road, Bracknell RG12 2SZ, U.K.

 D. G. I Energy Research Unit, Rutherford Appleton Laboratory, Chilton, OX11 0QX, U.K. (Received 10 February 1993, and in final form 1 December 1993) A novel and direct procedure is presented for the realization of atmospheric turbulence by an appropriately estimated autoregressive model. Straightforward identification of the model parameters is based upon the Yule–Walker equation, which expresses the autocorrelation in terms of the model parameters. These are adjusted as part of a hill climbing process until a given target autocorrelation is achieved. The target function is obtained directly through Fourier transformation of the spectral density function representing the desired atmospheric turbulence characteristics. For this study the Kaimal spectrum for turbulence in the lower boundary layer has been adopted. Validation of the procedure is presented in which a time series generated from the model is Fourier transformed for comparison with the target spectral density. For a fourth order autoregressive model, good agreement was found for the frequency range of interest (0·001–1·0 Hz). The approach outlined is straightforward to implement, requiring minimal computational effort once the model parameters have been identified. It is well suited to application on a PC and should find wide applicability in such fields as meteorology, wind energy and structural engineering. 1. INTRODUCTION

It is often required to generate time series conforming to the spectral characteristics of atmospheric turbulence. Appropriate spectra and various means of simulation have been reviewed by Wang and Frost [1]. Spectra can be fitted according to a least squares criterion specified by the following equation, where f(vk ) is the estimated spectrum and fT (vk ) the target spectrum, i.e., model parameters are sought such that a, the sum of squared errors, is minimized: a = s ( f(vk ) − fT (vk ))2.

(1)

k

An alternative approach is to produce the time series directly from the spectral density function by inverse Fourier transformation. This is computationally very onerous. Shinozuka and Jan [2] presented a method which they claimed was far more computationally efficient. More recently, shortcomings in their approach have been identified, as discussed by Jeffries et al. [3]. Shinozuka and Jan [2] generated the time series by summing a series of cosine terms with weighted amplitudes and random phase angles, where the weightings are derived from the spectral density function. This is in effect a discrete inverse 627 0022–460X/95/090627 + 09 $08.00/0

7 1995 Academic Press Limited

. .   . . 

628

Fourier transform. Jeffries et al. [3] highlighted the problem with this technique: namely, the generation of undesirable periodicity in the synthesized data. Avoiding this periodicity results in a calculation which is no more efficient than an inverse Fourier transform. Autoregressive (AR) and autoregressive moving average (ARMA) models are attractive for the representation of turbulence. For AR models the power spectrum can be calculated from the model parameters by using the equation [4] f(v) = f0 /(2p=1 − f1 e−iv − f2 e2iv · · · =2 ),

(2)

where f0 and f1 , f2 · · · , are the variance of the wind time series and the autocorrelation parameters, respectively. By using equation (2) together with equation (1), model parameters can be fitted. Goyder [5] replaced the real valued spectra by a complex valued spectrum. In order to generalize the complex valued spectrum it is necessary to generate a phase spectrum to accompany the modulus spectrum. To do this Goyder [5] employed a mathematical technique in order to ensure that the choice of phase guarantees that the complex valued spectrum models a stable time series, by using the Hilbert transform. However, there is a need for a simpler method to generate the time series. In this paper we present such a method, based on the work of Baran [6, 7]. The essential difference between Goyder’s procedure and the procedure presented in this paper is that it is not the power spectra that is fitted but the autocorrelation function, and this fitting is made more straightforward by direct application of the Yule–Walker equation. 2. THEORY

Consider a pth order autoregressive model, AR(p). The model being defined is as follows: Xt = f1 Xt − 1 + f2 Xt − 2 + · · · fp Xt − p + Zt . (3) Here fi are the autoregressive parameters, Zt is a white noise term and Xt is the value of the wind speed at time t. From equation (3) the standard pth order autocorrelation function (the Yule–Walker equation) can be derived [4]: rk = f1 rk − 1 + f2 rk − 2 + · · · + fp rk − p .

(4)

If the values of k = 1, 2, . . . , p are substituted into equation (4) a set of linear equations are obtained for f1 , f2 , . . . , fp in terms of r1 , r2 , . . . , rp : that is, r1 = f1 + f2 r1 + · · · + fp rp − 1 ,

r2 = f1 r1 + f2 + · · · + fp rp − 2

···.

(5)

To use the Yule–Walker equation for a pth order process it is necessary to initialize the difference equation: for a first order process where p = 1, r1 = f1 ;

(6)

for a second order process where p = 2, r1 = f1 + f2 r1 ,

r2 = f1 r1 + f2 ;

(7)

for a third order process where p = 3, r1 = f1 + f2 r1 + f3 r2 ,

r2 = f1 r1 + f2 + f3 r1 ,

r3 = f1 r2 + f2 r1 + f3 ;

(8)

for a fourth order process where p = 4, r1 = f1 + f2 r1 + f3 r2 + f4 r3 ,

r2 = f1 r1 + f2 + f3 r1 + f4 r2 ,

r3 = f1 r2 + f2 r1 + f3 + f4 r1 ,

r4 = f1 r3 + f2 r2 + f3 r1 + f4 .

(9)

    

629

Estimates for the initial values can be found from equations (6)–(9) by simply rearranging the terms to obtain equations for r in terms of f. For example for the fourth order process, r1 =

f1 (1 − f4 ) + f3 f2 + f2 f4 f1 + f3 f4 (1 − f4 ) , [(1 − f2 ) − f4 (f2 + f4 )](1 − f4 ) − (f1 + f3 )(f3 + f1 f4 ) r2 =

r1 (f1 + f3 ) + f2 , 1 − f4

r3 = f1 r2 + f2 r1 + f3 + f4 r1 , r4 = f1 r3 + f2 r2 + f3 r1 + f4 . (10) It is now easy to implement the Yule–Walker equation on the computer by using as the initial values equations (10). In order to obtain the target autocorrelation function a suitable power spectrum is chosen and Fourier transformed by using the equation [8] r(t) =

g

a

fT (v) cos (2pvk) dv.

(11)

0

The autoregressive parameters f1 , f2 , f3 , . . . , can be estimated by fitting the autocorrelation function to the target autocorrelation function. In this work a robust symplectic routine implementation by NAG [9] has been used to estimate the autoregressive parameters on the basis of a least squares fit (equation (12)): i.e., a = s (rk − rkT )2,

(12)

k

where rk and rkT are the estimated and target autocorrelation functions, respectively. Once a has been minimized suitable autoregressive parameters have been established. The autoregressive model equation (3) has thus been estimated, which, when driven by white noise, will produce a time series which conforms to a given spectral specification. By comparing the analytic half-power spectrum to the target spectrum the estimated autoregressive parameters can be tested. It can be shown from equation (2) that the half-power spectrum for a fourth order process is given by f(v) =

f0 [2p{1 + f12 + f22 + f32 + f42 + (f1 f2 + f2 f3 + f3 f4 − f1 )2 cos (v) , + (f1 f3 + f2 f4 − f2 )2 cos (2v) + (f1 f4 − f3 )2 cos (3v) − 2f4 cos (4v)}] f0 = sz2 (1 − r1 f1 − r2 f2 − r3 f3 − r4 f4 · · · rn fn ).

(13)

3. SIMULATING TIME SERIES

In this section a procedure is outlined for simulating a turbulent wind time series. The procedure can be divided into three steps. The first step is the choice of turbulent spectrum which will be governed by the subject application. Here we choose the Kaimal power spectrum [10], which is a good representation of wind speeds in the lower boundary layer and is described by f(v) = sv2 0·164( f/f0 )/{1 + 0·164( f/f0 )5/3},

(14)

where f = vz/U  and f0 = 0·041z/l, in which v is the frequency, z is the height above the ground, U  is the mean wind speed and l is the turbulence length scale. These parameters have been given the following values: z = 25 m, l = 120 m, U  = 10 ms−1. For our purposes 2 we consider unity variance: i.e., sv = 1. The second step is, from the chosen power spectrum, to obtain the target autocorrelation function by using equation (11) and then to identify the model parameters as discussed

630

. .   . . 

Figure 1. A comparison between the Yule–Walker autocorrelation function for a fourth order model (——) and the target autocorrelation function (––––).

in the previous section. In Figure 1 is shown the comparison between the fitted autocorrelation function and the target autocorrelation function for a fourth order model. At low lags there are two kinks in the optimized autocorrelation function. The reason for this is that the NAG routine tries to fit the higher frequencies at the expense of the lower frequencies. To solve this, higher resolution lags were used, but this did not improve the situation and increased the instability at lower lags. Apart from the kinks the fitting is very good. We found the fourth order model to provide the best fit in this particular application. The fitted autoregressive parameters are shown in equation (15), which follows in step three below. As stated in section 2, the validity of the estimated autoregressive parameters can be tested by calculating the analytic half-power spectrum. A comparison

Figure 2. A comparison between the calculated fourth order half-spectrum (——) and the Kaimal power spectrum (––––).

    

631

Figure 3. A simulated fourth order wind time series.

between this and the target spectrum is shown in Figure 2. The agreement is very good at low frequencies, with the peak of the spectrum only slightly overshooting. Step three is as follows. Once the autoregressive parameters have obtained, the autoregressive model equations (3) can be used to generate a turbulent time series, driven by white noise, Zt : Xt = 0·993499Xt − 1 + 0·017448Xt − 2 − 0·218639Xt − 3 + 0·136650Xt − 4 + Zt .

(15)

The stability of equation (15) can be tested by transforming into Z-space and solving the resulting polynomial equation. The condition for stability is that the resulting roots should all lie within the unit circle. Upon transforming into Z-space one has the cubic equation 0·993499Z 3 + 0·017488Z 2 − 0·218639Z + 0·136650 = 0.

(16)

Solving equation (16) shows that the roots have the moduli 0·4555, 0·4555 and 0·6627, all of which lie within the unit circle, and hence equation (15) results in a stable process. Alternatively the stability of equation (16) could be tested by the Routh–Horowitz stability criterion. Stability is not guaranteed for random walk models identified in this way. However, experience suggests that, for the well defined surfaces which arise in this work, the random walk will, in fact, be stable. The computational effort required to compute equation (15) is minimal, as for each point calculated one equation comprising four terms plus a random component needs to be evaluated. This compares to the procedure of Shinozuka and Jan [2], in which, for N points, N terms need to be generated, and so the computational effort required is proportional to N 2 [3]. Admittedly computational effort is required, as outlined above, to identify the AR parameters, but this is strictly a ‘‘one off’’ operation. Thereafter, time series of unlimited length can be generated in the simple manner discussed. An example wind time series derived from this autoregressive model by linear scaling and the edition of an offset (the mean wind speed, U  ) is shown in Figure 3. The series is not periodic and is a good representation of wind speed fluctuations.

632

. .   . .  4. VALIDATION

Based on the synthetic wind time series produced in section 3 (prior to scaling) we are able to validate the method by transforming the synthetic time series back to the spectral domain. From the synthetic time series we estimate the mean, variance, autocovariance and autocorrelation function. For a stationary process and m(t) = m and s 2(t) = s 2, the mean m of the stochastic process can be estimated by 1 N s x, N t=1 t

(17)

1 N s (x − m)2. N t=1 t

(18)

mˆ = and the variance by s˜ 2 =

The autocorrelation function, rk , is given by rk = gk /g0 , (19) where gk is the autocovariance for lag k and g0 is just the variance. The standard estimator for gk is C k =

1 N−K s (x − m)(xt + k − m). N t=1 t

(20)

Of course the variance can be estimated by setting k = 0 as in equation (18). Thus the autocorrelation at lag k is given by rˆ k = C k /C 0 . (21) For a small N then it is advisable to use the unbiased estimator for C k , which is C k =

1 N−K s (x − m)(xt + k − m). N − K t=1 t

(22)

If m is estimated from the data then 1/(N − K − 1) is used in equation (22).

Figure 4. A comparison between the synthetic autocorrelation function estimated from wind time series (——) and the target autocorrelation function (––––).

    

633

Figure 5. A comparison between the synthetic autocorrelation function (——) and the Yule–Walker autocorrelation function (––––).

The Fourier transform of the autocorrelation function yields the power spectrum [11]: i.e., a 1 f(v) = 1 + 2 s rˆ k cos (vk) . (23) p k=1

$

%

In Figure 4 is shown the comparison between the estimated autocorrelation function from the synthetic time series in section 3 and the autocorrelation function from the Fourier transformed target power spectrum. In Figure 5 is shown a comparison between the estimated autocorrelation function and one derived from the fitted AR parameters by the Yule–Walker equation. In both cases the agreement is good.

Figure 6. A comparison between the Kaimal power spectrum (––––) and the Fourier transformed synthetic autocorrelation function estimated from the wind time series (——).

634

. .   . . 

The spectrum derived from the estimated autocorrelation by Fourier transformation is compared with the target Kaimal spectrum in Figure 6. The estimated spectrum follows the target spectrum very well at low frequencies and slightly overshoots at the maximum. The −5/3 power law is followed on the average, but with some numerical instability at the higher frequencies. For such a simple technique, requiring a minimal amount of computational effort, the target spectrum is approximated very well. The procedure can thus be used with confidence.

5. CONCLUSIONS

A method to estimate an autoregressive model and then use this model in simulation of time series with a given spectral characteristic has been developed, and its accuracy established for a particular example. Clearly, the analysis gives one component of turbulence at one point in space. For many analyses only one component of the wind speed is usually considered, such as in connection with wind turbines. Work on an extension of the technique to multi-point single component wind time series generation by using similar techniques is underway and shows considerable promise. This will be the subject of a later paper. The technique presented in this paper is made more straightforward by direct application of the Yule–Walker equation to identify an AR model which can be successfully used to simulate atmospheric turbulence. In principle, any power spectrum can be used; in this paper we have used the Kaimal power spectrum to validate the technique. As the technique is very simple to implement and the computational effort required is minimal, it should find wide applicability.

ACKNOWLEDGMENTS

The results presented here are a product of work done during a summer placement visit by A. J. Baran to the Energy Research Unit of the Rutherford Appleton Laboratory (RAL) in Oxfordshire, England. D. G. Infield was at that time his supervisor at RAL. Many thanks are due both to the Energy Research Unit and to the Rutherford Laboratory, to Professor A. O. Moscardini and Dr M. Farrow of the University of Sunderland, and to Dr A. Gadd for a generous allowance of time which enabled this work to be completed and also Dr B. R. Barwell, both of the Meteorological Office.

REFERENCES 1. S.-T. W and W. F 1980 NASA CR-3309. Atmospheric turbulence simulation techniques with application to flight analysis. 2. M. S and C.-M. J 1972 Journal of Sound and Vibration 25, 111–128. Digital simulation of random processes and its applications. 3. W. Q. J, D. G. I and J. M 1991 Wind Engineering 15, 147–154. Limitations and recommendations regarding the Shinozuka method for simulating wind data. 4. E. P. B and G. M. J 1970 Time Series Analysis Forecasting and Control. San Francisco: Holden-Day. 5. H. G. D. G 1988 Proceedings of the Tenth BWEA Wind Energy Conference; London: MEP, 121–127. A novel method for the numerical simulation of turbulence. 6. A. J. B 1990 Rutherford Appleton Laboratory Energy Research Unit, Report No, ERU-90-002. An Nth order linear autoregressive parameter estimation algorithm for modelling turbulent wind spectra. 7. A. J. B 1991 Meteorological Office, Atmospheric Processes Research Branch, Turbulence and Diffusion Note No. 198. Autoregressive models for simulating wind turbulence. Bracknell: U.K. Meteorological Office.

    

635

8. J. S. B and A. G. P 1971 Random Data. Analysis and Measurement Procedures. New York: John Wiley; (second edition, 1986). 9. NAG Fortran Library Manual Mark 13, Volume 3 1988. Minimizing and maximizing a function. Oxford: NAG Ltd. 10. J. C. K 1973 Boundary-layer Meteorology 4, 289–309. Turbulence spectra, length scales and structure parameters in the stable surface layer. 11. C. C 1984 The Analysis of Time Series, an Introduction. London: Chapman and Hall.