Vibrations Fundamentals and Practice Appd Maintaining the outstanding features and practical approach that led the bestselling first edition to become a standard textbook in engineering classrooms worldwide, Clarence de Silva''s Vibration: Fundamentals and Practice, Second Edition remains a solid instructional tool for modeling, analyzing, simulating, measuring, monitoring, testing, controlling, and designing for vibration in engineering systems. It condenses the author''s distinguished and extensive experience into an easy-to-use, highly practical text that prepares students for real problems in a variety of engineering fields.
Trang 1de Silva, Clarence W “Appendix D”
Vibration: Fundamentals and Practice
Clarence W de Silva
Boca Raton: CRC Press LLC, 2000
Trang 2Appendix D Digital Fourier Analysis and FFT
In the frequency domain, vibration analysis can be carried out using Fourier transform techniques Three versions of the Fourier transform are available The frequency content of a periodic signal
is conveniently represented by its Fourier Series Expansion (FSE) For nonperiodic (or transient) signals, Fourier-Integral-Transform (FIT) is used For a discrete sequence of points in a signal (i.e., a set of sampled data), a sequence of discrete data in the frequency domain is obtained using Discrete Fourier Transform (DFT), or “digital” Fourier transform This can be interpreted as a discrete-data approximation to FIT Similarly, FSE can be expressed as a special case of FIT In this sense, the three versions of Fourier transform — FSE, FIT, and DFT — are interrelated
It should be clear that the DFT is the appropriate version for digital analysis of data, using a computer The direct use of DFT relations, however, is not computationally efficient because it needs a very large number of operations and liberal use of computer memory For this reason, Fourier analysis using a digital computer was not considered feasible until 1965 That year, the Fast Fourier Transform (FFT) algorithm was published by Cooley and Tukey This revolutionized the field of data Fourier analysis by reducing the number of arithmetic operations required for the discrete Fourier transformation of an N-point data sequence by a factor of nearly 2N/ln2N Prior to this, the only economical way to perform Fourier analysis of complex time histories was
by analog means, where narrow-band analog filters (circuits) were used to extract the frequency components in various frequency bands of interest Early applications of FFT were limited to off-line computations in a batch mode using software in a large mainframe computer It was only after the development of large-scale integration (LSI) and the associated microprocessor technol-ogy that software-based and dedicated hardware FFT analyzers became cost effective for general applications The hardware FFT analyzers are particularly suitable in real-time applications Several stand-alone FFT analyzers were marketed in the late 1970s Practically unlimited options for frequency (spectral) analysis are available today, through these dedicated analyzers as well as desktop computers
D.1 UNIFICATION OF THE THREE FOURIER TRANSFORM TYPES
By discrete Fourier transformation of a set of sampled data from a signal, one cannot expect to generate an exact set of points in the analytical Fourier spectrum of the signal Because of sampling
of the signal, some information will be lost Clearly, one should be able to reduce the error in the computed Fourier spectrum by decreasing the size of the data sample step (∆T) Similarly, one does not expect to get the exact Fourier series coefficients by discrete Fourier transformation of sampled data from a periodic function It is very important to study the nature of these errors, which are commonly known as aliasing distortions
D.1.1 R ELATIONSHIP B ETWEEN DFT AND FIT
A fundamental result relating DFT and FIT is established in this section In view of the FIT relation, the frequency-spectrum values X m = X(m · ∆F), m = 0, ±1, ±2, …, sampled at the discrete frequency points of sample step ∆F are given by
Trang 3where T = 1/∆F On implementing the change of variable t→t + kT (i.e., let t′ = t – kT and then drop the prime) and interchanging the summation and the integration operations, one obtains
(D.2)
where
(D.3)
The fact that exp(–j2πmk) = 1 for integers m, k was used in obtaining equation (D.2) Since (t)
is periodic, having the period T, it has an FSE given by
(D.4)
which follows from the FSE equation The sampled values m = (m · ∆T), m = 0, ±1, ±2, …, at sample steps of ∆T are given by
(D.5)
where ∆T = T/N = 1/(N · ∆F) In a manner analogous to the procedure for obtaining equation (D.2), the change of variable n→n + kN (i.e., let n′ = n – kN and then drop the prime) is implemented, and the summation operations are interchanged This results in
(D.6)
where
(D.7)
m
kT
k T
k
−∞
∞
+
=−∞
∞
∫
∫
∑
exp
exp
2
2
1
π
π
∆
T
=∫˜( )exp(− 2 )
0
π
˜x t x t kT
k
( )= ( + )
=−∞
∞
∑
˜x
x t
=−∞
∞
∑
1
2π
˜x ˜x
exp
x
n
n
n kN
k N
k
=−∞
∞
=
+
=−∞
∞
∑
∑
∑
1
2
1
2
1 1 π π
x
n
N
=
−
∑
1
2
0
1
π
˜
k
=−∞
∞
∑
Trang 4Note that n = (n · ∆F), n = 0, ±1, ±2, …, are the sampled values of the periodic function (f),
having the period F The frequency parameter F = N · ∆F = 1/∆T = N/T represents the number of
samples in a record of unity time duration It is not possible to extract any information about the
frequency spectrum for frequencies f > F/2 = f c from time-response data sampled at steps of ∆T
The parameter f c = 1/(2∆T) is known as Nyquist frequency
It is evident that by comparing equation (D.6) with the inverse DFT relation that the sequence
{ n} = [ 0, 1, …, N–1] represents the DFT of the sequence { m} = [ 0, x1, …, x N–1] The forward
transform is given by
(D.8)
In summary, if X(f) is the FIT of x(t), then the N-element sequence { n} is the DFT of the N-element
sequence { m } The periodic functions (t) and (f) are related to x(t) and X(f), respectively,
through equations (D.3) and (D.7); { m} and { n} being their individual sampled data
D.1.2 R ELATIONSHIP B ETWEEN DFT AND FSE
A fundamental result relating DFT and FSE will be established in this section From the FSE
equation, it follows that, for a periodic signal x(t) of period T, the sampled values x m = x(m · ∆T),
m = 0, ±1, ±2, …, are given by
(D.9)
By definition, the sequence {x m } is periodic with N-element periodicity where N = T/∆T The
procedure for obtaining equation (D.6) is now adopted to obtain
(D.10)
where
(D.11)
The sequence { n } is periodic, with N-element periodicity By comparing equation (D.10) with
the inverse DFT equation, it becomes clear that the N-element sequence { n} = [ 0, 1, …, N–1]
is the DFT of the N-element sequence {x m } = [x0, x1, …, x N–1] The forward transform is given by
(D.12)
˜
˜
X
m
N
=
−
∑
1
2
0
1
π
˜
X
˜x X˜
x
n
n
n kN
k N
k
=−∞
∞
=
+
=−∞
∞
∑
∑
∑
1
2
1
2
1 1
exp
exp
π π
∆
x
n
N
=
−
∑
1
2
0
1
˜ exp π
˜
k
=−∞
∞
∑
˜
A
˜
m
N
=
−
∑
0 1
π
Trang 5In summary, if {A n } are the coefficients of the FSE of a periodic signal x(t), then the N-element
sequence { n } is the DFT of the N-element sequence {x m }, where x m = x(m · ∆T) and { m} is given by equation (D.11)
D.2 FAST FOURIER TRANSFORM (FFT)
The direct computation of the discrete Fourier transform (DFT) is not recommended, particularly
in real-time applications, because of the inefficiency of this procedure For a sequence of N sampled data points, N2 complex multiplications and N/(N – 1) complex additions are necessary in the direct evaluation of the DFT, assuming that the complex exponential factors exp(–j2πmn/N) are already
computed Many of these arithmetic operations are redundant, however The Cooley and Tukey algorithm, commonly known as the radix-two fast Fourier transform (FFT) algorithm, is an efficient procedure for computing DFT Efficiency of the algorithm is achieved by dividing the numerical procedure into several stages so that redundant computations are avoided
D.2.1 D EVELOPMENT OF THE R ADIX -T WO FFT A LGORITHM
The multiplicative constant ∆T in the DFT equation is a parameter that was introduced to maintain
the consistency with the conventional FIT equation This constant can be treated as a scaling factor
for the final results; or, equivalently, it could be combined with the input data sequence {x n} In any event, the primary computational effort in the DFT equation is directed toward computing the
sequence [A(0), A(1), …, A(N – 1)] from the data sequence [a(0), a(1), …, a(N – 1)], using the
relationship
(D.13)
where
(D.14)
The FFT algorithm requires that N be highly composite (i.e., factorizable into many non-unity integers) In particular, for the radix-two algorithm, it is required that N = 2 r , where r is a positive
integer If the given data sequence does not satisfy this condition, it must be augmented by a sufficient number of trailing zeros
A systematic development of the radix-two FFT algorithm is presented now The integers
m and n are expressed in the binary-number-system expansion Recalling that 0 ≤ m ≤ N – 1 and
0 ≤ n ≤ N – 1, one can write
(D.15)
in which m i and n j take values 0 or 1 Equivalently,
(D.16)
˜
n
N
=
−
∑
0
1
for , 1, K,
W=exp(−j2π N)
r r r r
r r r r
− − − −
− − − −
1 1 2 2
0
1 1 2 2
0
K K
r r
Binary , Binary ,
-
, , , ,
K K
Trang 6Next, the indices of the elements A(·) and a(·) in equation (D.13) are expressed by their binary
counterparts:
(D.17)
where
(D.18)
The fact that W2r
= W N = 1 has been used in the foregoing expansion By defining the intermediate
set of sequences {A1(·)}, {A2(·)}, {A r(·)}, equation (D.17) can be expressed as the set of equations:
(D.19)
with
(D.20)
Consequently, the single set of computations given by equation (D.13) for the N-element sequence {A(·)} has been replaced by r stages of computations In each stage, an N-element sequence {A i(·)}
must be computed from the immediately preceding N-element sequence {A i–1(·)} It soon will be
apparent that, as a result of this r-stage factorization, the number of arithmetic operations required
has been considerably reduced
It should be noted that each relationship given in equation (D.19) corresponds to a set of
N separate relationships, because the index within the parenthesis of {A i (·)} runs from 0 to N – 1.
In order to observe some important characteristics of the FFT algorithm, the ith relationship of
equation (D.19) is examined Specifically,
(D.21)
n n
r
mn
n r
−
=
=
−
=
( )=∑ ∑ ∑ ( )
−
0 1
0
1
0 1
1
, , K L , , K
=
=
+ +
+
K
K
n
n
r r r
r r r
2 0
1
2 2
1
2
=
+
− −
−
− −
−
∑
==
− −
+ +
=
∑
∑
0 1
2
0
1
0
M
n
r r
, , , , , mr-2,
A m( r−1, K, m0)=A m r( 0, K, m r−1)
n
r i r i i i r
2 2
0
1
1
1
1
− − −
− − −
+ +
=
−
∑
Trang 7where A0(·) = a(·) The summation on the right-hand side of equation (D.21) is expanded as
(D.22)
which involves only one complex multiplication and one complex addition, assuming that the
complex exponential terms W p are precomputed It is noted that the variable m i–1, which is the binary coefficient of 2r–i in the index of the left-hand-side term A i(·), does not appear in the binary
index of the right-hand-side terms A i–1 (·) Consequently, the values of the A i–1(·) terms on the
right-hand side remain unchanged as m i–1 switches from 0 to 1 in the left-hand-side index This switch
corresponds to a jump in the index of A1(·) through a value of 2r–i Accordingly, the computation
of, for example, the kth term A i (k) and the (k + 2 r–1 )th term A i (k + 2 r–i ) of the sequence {A1(·)} in
the ith stage involves the same two terms A i–1 (k) and A i–1 (k + 2 r–i ) of the previous (i – 1)th sequence
A i–1(·) It follows that equation (D.22) takes the more familiar decimal format:
(D.23)
(D.24)
(D.25)
Equation (D.24) results when m i–1 = 0, and equation (D.25) results when m i–1 = 1 On closer
examination, it is evident that = N/2 + p, which follows from 2 r–i2i–1 = 2r–1 = 2r/2 Hence,
(D.26)
From the definition of W [equation (D.14)], however, W N/2 = –1 Consequently,
(D.27)
By substituting equation (D.27) in equation (D.23), one obtains
(D.28)
for i = 1, …, r and k = 0, 1, …, 2 r–i – 1, 2r–i+1 , …, where p is given by equation (D.24).
The in-place simultaneous computation of the so-called dual terms A i (k) and A i (k + 2 r–i) in the
N-term sequence {A·(·)} involves just one complex multiplication and two complex additions As
a result, the number of multiplications required has been further reduced by a factor of two At
each stage, the computation of the N-term sequence requires N/2 complex multiplications and
m
r i i
2 12 1 1
− − −
− − − −
− − − −
+ +
− m0
r i p
i
r i
r i p
( )= ( )+ ( + )
+
− − −
−
− − −
2
p= r i−( i− m i + +m )
−
2 2 2 2 L 0
˜p= r i−( i− + i− m i + +m )
−
2 2 1 2 2 2 L 0
˜p
W p˜ =W N2W p
W p˜ = −W p
r i p
i r
r i p
( )= ( )+ ( + )
+
− − −
−
− − −
1
2
Trang 8N complex additions Because there are r stages, the radix-two FFT requires a total of rN/2 complex
multiplications and rN complex additions, in which r = ln2N In other words, the number of
multiplications required has been reduced by a factor of (2N/ln2N), and the number of additions
has been reduced by a factor of (N/ln2N) For large N, these ratios correspond to a sizable reduction
in the computer time required for a DFT This is a significant breakthrough in real-time digital Fourier analysis
An insignificant shortcoming of the Cooley-Tukey FFT procedure is evident from equation (D.20)
The final sequence {A r (·)} is a scrambled version of the desired transform {A(·)} To unscramble the result, it is merely required to interchange the term in the binary location (m0, …, m r–1) with
that in the binary location (m r–1 , …, m0) It should be remembered not to duplicate any interchanges while proceeding down the array during the unscrambling procedure Because an in-place inter-change of the elements is performed, there is no necessity for defining a new array There is an associated saving in computer memory requirements
D.2.2 T HE R ADIX -T WO FFT P ROCEDURE
The basic steps of the radix-two FFT algorithm are as follows: N = 2 r elements of the data sequence
{A(·)} are available.
Step 1: Initialize variables Stage number i = 1 Sequence element number k = 0.
Step 2: Determine p as follows: From equation (D.24), p = binary (m i–1 , …, m0, 0, …, 0)Nbits
From equation (D.21), k = binary (m0, m1, …, m i–1 , n r–i–1 , …, n0) Shift k register through (r – i) bits to the right, and augment the vacancies by leading zeros This gives binary (0, …, 0, m0, …, m i–1)Nbits Reverse the bits to obtain p.
Step 3: Compute in place, the dual terms A i (k) and A i (k + 2 r–i ), using equation (D.28) Note:
Since A i–1 (k) and A i–1 (k + 2 r–i) are not needed in the subsequent computations, they are
destroyed by storing A i (k) and A i (k + 2 r–i) in those locations As a result, only one array
of N elements is needed in the computer memory.
Step 4: Increment k = k + 1 If an already-computed dual element is encountered, skip k through
2r–i (i.e., k = k + 2 r–i ) If k ≥ N, increment i = i + 1 If i > r, go to step 5 Otherwise,
go to step 2
Step 5: Unscramble the sequence, using equation (D.20), and stop.
D.2.3 I LLUSTRATIVE E XAMPLE
Consider the data sequence [a(0), a(1), a(2), a(3)] of block size N = 4 Its DFT sequence [A(0), A(1), A(2), A(3)] is obtained as follows Note that r = 2, and the required complex exponents
W p are available as tabulated data
Stage 1 (i = 1): From equation (D.28), the matrix form of the equations with the indices expressed
as binary numbers is
Note that the dual jump 2r–i = 22–1 = 2 for this stage Furthermore, for k = 0 = binary (0,0),
p = binary (0,0); and for k = 1 = binary (0,1), p = binary (0,0) = 0.
A A A A
W
W W
W
a a a a
1 1 1 1
0
0 0
0
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
, , , ,
, , , ,
( ) ( ) ( ) ( )
=
−
−
( ) ( ) ( ) ( )
Trang 9Stage 2 (i = 2):
The dual jump for this stage is 2r–i = 22–2 = 1 Also, for k = 0, p = 0 as before Now, one must shift
k through the dual jump This gives k = 2 = binary (1,0) Shift this though r – i = 2 – 2 = 0 ⇒ no
shifts, and bit reverse to get p = binary (0,1) = 1.
Unscrambling: In binary index form, this amounts to a simple bit reversal
The corresponding decimal assignments are
When real x(t) sequence is used, note that half of the X(f) sequence (N/2 points) is wasted because
Hence, one can make some gains in computational effort by converting a real-time sequence to an equivalent complex sequence prior to DFT
D.3 DISCRETE CORRELATION AND CONVOLUTION
D.3.1 D ISCRETE C ORRELATION
The sampled data are formed according to
(D.29)
A A A A
W W
W W
A A A A
2 2 2 2
0 0
1 1
1 1 1 1
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1
, , , ,
, , , ,
( ) ( ) ( ) ( )
−
( ) ( ) ( ) ( )
A A A A
A A A A
0 0
0 1
1 0
1 1
0 0
1 0
0 1
1 1
2 2 2 2
, , , ,
, , , ,
( ) ( ) ( ) ( )
=
( ) ( ) ( ) ( )
A A A A
A A A A
0 1 2 3
0 2 1 3
2 2 2 2
( ) ( ) ( ) ( )
=
( ) ( ) ( ) ( )
X*N n− =X n for real x m
m
k
=
=
∆
∆
for , , otherwise
for , , otherwise
0
0
K
K
Trang 10Using the trapezoidal rule, the sequence {z n } that approximates the sampled values z(n · ∆T) of
the correlation function of x and y can be computed, using
(D.30)
in which N > max(M, K) It is noted that, in the summation, an upper limit greater than min(M – 1,
K – 1 – n) is redundant Because the divisor is the constant value N rather than the actual number
of terms in the summation, equation (D.30) represents a biased estimate of the mean lagged product Nevertheless, it is convenient to use equation (D.30) in this analysis
Discrete Correlation Theorem
A DFT result for discrete correlation is now established for discrete data The inverse DFT equation
is used in equation (D.30) in conjunction with the fact that x m = [x m]* for real x m:
(D.31)
The orthogonality condition is used in the last summation term of equation (D.31) Consequently,
(D.32)
where T = N · ∆T It follows that T{z n } is the inverse of DFT of {[X m]*Y m} Equation (D.32) is the discrete correlation theorem
Discrete Parseval’s theorem is given by
(D.33)
Discrete Convolution Theorem
The convolution theorem equation of two signals u(t) and h(t), defined over the finite durations (0,T1)
and (0,T2), respectively, can be computed, using a digital processor, to obtain y(t) First, the sample
step ∆T is chosen and the two sequences {u m } and {h k} of sampled data are formed according to
(D.34)
in which M = integer (T1/∆T) and K = integer (T2/∆T) In order to eliminate the wraparound error,
it is required that the number of samples of y(t) be N = M + K – 1 The direct digital computation
of convolution can be performed using the trapezoidal rule:
r
N
⋅
=
−
∑
0 1
z
m N
r
N
k k N
m k
r N
k N
m N
=
−
=
−
=
−
=
−
=
−
=
−
∑
∑
∑
1
0 1
0 1
0 1
3
0 1
0 1
0 1
∆
*
*
∑
Tz
m
N
=
−
∑
1
2
0
1
∆
*
exp π
m
N
n n
N
2 0
1
2
0 1
=
−
=
−
m
k
=
=
∆
∆
for , , otherwise
for , , otherwise
0
0
K
K