Random Processes, Correlation,Power Spectral Density, Threshold Exceedance
CEE 541. Structural Dynamics
Duke University, Fall 2018
1 Random ProcessesA random process X(t) is a set (or “ensemble”) of random variables expressed as a functionof time (and/or some other independent variables).
X(t) =
X1(t)X2(t)
...Xm(t)
For example, if X(t) represents be the wind at the top of the Cape Hatteras light house from12:00 pm to 1:00 pm, then Xj(t) could be the wind speed at the top of the Cape Hatteraslight house from 12:00 pm to 1:00 pm on the jth day of the year.
1.1 Ensemble Average
The ensemble average is the average across the variables in the ensemble at a fixed point intime, t.
E[g(X(t))] = E[g(X1(t)), g(X2(t)), · · · , g(Xm(t))] ≈ 1m
m∑j=1
g(Xj(t))
In general the ensemble average can change with time. A random process X is stationary ifensemble statistics are equal for every point in time:
E[g(X(t1))] = E[g(X(t2))] ∀ t1, t2A process is weak-sense stationary if the first two moments of the probability density fX(X(t))are time-independent. A process is strong-sense stationary if all moments of the probabilitydensity fX(X(t)) are time-independent.
1.2 Time Average
The time average is the average along time for a variable Xj(t) in the ensemble.
〈g(Xj)〉 = limT→∞
1T
∫ T/2
−T/2g(Xj(t)) dt
1.3 Ergodic processes
A random process X is ergodic if its ensemble averages equal its time averages:
E[g(X(ti))] = 〈g(Xj)〉 ∀ i, j
Ergodic processes are stationary.
2 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
0 2 4 6 8 1035
40
45
50
55
60
65
time, t, sec
sam
ple
reco
rd n
umbe
r
sample records from a stationary and ergodic process
-4 -2 0 2 40
0.2
0.4
0.6
0.8
1
random variable
cum
ulat
ive d
istrib
utio
n fu
nctio
n (C
DF),
FX(x
)
CDFs of time distributions and the ensemble distributions - ergodic
Figure 1. Samples of an ergodic random process
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 3
0 2 4 6 8 1035
40
45
50
55
60
65
time, t, sec
sam
ple
reco
rd n
umbe
r
sample records from a stationary but not ergodic process
-20 -10 0 10 200
0.2
0.4
0.6
0.8
1
random variable
cum
ulat
ive d
istrib
utio
n fu
nctio
n (C
DF),
FX(x
)
CDFs of time distributions and the ensemble distributions - stationary
Figure 2. Samples of a stationary (but not ergodic) random process
CC BY-NC-ND February 20, 2019, H.P. Gavin
4 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
The statistics of an ergodic process X(t) can be found from any single record Xj(t) from theensemble.
• mean value
〈X(t)〉 = E[X(t)] = limT→∞
1T
∫ T/2
−T/2Xj(t) dt = lim
n→∞
1n
n∑i=1
xj(ti)
• mean-square value
⟨X2(t)
⟩= E[X2(t)] = lim
T→∞
1T
∫ T/2
−T/2X2j (t) dt = lim
n→∞
1n
n∑i=1
x2j(ti)
• varianceσ2X = E[X2]− (E[X])2
Means and variances of the samples drawn across the ensembles shown in Figures 1 and 2 atdifferent points in time are shown below.
Table 1. Sample means of the stationary and ergodic processesprocess 2.00 s 4.00 s 6.00 s 7.00 s 8.00 sergodic -0.02095 0.16549 -0.12142 0.06562 0.01531stationary -0.13769 -0.26535 -0.14263 0.15817 0.34448
Table 2. Sample variances of the stationary and ergodic processesprocess 2.00 s 4.00 s 6.00 s 7.00 s 8.00 sergodic 1.2560 1.1429 0.9906 1.2514 1.0169stationary 4.2568 4.0857 9.6974 2.3515 4.4192
The standard deviation of the mean, σµ is σ/√
100 ≈ 1/10 = 0.1; the values of the ensemblemeans for the ergodic process are within 1 σµ of each other.
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 5
2 The Fourier Transform Pair and the Dirac delta function
Recall the Fourier transform pair, [4]
x(t) =∫ ∞−∞
X(f) exp(+i2πft) df
X(f) =∫ ∞−∞
x(t) exp(−i2πft) dt
If x(t) is complex, then
x∗(t) =∫ ∞−∞
X∗(f) exp(−i2πft) df
If x(t) is real, then X(f) = X∗(−f).
Recall the property of the Dirac delta function, δ(t),∫ ∞−∞
δ(t− t′)x(t′)dt′ = x(t)
and apply the forward and inverse Fourier transforms to x(t),
x(t) =∫ ∞−∞
(∫ ∞−∞
x(t′)e−i2πft′dt′)e+i2πftdf
=∫ ∞−∞
(∫ ∞−∞
ei2πf(t−t′)df)x(t′) dt′
=∫ ∞−∞
δ(t− t′) x(t′) dt′
So the unit Dirac delta function has a unit Fourier spectrum.
δ(t− t′) =∫ ∞−∞
(1)e+i2πf(t−t′)df ,
A similar relation can be found by applying the Fourier transforms in the opposite order,and gives the Fourier transform of x(t) = (1) cos(2πf ′t).
δ(f ± f ′) =∫ ∞−∞
(1)e−i2π(f±f ′)tdt .
CC BY-NC-ND February 20, 2019, H.P. Gavin
6 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
3 Parseval’s Theorem
For (generally) complex-valued functions x(t),∫ ∞−∞
x∗1(t)x2(t) dt =∫ ∞−∞
X∗1 (f)X2(f) df
The proof of Parseval’s theorem involves the Fourier transform of the Dirac delta function:∫ ∞−∞
x∗1(t)x2(t) dt =∫ ∞−∞
(∫ ∞−∞
X∗1 (f)e−i2πftdf) (∫ ∞
−∞X2(f)e+i2πf ′tdf ′
)dt
=∫ ∞−∞
∫ ∞−∞
∫ ∞−∞
X∗1 (f)X2(f ′) e+i2πft e−i2πf ′t df df ′ dt
=∫ ∞−∞
∫ ∞−∞
X∗1 (f)X2(f ′)(∫ ∞−∞
ei2π(f ′−f)tdt)df ′ df
=∫ ∞−∞
∫ ∞−∞
X∗1 (f)X2(f ′) δ(f ′ − f) df ′ df
=∫ ∞−∞
X∗1 (f)(∫ ∞−∞
X2(f ′) δ(f ′ − f) df ′)df
=∫ ∞−∞
X∗1 (f)X2(f) df
If x1(t) and x2(t) are both real, then x∗1(t) = x1(t) but X∗1 (f) 6= X1(f), so,∫ ∞−∞
x1(t)x2(t) dt =∫ ∞−∞
X∗1 (f)X2(f) df
and further, if x(t) = x1(t) = x2(t),∫ ∞−∞
x2(t) dt =∫ ∞−∞
X∗(f)X(f) df =∫ ∞−∞|X(f)|2 df
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 7
4 Auto-correlation
For a zero-mean process X (E[Xj(t)] = 0 ∀ j), the covariance of the process at time t, X(t),with the process at time t+ τ , X(t+ τ), is
RXX(τ) = 〈X(t)X(t+ τ)〉 = E[X(t) ·X(t+ τ)] = limT→∞
1T
∫ T/2
−T/2x(t) · x(t+ τ) dt
= limn→∞
1n+ 1
n∑i=1
x(ti) · x(ti + τ)
If X is ergodic (E[g(Xj(t1)] = E[g(Xj(t2)] ∀ j, t1, t2), then RXX is independent of time t.
Since X is zero-mean by assumption, then E[X2(t)] = σ2X and RXX(0) is the variance, σ2
X .
The auto-correlation function is symmetric: RXX(−τ) = RXX(τ), and |RXX(τ)| ≤ RXX(0).
An auto-correlation functions can be computed from the samples drawn along the time series,for the each of the 100 time records in the ensemble. The auto-correlation function for anergodic process may be estimated from any of the sample records. Viewing auto-correlationsfrom all of the records, above, gives an idea of the uncertainty in the auto-correlation functioncomputed from records of finite-duration.
0 0.2 0.4 0.6 0.8 1-1.5
-1
-0.5
0
0.5
1
1.5
2
time lag, τ , sec
auto c
orrelatio
n of th
e ergo
dic ens
emble
, RXX
(τ)
auto-correlation of sample records in the ergodic ensemble
0 0.2 0.4 0.6 0.8 1-5
0
5
10
15
time lag, τ , sec
auto c
orrelatio
n of th
e stati
onary e
nsemb
le, R
XX(τ)
auto-correlation of sample records in the stationary ensemble
Figure 3. auto-correlation function for each of the time series in the ergodic and stationaryensembles.
CC BY-NC-ND February 20, 2019, H.P. Gavin
8 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
4.1 Auto Power Spectral Density
The auto power spectral density SXX(f) of a zero-mean random process x(t) is defined interms of finite-duration Fourier transforms,
SXX(f) = limT→∞
E[
1T
(∫ T/2
−T/2x(t)e−i2πftdt
)∗ (∫ T/2
−T/2x(t)e−i2πftdt
)]
and has the following three properties:
• ∫ ∞−∞
SXX(f) df =⟨X2(t)
⟩proof:∫ ∞−∞
SXX(f) df =∫ ∞−∞
limT→∞
E[
1T
(∫ T/2
−T/2x(t)e−i2πftdt
)∗ (∫ T/2
−T/2x(t)e−i2πftdt
)]df
=∫ ∞−∞
limT→∞
E[
1T
∫ T/2
−T/2
∫ T/2
−T/2x∗(p)x(q) e+i2πfp e−i2πfq dp dq
]df
= limT→∞
1T
E[∫ T/2
−T/2
∫ T/2
−T/2
∫ ∞−∞
x∗(p)x(q) e+i2πf(p−q) df dp dq
]
= limT→∞
1T
E[∫ T/2
−T/2
∫ T/2
−T/2x∗(p)x(q)
(∫ ∞−∞
e+i2πf(p−q) df)dp dq
]
= limT→∞
1T
E[∫ T/2
−T/2
∫ T/2
−T/2x∗(p)x(q) δ(p− q) dp dq
]
= limT→∞
1T
E[∫ T/2
−T/2x∗(t) x(t) dt
]
= limT→∞
1T
∫ T/2
−T/2x∗(t) x(t) dt =
⟨X2(t)
⟩
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 9
• ∫ ∞−∞
SXX(f) exp(+i2πfτ) df = RXX(τ)
proof:∫ ∞−∞
SXX(f)e+i2πfτ df =∫ ∞−∞
limT→∞
E[
1T
(∫ T/2
−T/2x(t)e−i2πftdt
)∗ (∫ T/2
−T/2x(t)e−i2πftdt
)]e+i2πfτ df
=∫ ∞−∞
limT→∞
E[
1T
∫ T/2
−T/2
∫ T/2
−T/2x∗(p)x(q) e+i2πfp e−i2πfq dp dq
]e+i2πfτ df
= limT→∞
1T
E[∫ T/2
−T/2
∫ T/2
−T/2
∫ ∞−∞
x∗(p)x(q) e+i2πf(p−q+τ) df dp dq
]
= limT→∞
1T
E[∫ T/2
−T/2
∫ T/2
−T/2x∗(p)x(q)
(∫ ∞−∞
e+i2πf(p−q+τ) df)dp dq
]
= limT→∞
1T
E[∫ T/2
−T/2
∫ T/2
−T/2x∗(p)x(q) δ(p− q + τ) dp dq
]
= limT→∞
1T
E[∫ T/2
−T/2x∗(t) x(t+ τ) dt
]
= limT→∞
1T
∫ T/2
−T/2x∗(t) x(t+ τ) dt = RXX(τ)
• ∫ ∞−∞
RXX(τ) exp(−i2πfτ) dτ = SXX(f)
proof:∫ ∞−∞
RXX(τ) e−i2πfτ dτ =∫ ∞−∞
limT→∞
1T
E[∫ T/2
−T/2x∗(t) x(t+ τ) dt
]e−i2πfτ dτ
= limT→∞
1T
E[∫ T/2
−T/2
∫ T/2
−T/2x∗(t) x(t+ τ) e−i2πfτ dτ dt
]
= limT→∞
1T
E[∫ T/2
−T/2
∫ T/2
−T/2x∗(p) x(q) e+i2πf(p−q) dp dq
]
= limT→∞
E[
1T
(∫ T/2
−T/2x(p)e−i2πfp dp
)∗ (∫ T/2
−T/2x(q) e−i2πfq dq
)]= SXX(f)
Thus, the auto-correlation function and the auto power spectrum are related by Fouriertransform pairs. These are the Wiener-Khintchine relations.
Note that the power spectral density is a density function. If the process X(t) has units of‘m’ (meters), and the circular frequency, f , is the independent variable (with units of ‘Hz’ or‘cycles/sec’), then the units of of the power spectral density is SXX(f) is ‘m2/Hz’.
Alternatively, if the angular frequency ω is the independent variable (dω = 2π df), then theunits of the power spectral density SXX(ω) is ‘m2/(rad/s)’.
CC BY-NC-ND February 20, 2019, H.P. Gavin
10 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
So, to convert between frequencies f and ω, the value of the power spectral density needs tobe scaled as well.
SXX(ω) dω = 2π SXX(f) df
4.2 One-sided Power Spectral Density
The one-sided power spectral density function GXX(ω) is defined here so that⟨X2(t)
⟩=∫ ∞
0GXX(f) df =
∫ ∞0
GXX(ω/(2π)) dfdω
dω = 12π
∫ ∞0
GXX(ω) dω
Since SXX(f) is symmetric about f = 0,⟨X2(t)
⟩= 2
∫ ∞0
SXX(f) df ,
so, the one-sided psd GXX(f) is twice the symmetric, two-sided psd SXX(f)
GXX(|f |) df = 2 SXX(f) df
5 Cross-correlationFor zero-mean processes X and Y (E[Xi(t)] = 0 and E[Yj(t)] = 0 ∀ i, j), the covariance ofprocess X at time t, X(t), with a different process Y at time t+ τ , Y (t+ τ), is
RXY (τ) = 〈X(t)Y (t+ τ)〉 = E[X(t) · Y (t+ τ)] = limT→∞
1T
∫ T/2
−T/2x(t) · y(t+ τ) dt
= limn→∞
1n+ 1
n∑i=1
x(ti) · y(ti + τ)
If X and Y are ergodic random processes (E[g(X(t1)] = E[g(X(t2)] ∀ t1, t2 and E[g(Y (t1)] =E[g(Y (t2)] ∀ t1, t2), then RXY (τ) is independent of time.
Since X and Y are zero-mean random processes by assumption, then RXY (0) = E[X(t)Y (t)]which is the covariance of X and Y , V[X, Y ].
The cross-correlation function is not symmetric: RXY (−τ) 6= RXY (τ),however, RXY (τ) = RY X(−τ).
5.1 Cross Power Spectral Density
The cross-power spectral density is defined as
SXY (f) = limT→∞
E[
1T
(∫ T/2
−T/2x(t)e−i2πftdt
)∗ (∫ T/2
−T/2y(t)e−i2πftdt
)]= S∗XY (−f)
RXY (τ) =∫ ∞−∞
SXY (f) exp(+i2πfτ) df
SXY (f) =∫ ∞−∞
RXY (τ) exp(−i2πfτ) dτ · · · Wiener−Khintchine
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 11
6 Derivitives of Auto-Correlations and Power Spectral Density of Derivitives
RecallRXX(τ) = 〈X(t)X(t+ τ)〉 = E[X(t) ·X(t+ τ)]
Sod
dτRXX(τ) = R′XX(τ) =
⟨X(t)X(t+ τ)
⟩=⟨X(t)X(t+ τ)
⟩and
d2
dτ 2RXX(τ) = R′′XX(τ) = −⟨X(t)X(t+ τ)
⟩= −RXX(τ)
Thus,
SXX(f) = (f)2 SXX(f) and SXX(f) = (f)4 SXX(f)
7 Spectral Moments
Consider the moments of the two-sided power spectral density SY,Y (f), λm is the m-th spectralmoment,
λm = 2∫ ∞
0fm SY,Y (f) df
So, the variance of Y and the variance of Y can be expressed in terms of moments of thepower spectral densities,
λ0 = σ2y ≡
⟨y2(t)
⟩λ2 = σ2
y ≡⟨y2(t)
⟩From these moments, the central frequency f is defined as
f =√λ2
λ0
and the bandwidth factor δ is defined as
δ =√
1− λ21
λ0λ2
Small values of the bandwidth factor correspond to narrow band processes, in which thepower of the time series is concentrated around the central frequency. For a lightly dampedsimple oscillator the bandwidth factor increases monotonically with the damping ratio, fromδ = 0 at ζ = 0 to δ = 0.72 at ζ = 1. For ζ < 0.2, δ2 ≈ (4ζ/π)(1− 1.1ζ).
CC BY-NC-ND February 20, 2019, H.P. Gavin
12 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
8 Examples• Dirac delta function x(t) = δ(t)
X(f) =∫ T/2
−T/2δ(t) exp(−i2πft) dt = 1
SXX(f) = limT→∞ E[
1TX∗(f)X(f)
]= 0
RXX(τ) =∫ ∞−∞
SXX(f) exp(i2πfτ) df = 0
RXX(0) =∫ ∞−∞
δ(t)2 dt =∞
• Finite duration pulse
x(t) ={
1− cos(πt/Tp) −Tp < t < Tp0 t < −Tp, Tp < t
X(f) =∫ Tp
−Tp
cos(πt/Tp) exp(−i2πft) dt = 2 sin(πfTp) cos(πfTp)πf(1− 4πf 2T 2
p )
• Band-limited white noise
SXX(f) ={So −fc < f < fc0 f < −fc, fc < f
RXX(τ) = 1πfcτ
sin(2πfcτ)
|X(f)| =√
2SXX(f) df
x(t) =∫ fc
02√Sxx(f)df cos(2πft+ θ(f))df.
x(t) ≈n/2∑k=1
2√SXX(fk) ∆f cos(2πfkt+ θ(fk))
where fk = (k∆f) and θ is a random variable uniformly distributed between 0 and 2π.
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 13
9 Computation with discrete-time signals1 % PowerSpectra .m −−− H.P. Gavin −−− 10 Nov 2014 , 14 Dec 20162 n = 1024; % number o f p o i n t s in the time−s e r i e s3 dt = 0.010; % time s t e p increment , s4 T = n*dt; % durat ion o f the time s e r i e s , s5 df = 1/T; % frequency increment , Hz67 t = [ 0 : n/2 , -n/2+1 : -1]* dt; % time v a l u e s from −T/2+dt to T/28 f = [ 0 : n/2 , -n/2+1 : -1]* df; % frequency v a l u e s from −1/(2∗ dt ) to +1/(2∗ dt )9 idx = [ n /2+2: n , 1:n/2+1 ]; % r e s o r t i n g index f o r p l o t s
10 tau = f * dt / df; % time l a g v a l u e s1112 Example = 1 % two examples13 switch Example14 % (1) g iven a time s e r i e s [ x (1) . . . x (n ) ] e s t imate Sxx ( f )15 % (2) g iven a power s p e c t r a l d e n s i t y Sxx ( f ) , s y n t h e s i z e a r e a l i z a t i o n o f [ x (1) . . . x (n ) ]1617 case 1 % given a time s e r i e s . . . f o r example . . .18 % a noisy two−tone s i g n a l19 x = sin (2* pi *6.18* t) + sin (2* pi *10.0* t) + 0.1 * randn(1,n) / sqrt (dt );2021 % . . . compute the power s p e c t r a l d e n s i t y from the time s e r i e s22 X = f f t (x) / n; % complex Fourier c o e f f i c i e n t s from time s e r i e s23 Sxx = conj(X) .* X / df; % power s p e c t r a l d e n s i t y from the time s e r i e s2425 case 2 % given a power s p e c t r a l d e n s i t y . . . f o r example . . .26 % a p o s i t i v e two−s ided power s p e c t r a l dens i ty , symmetric about f=0 . . .27 Sxx = 1.0 ./ (1.0 + (f /10).ˆ2 ).ˆ2;2829 % . . . s y n t h e s i z e a r e a l i z a t i o n f o r the time s e r i e s from the power s p e c t r a l d e n s i t y30 % random phase ang le at p o s i t i v e f r equenc i e s , uniformly−d i s t r i b u t e d between −p i and p i31 theta = 2* pi*rand(1,n/2) - pi;32 theta = [ 0 , theta , -theta (n/2 -1: -1:1) ]; % phase ang l e s ant i−symmetric about f=033 theta (n /2+1) = 0; % f o r rea l−va lued s i g n a l s34 x = real ( i f f t ( sqrt (Sxx*df) .* exp(i* theta )))*n; % imag par t ˜ 1e−1635 end3637 % . . . compute the auto−c o r r e l a t i o n from the power−s p e c t r a l d e n s i t y38 Rxx = real ( i f f t (Sxx )) / dt;3940 % . . . compare mean−square c a l c u l a t i o n s . . .41 format long42 mean_square = sum(x.ˆ2) * dt / T % mean square o f the time s e r i e s43 mean_square = sum(Sxx) * df % mean square from the power s p e c t r a l d e n s i t y44 mean_square = Rxx (1) % mean square from the auto−c o r r e l a t i o n
Referring to figures on the next page,
• Case 1: The presence of two sinusoidal components is impossible to discern from thetime series. Two components at 10 Hz and 6.18 Hz are clearly apparent in the powerspectrum.The spike in RXX(τ) at τ = 0 is from the added white noise, w.Two sinusoidal components are visibly present in the plot of RXX(τ).
• Case 2: The time series contains a broad range of frequency components, with morespectral power at the low frequencies.The time series loses correlation at time lags τ greater than 0.1 s.
• The three mean square calculations give the same values in both cases.
CC BY-NC-ND February 20, 2019, H.P. Gavin
14 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
Case 1 : a noisy two-tone signal
x(ti) = sin(2π(6.18)ti) + sin(2π(10.0)ti) + 0.1wi where wi is unit Gaussian noise
-8
-6
-4
-2
0
2
4
6
-4 -2 0 2 4
x(t)
0
0.5
1
1.5
2
-20 -15 -10 -5 0 5 10 15 20
Sxx
(f)
-1
0
1
2
3
4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Rxx
(τ)
Case 2 : a positive two-sided power spectral density, symmetric about f=0
SXX(f) = 1/(1 + (f/10)2)2
-15
-10
-5
0
5
10
15
-4 -2 0 2 4
x(t)
0
0.2
0.4
0.6
0.8
1
-20 -15 -10 -5 0 5 10 15 20
Sxx
(f)
-5
0
5
10
15
20
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Rxx
(τ)
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 15
PSD_test.m
Fri Nov 20 10:36:13 2015
1% test computations for
% Double-sided auto power spectral density
% Auto correlation function
% mean square value computed three ways
% note: correct scaling ...
% % df = 1 / (n*dt)
% % x = ifft(sqrt(S*df) .* exp(i*theta)) * n
% X = fft(x) / n
% S = conj(X).*X / df
% R = ifft(S) / dt
n = 4096; % # of points
dt = 0.010; % time step
T = n*dt; % total time
df = 1/T; % frequency step
t = [0:n/2 , -n/2+1:-1] * dt; % time axis
f = [ 0:n/2 , -n/2+1:-1 ] * df; % freqency axis
idx = [n/2+2:n, 1:n/2+1]; % re-sorting
tau = f * dt / df; % time lag values
epsPlots = 0; formatPlot(epsPlots);
format long; % a lot of significant figures
% -------------- example 1 .... "one+cosine" pulse
Tp = 1; % half-pulse period
x = 1+cos(pi*t/Tp); % "one+cosine"
x(find(t < -Tp)) = 0;
x(find(t > Tp)) = 0;
X = fft(x)/n; % Fourier coeff’s
Sxx = conj(X).*X/df; % psd
Rxx = real(ifft(Sxx))/dt; % auto correlation
mean_sq_A = sum(x.^2)*dt/T % from x(t)
mean_sq_B = sum(Sxx)*df % from Sxx(f)
mean_sq_C = Rxx(1) % from Rxx(tau)
% All three mean_sq calculations are identical!
figure(1)
clf
subplot(311)
plot(t(idx),x(idx))
axis([-2 2 -0.1 2.1])
ylabel(’x(t)’)
text(-Tp, 0.2,’-T_p’); text( Tp, 0.2,’+T_p’);
subplot(312)
plot(f(idx),Sxx(idx))
axis([-2 2 -0.005 0.105])
ylabel(’S_{xx}(f)’)
text(-1/Tp, 0.01,’-1/T_p’); text( 1/Tp, 0.01,’+1/T_p’);
subplot(313)
plot(tau(idx),Rxx(idx))
axis([-2 2 -0.005 0.08])
ylabel(’R_{xx}(\tau)’)
text(-Tp, 0.003,’-T_p’); text( Tp, 0.003,’+T_p’);
if epsPlots, print(’PSD1.eps’,’-color’,’-FHelvetica:10’); end
% ------------------------- example 1
% ----------- example 2 .... low-pass random noise
Fc = 2.5; % cut-off freqency, Hz
So = 1.25; % PSD value in pass-band
Sxx = So*ones(1,n); % band-limitted noise
Sxx(find(f < -Fc)) = 0;
Sxx(find(f > Fc)) = 0;
Rxx = real(ifft(Sxx))/dt; % analytic auto-correlation
% synthesize a sample of data
x = zeros(1,n); % x(t) built up by sums
theta = 2*pi*rand(1,n/2); % random phase angle
theta = [ 0 , theta , -theta(n/2-1:-1:1) ]; % anti-symm.
theta(n/2+1) = 0; % for real-valued signals
for k=1:n/2+1 % sum over freq’s >=0 only
x = x + 2*sqrt(Sxx(k)*df)*cos(2*pi*f(k)*t+theta(k));
if (k==1) x = x/2; end % first Fourier coeff at f=0;
end
x_ifft = ( ifft(sqrt(Sxx*df) .* ...
(cos(theta) + i*sin(theta))) )*n;
imag_over_real = norm(imag(x_ifft))/norm(real(x_ifft))
x_ifft = real(x_ifft);
X_data = fft(x)/n; % Fourier coeff’s of data
Sxx_data = conj(X_data).*X_data/df; % Sxx of data
Rxx_data = real(ifft(Sxx_data))/dt; % Rxx of data
mean_sq_A = sum(x_ifft.^2)*dt/T % from data **
mean_sq_B = sum(Sxx)*df % from analytic Sxx **
mean_sq_C = Rxx(1) % from analytic Rxx **
mean_sq_D = sum(x.^2)*dt/T % from data *
mean_sq_E = sum(Sxx_data)*df % from Sxx_data *
mean_sq_F = Rxx_data(1) % from Rxx_data *
% All six mean_sq calculations are identical!
figure(2)
clf
subplot(311)
plot(t(idx),x(idx), t(idx),x_ifft(idx),’-.r’)
axis([-20 20])
ylabel(’x(t)’)
legend(’sum cosine’,’ifft’)
subplot(312)
plot(f(idx),Sxx(idx), f(idx),Sxx_data(idx),’-.r’)
axis([-3 3 -0.1 2])
ylabel(’S_{xx}(f)’)
text(-2.5, 0.2,’-f_c’); text( 2.5, 0.2,’+f_c’); text( 0, 1.4,
’S_o’);
legend(’model’, ’data’)
subplot(313)
plot(tau(idx),Rxx(idx),tau(idx),Rxx_data(idx),’-.r’)
axis([-2 2])
set(gca,’xTick’,[-4:4]/Fc);
set(gca,’xTickLabel’,[’-4/f_c’;’-3/f_c’;’-2/f_c’;’-1/f_c’;’0’
;’+1/f_c’;’+2/f_c’;’+3/f_c’;’+4/f_c’]);
ylabel(’R_{xx}(\tau)’)
legend(’model’, ’data’)
if epsPlots, print(’PSD2.eps’,’-color’,’-FHelvetica:10’); end
% The Sxx from FFT of x equals generating Sxx
% The Rxx from IFFT of S equals analytic Rxx
% ------------------------- example 2
% ------------ example 3 .... band-pass random noise
Flo = 0.5; % low cut-off frequency, Hz
Fhi = 2.5; % high cut-off frequency, Hz
So = 1.25; % two-sided pass band PSD
Sxx = So*ones(1,n);
Sxx(find(f < -Fhi)) = 0;
Sxx(find(f > Fhi)) = 0;
Sxx(find(-Flo < f & f < Flo)) = 0;
Rxx = real(ifft(Sxx))/dt; % analytic auto-correlation
% synthesize a sample of data
x = zeros(1,n); % x(t) built up by sums
theta = 2*pi*rand(1,n/2); % random phase angle
theta = [ 0 , theta , -theta(n/2-1:-1:1) ]; % anti-symm.
theta(n/2+1) = 0; % for real-valued signals
for k=1:n/2+1 % sum over freq’s >=0 only
x = x + 2*sqrt(Sxx(k)*df)*cos(2*pi*f(k)*t+theta(k));
% Sxx(f=0) = 0, so no need for the "x/2" line.
end
x_ifft = (ifft(sqrt(Sxx*df) .* exp(i*theta)))*n;
imag_over_real = norm(imag(x_ifft))/norm(real(x_ifft))
x_ifft = real(x_ifft);
X_data = fft(x)/n; % Fourier coeff’s of data
Sxx_data = conj(X_data).*X_data/df; % Sxx of data
Rxx_data = real(ifft(Sxx_data))/dt; % Rxx of data
mean_sq_A = sum(x_ifft.^2)*dt/T % from data
mean_sq_B = sum(Sxx)*df % from analytic Sxx
mean_sq_C = Rxx(1) % from analytic Rxx
mean_sq_D = sum(x.^2)*dt/T % from data
mean_sq_E = sum(Sxx_data)*df % from Sxx_data
mean_sq_F = Rxx_data(1) % from Rxx_data
% All six mean_sq calculations are identical!
figure(3)
clf
subplot(311)
plot(t(idx),x(idx), t(idx), x_ifft(idx),’-.r’)
axis([-20 20])
ylabel(’x(t)’)
legend(’sum cosine’,’ifft’)
subplot(312)
plot(f(idx),Sxx(idx), f(idx),Sxx_data(idx),’-.r’)
axis([-3 3 -0.1 2])
ylabel(’S_{xx}(f)’)
text(-Fhi, 0.4,’-f_{hi}’); text( Fhi, 0.4,’+f_{hi}’);
text(-Flo, 0.4,’-f_{lo}’); text( Flo, 0.4,’+f_{lo}’); text( 0
, 1.4,’S_o’);
legend(’model’, ’data’)
subplot(313)
plot(tau(idx),Rxx(idx),tau(idx),Rxx_data(idx),’-.r’)
axis([-2 2])
ylabel(’R_{xx}(\tau)’)
legend(’model’, ’data’)
if epsPlots, print(’PSD3.eps’,’-color’,’-FHelvetica:10’); end
% The Sxx from FFT of x equals generating Sxx
% The Rxx from IFFT of S equals analytic Rxx
% ------------------------- example 3
CC BY-NC-ND February 20, 2019, H.P. Gavin
16 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
0
0.5
1
1.5
2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x(t)
-Tp +Tp
0
0.02
0.04
0.06
0.08
0.1
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
S xx(f)
-1/Tp +1/Tp
00.010.020.030.040.050.060.070.08
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
R xx(τ
)
-Tp +Tp
-10
-5
0
5
10
-20 -15 -10 -5 0 5 10 15 20
x(t)
sum cosineifft
0
0.5
1
1.5
2
-3 -2 -1 0 1 2 3
S xx(f)
modeldata
-fc +fc
So
-2
0
2
4
6
8
-4/fc -3/fc -2/fc -1/fc 0 +1/fc +2/fc +3/fc +4/fc
R xx(τ
)
modeldata
-10
-5
0
5
10
-20 -15 -10 -5 0 5 10 15 20
x(t)
sum cosineifft
0
0.5
1
1.5
2
-3 -2 -1 0 1 2 3
S xx(f)
modeldata
-fhi +fhi-flo +flo
So
-4
-2
0
2
4
6
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
R xx(τ
)
modeldata
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 17
10 Power Spectral Densities for Natural Loads10.1 Wind Turbulence
10.1.1 Davenport Wind Spectrum
The one-sided power spectral density of horizontal wind velocity, u(t), may be modeled bythe Davenport wind spectrum,
GUU(f) = σ2U
23
|fL/U10|2
|f | (1 + |fL/U10|2)4/3
with model parameters:
• U10 = mean wind speed at 10 m elevation
• σ2U = 6kU2
10 = the mean square of the wind turbulence
• L = a turbulent length scale characteristic of upper atmosphere turbulence
• k = a dimensionless terrain roughness constant, (0.005 for open country, 0.05 for city)
The largest turbulence oscillations fGUU(f) occur at a frequency of fp =√
3 U10/L.
This one-sided Davenport spectrum is scaled so that σ2U =
∫∞0 GUU(f) df .
Also, define GUU(0) = 0.
10.1.2 Kaimal Wind Spectrum
The one-sided Kaimal wind turbulence spectrum has a power spectral density of
GUU(f) = σ2U
4 (L/U)(1 + 6|f |(L/U))5/3
where
• U = the mean wind speed,
• σU = Ti(3U/4 + 5.6), = the turbulence intensity,
• L = the Kaimal turbulence length scale, and reflects the size of wind eddies
• Ti = the turbulence intensity parameter (approx 0.2).
This one-sided Kaimal spectrum is scaled so that σ2U =
∫∞0 GUU(f) df .
Referring to plots of the spectra on the next page, the Kaimal spectrum has a broader band-width than the Davenport spectrum. The (upper-atmosphere) Davenport turbulence lengthscale is about an order of magnitude larger than the Kaimal length scale for comparablespectra. At these length scales, most of the wind variability occurs at frequencies that arelower than the natural frequencies of structural systems (0.5 Hz to 5 Hz).
CC BY-NC-ND February 20, 2019, H.P. Gavin
18 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
10-3 10-2 10-1 100 101 102
Da
ven
po
rt w
ind
tu
rbu
len
ce P
SD
, f
Gu
u(f
) / σ
u2
turbulence frequency, f, Hz
U10= 5 m/s, σU= 1.2m/s
U10=10 m/s, σU= 2.4m/s
U10=20 m/s, σU= 4.9m/s
U10=50 m/s, σU= 12.2m/s
Figure 4. Davenport wind turbulence spectra with a Davenport length scale of L = 500 m andterrain roughness k = 0.01.
0
0.05
0.1
0.15
0.2
0.25
10-3 10-2 10-1 100 101 102
Ka
ima
l win
d t
urb
ule
nce
PS
D ,
f G
uu(f
) / σ
u2
turbulence frequency, f, Hz
U= 5 m/s, σU= 1.9m/s
U=10 m/s, σU= 2.6m/s
U=20 m/s, σU= 4.1m/s
U=50 m/s, σU= 8.6m/s
Figure 5. Kaimal wind turbulence spectra with a Kaimal length scale of L = 50 and a turbulenceintensity Ti = 0.2.
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 19
10.2 Ocean Waves
10.2.1 Pierson-Moskowitz Spectrum
In a fully-developed sea with a uni-directional wave-field, the one-sided power spectral densityof wave-height z(t) can be modeled by the Pierson-Moskowitz spectrum,
GZZ(f) = αg2
|2πf |5 exp−5
4
∣∣∣∣∣fp
f
∣∣∣∣∣4
with model parameters:
• α = a dimensionless constant, 0.0081 for the North Atlantic• g = gravitational acceleration (9.81 m/s2)• fp = g/[(1.14)(2π)U19.5] is the frequency of the largest waves (Hz)• U19.5 = mean wind speed at 19.5 m above mean sea level (U19.5 ≈ (1.026)U10) (m/s)
and define GZZ(0) = 0. This spectrum is scaled so that the mean-square wave height is⟨Z2(t)
⟩= σ2
Z = 2π∫ ∞
0GZZ(f) df ≈ α
g2U4
19.52.96
So the standard deviation of the wave height is proportional to the mean wind speed squared,which is a strong-dependence on mean wind speed. The speed of the largest waves is
cp = g
2πfp≈ (1.14)U19.5
The speed of the largest waves is 14% faster than the mean wind speed.
10.2.2 JONSWAP Spectrum
The Pierson-Moskowitz spectrum is a special case of the JONSWAP spectrum. The JON-SWAP spectrum models developing seas and accounts for the distance from the shoreline(the “fetch”, F ). through an additional factor, γδ(f).
GZZ(f) = αg2
|2πf |5 exp−5
4
∣∣∣∣∣fp
f
∣∣∣∣∣4 γδ(f)
where GZZ(0) = 0; γ is a magnification factor for the largest waves (γ ≈ 3.3) and theexponent δ depends on frequency,
δ(f) = exp[−(1− |f/fp|)2
2(σ(f))2
],
• α = 0.066 (U210/(gF ))0.22
• γ is the magnification of the largest waves . . . 1 < γ < 7 . . . on average γ ≈ 3.3.• fp = 2.84(g2/(U10F ))0.33 is the frequency of the largest waves• σ(f) = 0.07 for |f | ≤ fp, and σ(f) = 0.09 for |f | > fp
• psd scaling is: σ2Z = 2π
∫∞0 GZZ(f) df
CC BY-NC-ND February 20, 2019, H.P. Gavin
20 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
0
0.5
1
1.5
2
2.5
3
3.5
4
0 5 10 15 20
wa
ve
he
igh
t p
ow
er
sp
ectr
um
, G
zz(f
), m
2/H
z
wave period, s
U= 9 m/s, σZ=0.43mU=10 m/s, σZ=0.53mU=12 m/s, σZ=0.77mU=15 m/s, σZ=1.20m
Figure 6. Pierson-Moskowitz spectra for fully-developed seas.
0
1
2
3
4
5
0 5 10 15 20
U= 9 m/s, σZ=0.64mU=10 m/s, σZ=0.70mU=12 m/s, σZ=0.82mU=15 m/s, σZ=1.00m
0
2
4
6
8
10
12
0 5 10 15 20
wa
ve
he
igh
t p
ow
er
sp
ectr
um
, G
zz(f
), m
2/H
z
U= 9 m/s, σZ=0.93mU=10 m/s, σZ=1.02mU=12 m/s, σZ=1.20mU=15 m/s, σZ=1.46m
0
10
20
30
40
50
0 5 10 15 20
wave period, s
U= 9 m/s, σZ=1.54mU=10 m/s, σZ=1.69mU=12 m/s, σZ=1.99mU=15 m/s, σZ=2.41m
Figure 7. JONSWAP spectra with γ = 3.3 and F = 100 km, 200 km, and 500 km.
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 21
10.3 Earthquake Ground Motions
A one-sided power spectral density for ground accelerations,
GAA(f) = a2 (2ζgf/fg)2
(1− (f/fg)2)2 + (2ζgf/fg)2
is parameterized by:
• fg, a ground motion frequency (Hz) and• ζg, a ground motion damping ratio.
This spectrum corresponds to a linear time-invariant system with a realization
[A BC D
]∼
0 1 0−4π2f 2
g −4πζgfg a
0 4πζgfg 0
The mean-square value of the ground accelerations is
⟨A2(t)
⟩= σ2
A =∫ ∞
0GAA(f) df = π a2 fgzg
However, unlike the models for wind turbulence and ocean waves described in the previoussections, earthquake ground motions have time-varying amplitudes. An envelope functionthat mimics the growth and decay of earthquake ground motions is
e(t) = (ab)−a ta exp(a− t/b)
which has a maximum of e(t) is 1 and occurs at time t = ab.
The spectral and temporal characteristics of earthquake ground motion are influenced bymany factors, primarily the magnitude of the rupture, the distance to the fault, the depthof the rupture, and the local soil conditions. Strong ground motions at sites far from a faulttend to have higher frequency content and longer duration. Ground motions at sites close toa fault can have a large amplitude pulse, depending on the directivity of the fault rupture inrelation to the site and other factors.
Relevant models for earthquake ground motions generate the kinds of structural responsesexcited by real (recorded) ground motions. For this reason, the model parameters a, fg, ζg,a, and b are adjusted so that, on average, the mean response spectra of the synthetic groundmotions match the response spectra from representative sets of earthquake ground motions.This fitting was carried out with three suites of recorded ground motions for the ATC-63project on structural collapse, with the resulting response spectra and model parametersshown below.
CC BY-NC-ND February 20, 2019, H.P. Gavin
22 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
10-1
100
101
spectr
al accele
ration, S
a(T
n),
g
natural period, Tn, s
Model: mean and mean+std.dev.Data: mean and mean+std.dev.
(a) Far-Field
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
10-1
100
101
spectr
al accele
ration, S
a(T
n),
g
natural period, Tn, s
Model: mean and mean+std.dev.Data: mean and mean+std.dev.
(b) Near-Fault without Pulse
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
10-1
100
101
spectr
al accele
ration, S
a(T
n),
g
natural period, Tn, s
Model: mean and mean+std.dev.Data: mean and mean+std.dev.
(c) Near-Fault with Pulse
Table 3. Ground motion parameters fit to the ATC-63 ground motion suites.PGV fg zg a b a
FF 0.33 1.5 0.9 4.0 2.0 0.23NF-NP 0.52 1.3 1.1 3.0 2.0 0.33NF-P 0.80 0.5 1.8 1.0 2.0 0.43
m/s Hz - - s m/s2
Either of the two amplitude constants PGV (peak ground velocity) or a may be used tospecify the amplitude of the ground motion. If PGV is used the ground motion is scaled tothe specified peak value.
0
0.02
0.04
0.06
0.08
0.1
0.12
0 2 4 6 8 10
grou
nd a
ccel
erat
ion
pow
er s
pect
rum
, Gaa
(f)
ground motion frequency, Hz
far-fieldnear-fault without pulse
near-fault with pulse
0
0.2
0.4
0.6
0.8
1
0 5 10 15 20 25
enve
lope
time, s
Figure 8. Spectra and envelopes for three classes of earthquake ground motions.
Synthesized ground motion accelerations may be detrended so that the ground velocity iszero and the ground displacement is nearly zero at the end of the synthesized ground motion,as illustrated by the example realizations on the next page.
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 23
-0.2
-0.1
0
0.1
0.2
0 5 10 15 20 25 30
acce
l. g
-30
-20
-10
0
10
20
0 5 10 15 20 25 30
velo
c. c
m/s
0
5
10
15
20
25
0 5 10 15 20 25 30
disp
l. cm
-0.4-0.3-0.2-0.1
00.10.20.30.4
0 5 10 15 20 25 30
acce
l. g
-30-20-10
01020304050
0 5 10 15 20 25 30
velo
c. c
m/s
-10
-5
0
5
10
0 5 10 15 20 25 30
disp
l. cm
-0.3-0.2-0.1
00.10.20.3
0 5 10 15 20 25 30
acce
l. g
-80-60-40-20
0204060
0 5 10 15 20 25 30
velo
c. c
m/s
-40
-20
0
20
40
60
0 5 10 15 20 25 30
disp
l. cm
CC BY-NC-ND February 20, 2019, H.P. Gavin
24 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
11 Finite-time discrete unit Gaussian white noiseA finite-length time series of unit Gaussian white noise is a series of samples from a set of nindependent identically-distributed (iid) Gaussian random variables,
u =[u0 u1 u2 · · · up · · · un−1
]with zero mean and a variance of 1/(∆t), where (∆t) is the sampling interval.
-15
-10
-5
0
5
10
15
0 20 40 60 80 100
time
se
rie
s, u
time, s
-15
-10
-5
0
5
10
15
0 0.010.020.030.040.050.060.070.080.09
p.d.f.
σu2 = 1/dt = 1/0.05
Figure 9. Gaussian unit white noise with (∆t) = 0.05 s, n = 2048; computed withu=randn(1,n)/sqrt(dt); T = (n)(∆t) = 102.4 s and σu =
√1/(∆t). points: histogram of
sample, line: Normal distribution
The complex Fourier coefficients Uq for this series can be computed with a discrete Fouriertransform,
Uq = 1n
n−1∑p=0
up exp(−i2πqp
n
), q =
[−n
2 + 1, −n2 + 2, · · · , −1, 0, 1, · · · . n
2
]where up is (p + 1)st element of the sequence of uncorrelated standard Gaussian randomvariables. So, Uq is a weighted sum of Gaussian random variables, where the weights
e−i2πqp/n = cos(2πqp/n) + i sin(2πqp/n)
are complex-valued. The frequency increment (∆f) equals 1/T , and the Nyquist frequencyrange is −1/(2∆t) < f ≤ 1/(2∆t).
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 25
If the input to a dynamical system is discrete unit Gaussian white noise, then the powerspectral density of the output of the system is equal to the magnitude-squared of the systemfrequency response function. This is a common application of Gaussian white noise in thecontext of dynamic systems analysis. It is therefore helpful to understand the statisticalproperties of unit Gaussian white noise.
Finite time discrete unit Gaussian white noise has the following provable properties:
• The real parts of the Fourier coefficients Uq are symmetric about q = 0 (even); the oddparts of Uq are anti-symmetric about q = 0 (odd). Both the real and imaginary partsof Uq have zero mean, and a variance of 1/(2T ) (figure 10).
• The real and imaginary parts of Uq are uncorrelated (figure 11).
• The Fourier magnitudes, |Uq|, have a Rayleigh distribution with parameter σ =√
1/(2T )and the Fourier phase, arctan(I(Uq)/R(Uq)), is uniformly distributed in [−π : π] (fig-ure 12).
• The auto-power spectral density of sampled unit white noise has an expected value of 1over the Nyquist frequency range. The auto-power spectral density is a χ2-distributedrandom variable with a degree-of-freedom (d.o.f.) of 2, and a variance of 1. Thecoefficient of variation of the power spectral density of unit Gaussian white noise istherefore also 1 (figure 13).
• The auto-correlation R(τ) of sampled unit white noise resembles δ(τ) with R(0) = σ2u =
1/(∆t) (figure 14).
• The fact that the power spectral density estimate from a sample of Gaussian white noisehas a coefficient of variation of 1 means that the uncertainty in the PSD estimate is aslarge as the mean PSD value. This presents a challenge in the estimation of PSD’s fromnoisy data. This coefficient of variation can be reduced by averaging PSD’s together.The average of K PSD’s of independent samples of unit Gaussian white noise is a χ2-distributed random variable with 2K degrees of freedom, a covariance of 1/K and acoefficient of variation of
√1/K (figure 15).
Note that the generation of a random time series from a given power spectral density function(as in example 2 of section 8) results in a time series with exactly the prescribed power spectraldensity. If the generated time series is meant to represent a random phenomenon, then itwould be appropriate to randomize the Fourier amplitudes with a Rayleigh distribution.
The reduction of the variance of PSD estimates with averaging motivates the Welch methodfor estimating power spectral densities from measurements of noisy time series.
CC BY-NC-ND February 20, 2019, H.P. Gavin
26 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
-10 -5 0 5 10
com
ple
x F
ourier
coeff
icie
nts
, U
frequency, f, Hz
real(U) ... evenimag(U) ... odd
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0 1 2 3 4 5 6 7
p.d.f.
σU2 = 1/(2T)
Figure 10. Fourier transform coefficients of the sample of Gaussian unit white noise shown infigure 9. computed with U=fft(u)/n; points: histogram of sample, line: Normal distribution
-0.2
-0.1
0
0.1
0.2
-0.2 -0.1 0 0.1 0.2
ima
g(U
) (o
dd
)
real(U) (even)
correlation between real and imaginary = -0.000
Figure 11. The real and imaginary parts of Uq are uncorrelated.
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 27
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0 2 4 6 8 10 12
Rayleigh distribution
σ2 = 1/(2T)
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
-10 -5 0 5 10
Fo
urie
r a
mp
litu
de
, |U
| (
eve
n)
-1
-0.5
0
0.5
1
-10 -5 0 5 10
Fo
urie
r p
ha
se
, <
U/π
(o
dd
)
frequency, f, Hz
-1
-0.5
0
0.5
1
0 0.05 0.1 0.15 0.2 0.25 0.3
p.d.f
Figure 12. Fourier transform magnitudes and phases of the sample of Gaussian unit white noiseshown in figure 9, The magnitudes are symmetric about f = 0 (even); the phases are anti-symmetric about f = 0 (odd). points: histogram of sample, line: Rayleigh distribution for |U |and uniform distribution for ∠U
0
1
2
3
4
5
6
7
-10 -5 0 5 10
po
we
r sp
ectr
al d
en
sity,
S
frequency, f, Hz
K=1, coefficient of variation of S = 0.996
0
1
2
3
4
5
6
7
8
0 0.2 0.4 0.6 0.8 1
p.d.f.
χ2 distribution
d.o.f. = 2
Figure 13. Power spectral density of the sample of unit Gaussian noise shown in figure 9.computed with S=conj(U)*U/(df) Dashed lines show the 50% confidence interval for thepower spectral density. left: points = histogram of the PSD data, line = χ2 distribution
CC BY-NC-ND February 20, 2019, H.P. Gavin
28 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
-5
0
5
10
15
20
25
-60 -40 -20 0 20 40 60
au
toco
rre
latio
n,
R(τ
)
time lag, τ, s
Figure 14. Auto-correlation function of the sample of unit Gaussian noise shown in figure 9.computed with R=ifft(S)/df
0
0.5
1
1.5
2
2.5
-10 -5 0 5 10
po
we
r sp
ectr
al d
en
sity,
S
frequency, f, Hz
K=10, coefficient of variation of S = 0.307
0
0.5
1
1.5
2
2.5
3
0 0.050.10.150.20.250.30.350.40.450.5
p.d.f.
χ2 distribution
d.o.f. = 2K
Figure 15. Average of power spectral densities from K = 10 independent samples of unitGaussian white noise. Dashed lines show the 50% confidence interval for the power spectraldensity. left: points = histogram of the PSD data, line = χ2 distribution with 2K degrees offreedom.
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 29
12 Estimating power spectral density from noisy data via FFT: psd.mThe previous section, and Figures 9 and 15 show that averaging the magnitude-square of theFourier amplitudes computed from several independent realizations of the same (stationary)random process reduces the variance of the power spectral density estimate.
Fourier analysis of any finite-duration time series fundamentally presumes that the seriesrepeats periodically. If the series is representative of a discrete-time random process then asub-sequence of n points from the process does not repeat itself periodically; xk 6= xk+n∀k, 1 ≤k ≤ n. Furthermore, the periodic extension of a non-periodic n-point segment contains asharp discontinuity between x1 and xn. The Fourier components of sequences with sharpdiscontinuities do not approach zero as the frequency approaches the Nyquist frequency. Infact, these high-frequency spectral magnitudes can be quite a bit larger than those of thetrue band limited process.
Welch’s method estimates the power spectral density of a discrete-time sequence by averagingthe FFT amplitudes of windowed sub-sequences. The steps of the algorithm are as follows:
1. Extract K sub-sequences of n points from a long time series (of N points). If the n-pointsub-sequences overlap by no points, K = b(N − no)/(n− no)c. For greatest numericalefficiency, n should be a power of 2. To minimize the variance of the PSD estimatefrom a record of pre-measured time-series, set no = n/2, which gives K = 2N/n − 1,and a reduction in variance by a factor of approximately 9K/11 [2] . See Figure 16.
2. Detrend each sub-sequence, either by subtracting the mean of the sub-sequence, or bysubtracting the least-squares best-fit straight line through the sub-sequence.
3. Multiply each sub-sequence by a real-valued window sequence wk, (k = 1, ..., n), thattapers the amplitude to zero at both ends ([6] section 13.4).Common window choices are:square: wk = 1Welch: wk = 1− (2k/n− 1)2
sine: wk = sin(π(k − 1/2)/n)Lanczos: wk = sinc(2(k − 1)/(n− 1)− 1)Hamming: wk = 0.53836− 0.46146 cos(2πk/n)Gauss: wk = exp(−(1/2)((k − n/2)/(n/5))2)Hanning: wk = (1 + cos(2π(k − n/2)/n))/2Bartlett: wk = 1− |2k/n− 1|
These functions, and their spectral shapes, are plotted in Figure 17.The choice of the window function affects the width of spectral peaks, and the degreeto which spectral content that is not exactly matched to a Fourier frequency “leaks”into adjacent frequency bins. If the signal is known to contain frequencies only atthe Fourier frequencies, then a square window will give the narrowest peaks, and thespectral leakage from other (Fourier) frequencies will be precisely zero. This is almostnever the case. (The signal is almost surely to contain spectral content at frequenciesbetween the Fourier frequencies.) Windowing the data prior to computing the FFT
CC BY-NC-ND February 20, 2019, H.P. Gavin
30 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
narrows the peaks associated with a non-Fourier frequency component, and suppressesthe leakage of signal energy throughout the spectrum. So, the choice of window functioncontrols the trade-off between narrow peaks and leakage into adjacent frequency bins.Of the window functions illustrated here and excluding the square window, the Gausswindow has the widest peak but the least amount of leakage into adjacent frequencies,whereas the Welch window has the most narrow peak, but with more leakage intoadjacent frequencies.
4. Compute the average of the FFT magnitudes of each windowed sub-sequence. Y
5. Compute the power spectral density by multiplying the averaged FFT magnitudes bythe time step, ∆t, and dividing by square of the norm of the window function, ||w||2.In this way the two-sided PSD agrees with Parseval’s theorem.
6. Confidence intervals for the PSD estimation may optionally be computed via the χ2
inverse CDF with (2K)(9K/11) degrees of freedom,
SXX(f)(χ2)−1(α/2, (2K)(9K/11))/((2K)(9K/11)) ≤ SXX(f)
SXX(f) ≤ SXX(f)(χ2)−1(1− α/2, (2K)(9K/11))/((2K)(9K/11))
where (1− α) is the confidence level.
00.20.40.60.81
0 500 1000 1500 2000 2500
00.20.40.60.81
0 500 1000 1500 2000 2500
Figure 16. non-overlapping Welch windows and 50% overlapping Welch windows
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 31
0
0.2
0.4
0.6
0.8
1
0 0.2 0.4 0.6 0.8 1
window
,wk
k/n
squareWelchSine
LancozHamming
GaussHanningBartlett
10-3
10-2
10-1
100
-4 -2 0 2 4
scaledPSD
frequencybin
squareWelchSine
LancozHamming
GaussHanningBartlett
Figure 17. Window functions for PSD computations and their associated spectral shapes
CC BY-NC-ND February 20, 2019, H.P. Gavin
32 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
As an example of the Welch method to compute the PSD, we compute the PSD from a recordcorresponding to the model power spectral density function:
SXX(f) = 10−6
(((f/10)2 − 1)2 + 10−3(f/10)2)2 + 1(1 + (f/10)2)2
In these calculations, ∆t = 0.01s; N = 4096, and n = 512 or 1024. The time-series sample iscomputed from the power spectral density via the IFFT and uniformly-distributed phases.
1 theta = 2* pi*rand(1,N/2) - pi; % uniformly−d i s t r i b u t e d phases2 theta = [ 0 , theta , -theta (N/2 -1: -1:1) ]; % phase ang l e s ant i−symmetric about f=03 theta (N /2+1) = 0; % f o r rea l−va lued s i g n a l s4 x = real ( i f f t ( sqrt (Sxx*df) .* exp(i* theta )))*N; % imag par t ˜ 1e−16
Power spectral densities are then computed from the time-series using 7 windows of n = 1024points and 15 windows of n = 512 points. The results are shown in Figure 18.
-10-505
10
-20 -15 -10 -5 0 5 10 15 20
x(t)
00.20.40.60.81
1.21.4
-20 -15 -10 -5 0 5 10 15 20
S xx(f)
n=1024;K=7
n=512;K=15
model
Figure 18. A random sequence corresponding to a particular power spectral density, and thepower-spectral density estimated via the Welch method. solid lines: PSD computed, dots: 50%confidence interval
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 33
13 Estimating frequency response functions from noisy data via FFT: tfe.m
In the frequency-domain, the relationship between the true inputs u and true outputs y is thefrequency-response function Ho(f). The frequency response function may be easily estimatedfrom the Fourier transforms of the true inputs Y (f) and outputs U(f).
Y (f) = Ho(f) U(f) ⇔ Ho(f) = Y (f)U(f)
In the absence of measurement noise, the frequency response function may be computed fromeither of the ratios of Fourier transforms below.
Ho(f) = Y ∗(f)Y (f)Y ∗(f)U(f)
= U∗(f)Y (f)U∗(f)U(f)
However, measurements of the input and output u and y typically contain random measure-ment noise, n and m. (See Figure 19.) As described in section 10, noise in a finite-timediscrete random process propagates directly to randomness in the Fourier coefficients. Soan estimate of a frequency response function obtained by a ratio of noise-corrupted Fouriertransforms would also contain significant noise. Fortunately, noise in power spectral densityestimates of noisy data can be reduced, through a process of windowing and averaging, asdescribed in section 11. From section 5, the cross-power spectral density
SY U = limT→∞
E[ 1TY ∗(f) U(f)
]=∫ ∞−∞
RY U(τ)e−i2πfτdτ
Assuming the noise processes n and m are uncorrelated with each other and with the trueinput and the true output, the associated cross-power spectra are all zero:
SNM(f) = 0; SMU(f) = 0; SMY (f) = 0; SNU(f) = 0; SNY (f) = 0.
With this assumption, it is not hard to show that
SUU(f) = SUU(f) + SNN(f); SY Y (f) = SY Y (f) + SMM(f); SY U(f) = SY U(f)
+ +
Ho
n u ym
linear behavior
noise noisemsmnt
yuinput output
msmnt
Figure 19. A block diagram of a linear system with noisy measurements.
CC BY-NC-ND February 20, 2019, H.P. Gavin
34 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
With these assumptions on the noise processes, we can use power spectral density estimatesto compute lower and upper bounds H1(f) and H2(f) on the true frequency response functionHo(f).
H1(f) = SY U(f)SY Y (f) = SY U(f)
SY Y (f) + SMM(f) < Ho(f)
H2(f) = SUU(f)SU Y (f) = SUU(f) + SNN(f)
SUY (f) > Ho(f)
An estimate of the frequency response function that simultaneously minimizes the effects ofthe input measurement noise and the output measurement noise is the geometric mean ofthe bounds [7].
Hv(f) =√H1(f) H2(f)
The ratio of these bounds is called the coherence function.
γ2(f) = H1(f)H2(f) = |SY U(f)|2
SXX(f)SY Y (f) 0 ≤ γ2 ≤ 1
The coherence function indicates the frequency-dependence of the amount of measured re-sponse that can be linearly related to the measured input. At any given frequency, thecoherence is less than unity if
• there is significant noise on the input or the output,
• the output is driven by unmeasured inputs, or
• the output is nonlinearly related to the input.
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 35
14 Response Statistics of Linear Systems Driven by Uncorrelated White Noise
Recall the modeling of linear time-invariant multi-input, multi-output (MIMO) systems:
x(t) = Ax(t) +Bu(t)
y(t) = Cx(t) +Du(t)
H(ω) = C(iωI − A)−1B +D
H(t) = CeAtB
Given a system model (A,B,C,D) and the power spectral density of a stationary inputprocess SUU(f), the power spectral density of the output process SY Y (f) is
SY Y (f) = |H(f)|2 SUU(f)
from which, ⟨y2(t)
⟩=∫ ∞−∞
SY Y (f) df
As an example, for a scalar second-order system
r + 2ζωnr + ωn2r = u(t)
|H(f)|2 = (f/fn)4
(1− (f/fn)2)2 + (2ζf/fn)2
If the system is lightly damped (ζ < 0.1), and SUU(fn) is roughly constant over the resonantbandwidth, then the random process y is dominated by frequencies near resonance, and⟨
r2(t)⟩≈ fn
π
4ζ SUU(fn) .
More generally, if the input process is uncorrelated unit white noise, then⟨y2(t)
⟩= diag(CQCT)
where Q is the steady-state state covariance matrix Q = limt→∞
E[x(t)xT(t)] and solves theLiapunov equation
0 = AQ+QAT +BBT = 0 .
If the input process U is uncorrelated unit white Gaussean noise, then the output process isalso Gaussean. So, with σ2
y ≡ 〈y2(t)〉 (and µy = 0),
Prob[Y > y ∩ Y < −y] = 2Φ(−y/σy)
where Φ(z) is the standard normal cumulative distribution function.
Note that any spectral moment λm may be calculated from through solution of an approriatelydefined Liapunov equation.
CC BY-NC-ND February 20, 2019, H.P. Gavin
36 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
15 Extremes of Random Processes
Consider the probability of an upcrossing through a positive-valued threshold, y,
Prob[Y (t) < y ∩ Y (t+ dt) > y] ≈ Prob[Y (t) < y ∩ Y (t) + Y (t)dt > y]
which is equivalent to
Prob[Y (t) < y ∩ Y (t) > y − Y (t)dt] ≈∫ ∞
0fY,Y (y, y) |y dt| dy = νy dt
where fY,Y (y, y) is the joint probability distribution between the process Y and its derivitiveY . The expression above defines the mean upcrossing rate νy
νy =∫ ∞
0fY,Y (y, y)|y| dy
The mean number of upcrossings through a threshold y over a time interval T is νyT . Thecross-correlation between Y and Y is RY,Y (τ = 0). Recall that
RY,Y = d
dτRY,Y (τ)
and that at τ = 0, the autocorrleation is maximum, so, RY,Y (τ = 0) = 0, the process Yand its derivitive Y are uncorrelated, and the joint distribution fY,Y is the product of themarginals, fY,Y (y, y) = fY (y)fY (y).
More specifically, if Y is Gaussean, (the process Y is also Gaussean), so Y and Y are jointlyGaussean, and the mean upcrossing rate is
νy =∫ ∞
0
12π
1σye−
12 (y/σy)2 1
σye−
12 (y/σy)2
y dy
Note that only the second exponential depends on y, the variable of integration. So the firstexponential may be moved outside of the integral. Now with a change of variables, u = y/σyand z = 1
2u2, dy = σydu and dz = u du.
∫ ∞0
y
σye−
12 (y/σy)2
dy =∫ ∞
0u e−
12u
2σy du =
∫ ∞0
e−z dz = 1 ,
soνy = 1
2πσyσye−
12 (y/σy)2 = ν0 e
− 12 (y/σy)2
where ν0 is the zero up-crossing rate (corresponding to y = 0).
CC BY-NC-ND February 20, 2019, H.P. Gavin
Random Vibrations 37
16 Distributions of Gaussean Random Processes• The process Y (t) is Gaussean, Y ∼ N(0, σ2
y)
• The envelope of the process R(t) is Rayleigh distributed,
fR(r) = re−r2/2 (r > 0)
• The peaks of the process P (t) are exponentially distributed,
fP (p) ≈ νyν0
= e−r2/2 (r > 0)
• The distribution of the maximum value of Y (t) within a specified time T is an extremetype I (Gumbel) distribution. Defining Ny(T ) as the number of upcrossings during atime interval T , it is Poisson-distributed with a mean rate νy.
Prob[max |Y (t)| ≤ y] = Prob[Ny(T ) = 0] = e−νyT = exp[−ν0T exp[−(1/2)(y/σy)2]
17 First Passage Statistics
To close, we consider a very practical problem [8]. What is the probability that the processY (t) will not cross a threshold y during an interval 0 ≤ t ≤ T? The key result is that thisprobability is exponentially-distributed,
Prob[Y (t) < y | 0 ≤ t ≤ T ] ≈ A exp[−αT ]
where the coefficient A is the probability that the value at t = 0 is less than the threshold,
A = Prob[Y (0) < y]
For y � σy, A ≈ 1 and α ≈ 2νy. More accurately, defining the peak response factor r = y/σy,
A = Prob[Y (0) < y] = 1− exp[−r2/2]
andα = 2νy
A
(1− exp
[−√π/2 δq r
])where q ≈ 1.2, and δ is the bandwidth factor, which may be computed from the spectralmoments of SY,Y (f), which, in turn, may be computed from the solutions to Liapunov equa-tions.
CC BY-NC-ND February 20, 2019, H.P. Gavin
38 CEE 541. Structural Dynamics – Duke University – Fall 2018 – H.P. Gavin
References[1] Bendat, J.S. and Piersol, A.G., Random Data: Analayis and Measurement Procedures,
4th ed. Wiley 2010.
[2] Childers, D.G., (ed.) Modern Spectrum Analysis, IEEE Press, 1978.
[3] Clough, R., and Penzien, J., Dynamics of Structures, 2nd ed., CSI Press, 2003. (Ch. 20-21)
[4] Gavin, H.P., Fourier Series, Fourier Transforms, and Periodic Response to PeriodicForcing, CEE 541 course notes, 2018
[5] Lutes, L, and Sarkani, S., Random Vibrations, Elsevier 2003.
[6] Press, W.H., Flanner, W.H., Teukolsky, S.A., and Vetterling, W.T., Numerical Recipesin C: The Art of Scientific Computing, 2nd ed., 1992. (Ch. 13)
[7] Rocklin, G. Thomas , Crowley, John , Vold, Havard , “A comparison of H1, H2, andHv frequency response functions,” Proceedings of the 3rd international Modal AnalysisConference, Volume 1, Pages 272-278, 1985.
[8] Vanmarcke, Erik, “On the Distribution of the First-Passage Time for Normal StationaryRandom Processes,” J. Applied Mechanics, 42 (1975):215-220.
CC BY-NC-ND February 20, 2019, H.P. Gavin