High Accuracy Evaluation of the Finite Fourier Transform Using Sampled Data
Total Page:16
File Type:pdf, Size:1020Kb
_r_ ¸ _-y NASA Technical Memorandum 110340 High Accuracy Evaluation of the Finite Fourier Transform Using Sampled Data Eugene A. Morelli Langley Research Center, Hampton, Virginia June 1997 National Aeronautics and Space Administration Langley Research Center Hampton, Virginia 23681-0001 Table of Contents Abstract ............................................................................................. iii Nomenclature ...................................................................................... iv I. Introduction .................................................................................... 1 II. Theoretical Development ..................................................................... 2 III. Examples ...................................................................................... 9 IV. Summary ...................................................................................... 11 V. Acknowledgments ............................................................................ 11 VI. References .................................................................................... 12 Appendix - Derivation of the Cubic Interpolation Formulae ................................. 13 Figures .............................................................................................. 19 Abstract Many system identification and signal processing procedures can be done advantageously in the frequency domain. A required preliminary step for this approach is the transformation of sampled time domain data into the frequency domain. The analytical tool used for this transformation is the finite Fourier transform. Inaccuracy in the transformation can degrade system identification and signal processing results. This work presents a method for evaluating the finite Fourier transform using cubic interpolation of sampled time domain data for high accuracy, and the chirp z-transform for arbitrary frequency resolution. The accuracy of the technique is demonstrated in example cases where the transformation can be evaluated analytically. Arbitrary frequency resolution is shown to be important for capturing details of the data in the frequency domain. The technique is demonstrated using flight test data from a longitudinal maneuver of the F-18 High Alpha Research Vehicle. iii Nomenclature f cyclic frequency, Hz FFT Fast Fourier Transform i time index J imaginary number = k frequency index M number of discrete frequencies N number of sampling intervals t time, sec T data record length, sec Pn nth order Lagrange interpolating polynomial x(t) real function of time t xi sampled x(t) at time iAt .i k discrete Fourier transform of x i for frequency fk ;(:1 finite Fourier transform of x(t) for frequencyf W interior point cubic weighting function O_ angle of attack, deg At sampling interval, sec endpoint interpolation function Y endpoint cubic weighting function 0 discrete Fourier transform angular step fO frequency, rad / sec interior point interpolation function superscripts - Fourier transform * complex conjugate IV I. Introduction Data analysis and linear parametric modeling can be carried out in either the time domain or the frequency domain I. Frequency domain analysis has many advantages, including physical insight, direct applicability to control system design, and lower dimensionality for model parameter estimation, among others 1-3. Frequency domain techniques based on spectral estimation 3-5, output error 1-3, and equation error 1,6,7have been used successfully for flight test data analysis and modeling. The basis for all of these frequency domain methods is the finite Fourier transform, which is the mechanism for transforming time domain data to the frequency domain. Any errors in the transformation from time to frequency domain affect the accuracy of the raw data in the frequency domain, which in turn impacts data analysis and modeling results. Typically, transformation from the time domain to frequency domain is brought about using sampled time domain data and a simple Euler approximation of the finite Fourier integral. This calculation, called the discrete Fourier transform, can be implemented with a Fast Fourier Transform (FFT) algorithm 8 for increased computational speed. The simple Euler approximation makes the discrete Fourier transform increasingly inaccurate with increasing frequency and sampling time. Accuracy of transformation to the frequency domain can be improved using various quadrature methods 8, which involve evaluating the Fourier integral separately for each individual frequency of interest. For a given data record length, the discrete Fourier transform constrains the frequency resolution to equal the reciprocal of the record length. As the record length decreases, frequency resolution can become coarse, leading to omission of important data features in the frequency domain. One solution to this problem is to pad the time domain data with zeros and thus artificially increase the data record length, but this is inconvenient and increases processing time. It is also possible to interpolate values in the frequency domain, but this is also inconvenient and can be inaccurate as well. When the frequency band of interest is relatively small, most of the processing involved in the discrete Fourier transform is for frequencies outside the range of interest, since the computations include all frequencies up to the Nyquist frequency. The purpose of this work is to present a convenient and efficient method for computing the finite Fourier transform with high accuracy using sampled data, while allowing a wide range of choice for the frequency band and frequency resolution. This capability gives a solid underpinning to the many frequency domain techniques developed and renders those methods commensurately more accurate and flexible. The next section outlines the theory for the flexible, high accuracy finite Fourier transform method. Following that, some realistic simulation examples are presented to demonstrate some of the issues discussed in the theory. Finally, an example using measured flight test data from the F-18 High Alpha Research Vehicle is included. II. Theoretical Development The Fourier transform of a continuous scalar time function x(t) on a finite time interval [0, T] is called thefinite Fourier transform, and is defined by _(f)= _: x(t)e -j2nft dt (1) or _(o9) = _o x(t) e -jC°t dt (2) where o.) = 2fff (3) When the time function x(t) is sampled at discrete evenly spaced time intervals, the finite Fourier transform can be approximated by N-I .f(f) = At E xie-J2nfti (4) i=0 where t i-iAt , x i-x(ti)=x(iAt) i=0,1,2 ..... N (5) and T At = -- (6) N Eq. (4) is a simple Euler approximation for the integral in Eq. (1), using the first N discrete values of the continuous time function x(t). Note from Eq. (5) that the total number of samples is N + 1. The discrete Fourier transform can be used to evaluate the summation in Eq. (4) at specific frequencies. The discrete Fourier transform is defined by N-I Xk -- E xi e-J2_rftti k =0,1,2 ..... M-1 (7) i=0 where k k fk-- k =0,1,2 ..... M-1 (8) NAt T and (9) M = (NN/2+ 1)/2 forfor NU evenodd The values given for M in Eq. (9) represent the fundamental limitation that frequencies contained in a sampled time history must fall within the frequency band [0, fn ) (i.e., below fn), where fn is the Nyquist frequency, defined as one half the sampling frequency: 1 fn - (10) 2At For the discrete frequencies fk in Eq. (8), using Eq. (7) in Eq. (4) gives (Yk)--At k =0,1,2 ..... M-1 (11) The discrete Fourier transform in Eq. (7) can be expressed in another form by substituting from Eqs. (5) and (8) to obtain N-1 "_k = Z Xi e-J2trik/N k =0,1,2 ..... M-1 (12) i=0 Now define 27rk 0 = cok At = 2trfk At - k =0,1,2 ..... M-1 (13) N where the dependence of 0on k is not shown explicitly by the notation. Using Eq. (13), Eq. (12) can be written as N-1 "_k = Z xi e-jOi k=0,1,2 ..... M-1 (14) i=0 Combining Eqs. (12)-(14), and (4), J?(0) = Y( 2]rfk At)--- At xk k =0,1,2 ..... M-1 (15) When N is an integer power of 2, FFT algorithms 8 can be used to efficiently carry out the summation in Eq. (12). Eqs. (7) and (8) indicate that the discrete Fourier transform is defined for frequencies which correspond to an integral number of cycles for each time period T. Since the finite Fourier transform is an integration over the time interval [0, T], the values computed using the approximation in Eq. (15) can be small, and thus susceptible to round-off error accumulated during the summation in Eq. (12). In addition, since Eq. (15) represents a simple Euler approximation to the integral in Eq. (1), high frequencies fk or large sample times At will introduce additional inaccuracy because of the oscillatory nature of the integrand. The latter difficulty was recognized as early as 1928 by Filon 9, who proposed an interpolation scheme for the sampled time domain data to improve the accuracy of finite Fourier integrals. The same basic approach is taken here, using a cubic Lagrange polynomial interpolation due to Press et al.8. The resulting calculation uses the discrete Fourier transform with weighting factors as follows: J?(0)--At{ W(O) [Y"k + X_v e-j°N] "l- _O(O)Xo "+"_¢l(0)X 1 + _2(0)X 2 -I- ]g3(0)X 3 (16) + e j°r/at O)x N "1- )t 1 (O)XN_ 1 + _t2(O)XN_ 2 + _t3(O)XN_ 3 where W(0):(6+02_ _ 11 04 23 0 6 (17) 304 )(3-4c°s0+c°s20)=l 720 +--15120 4 and _0(0) =(-42+502)+(6+02)(8c°sO-c°s20) j(-120+603)+(6+O2)sin20 604 604 (18) t-102+__ __+-.-L-2 02 04q- 06 32 45 15120103 04 226800169 06_j012 45 105 28358 46777586 / _1(0)=14(3-02)-7(6+02)cos0 300-5(6+02)sinO 604 - j 604 (19) 7 7 02 +--5 04 7 06 -jO 7 1 02 +-- 06 24 180 3456 259200 72 168 7257611 04 598752013 ) _"2(0) = -4(3-02)+ 2(6+ 02)cosO -120 + 2(6+ 02)sinO 304 - j 304 (20) 1 + 1 02 5 04 1 06 -- jO(-- 7 d- 1 02 11 04 -t- 13 06" ) 6 45 6048 64800 k, 90 210 90720 7484400 ) _,3(0)=2(3-02)-(6+02)cos0 60-(6+02)sinO 604 - j 604 (21) 5 1 .