LIDS-P-2348 June 1996 Signal Processing via Wavelet and Identification Final diploma Thesis for the Swiss Federal Institute of Technology (Eidgen6ssische Technische Hochschule Zurich) written at The Department of Aeronautics and Astronomics Massachusetts Institute of Technology February 5 - May 10 1996 1.4 . . .....-. 1 .2 . ,,-,. · '' . ' .. .. .... ....... .. .... ~~~~~~~.....Supervisor Prof. Prof. G. Feron Schweitzer at 0.Supervisor at MIT: ETH: 0.4. 0.2. ....... . .... 0 30 20 time (s) 0 0 10 frequency (Hz) Author: Xavier Paternot Supervisor at MIT: Prof. E. Feron Supervisor at ETH: Prof. G. Schweitzer MIT Document Services Room 14-0551 77 Massachusetts Avenue Cambridge, MA 02139 ph: 617/253-5668 I fx: 617/253-1690 email: docs @ mit.edu http://libraries.mit.edu/docs DISCLAIMER OF QUALITY Due to the condition of the original material, there are unavoidable flaws in this reproduction. We have made every effort to provide you with the best copy available. If you are dissatisfied with this product and find it unusable, please contact Document Services as soon as possible. Thank you. r I z_._~rt PY<. Abstract Signal processing via wavelet and identification To determine the flutter boundary of the F-18 System Research Aircraft at NASA Dryden Research Centre a series of in-flight tests have been performed. Based on these measurements a model for the flexible dynamics of the aircraft structure is to be identified. The available signals are, however, very noisy and must be processed. The goals of this project are, using a time-frequency approach, to denoise these signals and to find an estimate of the system's transfer functions. The obtained results should be exploited to improve the presently used identification methods. A continuous wavelet decomposition using non orthogonal and non dilated wavelets is performed. Based on the user's judgement, this decomposition is cleaned manually. From the processed decomposition a denoised time signal can then be reconstructed. Choosing only relevant areas in the time-frequency decomposition of the input and output signals transfer functions are estimated. The cleaned signals and the estimated transfer functions are used to identify a simulated system via a susbspace identification and a frequency fit. A toolbox written for Matlab 4.2 has been implemented to perform these operations. The obtained results have shown that the time-frequency approach allows a clear interpretation of the signal's information content, a sensible elimination of the noise and a smooth estimation of the system's transfer functions. Furthermore, the performance of identification methods can be improved by using these results. Abstract Acknowledgement First of all I wish to thank my supervisor at MIT professor Eric Feron for showing and communicating so much enthusiasm in my work. I also would like to thank Professor Schweizer at ETH in Ziirich for accepting to supervise this project. Professor Wehrli at ETH in Zurich and Professor Hollister at MIT in Cambridge have made my presence here at MIT possible, I would like to express my gratitude for their efforts of bringing the two schools closer together and for giving me the opportunity to live such an enriching experience. Special thanks to Laurent Duchesne for numerous helpful discussions and for all his work on this project, and to all my lab mates for their help and their warm welcome. Acknowledgement List of symbols A state-space A matrix B state-space B matrix C state-space C matrix D sate-space D matrix At pseudo-inverse of matrix A A1 A orthogonal (where AA 1 = 0) CWT(ct) Continuous Wavelet Transform Ff(o) Filter in frequency domain centered around frequency f G(o) Transfer function at frequency 0o Hti block triangular Toeplitz Matrix H(co) Wavelet in frequency domain U,S,V Singular Value Decomposition matrices Uh block Hankel input matrix X(co) Signal in frequency domain Yh block Hankel output matrix a scaling factor h(t) wavelet in time domain t time us, ua symmetrical and asymmetrical input x(t) signal in time domain yS, ya symmetrical and asymmetrical output or slope of the frequency sweep co frequency F observability matrix Aco frequency range At time range List of symbols The sensors consist of two load sensors measuring the force applied to the wing and of ten accelerometers placed along the wings and the tails. These locations are resumed in table I and indicated in figure 2. Output no. 1 2 3 4 5 6 7 8 9 10 Sensor Location left wing forward left wing aft left aileron left vertical tail left horizontal tail right vertical tail right horizontal tail right wing forward right wing aft right aileron TABLE 1. Accelerometer locations Right actuator Left actuator FIGURE and2.actuators Location ofsensors on F-18 SRA Left actuator FIGURE 2. Location of sensors and actuators on F-18 SRA 1.2.2 Input/Output signals Based on the a priori knowledge of the resonance frequency of the flexible dynamics, the frequency range to consider is 0 to 30 Hertz. The amount of time at disposal for each measurement during one flight test is 30 seconds. In order to cover the whole flight envelope, the measurements are performed at several different flight Introduction 3 points. Considering the high cost of a flight the number of required experiments is to be kept as low as possible. Since two inputs are considered it is necessary in order to distinguish their influence to run two experiences. In the case of the F18-SRA a symmetrical measurement, where the inputs are the same, and an asymmetrical measurement, where the inputs are shifted of 180 degrees in respect to each other, are performed at each considered flight point. As a result of the required measurements and of the properties of the actuator at disposal the chosen input signal u(t) is a signal of sinusoidal shape with modulated frequency also known as chirp signal. Linear and logarithmic frequency sweeps have been tested. In the case of the linear sweep the signal can be written u(t) = sin(Oct2), (1) where the coefficient aocan be computed based on the desired frequency range ACO and the amount of time At at our disposal: cX = ACO/At. (2) An example of an actual input signal is given in figure 3 along with its frequency content. In figure 4 an output signal measured on the forward left wing is plotted. The very high noise content is clearly apparent in both those signal FIGURE 3. Exciting signal (force applied on the left wing) and its power spectral density FIGURE 4. Response of the excited system measured on the left wing and its power spectral density Introduction 4 1.2.3 The system to identify The approach adopted by the NASA to locate the flutter boundary of the F-18 SRA is to identify the dynamical behavior of the plant illustrated in figure 5. This system has therefore two inputs, the exciting forces applied on the wings, and ten outputs, the acceleration of the structure at ten different locations. It is assumed that it is a linear system. Noise Exciting/ Signal Actuator Sensor Noise load sesor Measured Input Sensor Noise cce me Measured output FIGURE 5. Diagram of the plant to identify 1.3 Goals of the project The goals of this project are to process the data using a time-frequency approach in order to reduce the noise and to use these results to improve the performance of the presently used identification methods. For this purpose a time-frequency signal analysis toolbox should be implemented that allows a systematic processing of the signal within the time-frequency domain and an estimation of the system's transfer functions through a graphical user interface. These results are to improve the performances of presently used identification methods. Introduction 5 2. Time-Frequency Signal Analysis 2.1 Theory 2.1.1 Why a Time-frequency analysis? To analyse the frequency content of a signal x(t), the well-known Fourier transform X(O) = fx(t) e dt (3) is available. This transform is a projection of the signal onto sinewave basis functions of infinite duration and, as a result, it is very efficient to analyse stationary signals. However if the frequency behavior of x(t) varies with time, the transform performed in (3) cannot highlight the frequency variation in function of time. To analyse such signals a transform T of the form T(x(t)) (4) = X(t,Co) which locates instantaneous frequencies in x(t) is needed. Such a transform would allow a three dimensional decomposition of a nonstationary signal where its energy content could be located as a function of time and frequency simultaneously. 2.1.2 The Resolution Problem However, such a transform as given in (4) is limited in resolution. Indeed, if one is interested in a frequency range AC , it will only be possible to perform the analysis within a time window At given by the relation Am. At>2 . (5) This relation is known as the Heisenberg uncertainty principle. Any Time/Frequency analysis therefore has for principal task to handle this resolution problem, and an a priori knowledge of the signal properties is required in order to minimize its effects. Time-Frequency Signal Analysis 6 2.1.3 The different Time-Frequency approaches The Short Time Fourier Transform (STFT) To localize the instantaneous frequency in a signal it is possible to consider small time windows of the signal and apply (3) to each of these (see [4] and [5]). The transform is defined as follows STFT(t,) = fx(=) w(t-')e-l°d~, (6) where w(t) is the window function centered at time t. The properties of this transform depend strongly on the shape and size of the window function. Indeed it will determine the frequency and the time resolution which are constant over all the time-frequency domain. This decomposition can be interpreted in two different ways. On one hand it can be looked at as a the projection of the signal onto functions w (t-, a e) -jwo~ (7) On the other hand it can be viewed as a filtering of the signal with a bank of filters. At a given frequency to equation (6) amounts to filtering the signal "at all times" with a bandpass filter having as impulse response the window function modulated to that frequency. The Wigner-Ville Decomposition The Wigner-Ville decomposition (WVD) is defined as WVD (t, o) = x(t+2x (t- eC_ dt, (8) where x (t) is the complex conjugate of the signal x (t) . This representation has a number of mathematical properties considered desirable in a time-frequency representation [5],[6] and[7]. However in practical applications its use is limited by the presence of cross terms [5] and [10], which makes representations and interpretations difficult. Time-Frequency Signal Analysis 7 The Wavelet Decomposition In order to handle the resolution problems resulting from the Heisenberg uncertainty principle recent works from Ingrid Daubechies [11], [12] and Yves Meyer [13], [14] have broaden the principle of the STFT which lead to a new time-frequency decomposition, the Wavelet Decomposition (WD). The principle of this decomposition is to perform an orthonormal projection of the signal onto functions that are "adapted" to the frequency resolution that is needed. Indeed the limitation of the STFT is that the resolution is the same at all location in the time frequency-plane. To overcome this problem functions called wavelets are considered, that are dilated (i.e. extended) and shifted versions of a mother wavelet h(t). The dilation is chosen so that the ratio stays constant. The Continuous Wavelet Transform (CWT) can be defined as follow CWT (, a)= J x (t)h ( )dt, (9) where a is the scaling factor and h (t) is the complex conjugate of h (t) . The Heisenberg uncertainty principle will still be satisfied, but now, the time resolution becomes arbitrarily good at high frequencies and the frequency resolution becomes arbitrarily good at low frequencies. The coverage of the time-frequency plane that was homogenous for the STFT is now logarithmic (figure 6). This kind of analysis works best if the signal is composed of high frequency components of short duration plus low frequency components of long duration. a) b) t FIGURE 6. Coverage of the time-frequency plane for the STFT (a) and the WT (b) Time-Frequency Signal Analysis 8 Note that the ha,t(t) are not orthogonal since they are very redundant (they are defined for continuous a and r). However it is possible to define a Discrete Wavelet Transform (DWT) where the wavelet functions generate an orthonormal basis, the considered wavelets must then satisfy the so-called dilation equations [19]. The coefficients a and r are discretized in a dyadic way and the wavelets become h, k(t)= -j 2 -j/2 h2 t kT) .(10) This results in the wavelet coefficients cj, = Jx(t) h (11) (t) In this case the reconstruction problem is unambiguous, as the chosen basis is orthonormal, and could be formulated as follows x(t) = j Cj, k k hj,k(t) k (12) Similarly as for the STFT the wavelet transform can be looked upon in a signal processing point of view as the filtering of the signal through a bank of filters [17], [15]. The considered filters are then bandpass filters, with identical shape but with varying frequency width, centered around the frequencies of interest. 2.2 Application to the F-18 SRA Measurements 2.2.1 Time-frequency decomposition of the signal Choice of transform As one of the goals of the time-frequency analysis is to process graphically the decomposition it is of high importance that the performed decomposition appears as "clear" as possible to the naked eye. For this reason the Discrete Wavelet Transform using orthogonal wavelets as described above is not appropriate since a dyadic coverage of the time-frequency plane would include too few of the frequencies of interest which range from 0 to 30 Hertz. Indeed the considered frequencies in this range would only be 2, 4, 8 and 16 Hertz. The chosen decomposition is therefore a continuous wavelet transform, using as a result non orthogonal wavelets. For the same reason of clarity the considered wavelets should have no group delay (i.e. no nonzero imaginary Time-Frequency Signal Analysis 9 part in the Fourier domain). Several FIR filters with no group delays are tested to compute a CWT. The results that appears the "clearest" are obtained with morlet wavelets, whose representation H(o) in the Fourier domain (figure 7) is given by ((O- (2) 02 2 2 (13) -e H(w) = e 0.03 0.02 0.1. 0.8 °0.6 0 0.4 - -. 01- 0.2 -0.02 0 2 4 4 6 , B 10 12 frequency(Hz) 14 i 16 i' 18 20 -0.03 4.5 4.6 4.7 4.8 4.9 5 time (s) 5.1 5.2 5.3 5.4 5.. FIGURE 7. Morlet Wavelet in Fourier and in time domain As stated above the wavelet transform that uses dilated wavelets as basis functions is adapted to signals composed of high frequency components of short duration plus low frequency components of long duration, in other words, for signals where the frequency rate goes through rapid changes in time. For the considered signals measured on the F- 18 SRA this is not the case, especially for the linear frequency sweeps where the frequency rate of change is constant over the whole signal. Thus a constant resolution is required along the whole time-frequency domain. For this reason the chosen time-frequency transform uses non dilated wavelets as functions onto which the signal is projected. To compute the whole transform the signal x(t) is filtered several times with morlet filters centered around frequencies ranging from 0 to 30 Hertz (figure 8). To simplify the computations the property that the convolution of two signals in time domain is the multiplication of their Fourier transform in frequency domain is used. The Continuous Wavelet Transform of the signal considered at time t and frequency f is then CWT(t,f) = Time-Frequency Signal Analysis - (X(o) H () (14) 10 er t x 2( t ) tilter2 x(t) CWT x (t ) filter n FIGURE 8. The CWT viewed as a bank of filters Resolution issues for the linear frequency sweep Here we try to find, using a priori knowledge on the signal, a good trade-off between time and frequency resolution which can give us an indication of the frequency width of the filter that could be used. Indeed, in the case of the linear sweep, the frequency varies from () 1 to (02 Hz in T seconds. This means that, assuming that we want a resolution of AtO in frequency, the time resolution is actually given by the time localisation of this frequency by At = T/((o2 -o,)Aco. (15) Introducing (15) in the Heisenberg uncertainty principle (equation 5) we have Ao 2 =2 T co2 - and o01 At 2 = 2 02 - (16 (16) T For the F-18 SRA the considered linear frequency sweeps range from 0 to 30 Hertz in thirty seconds, which gives At = F2 sec and A0O = F2 Hz. (17) These figures are used to determine an indication for the frequency width of the filters of the CWT. Time-Frequency Signal Analysis 11 Results Applied to one symmetrical input and output (left wing forward) for the case of a linear sweep the results illustrated in figures 9 and 10 can be obtained. In figure 11 is plotted the case of a logarithmic frequency sweep. In order to simplify the representation the absolute value of the decomposition is represented here. A two dimensional and a three dimensional representation are plotted here. 3s0 25. 4 0.2 0.4 0.6 0.8 time (s) 1 1.2 20 . time (s) 1.4 0 frequency (Hz) FIGURE 9. Two and three dimensional representation of a CWT of an input signal in the case of a linear frequency sweep. 25 Time-Frequency Analysis FIGURE10.Signal To andthrediesoa rersnainoJ Wfa otu linear~~~~ frqcysep 35wi 5 10 t5 12 inli haeo 20 25 30 y s time(S) Time-Frequency Signal 0 ° frequency (Hz) time (s) Anal 124 FIGURE 10. Two and three dimensional representation of a CWT of an output signal in the case of a linear frequency sweep. ~~~~~~~~~~~~~~~~~~~~~~20~ 40 1 0.2 0.4 0.6 0.8 time (s) 1 1.2 1.4 0 0 frequency (Hz) time (s) FIGURE 11. Two and three dimensional representation of a CWT of an input signal in the case of a logarithmic frequency sweep The observation of these results shows that the relevant signal is clearly visible among the noise. By using some kind of processing it is therefore conceivable to extract it from the noise. Added to the main component of the chirp some higher harmonic components appear which can be interpreted as nonlinear effects from the actuator. From the observation of the decomposition of the output it is also possible to forecast the general aspect of the transfer function. 2.2.2 Signal processing in the time-frequency domain Cleaning within the time-frequency domain Similarly as in [7], the principle of this method consists of eliminating, within the time-frequency domain, the information that does not "appear relevant" using nothing else than the human eye intuition and an a priori knowledge of the signal. However one has to be cautious on what information is desired especially when cleaning input and output signals together for the purpose of identifying the system's dynamics. Indeed the assumption is made that the system to identify is linear. Thus it is possible to state, if information occurs at a certain frequency and at a certain time in the output signal when no information had occurred in the input at the same point, that it has been generated by noise. Therefore by creating a mask around the main harmonic of the CWT of the input signal and by applying it to the CWT of the output signal the dynamic properties of the system can still be identified. By determining graphically the areas that are considered as noise, the results illustrated in figure 12 and 13 can be obtained. Time-Frequency Signal Analysis 13 frequency(He)~~~~~~~40 · 40~~ 35, 30 10 25 120 15 E20 :5 25 30 30 20 35 -t 4( 5 40 0.2 ~~~~~~~~~~~~~~50 10 15 20 25 0.4 0.6 0.8 1 1.2 ~~~~~~~ ~~time (s) 3frequency 0 (Hz) 1.4 time (s) FIGURE 12. Two and three dimensional representation of a cleaned input signal 1.4 to both sides of the (14).0.8Applying a Fourier transform using equation quency domain is first reconstructed .. . . ': (CiT(t)aHf(c) = X(@) 0(18) 30 40 - 40 50 5 1 10 15 20 A 25 30 time (s) 1 02 0 f.eq....y (Hz time (s) FIGURE 13. Two and three dimensional representation of a cleaned output signal Signal reconstruction in time domain As mentioned above the wavelets used are not orthogonal to one another but are on the contrary very redundant. The idea of this reconstruction is to use this redundancy to estimate a time signal which CWT best approximates, in a least square sense, the CWT that has to be reconstructed. For this purpose the signal in frequency domain is first reconstructed using equation (14). Applying a Fourier transform to both sides of the equations one would have (CWT(t,f))= Time-Frequency Signal Analysis X((o) Hf(O) . (18) 14 where ( CWT (t, f) ) could also be written CWT ( o, f) which can be seen as the filtered signal in fre- quency domain filtered with a filter centered around frequency f. One column of this matrix for a fixed fre- quency coO can be computed as follows CWT(woffl) [Hf (19) . =X (co) CWT ( ,fo, To compute the coefficient X (o) ((o) f ( o0) of the fourier transform of the reconstructed signal at frequency co, (19) can be multiplied from the right by the pseudo-inverse of the right hand side vector, which gives CWT ( ,fo f (l( l (oo) = CWT(w0 ,f) I (20) Hf (%o) The reconstructed signal in time domain can be obtained by applying (20) at every frequency and by computing the inverse Fourier transform of the obtained signal in frequency domain. Applying this method to the cleaned CWT illustrated in figure 12 the reconstructed signal shown in figure 14 can be obtained. s0-.o o,. J' , , , ,, ,,, ,,0 _-2 -30 9.9 10 1.1 12 10.3 time 10.4 10.5 10.6 10.7 10.8 (e) FIGURE 14. Reconstructed Signal in time domain from a cleaned time-frequency decomposition Analysis Time-Frequency Signal Analysis 15 Figure 15 shows that the cleaning procedure significantly improves the coherence function between the input and the output signals. 0.9 0.8 0.6 t 0.4 0.3 0.2 .0.2 . - 0.1 0 . -a . .. 5 10 . 15 20 frequency 25 ... 30 35 40 FIGURE 15. Coherence function between the first input and the first output (left wing forward) for the original signals (--) and for the cleaned signals (-) Limitations As explained above, this method is based on the user's judgement to consider some areas of the two dimensional representation relevant or not, this judgement can easily be mislead by wrong interpretation of information or by ambiguity caused by resolution problems. Furthermore this signal cleaning method can only deal with noise that occurs at time-frequency points other than the ones where relevant information is situated. Typically noise occurs at every time and at every frequency which means that a cleaned CWT still contains noise at the selected time-frequency points. At these precise points it is assumed that the signal to noise ratio is sufficiently high so that the information is not corrupted too much. Time-Frequency Signal Analysis 16 3. Application of the time-frequency analysis to the identification problem In this section we propose to apply the time-frequency approach that has been introduced in the previous chapter to the identification problem. A method to estimate the transfer functions of the considered system will first be presented. It will then be shown how a time-frequency signal processing can be used to improve the performances of subspace identification methods. 3.1 Transfer functions estimation An estimation of the transfer function of the system that has to be identified can be useful for several reasons. In the particular case of flutter boundary estimation for the F- 18 SRA an on-line monitoring of the frequency behavior of the structure can be performed based on a priori knowledge of the transfer functions. More generally the estimated transfer functions can be used to identify the parameters of the state-space matrices of the considered system. An estimation method based on the characteristics of the input signal is introduced here. Principle This method, developed by Laurent Duchesne, is based on the a priori knowledge that the input signal is a frequency sweep. Thus it is possible to isolate the relevant frequencies in the input and in the output using timefrequency considerations. With the same assumption as in chapter 1.2.2, that is the linearity of the system, and using the same argument it is possible to identify the system's dynamic using only information contained in the main component of the signal. For this method a set of symmetric and a set of asymmetric measurements are required. The step by step procedure is explained here: * step 1: localization of the relevant frequency information by filtering each signal with a very narrow bandpass filter centered around the frequency coi. Filtering the input and the output of the system does not alter the identification. Indeed if every output of a linear time invariant (LTI) system P with multiple input and multiple output (MIMO) is filtered with the same LTI single-input-single-output filter F the total system G satisfies Application of the time-frequency analysis to the identification problem 17 K G=PI (21) Therefore if the inputs and the outputs of a system are filtered with the same filter, the filtered data can also be assumed as the inputs and outputs of the system. * step 2: localization of the relevant time information by windowing each filtered signals. The chosen window is the same for every signal and is chosen around the point where the first filtered input has maximum amplitude. The a priori knowledge that the relevant information at frequency coi is localized in time is used here. Whenever the same frequency appears in the signal outside the chosen time window it is considered as noise. * step 3: computation of the Fourier coefficient for every windowed input and output at the filtered frequency oi: 2io°in X(wi) = Yx[n]e (22) * n Steps I till 3 are applied to every symmetrical and asymmetrical input and output. * step 4: estimation of the coefficients of the transfer functions at frequency coi. Using the symmetrical and the asymmetrical dataset we have 1 = a((Oi)J u, 2 ( Oi) u (oi)J (23) ((i) where ys (coi) , ya (Ogi)are the Fourier transform of the outputs for the symmetrical and asymmetrical dataset at frequency oi, u (i), uu (oi), u' (cOi) and u2 (wi) are the Fourier transform of the first and sec- ond inputs for the symmetrical and asymmetrical dataset at frequency coi and G1 (Oi) and G2 (C0i) are the coefficients of the transfer functions for the first input to the output and for the second input to the output at frequency coi, which results in Application of the time-frequency analysis to the identification problem 18 ,_ 2( i)- L ((i) U2 (Ci) (i)] To obtain a transfer function estimation along the whole considered frequency range the same process is performed for several frequencies. Results Transfer functions are estimated with the F-18 SRA measurements using on one hand the method described above and on the other hand a classical Fourier analysis with no windowing (figure 16). The time-frequency approach has clearly reduced the influence of the noise on the estimated transfer functions. These transfer functions have been computed for the first output for the following flight point: * mach number: 0.85 * altitude: 10000 feet TFul-,yl TFu2->yl 0.06 0.06 0.05 005 0.04 TF ul ->yl TF u2 ->yl 0.04 0.05 0.03 0.04 -20.0 004 o0.03 003 appr0.02 0f02.0 0.02 0of01 the time-frequency analysisto0.01 Application0.01 10 . 0... .. l0 1 20 20 30 0 10 20 30 152000OO00 0 10 20 30 200 -200 1000 1000 100 -400 0 a.a 5O01 -1000 -600 0 -800 0 -100 -1000 -2000 0 10 20 frequency (Hz) 30 -500 0 10 20 frequency (Hz) 30 -1200 0 -200 10 20 frequency (Hz) 30 0 30 10 20 frequency (Hz) FIGURE 16. Estimated transfer functions with classical Fourier approach and with time-frequency approach for output 1 in the case of a linear frequency sweep Application of the time-frequency analysis to the identification problem 19 Definition of the time-frequency trajectory for the transfer function estimation Instead of localizing the chosen time window around the point where the filtered first input has the maximum amplitude it is conceivable to define within the CWT of the input signal the time-frequency trajectory along which the windows should be selected and the transfer functions estimated. By doing this more robustness can be guaranteed in this method, especially for cases where the signal to noise ratio is small and where the maximum of the filtered signal might be difficult to identify. Moreover, if the frequency distribution in the signal is such that the main component of the frequency sweep goes more than once through the same frequency, localizing the maximum of the filtered signal would imply neglecting some cases. In figure 17 is illustrated the case of a logarithmic frequency sweep for the input signal where the considered frequency range is swept back and forth several times. The chosen time-frequency trajectory along which the transfer functions have to estimated is defined in the two dimensional time-frequency domain. The estimated transfer functions for the first output are illustrated in figure 18. 0 i25 5 s15 10 20 25 30 time (s) FIGURE 17. Time-frequency trajectory along which the transfer functions have to be estimated TF ul -> yl TF u2 0.04 -> yl 0.05 0.03 ~0.02 0.01 10 0 - 1 20 30 40 ooo 0o 10 20 30 40 10 20 30 40 -200 -200 100 -400 -800 -1000 -100 0 10 20 30 40 frequency(Hz) 0 frequency (Hz) FIGURE 18. Estimated transfer functions for the first output Application of the time-frequency analysis to the identification problem 20 3.2 Subspace Identification using signals processed with a time-frequency analysis In this section we show, based on a fourth simulated SISO system, how results obtained with a Subspace Identification (SID) can be improved by using a frequency sweep exciting signal and the above described time-frequency analysis. 3.2.1 Identification of the A and C matrices Principle The goal of subspace identification, as described in [21],[22] and [24], is to find a linear, time invariant, finite dimensional state space realization Xk+l = Axk +Buk Yk = where A E u = [ I n x n, BE n m, CE S , DE + CXk 9e (25) Duk , based on the knowledge of specific sequences ... u , y = [yl ... y]1 where p is the number of samples. However since the states are not directly observed, the system matrices are identifiable only to within an arbitrary non-singular state (similarity) transformation. The following notation is used: The block Hankel input and output matrices are defined as Yk+ Yh(k,i,j) Yk+2l ' +1 Yk+2 = Yk+j-] yk * ... ... . Yk+i- I Yk+i .' Yk+j+i-2 and Uk Uh (k, i, j) Uk+l I =k+2 ... Uk+j- Uk+j Uk+i_l Uk+i ... Uk+j+i-_ 2 Application of the time-frequency analysis to the identification problem 21 We also introduce the extended observability matrix CA [CA' ithe lower block triangular Toeplitz matrix D CB CAB Htl = 0 D CB 0 0 D ... 0 ... 0 ... 0 CAi-2B CAi-3B CAi-4B ... D and the state matrix X = [Xk Xk + ... Xk+j - 1 This notation leads to the following input output history: Yh(k, i, j) = X + HtlUh. (26) The step by step procedure of a subspace identification is presented here: · step 1: find a matrix P that satisfies an equation of the form P = FQ, (27) where F is the extended observability matrix and such that rank(P) = rank(F) = n. In the case of the deterministic system, P can be found by post multiplying equation (26) by a matrix UhI that satisfies UhUh = 0. We then obtain P = YhUh. · step 2: perform a singular value decomposition of P P = USV Application of the time-frequency analysis to the identification problem 22 where S = S 0 and U = ( U ) such that U, is the first n columns of U. Note that S1 is a n x n matrix. With equation (27), we can see that there must exist a full rank matrix T such that U1 = FT. Let us now use the following notation: if M is an m x n matrix, M (resp. M ) will be the matrix with a reduced number of rows, obtained from M by omitting the first (resp. last) I rows, where I is the number of outputs of the system. * step 3: Compute A with the pseudo-inverse of UI. Using the structure of the extended observability matrix, it is clear that r= FA and UI = _T, U1 = rT, which leads to To = 7,T A. This can also be written as 1 Therefore v = U 1 iT where v = T AT. is a similar matrix to A and 1/ = (28) 71U,. 1 * step 4: Compute C using the extended observability matrix. The equality = CA 2 can be rewritten as Application of the time-frequency analysis to the identification problem 23 = c[IA ... A'i Y 72 . (29) Therefore C = [71 2 7... [A.. A l] (30) . Results To test how signal cleaning as described in chapter 1.2 can improve system identification, the method described above to identify the A and C matrices of the state-space representation is tested on several simulated measurements. A simple fourth order SISO system is used to generate the simulated datasets. The three following cases are considered: * The system is excited with a chirp signal to which unknown white noise is added. Using the input and the output sequences A and C are identified. * The simulation is run in an identical way but the identification is performed with an output signal that has been cleaned using a CWT as described in chapter 2.2. * The system is excited with colored noise whose Power Spectral Density (PSD) is identical to the chirp's PSD and to which unknown white noise is added. A and C are then identified. For each of these identification the identified poles are plotted in figure(19) and compared to the original poles. The best results are obtained when the exciting signal is a chirp and the output is cleaned via a CWT. 60 - 40 20 _ ... - . .... ........ - ... ............ + . .o ... . . -60 ......... .- -6 -5.5 -5 -4.5 -4 -3.5 Re -3 -2.5 -2 -1.5 -1 FIGURE 19. Comparison of the poles (in Hertz) to be identified (+) with the identified poles for a chirp signal (*), a chirp with cleaned output (o) and colored noise (x) as exciting signal Application of the time-frequency analysis to the identification problem 24 3.2.2 Identification of the B and D matrices Principle As the method proposed in [21] and [24] did not deliver satisfying results for the identification of the B and D matrices of the state space model a different approach is offered here which uses the estimated transfer functions as described in chapter 3.1. Using this method implies that the exciting signal has to be a frequency sweep. The proposed approach tries to match the frequency response of the identified state space model with the estimated transfer functions. For this the well-known formula G (jo) = C(jtoI -A) B+D (31) is used. (31) can be rewritten as G (j0) = IC(joI-A) 1 ] [(32) which written for every computed frequency coi gives G (j(o ) C(j( I- A) I G(J°)2 ) C(jo,2I-A) 1- I LG (jo B(33) C(jo_I-A)-I I where n is the number of frequency points at which the transfer function has been estimated. Therefore, using the pseudo-inverse, we have C (J(I1I-A) [1= I C(Jco2 1-A)-l C (joinI-A)-l Application of the time-frequency analysis to the identification problem G (j(ol ) G UO02 ) I (34) n) 25 The whole principle of this identification method is sketched in figure (20). u, y Transfer function estimation Signal cleaning via CWT u, Ycleaned jI3Is~~~ ~ ~ G(jwi) SID for A and C Frequency fit for D and B _ A,B,C,D FIGURE 20. Sketch of the identification method using time-frequency analysis results Results Using a chirp as exciting signal the results obtained for a cleaned output and for a non processed output are compared in figure (21). The frequency response of the estimated state space representation is clearly more accurate when a CWT processing has been applied to the output signal. 80 . . M 60 20-100~~~~~~ 0-2010 -100 ~10 T .... ..... ............ -400' 10' frequency (Hz) FIGURE 21. Comparison of the frequency response of the system to be identified (-) and of the identified system for a processed output (. _ ) and a non processed output (--) Application of the time-frequency analysis to the identification problem 26 4. Summary and Conclusion 4.1 Summary The goals of this project are to bring a computational support for the identification of the flexible dynamics of the F-18 SRA by performing a time-frequency signal processing of the measured data. This processing is intended to improve the results of the identification methods presently used. A wavelet decomposition of the signal is performed using non orthogonal and non dilated morlet wavelets. This decomposition, applied to measured signals, is processed graphically. The user decides, based on his own judgement, which time-frequency points should be considered as noise and be eliminated. A cleaned time signal can then be reconstructed from this processed time-frequency decomposition. It is computed by finding a signal whose wavelet decomposition best approximates the processed decomposition, in a least square sense. A similar time-frequency approach can also be used to estimate the transfer functions of the considered system. To execute these operations a toolbox for Matlab 4.2 has been implemented which allows a systematic processing of the signals through a graphical user interface. A subspace identification can be run using the results obtained with this toolbox. 4.2 Conclusions The results obtained have led to the following conclusions: * The Time-Frequency approach allows a very good visualization and understanding of the signal information content. * The noise content of the signal can be considerably reduced by the time-frequency processing. * The estimated transfer functions, using a time-frequency considerations, are smoother and less noisy than the ones estimated with classical Fourier approach. * Using processed signals and estimated transfer functions with a time-frequency approach, improves the performances of the presently used subspace identification methods. Summary and Conclusion 27 4.3 Further work The first limitation imposed by the signal processing method proposed here is its dependency on the human intuition to distinguish, within the time-frequency domain, between the noise and the valuable information. A possible work could concentrate on finding a rigorous and systematic way to perform a cleaning of the timefrequency decomposition. Another problem encountered here is the elimination of the noise occurring at the same frequency and at the same time as the relevant information. A possible approach to handle this problem would be to use the redundant information contained in the computed wavelet coefficients to separate the noise from the signal. The results obtained with the time-frequency method described here have only been used to identify a simple Single Input Single Output fourth order simulated system. The next natural step is to apply these results to the actual real measurements and the real system. Summary and Conclusion 28 Reference [1] R.H.Scanlan, R.Rosenbaum, Introduction to the study of Aircraft Vibration and Flutter.The Macmillan Company, 1951. [2] Lura Vernon, In Flight Investigation of rotating Cylinder-Based Structural Excitation System for flutter Testing. NASA Technical Memorandum 4512. 1993 [3] Leonard S. Voelker, F-18 SRA FlutterAnalysis Results. NASA Technical Memorandum. 1995. [4] Olivier Rioul and Martin Vetterli, Wavelets and Signal Processing. IEEE Signal Processing Magazine, October 1991, pp. 14 - 37 . [5] Douglas L. Jones, Thomas W. Parks, A resolution Comparison of Several Time-Frequency Representations. IEEE Transactions on Signal Processing, vol. 40 no. 2, February 1992. [6] A.C.M Claasen, W.F.G. Mecklenbrauker, The Wigner Distribution-A tool for Time-Frequency signal Analysis. Philips Journal of Research Vol. 35, no. 6, 1980, pp. 3 7 2 -3 8 9 . [7] Gloria Faye Bourdeaux-Bartels, Thomas W. Parks, Time-Varying Filteringand Signal Estimation using Wigner Distribution Synthesis Techniques. IEEE Transaction on Acoustics, Speech and Signal Processing, vol. 34, no. 3, June 1996, pp. 442-450. [8] William J. Williams, Jechang Jeong, New Time-Frequency Distribution: Theory and Applications. IEEE ISCAS, 1989, pp. 1243-1247. [9] Ning Ma, Didier Vray, Phillippe Delacharte, Albin Dziedzic, Gerard Ginez, Time-Frequency Representation adapted to chirp Signals: Application to Analysis of Sphere Scattering. IEEE Ultrasonics Symposium, 1994. pp. 1139-1142. [10] F. Hlawatsch, W.Krattenhaler. A new Approach to Time-Frequency Decomposition. IEEE ISCAS. 1989. pp. 1248-1251. [ 11] I. Daubechies, OrthonormalBases of Compactly Supported Wavelets. Comm. in Pure and Applied Math., vol. 41, No. 7, pp. 909-996, 1988. [12] I. Daubechies, The Wavelet Transform, Time Frequency Localization and SignalAnalysis. IEEE ICASSP, Vol. 5, pp. 361-364,1992. [13] Y. Meyer, Ondelettes et Operateurs,Tome I. Ondelettes, Hermann ed., Paris, 1990. Reference 29 [14] Ronald R. Coifman, Yves Meyer, Victor Wickerhauser. Wavelet Analysis and Signal Processing.Available on the internet: http://www.mathsoft.com/wavelets.html [15] Martin Vetterli, Cormac Herley, Wavelets andfilter Banks: Theory and design. IEEE Transactions on Signal Processing, Vol. 40, No. 9, September 1992. pp. 2207-2231. [16] Jonathan Buckheit, David Denoho, Wavelab and Reproducible Research. Available on the internet: http:/ /playfair.Stanford.EDU:80/-wavelab/ [17] R.A. Gopinath, C.S. Burrus, A tutorialoverview offilter banks, wavelets and interrelations.Available on the internet: http://www.mathsoft.com/wavelets.html. [18] Gilbert Strang. Wavelet Transforms versus FourierTransforms. CICS-P-332, May 1992. [19] Gilbert Strang. Wavelets and DilationEquations:A briefIntroduction. SIAM Review, Vol. 31, NO. 4, pp. 614-627, December 1989. [20] T. Mzaik, J. M. Jagadeesh, Wavelet-based detection of transients in biological signals. Proceedings of SPIE Vol. 2303, 1994. pp. 105-117. [21] L. Duschesne, E. Feron, J.D. Pauduano, M. Brenner, Subspace identification with multiple data sets. Dec. 1995, to be published. [221 P. Van Overschee, Subspace Identification: Theory - Implementation - Applications. PhD Thesis, Department of Electrical Engineering, Katholieke Universiteit Leuven, Belgium, Feb. 1995. [23] P. Van Overschee, B. de Moor, Subspace Algorithmfor the Stochastic Identification Problem. Automatica, Vol. 29, No. 3, pp 649-660, 1993. [24] Y.M Cho, Fast Subspace based System Identification: Theory and Practice.PhD thesis Stanford University, Aug. 1993. Reference 30 Appendix A Signal analysis Toolbox: installation and operation A toolbox has been developed in order to perform a systematic time-frequency signal analysis as described in chapter 2. It has been intended to be applied at NASA Dryden Research centre for the flutter boundary determination of the F-18 SRA and might be applied on future flights data analysis for the F-18 HARV and the SR71. This tool has been written for Matlab 4.2 and allows the following actions: * time/frequency signal decomposition * signal cleaning within the time/frequency domain * signal reconstruction in time domain from a processed time/frequency decomposition * estimation of a system's transfer functions for a two inputs one output system based on symmetrical and asymmetrical measurements All the examples given below are applied on measurements taken on the F18-SRA. In order to be used properly at least one set of symmetric and asymmetric datas at one flight point are required. The toolbox is available on anonymous ftp at merlot.mit.edu in directory /pub/feron/wave_tool. 1. Installation To install this tool in your directory you should: * create a directory wave_tool with three subdirectories meas, results and tool. In the directory tool put all the files written for the tool and in the directory meas all the measured data in format .mat. * Create the required Matlab path so that all three directories are reachable from the current directory * Compile the C codes (for the moment the only one is reflect.c). * In the file run_tool.m change the variable passage so that it indicates the path from the current directory to the directory wave_tool. Appendix A 31 2. Running the tool To run the tool the file run_tool.m should be run in Matlab. In this file you should determine: * which dataset should be considered. The variables datal and data2 correspond to the different measurements. datal is for the symmetric measurements (for example mO85_10k_symm_high.mat for the F18_SRA measurements) and data2 for the asymmetric ones (for example mO85_1 Ok_asym_high. mat). * which signal among this you desire to view in time/frequency domain first. This can be done by changing the variable which_data. The first value of which_data indicates from which dataset datal or data2 the signal should be taken, the second value indicates which signal from this dataset should be considered (this value indicates the column in which it appears in the matrix vardat). · at which sampling frequency the signal was measured. Type "run_tool" in the Matlab window. You will then be asked, within the Matlab window, the following questions: · What is the minimum frequency (Hz) you want to observe? * What is the maximum frequency (Hz) you want to observe? * How many voices do you want to compute? * Which frequency resolution do you want to have? The first two answers you give determine the frequency range used for the time/frequency decomposition, the number of voices determines how many frequencies within the considered frequency range will be taken into consideration. The selected frequency resolution corresponds to the filter width used for the time/frequency decomposition. The computation of the decomposition takes approximately 20 seconds. Once it is over two graphical windows will appear on your screen as shown in figure 22, one containing the decomposed signal, the other the graphical interface offering a range of possibilities described below. The considered signal from the dataset can be changed at all time using the push buttons labelled view. Appendix A 32 40 fi 20 0.2 0.4 0.6 0.8 1 - g 1.2 1.4 FIGURE 22. Decomposed signal in time/frequency domain and graphical interface window 3. Working in the time frequency domain using the graphical interface 3.1 Changing the frequency resolution The slider labelled filter width allows you to change the frequency resolution of the time/frequency decomposition by changing the width of the filter used for the computation. If this slider is selected the whole computation for the decomposition will be run again (approximately 20 seconds) with a different resolution. In figure 23 is illustrated a decomposition of the same signal as in figure 22 recomputed with a lower frequency resolution, i.e. a wider filter. 5 $ 10 15 time (.) 20 25 30 FIGURE 23. Decomposed signal with a lower frequency resolution Appendix A 33 3.2 Changing the graphical display of the decomposition The slider color contrastand the push buttons zoom andfull size act on the window where the time/frequency decomposition of the signal is represented and allow changes in this representation. For example the decomposition from figure 22 is illustrated in figure 24 zoomed on a particular area. ttrnB (8I FIGURE 24. Zoomed time/frequency decomposition 3.3 Cleaning/recovering information in the time/frequency domain The push buttons erase and recover allow a cleaning/recovering of graphically defined areas of the time/frequency domain. Both functions' usage are exactly identical. The option box allows you to define a rectangle (similarly as the one you define with the zoom function) in which the information will be erased or recovered. The option triangleallows you to determine three points which will define a triangle in which the information will be processed. According to the chosen option or to the size of the selected area this procedure requires a computation time of approximately 15 seconds. In figure 25 are illustrated examples of cleaned decompositions, one where the option rectangle has been used and the other where all information except the fundamental harmonic has been kept. 2O' -25 5 10 ' '25 15 ne(.) 20 '' 25 30 0.2 0.4 0.6 b 08 (s) 1.2 1.4 FIGURE 25. Cleaned time/frequency decomposition Appendix A 34 3.4 Reconstructing the signal in the time domain From a processed time/frequently decomposition you have the option, using the push button reconstruct to recover the signal in the time domain. This computation requires approximately one minute. It is important to note that the reconstructed signal will only contain frequency information up to about 90 percent of the maximum frequency used for the decomposition. It is therefore wise when the file run_tool is initially run to select the value of the maximum frequency 10 percent above the highest frequency of interest. In figure 26 are compared the reconstruction of the decomposition of the signal illustrated in figure 25 with the original signal. -30 10 10.1 10.2 103 time 10.4 (e) 10.5 10 .6 10.7 10. FIGURE 26. Comparison of the processed and reconstructed signal (-) with the original signal (--) 3.5 Estimating the system's transfer functions The push button estimate TF allows you to compute an estimate of the system's transfer function using Laurent Duchesne's method which separates the considered signals in time windows and analyses separately the frequency content of each of these windows. This function is independent of any processing that might have been executed previously within the time/frequency domain. If you push this button you will be asked the following questions in the matlab window: · which output you want to consider to estimate the transfer function? * How wide you want the considered time window to be? (The required answer is the number of data points for the desired window). * do you want to determine graphically the time/frequency trajectory along which the transfer function should be estimated? You have the option to compute the two transfer functions from the two inputs to anyone of the outputs (the outputs appearing in the data matrix vardat from the F18-SRA measurements are considered from 1 to 10, 1 corresponding to the output labelled lwngfwd_nz and 10 to the one labelled raileron_nz). If the answer to the third question is 'n' the transfer functions are computed and the time windows are centered automatically, if it is 'y' you will be asked the following: Appendix A 35 * Do you want to consider a linear trajectory (lin) or do you want to customize its time/freq behavior (custom)? If you are considering a linear sweep you should then define two points graphically which will determine the line along which the transfer function will be estimated. If you want to define any other trajectory you can determine graphically twenty points within the time/frequency domain, the corresponding spline will then be plotted as illustrated on figure 27 (for the case of a logarithmic frequency sweep). If this spline satisfies you the transfer function will be estimated along it, if it doesn't you will be able to define a new one. For the case of a logarithmic frequency sweep the transfer function for the first output has been estimated and plotted on figure 27. TFul ->yt 00:. 5 10 15 7.00 25 30 TF u2->y1 0.04 I R 20 30 2° 1rqet(Hz) 0 10 20 30 0 arfmly (Hz) FIGURE 27. Trajectory along which the transfer functions should be estimated in the case of logarithmic frequency sweep and estimated transfer functions 3.6 Plotting a three dimensional representation of the decomposition The time/frequency decomposition illustrated in figure 22 is a three dimensional picture represented in two dimensions. By selecting the push button do 3D plot you have the possibility to plot the time/frequency decomposition of the signal (processed or not processed) in three dimensions as illustrated in figure 28. 40. 3028. representation dimensional of a time/frequency decomposition 205Three 700 FIGURE 28. Three dimensional representation of a time/frequency decomposition Appendix A 36 4. Constraints Nearly all the functions of the tool require a lot of computation and can take a long time to be run. It is therefore important first of all to be patient, but also not to click on more than one function at a time in order to let the computations be executed properly. Appendix A 37 Appendix B: Matlab Codes The following codes have been written to implement the signal processing toolbox as described in Appendix A and to implement the results mentioned in Chapter 3. They heve been written to be run on Matlab 4.2. Their functionality is described here: Codes for the signal processing toolbox: · run_tool.m: Main code of the wavelet toolbbox. Initiates the whole process. * STFT_morlet.m: Computes the wavelet decomposition of a given signal using morlet wavelets. * STFT_fir.m: Computes the wavelet decomposition of a given signal using FIR filters as given by the the matlab signal processing toolbox. * gui.m: Initiates the graphical User Interface * modify.m: Computes the modification of the CWT given graphically by the user. * reflect.c: C code which reflects a vector. * reconstruct.m: Computes the reconstructed time signal from a processed CWTestim_TF.m * estimate.m: Initiates the computing of the transfer functions. * estim_TF.m: Conputes the estimated transfer functions * plot_2D.m: Plots the two dimensionnal representation of the CWT * plot_3D.m: Plots the three dimensionnal representation of the CWT * gord.m: Organizes the figure windows on the screen Codes for the Subspace identification: · classic_SID.m: (originally written by Laurent Duchesne modified by X. Paternot) computes the state-space matrices A and C with a subspace identification. * BD_estim.m: Computes the state-space matrices B and D with a frequency fit. Appendix B: Matlab Codes 38 a ~ ~~, ~ ... -~ ~,,~~~? ~ ' o o a~~~ a, ~R'=~~~~~~~~~ L ~~ra 1~ n .9 5 5 O-' 3E XB ~~~~~~E n 4 2 .~o i · E" s E n ~ ~ .Zi · ~E. s Appendix · =lo v. · ~ in~~ E E 5 o.~~~ ,I ~= B: M atlab C odes r i: Y~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~e ,5 r.-c I~ ; · E rl~~~~~~~~~' . ~-- E -~ F, r B , ~~~. ~--S· n~~-3 O ;u~~~~J~s~~~~ :~~E ,, r ~~- ~~ c-~g, o~ ~, r ~ ·=55Y1·EU -3 nY) I C ue~~feu: ~ ~,, CI ;r e· ~,'~ Appendi ~x B: .~.~) atl~abEj a) ,l+B ~ *1 :-.l- , _ ~_~ Co ": E ~ I I1 > >= es ~- I ri;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ t.I. I ~-.-. ~ :ar .. _ .. 0" d i5 3. "~'', = ut 39 > + I v ~.,~~~~~~~Z y ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~ !z -g "L~l .'J ·?~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7 ra~~~~~~~~~~~~~~~~~~~ ,j 2 " 'g Appendix B: Matlab Codes Li E ' ,E 96r 3 g r e; . e--~~~~~~4 F~~~~~~~~~~~ a~~~~~~~~~~~~~~~~~~~~ E '..; 2 0~ E E .920~~~~~~~~~~~~~~~~~ o~ 2 , --. . .I ~. ~.,c o _, e- o E - . : E5 E1 E o ~ 03,. .o 2c ' ;:::* I05UE .900 -· ~ ~ ~ · E E5 .- E 00 A pni 0 -,000,~·: : E. ~ .. M .B: Mta l E ~o:9 ~ 6 OIl 0 ,. .0 :~~~~~~~~~~~~ Appendix E C odes Appendix~. Matla Coe BI ~ .o0,,5 ;a4 ,X O o 0. e-r~,I E -~~~~~~~~~~~~~~~~~~~~~.. E E ~~~-s ~~~~~~~~E : 0 E,. t2 3 ~~~~~~~; .4,4 E 2 8 vl o 10 r~~~~~~ t E E, E E ·r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -o_ _ 0 II 0 "IX~~~~~~ : :0 : = 3 c,.'S .= .00r~ 0. a: U s, U II II . ·e (~ ,: .5 z. L) B: - I e. = - ; 0 t : 'e :-" 4 ~ ', . U · ~5 ., E, 1 ~. .' " 0.0. i r I -, e4 41.~ e w E 7 I_ E 8 S 5^ , ~~; owe c E l°5_ ng s /s; a15* O rE o E 1 i E TS r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~- t ? E t= ~~~~ ~ ~ ~ ~~~~~0 01) -:`b j,~~~~~~~~~~~~~~~~ ~~~~~~~~~~ : L2"& ,= MtlbCoes4 a o c g~~~~~~~~~~~~~~~~~~~~~~~' -E~~~~~~~ SU 273Se ~~~ ~ m x ~~~ N x~~i; ~~-=3 J C~ ApenixB _ 3 r J:,.9 t ~ 5. E]~~~~~En uv ' w ~~~~~E I 8E^fi-r 8amXm S i E a~~~~~' S15 ~~.O x =2U 75 8nJzo C 'E e 77, E U - 7 _ . E~~~~~~~~ z~~ E. " CA "oo El E , ~~~~~~~~~~E Vu E 5 E E -~~~~~~~~~ u~~~~~~~ i cr ;~i ~~ u 'r i: ex B Appndx B Mt ,7 ? S, b Cde ~~.. ,.~ o tab L·~~~~~~~~~~~~~~~~~~~~~~ ::E q, u e E~~~~~~~~~~~~~~~~~~~~~~~~~~~!-- E~~~~~~~~~~~~~~~~~~~~ 6- 11) 4 E, e, K- . ~ E n 6° cI >I 5 al I > 5> . _ , Appendix B: Matlab Codes IIEECo *_ Apend B Mtb .C .- .= N N X*~~~~~ "~~~~~~~~ Y~~~~~ C tab M * B Appenix . 2 22 . I'o' 2< aode s a~~~~~~~~~~~4 E E .5_ o ,2. a~~~~~~~~ = ~ ~~~~~~~~~~- + _ id 3, .- w > n U e 3 a 3 - 5 3 . _ >% 5 3 C .~ o~~~~~~~~~~~~~~~~ ! Mx >S ~ ~ ~ ~~~~~~~~~~~~, ~~~~~~~~~... ~ >o D ~~6 .'J E `.L Appendix B: E~~~~~~~~~ t : ~~ Matlab Codes E E> >~~~~~~~~~~ E:~~~~~~~~~~~~~~~~~~ ~.~ = ~~,3L. 45 E _~~~~~ E i El E N Cde B Appndx 'j; L .C~~E v.1-E C~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:7 II ·?B f~~~~~~~ uE7 E ·d~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ S 4 Mtlb ~, . . , u E X y y _=. n .=§' = c. + E . a P 2= · ~~~~~~~ ~~~~~~ ., wJ -~ V g-2 II~~~~ .2 ~~~~~~~~~~~~~~~~~~~~~~~~~~ ."'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~t 5:.~ 2Z~~ · ~~~~ a .C > a a.~ ~ - ~ t: C,~~~~~; .,, IC ~ ~,_~~~. II: a C Gill (= . =-l ~ jc-- . 2. qre C.~ E~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ a o3 ~ :=E Appendix0B: E 2 -' -F X~~~C ! - 0,I ye E .o E E Matlab ~A2 ~ ~~~~~ L ,~ .o~~ ~ E ~~~eay .I 22 >Ee 22 .C P 5 Appendix B: Matlab Codes E5 . Co 3 a a -- - rx ~C ,,~~E a 7 0-E2 I C.r C. a .C.C 2 Eeu *~ Y 2 C r ... 2~ ED. 75, C'-: E E E~ 46 5 e!~~~~~~~~~~~~~~~1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ c I 2 E8 el >lo' + + :"+ l 3~~~~- ~~~~~~~>+ >~' ~-~ 8, XX... : E E ,E EE N8~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~c ::;- if 3 Ii .. - I .. ~ ~ = = >,> ~~u ~~~-2, ~~~~~- Z cc~~~~~~~~~~~~~~~~~~~c E 8" E ~~k~i . ~ 5 LY~~~~. ~ · 8 E 3c oc b. z"3._ .~ hN E ~~~~~~~~~. ,- ·- '(~~~~~~~~~~~~~~~~~~~~~~~~E ~. o 2 ,t "7 . ~ , . t2 = = S~~~~~~~~~~~~~~~~~~~~"~~~~. E C 3a S~ar II : >'- rcI- aE ,A P~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ E ,~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ E- ia, .2 'c E vg''t v ·t E N .c, Appendix B: Matlab Codes , ~ E "" - a" a '- EA E r~~~~ Z 2.t n E" '; c! -=., v E'- 2r 25 t- 47 E Y .o~~ ~~~~~~~~~~~~~~~~~~~~~~6 a ~S ~ ~ ~ ~ ~ ~ Q) v Z *3 ' T"' 3 Cr 'F - Es~~~~~~~~~~~~~EE a E E~~~~~ Nr E E E a ~. 3= ~ v ~~~~~~~~~~~~~~~~~~~~~~~~~~~~v ,~IV E a~~~~~~ .E .- u, ~ Apedi : =4Matlab ~ a, '-· 'Codes .... ~ .a~o ;· ~. ,* IE~u' A III '~ O' ~ N NC v,~~~~~' ~ ;~ I . V II :rrn" I e~eo . E tl o ~~ ~ ~~~ ~ ) ...ra * x;xx~ne, " ~ ~ ~ ~ ' I E; =, r' -0 - ~ c-,~ @ 48PY -'_,c " :~C,,r.;; ~ E . o . ~ (r~ ' ., J l E,.~-, ~ VrA o . I E~~~~~~~~~~~~~~~~~~~~~~ C'*"I 1 . .-= . ~ ~ ~ ', o a ApedxB:Mta Cds4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·= 7 7cL E:=: .=+ ·t ._ ....... o ~ ,d Appendix .: ·- >a C-d E w a~~i AE+ JY1 X E: + .I E~ E oE ~ -s~~~~~~~~~~~~~~~~~~~~~~~~~ L r~, 19 ·r:~~~~~~~~~~~~~~~~~~1 u -:4 ~ "" =X U n~.~'~-= jE E. ·e t:0' f; ".:+.2~~~~~~~~~~~~~~~~~~~~ - d -~~~~CV ~y3 '=E ~.,O.'.~. ~II·= L~C c E Dh~.. ev r ~O ,,,,,3 .C~~ ; ~ '~ =~ ." e' r ?" z~~ ~,,? .= r ,:; 99 = ~~~~~~~~~~~~~~~ ..~ a'; -I Appendix~row , I~e 9;-E-. B: M`c _.. ~ -z _'" " .r. 4 E > 7 g , D. ~"' I' C' o '~ ~= ~ E =C E r~~~~~~~~ ~~~~~ +~~~~~~~ d' L =~ . C ~,~7 o ,3=. e 9 Patlab d4 rr 3 L, s x ,O s > .C zr O U e S :· tj s: II ': 5 r; o_ cu, Z m ."E .** a ri: EOU DUr on see o10 II II 8ar, +E LC =S; ouc e 2: W 'J Ebi .~Z cr r=,E 3; e"; C9 Cr II n e5 e,,rp c Appendix B: Matlab Codes --- L ---------- Y (OICP 5" 9 Y rJ_ rrII mf 50 _ _