Survey

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Survey

Document related concepts

no text concepts found

Transcript

Master Thesis MEE-98-01 A SURVEY ON METHODS FOR TIME-FREQUENCY ANALYSIS Jan Mark de Haan _____________________________________________ Master of Science program in Electrical Engineering 1998 University of Karlskrona/Ronneby Department of Signal Processing Examiner: Benny Lövström Supervisor: Jens Augustsson, SSPA Maritime Consulting Version nr Date Updates 1.0 24-06-1997 Start Chapter 1 and Chapter 2. 1.1 07-09-1997 Start Chapter 3 and 4. 1.9 10-10-1997 Towards version 2.0 (Deliverance of chapter 1, 2, 3 and 4). 2.0 16-10-1997 Deliverance of chapter 1, 2, 3 and 4. 2.9 19-12-1997 Chapter 4 rewritten. Addition of 5, 6, 7 and 8. Towards 3.0 3.0 26-01-1998 Deliverance of chapter 5, 6, 7 and 8. 4.0 13-03-1998 Final version. Version 4.0 March 1998 Master Thesis MEE 98-01 Keywords: Signal processing, Time-frequency analysis, Wavelets, Wavelet Packets. $FNQRZOHGJHPHQWV 2 This Master's thesis is the result of my final project at the University of Karlskrona/Ronneby. There are many people whom I'd like to thank for their assistance during the project. First, I would like to thank Jens Augustsson and Erik Pavlica, working at SSPA Maritime Consulting, for their guidance and the possibility to gain knowledge in an exciting field of science. In this context I also would like to thank Martin Almgren. Thanks also goes to Mathias Winberg for the useful discussions and Benny Lövström, both working at the Department of Signal Processing at the University of Karlskrona/Ronneby, for the final comments on my thesis and for the possibility to work on my project at the department. Last but not least, I would like to thank Karl Thorén for reading my thesis thoroughly and Nedelko Grbic and Xiao-Jiao Tao for their inspiring suggestions. Finally I would like to thank everyone who helped me during my project, and Lisa Lorentz for putting up with me during my studies in Sweden. Jan Mark de Haan Ronneby, Sweden 13 March 1998 3 4 $EVWUDFW Time analysis and frequency analysis are both well-established ways in engineering to gain more knowledge about a physical phenomena. Time and frequency analysis can be combined in a joint time and frequency distribution. A simple method to gain a joint distribution is to window segments of the data at different time locations and calculate its Fourier transform. By doing this a set of ´local´ spectra are gained and joined to present a time-frequency distribution. This method is well known as the Short-Time Fourier Transform. The Short-Time Fourier Transform has the disadvantage that is does not localize time and frequency phenomena very well. Instead the time-frequency information is scattered which depends on the length of the window. This can be attended to by altering the length of the window but a certain balance between good time and good frequency localization is unavoidable. To cope with this disadvantage, the Wavelet Transform uses dilated and translated functions, which are local in time, and frequency, which results in good frequency resolution for lowfrequency phenomena and good time resolution for high-frequency phenomena. The advantage of the Wavelet Transform is its efficient fast transform in discrete time. But still, there is no complete solution to the localization problem. Adaptive Time-Frequency Analysis can be advantageous for solving the localization problem. The functionality of methods is hereby adapted to the time-frequency content of the signal. The Adaptive Wavelet Packets Transform is based upon the Wavelet Transform but is a more general way to gain a time-frequency distribution. It is even possible to gain a time-frequency distribution similar to the Short-Time Fourier Transform. The energy levels in the frequency bands determine the frequency resolution. Much energy located in a small frequency band will result in good frequency resolution for that specific band. Other frequency areas will be analyzed with as good time resolution as possible. Sine wave with constant frequency precedes time phenomena. The method is implemented using a fast Quadrature Mirror Filter bank tree which form determines resolution of the analysis. In the Adaptive Window Short-Time Fourier Transform, the time phenomena precede sine waves in the analysis. Good time resolution is gained where the time-frequency concentration is highest for short windows. Other time intervals will be analyzed with a longer window, to gain better frequency resolution. The method is implemented using a set of Fast Fourier Transform calculations. 5 6 7DEOHRI&RQWHQWV Acknowledgements.................................................................................................3 Abstract...................................................................................................................5 Table of Contents....................................................................................................7 1 1.1 1.2 1.3 1.4 Introduction ..........................................................................................................11 Representations ......................................................................................................11 Objectives of this work...........................................................................................12 Mathematical Notations .........................................................................................13 Thesis Organization ................................................................................................13 2 2.1 2.2 2.3 2.4 Uniform Resolution Time-Frequency Analysis..................................................15 Introduction............................................................................................................15 The Fourier transform ............................................................................................15 Towards Time-Frequency Analysis........................................................................17 The Short-Time Fourier transform .........................................................................17 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 Definition ..........................................................................................................................................17 Windowing in the Time-domain........................................................................................................19 Windowing in the Frequency-domain................................................................................................20 The Time-Frequency Plane................................................................................................................21 Time and Frequency Uncertainty.......................................................................................................22 The Heisenberg Uncertainty Principle...............................................................................................26 The Spectrogram ...............................................................................................................................28 The disadvantages of the Short-Time Fourier Transform..................................................................28 2.5 Other Uniform Resolution Time-Frequency Representations................................31 2.5.1 The Gabor transform .........................................................................................................................31 3 3.1 3.2 3.3 Multiresolution Time-Frequency Analysis ........................................................33 Introducing Scale....................................................................................................33 The Multiscale Short-Time Fourier transform........................................................33 The Continuous Wavelet Transform......................................................................36 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 Introduction .......................................................................................................................................36 Definition ..........................................................................................................................................36 Properties of the Continuous Wavelet Transform..............................................................................38 The Continuous Wavelet Transform and the Time-Frequency Plane .................................................39 Profile of the Continuous Wavelet Transform ...................................................................................40 Wavelet radius and bandwidth..........................................................................................................41 The Scalogram...................................................................................................................................41 4 4.1 4.2 Adaptive Time-Frequency Analysis....................................................................43 Introduction............................................................................................................43 The Multiresolution Fourier Transform..................................................................44 4.2.1 4.2.2 Profile of the Multiresolution Fourier Transform..............................................................................44 Wavelet Duration and Bandwidth......................................................................................................46 4.3 Adaptive Window Short-Time Fourier Transform.................................................46 4.3.1 4.3.2 Short-Time Time-Frequency Concentration ......................................................................................47 Optimal Window Time-Frequency Representation ...........................................................................47 5 5.1 5.2 Discrete Short-Time Fourier Transform and Implementations.......................49 Introduction............................................................................................................49 Parameter Discretization ........................................................................................49 7 5.3 Discrete Short-Time Fourier Transform................................................................. 51 5.3.1 5.3.2 Discrete Fourier Transform.............................................................................................................. 51 Windowing in discrete time .............................................................................................................. 52 5.4 Time domain based implementations..................................................................... 53 5.4.1 5.4.2 Redundant discrete STFT ................................................................................................................. 54 Non-redundant discrete STFT........................................................................................................... 56 5.5 Frequency domain based implementations............................................................ 58 5.5.1 5.5.2 Redundant discrete STFT ................................................................................................................. 58 Non-redundant discrete STFT........................................................................................................... 60 6 6.1 6.2 6.3 Wavelet Transforms and Implementations........................................................ 63 Introduction ........................................................................................................... 63 Parameter Discretization: Discrete Wavelet Transform........................................ 63 Multiresolution Analysis ........................................................................................ 65 6.3.1 6.3.2 Subspaces, Scaling functions and Wavelet functions ........................................................................ 65 Wavelet composition and decomposition ......................................................................................... 67 6.4 Fast Wavelet Transform ........................................................................................ 68 6.4.1 6.4.2 Quadrature Mirror Filter Bank.......................................................................................................... 68 Discrete Wavelet Transform implemented by a QMF-tree ............................................................... 69 6.5 Implementations..................................................................................................... 70 6.5.1 6.5.2 Continuous Wavelet Transform......................................................................................................... 70 Fast Wavelet Transform.................................................................................................................... 71 7 7.1 7.2 Adaptive Transforms and Implementations ...................................................... 73 Introduction ........................................................................................................... 73 Wavelet Packets .................................................................................................... 74 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 Expansion of the MRA...................................................................................................................... 74 Wavelet Packets composition and decomposition ............................................................................ 75 FWT based upon the expanded MRA ............................................................................................... 76 Energy Prediction and Tree Pruning ................................................................................................. 77 Calculation of Filter Coefficients ..................................................................................................... 77 Implementation.................................................................................................................................. 78 7.3 Adaptive Window Short-Time Fourier Transform................................................. 80 7.3.1 7.3.2 Optimal adaptive window ................................................................................................................ 80 Towards an efficient implementation................................................................................................ 80 8 8.1 8.2 8.3 Conclusions........................................................................................................... 85 Introduction ........................................................................................................... 85 Comparison of Results........................................................................................... 85 Further Reading ..................................................................................................... 88 References............................................................................................................. 91 Index...................................................................................................................... 95 Appendix............................................................................................................... 99 Appendix A: Symbol List..................................................................................... 101 Appendix B: Abbreviations ................................................................................. 103 Appendix C: Mathematical Proof........................................................................ 105 8 9 1 Introduction THIS PAGE IS NOT PART OF THE THESIS DOCUMENT COVERS PAGES 1-14 Organization of this chapter: 1 Introduction _________________________________________________________ 10 Representations___________________________________________________________ 11 1.2 Objectives of this work ____________________________________________________ 13 1.3 Mathematical Notations ____________________________________________________ 13 1.4 Thesis Organization _______________________________________________________ 13 10 1.1 &KDSWHU ,QWURGXFWLRQ 5HSUHVHQWDWLRQV When dealing with physical objects, many of its different faces, or, representations are encountered. For example numbers in various systems can be represented depending on the application; in real life we use the decimal system, while for use in computers we employ the binary representation of numbers. Consequently in many fields, such as signal processing, a preliminary task is to find an adapted representation of the data that may be particularly suitable for a problem. A certain representation can reveal certain aspects; other representations preserve integrity while reducing the amount of data. A way to obtain a specific representation is to decompose a datasequence or signal into elementary building blocks, which have certain importance. This is often achieved with a technique that is called transformation. Moreover, these building blocks have to reveal unique information. Then the question raises how to decompose a signal. A fast algorithm is desired, to perform the decomposition, since otherwise a particular decomposition might be only of theoretical importance. In a practical situation, the possibilities concerning speed of computations and the data storage space are limited. Once these building blocks are collected, the data sequence might be composed of the blocks to approximate the original sequence as good as possible, usually with an inverse transform. A goal of a transform might be the reduction of size of the signal; therefore we need to be able to compose the signal with only the few building blocks we gained from the transform, so that it is a desirable approximation of the original signal. One of the classic sets of tools to achieve a different representation of a signal is the Fourier theory. The Fourier integral gives a continuous-time decomposition while its discrete variant gives a discrete-time decomposition, which can be implemented using a fast algorithm. 11 Although the algorithms differ, the underlying mathematical ideas are the same for these representations. The representation of a signal by means of the Fourier theory is essential to solve many problems in pure mathematics and in applied science. However, it is in some instances not the most natural or useful way of representing a signal. For example, music or speech are signals in which the spectrum evolves over time in a significant way. At each moment in time the ear hears a certain combination of frequencies, and that these frequencies are constantly changing. This time evolution of frequencies is not reflected in the Fourier transform1, because it decomposes over the infinite time interval. In theory a signal can be reconstructed from its Fourier transform, but the transform contains information about the frequencies of the signal over all times instead of showing how the frequencies vary with time. It is desired to see how the frequency content of a signal varies with time in the way musical score serves the musician see figure 1.1. An analysis is wanted comparable to an exercise called musical dictation which is writing a note, or a set of notes, at certain pitch levels (frequencies) at the proper horizontal position (time) on the bars. Figure 1.1: Musical score can be seen as a time-frequency representation. A representation, which combines time and frequency, is gained by performing timefrequency analysis. Several methods exist to decompose a signal in time-frequency components. The most common methods can be divided in two groups: • Uniform time-frequency analysis • Multiresolution time-frequency analysis. 1 The Fourier Transform is usually split up in an amplitude spectrum and a phase spectrum. The amplitude spectrum representation, which is meant in the text, does not show time information of the original signal. The time information is however conserved in the phase spectrum. 12 2EMHFWLYHVRIWKLVZRUN The main objective of this work is to describe the properties and limitations of time-frequency analysis, by presenting basic methods to give background to its problems and an introduction to more advanced methods, dealing with these limitations. The aspects of wavelets in general are investigated, and more thorough, their benefits in time-frequency analysis. Simply how wavelets can be used to workaround the limitations of basic methods. Adaptive time-frequency analysis is investigated, and how it can increase the value of a multiresolution time-frequency analysis with wavelets. The discussed methods will be implemented in MATLAB, to show advantages, disadvantages and above all the distinctions between the methods. 0DWKHPDWLFDO1RWDWLRQV The mathematical notations in this thesis make use of many superscripts and subscripts. In order to make this thesis readable for a relatively large audience; an attempt has been made to use this notation in a consistent manner. A large letter indicates a continuous variable, which can adopt a value out of an infinite amount of numbers. A small letter indicates the discrete version, which can only adopt a number out of a finite amount of numbers. If they have a subscript attached they are a constant and do not vary within a range of values. Functions, however, are written with small letters for continuous functions as well as discrete functions. The large letters are used to refer to other representations than time-domain representation, e.g. the Fourier Transform. 7KHVLV2UJDQL]DWLRQ This thesis is divided into two main parts. The first part describes the fundamental theories and the continuous cases of the time-frequency analysis. The second part describes the discrete cases and implementations. Each part is divided in three chapters, see table 1.1. PART 1, Chapter 2-4 1. Uniform 2. Multires PART 2, Chapter 5-7 3. Adaptive 1. Uniform 2. Multires 3. Adaptive Fundamental theory Fundamental theory Fundamental theory Discrete parameters Discrete parameters Wavelet Packetes Continuous STFT Continuous WT Continuous MRFT Full discrete STFT Full discrete WT Adap. window STFT Adap. window STFT Implementations Implementations Implementations Table 1.1: Thesis organization. 13 14 &KDSWHU 8QLIRUP5HVROXWLRQ7LPH)UHTXHQF\ $QDO\VLV ,QWURGXFWLRQ This chapter is divided in four parts. The first part describes one of the most important transforms in signal processing, which is the Fourier transform. The Fourier transform reveals the notion of frequency in a signal. The time-frequency analysis introduced in this chapter is based on this transform. After a short introduction towards time-frequency analysis, the easiest method for uniform resolution time-frequency analysis is introduced: the short-time Fourier transform, and its spectrogram representation. The time-frequency plane is described which is the basis for a representation of a signal in both time and frequency. The windowing-in-time technique and its filterbank interpretation are discussed. Also the name for this chapter is justified, resulting in a general limitation of combined time-frequency analysis; the Heisenberg uncertainty principle. Finally the disadvantages of uniform resolution time-frequency analysis are depicted. The last section gives a short overview of other, to the short-time Fourier transform related time-frequency representations. 7KH)RXULHUWUDQVIRUP Time-frequency analysis exploits ordinary frequency analysis with the Fourier transform. The latter of the time-frequency methods use the time wise decomposition of a signal in its frequencies. With the Fourier transform, a time representation of a signal, x( T ) , is transformed into a new function X FT (F ) of which the absolute value gives a frequency representation. 15 First in 1807, Jean-Baptiste Fourier discovered, partly based on work done by Daniël Bernoulli, that any periodic function could be decomposed into only sinewaves. The Fourier series of any periodic function (Theorem of Euler-Fourier) shows how it is composed of elementary infinite sines and cosines. This theorem concerns only those sines and cosines that are integer multiplies of a base frequency 2Tπ0 [CM90]: 2πkT 2πkT + bk sin x( T ) = a 0 + ∑ a k cos T0 T0 k =1 ∞ 1 2 The coefficients a and b rely on the function being analyzed and are called its Fourier coefficients. The term 12 a0 is the coefficient of the constant function cos2π 0T = 1 . It is in many aspects easier to work with the complex exponential function e jθ instead of the trigonometric functions cosθ and sin θ because it reduces computational efforts, for example 1 with differentiation and addition . Using the relations cosθ = 21 (e jθ + e − jθ ) and sin θ = 1 2j (e jθ − e − jθ ) , the Fourier series expansion can be rewritten to: ∞ ∑c e x( T ) = k =−∞ where c0 = 21 a0 , c k = 1 2 (a k − jbk ) and c− k = 1 2 j 2πkT T0 k (a k + jbk ) for k = 1,2,3,... The coefficients c k can be calculated with the following formula [CM90]: 1 ck = T0 T0 2 ∫ x( T ) e − j 2πkT T0 dT − T0 2 The Fourier transform calculates the Fourier coefficients X FT ( F ) of a Fourier series expansion of the non-periodic function x( T ) on the whole real line R = − ∞ , ∞ . The expansion is defined as continuous superpositions of the analyzing function e − j 2πFT : X FT ( F ) = ∞ ∫ x (T )e − j 2πFT dT (2-1) −∞ or, if using the angular frequency Ω = 2π F : ∞ X (Ω) = ∫ x( T ) e − jΩT dT −∞ The analysis coefficients X FT ( F ) in (2-1) define the notion of frequency F in the signal. The inverse Fourier transform is defined by: 1 d dθ 16 e jθ = je jθ , e j (θ +ξ ) = e jθ e jξ x(T ) = 1 2π ∞ ∫ X FT (F )e j 2πFT dF −∞ The analysis function is a complex periodic function. As a result, Fourier analysis works well if x( T ) is composed of stationary (wave) components2. However, any abrupt change in time in a non-stationary signal is spread out over the whole frequency domain in X FT (F ) . Therefore, an analysis adapted to non-stationary signals requires more than the Fourier transform. 7RZDUGV7LPH)UHTXHQF\$QDO\VLV The usual approach is to introduce time dependency into the Fourier analysis while preserving linearity. In the next section, a translation-parameter is introduced which refers to the specific time interval or window wherein the signal is approximately stationary. A function of two variables, time and frequency, is introduced, meant to be a joint distribution representing the time-varying spectral properties of the signal. A time-frequency distribution should show which frequencies are present at a given time. A simple and intuitive way to achieve such a distribution is through the use of the short-time Fourier transform (STFT). In the next section the STFT will be introduced, a transform that results in a local spectrum with the windowing-in-time technique. Then a relationship with the ordinary Fourier transform is established, which shows that windowing in the time-domain is equal to windowing in the frequency-domain. The result of the transform can be mapped into a twodimensional plane, which is called the time-frequency plane. The following section then shows by examples that windowing in time and frequency involves the loss of measuring accuracy and thus introduces uncertainty, which is known as the Heisenberg uncertainty principle. 7KH6KRUW7LPH)RXULHUWUDQVIRUP 'HILQLWLRQ The Short-Time Fourier Transform (STFT) or windowed Fourier transform is a transform that yields a representation of sequences of any length by breaking them into shorter sections, and applying the Fourier transform to each section. This is a time-frequency localization technique in that it computes the frequencies associated with small segments of the signal. For each section, the STFT calculates its Fourier transform. The continuous STFT is defined as [CC92]: 2 x(T ) = ∑e jΩ nT ∀n 17 X STFT (Tˆ , Fˆ ) = ∞ − j 2πF T dT ∫ x(T )w(T − Tˆ )e ˆ (2-2) −∞ The window w( T ) that is used is local in time, it is zero for values of T outside the window. The line above the window function means complex conjugate. The choice of the window function is important. Section 2.4.5 will clarify the need to consider carefully the choice of window duration and the shape. If we compare the transform to the ordinary Fourier transform, it can be recognized that the analyzing function e − j 2πFT is replaced by a variant, which is local in time, since it's multiplied with the window function. The new analyzing function is therefore local in time and has a fixed duration for all frequencies. The frequency inside this window varies, just like the frequency of the analyzing function in the ordinary Fourier transform does indefinitely over all times. The analyzing function of the STFT is defined as [CC92]: 2 ˆ g Tˆ , Fˆ (T ) = w(T − Tˆ )e j πFT (2-3) It contains the variables Tˆ and F̂ that represent time and frequency in the so-called timefrequency plane which will be discussed in section 2.4.4 Figure 2.1 shows the analyzing function with a specified length and for a specific value of the frequency F̂ . a) b) 1 1 1 0.5 0.5 g(T) g(T) 0 Amplitude 0 Amplitude 0 -0.5 0 -0.5 -1 -1 -1 -1.5 1 -50 -1 -50 00 Time T 5050 -1.5 -50 -50 00 Time T 5050 Figure 2.1: The analyzing function of the STFT g 0,4 (T ) . a) Real part, b) Imaginary part. F̂ =4 and the window used is a Hamming window with duration 100. The analyzing function has instances, each connected to specific values for Tˆ and F̂ . The instances are translated across the time-domain due to parameter Tˆ . This translation is shown in figure 2.2. Three instances of the analyzing function are given at different locations Tˆ , and have different values for F̂ . Notice that the analyzing function can be located at any Tˆ , 18 contain any frequency F̂ and has uniform duration which means that the analyzing function has the same duration for all Tˆ and F̂ . 1 1 Amplitude 0 0 -1 -1 g(T) 0.5 -0.5 -1.5 -50 00 5050 100100 150 T Time Figure 2.2: Three instances of the analyzing function of the STFT. The instances are from left to right: g 0, 501 (T ) , g 75, 251 (T ) and g150, 252 (T ) . :LQGRZLQJLQWKH7LPHGRPDLQ Two important properties of the analysis function g (T ) are its center T0 and its radius ∆ g (T ) . They are defined by [CM90]: ∞ T0 = ∫ T g (T ) −∞ 2 dT (2-4) g (T ) 2 2 ∞ ∆2g (T ) = Where g (T ) 2 = 2 ∞ ∫−∞ g (T ) 2 2 2 ∫ (T − T0 ) g (T ) dT −∞ g (T ) 2 2 (2-5) dT is the energy of the analysis function. (2-4) And (2-5) are also well known properties in statistics, namely mean and variance [HB96]. The duration of the analysis function can be calculated with 2∆ g (T ) . The STFT gives local information of x( T ) in the time-window: T0 + Tˆ − ∆ g (T ), T0 + Tˆ + ∆ g (T ) 19 :LQGRZLQJLQWKH)UHTXHQF\GRPDLQ A relation can be established between the STFT X STFT (Tˆ , Fˆ ) , and the Fourier transform X FT (F ) of the original signal x( T ) . First, an analysis function in the frequency domain needs to be determined, which is the Fourier transform of the analysis function in the time domain GFT (F ) = FT [g (T )] . The Fourier transform of the analyzing function g (T ) is: GFT (F ) = e − j 2π ( F − Fˆ ) Tˆ W FT ( F − Fˆ ) Using (2-2), the definition of the STFT can be rewritten to: X STFT (Tˆ , Fˆ ) = ∞ ∫ x(T )g (T )dT −∞ The Parseval Identity ∞ ∞ ∫−∞ x(T )g (T )dT = 2π ∫−∞ X FT (F )GFT (F )dF 1 X STFT (Tˆ , Fˆ ) = = 1 2π 1 2π 1 = 2π is used to rewrite (2-2) to: ∞ ∫ X FT (F )G FT (F )dF −∞ ∞ j ∫ X FT (F )e −∞ ∞ 2π ( F − Fˆ )Tˆ WFT ( F − Fˆ )dF (2-6) ∫ X FT (F )e −∞ 2 = (e − j πFT ) ⋅ ˆˆ 1 2π − j 2πFˆ Tˆ W FT ( F − Fˆ )e j 2πFTˆ dF ∞ ˆ )e j 2πFTˆ dF ( ) ( X F W F − F FT FT ∫ −∞ where a relationship is given between the STFT and the Fourier transform of a signal x( T ) . The result of (2-6) and the definition (2-2) shows the relationship between windowing in the time-domain and windowing in the frequency-domain: ∞ ∫ x(T )w(T − Tˆ)e − j 2πFˆT dT −∞ = (e − j 2πFˆTˆ ) 1 ⋅ 2π ∞ ∫ X FT (F )WFT (F − Fˆ )e (2-7) j 2πF Tˆ dF −∞ With the exception of the factor ( e − j 2πFT ) one can see that ”the windowed-in-time Fourier transform of x(T ) is similar to ”the windowed-in-frequency inverse Fourier transform X FT (F ) ”. ˆˆ We can also interpret W FT (F ) being the transfer function, and g (T ) = w(T )e j 2πFT the impulse response of an infinite set of bandpass filters. X STFT (Tˆ , Fˆ ) is then an infinite set of signals, ˆ associated with the outputs of these bandpass filters. The outputs of these filters can be 20 calculated using equation (2-6), which can be interpreted as an inverse Fourier transform of the signals Fourier transform multiplied with the transfer function of each bandpass filter. Or with equation (2-7), which can be interpreted as a convolution integral, which calculates the convolution of the signal in the time-domain with all the impulse responses. Similar as done in the time-domain we can calculate the center frequency F0 and the radius ∆ GFT (F ) of the window function GFT (F ) [CC92]: ∞ F0 = ∫ F G FT (F ) −∞ ∞ 2 ∆ GFT (F ) = Where G FT (F ) 2 = ∫ 2 ∞ −∞ dF G FT (F ) 2 2 ∫ (F − F0 ) −∞ 2 2 G FT (F ) dF 2 GFT (F ) 2 2 (2-8) GFT (F ) dT is the energy of the analysis function. The width of the 2 analysis function, the bandwidth, can be calculated with 2∆ GFT (F ) . The result in (2.14) gives local spectrum information of x( T ) in the frequency-window [CC92]: F0 + Fˆ − ∆ GFT (F ) , F0 + Fˆ + ∆ GFT (F ) The choice of window function has to be taken carefully, since windowing of the signal in the time domain means filtering of the signal in the frequency domain. A window that is local in time and local in frequency is required. The choice of the window depends on the requirements on accurate amplitude measurement weighted against spectral leakage [PJ96]. 7KH7LPH)UHTXHQF\3ODQH The absolute value of the short-time Fourier transform X STFT (Tˆ , Fˆ ) can be mapped into a two-dimensional plane with a time axis and a frequency axis. This is called an amplitude time-frequency distribution. The two previous sections defined the windows in respectively time and windows in frequency. These windows generate rectangular time-frequency frames or sometimes called Heisenberg frames. They are defined by [CC92]: T0 + Tˆ − ∆ g (T ) , T0 + Tˆ + ∆ g (T ) × F0 + Fˆ − ∆ GFT (F ) , F0 + Fˆ + ∆ GFT (F ) 21 2∆ F̂ g(T) F̂2 2∆ G(F) F̂1 0 Tˆ1 Tˆ2 Tˆ Figure 2.3: Location of time-frequency frames in the Time-Frequency Plane. The related analysis functions are ˆ ˆ g ˆ ˆ ( T ) = w ( T − Tˆ1 ) e j 2 π F T and g ˆ ˆ ( T ) = w ( T − Tˆ2 ) e j 2 π F T 1 2 T1 , F1 T2 , F 2 The shape of the frames depends on the duration of the window in time and the bandwidth of its Fourier transform. Due to the scaling property of the Fourier transform, the areas of the frames are the same for any window length [CM90]: FT [x( aT ) ] = 1 F X FT a a (2-9) If the duration of the analysis function is increased, the bandwidth decreases proportionally. This means that only the shape of the window influences the area of the time-frequency frame. 7LPHDQG)UHTXHQF\8QFHUWDLQW\ A simple example showing an important property of the STFT is that for windows with infinite size in the time- and -frequency-domain [PE91]. The STFT of the function x( T ) can be calculated using the Dirac impulse as the window function: w( T ) = δ (T ) , so that its Fourier transform is W FT ( F ) = 1 . This is rather strange and it does not reflect a very practical situation but it shows what one might expect. Using (2-6): X STFT (Tˆ , Fˆ ) = (e − j 2πFˆ Tˆ 1 )⋅ 2π ∞ ∫ X FT (F ) ⋅1 ⋅ e −∞ j 2πFTˆ dF (2-10) = x(Tˆ ) If the result is mapped into the time-frequency plane we gain the time-domain representation of the original function x( T ) which is not very surprising. If a window w( T ) is used, that is infinitely small, and therefore a window W FT (F ) that is infinitely long, the time-domain representation of the function x( T ) is gained. A similar calculation, can be done by setting the window w( T ) = 1 and therefore its Fourier transform W FT (F ) = δ (F ) , using (2-7): 22 = X STFT (Tˆ , Fˆ ) ∞ ∫ x (T ) ⋅1⋅ e − j 2πFˆ T dT (2-11) −∞ = X FT ( Fˆ ) If this result is mapped into the time-frequency plane, the frequency-domain representation of the original function x( T ) is gained. If a window w( T ) is used that is infinitely long, and therefore a window W FT (F ) that is infinitely small, the normal time-domain representation of the function x( T ) is gained. The calculations (2-10) and (2-11) do not reflect a practical situation. The results however are important. They implicate that the smaller the window w(T ) , the sooner a representation is obtained which is similar to the time-domain representation. The smaller the window W FT (F ) , the sooner a frequency-domain similar representation is obtained. The STFT is thus a representation that lies between the time-domain representation and the frequency-domain representation. The following examples show that it is not possible to get an ideal time-frequency representation. A simple example signal consists of a single complex sinusoid [PE91]: x(T ) = e j 2πF x T Using (2-2) and any window w( T ) to calculate its STFT: X STFT (Tˆ , Fˆ ) = = ∞ ∫ x(T )w(T − Tˆ )e −∞ ∞ ∫e j 2πFxT − j 2πFˆT dT 2 ˆ w(T − Tˆ ) e − j πFT dT (2-12) −∞ = W FT ( Fˆ − Fx ) The idealized representation would be a Dirac function located at Fx for all times Tˆ , since x( T ) only consists of one frequency. The STFT though yields the window function with its center located at Fx . The relation between the idealized representation is clear but there is a loss of accuracy, a loss of resolution. Figure 2.4.a shows the idealized representation with infinite resolution and accuracy, which is a straight line at the oscillation frequency Fx . Figure 2.4.b shows the STFT representation of the complex sinusoid, which is the Fourier transform of the window function. 23 a) b) Figure 2.4: X STFT (Tˆ , Fˆ ) representation of the STFT of a single complex sinusoid with F x =50. a) Idealized representation, b) STFT representation using Hamming window. Another example is the calculation of the STFT of a Dirac impulse located at time Tx [PE91]: x(T ) = δ (T − Tx ) Using (2-6) and the window (2-13) w( T ) , with its Fourier transform W FT (F ) and X FT ( F ) = e − j 2πFT x to calculate the STFT yields: X STFT (Tˆ , Fˆ ) = ( e − j 2πFT ) ˆˆ 1 2π ∞ j 2πFT ∫ X FT (F )WFT ( F − Fˆ )e dF ˆ −∞ ∞ 1 − j 2πFTx ˆ )e j 2πFTˆ dF e W F F ) ( = (e − FT 2π −∫∞ ˆˆ 1 j 2 Fˆ Tˆ w(Tˆ − Tx ) e j 2πFT = (e− π ) 2π w(Tˆ − Tx ) = 2π − j 2πFˆ Tˆ (2-14) This case is more or less similar to that of the sinusoid in the example above. One might expect a Dirac impulse at T = Tˆx for all frequencies F̂ , but instead the STFT yields the time window located at T = Tˆx for all frequencies F̂ . Even with this example, a loss of resolution occurs. But even here, the relation between the idealized representation and the one that is yielded by the STFT is still clear. Figure 2.5 shows the idealized time-frequency representation of a Dirac impulse located at T = 50 . The STFT representation of the Dirac impulse shows the result of (2-14), the time window with its center located at T = 50 . 24 a) b) Figure 2.5: X STFT (Tˆ , Fˆ ) representation of the STFT of a Dirac impulse located at T =50. a) Idealized representation, b) STFT representation using the same Hamming window as in figure 2.4. This final example of two complex sinusoids and two Dirac impulses will illustrate the need for larger or smaller time window [PE91]: x(T ) = e j 2πF1T + e j 2πF2T y (T ) = δ (T1 ) + δ (T2 ) Using the results of (2-24) and (2-26) the STFTs of x(T ) and y (T ) are: X STFT (Tˆ , Fˆ ) = W FT ( Fˆ − F1 ) + WFT ( Fˆ − F2 ) YSTFT (Tˆ , Fˆ ) = 1 2π {w(Tˆ ) + w(Tˆ )} 1 2 The following three figures will show the STFT representations of x(T ) and y (T ) for three different radii ∆ g (T ) : a) b) Dirac impulse at T=35 and T=65 Sinusoid at F=45 and F=55 Window width = 50 Window width = 50 25 c) d) Dirac impulse at T=35 and T=65 Sinusoid at F=45 and F=55 Window width = 20 Window width = 20 e) f) Dirac impulse at T=35 and T=65 Sinusoid at F=45 and F=55 Window width = 14 Window width = 14 Figure 2.6: STFT representation of two Dirac impulses (a,c,e) and two sinusoids (b,d,f). It clearly shows the Fourier scaling theorem and inaccuracy that occurs when an analyzed signal would consist of both long duration frequencies and transients. It shows the need of longer windows for long duration frequencies and shorter windows for transients. 7KH+HLVHQEHUJ8QFHUWDLQW\3ULQFLSOH A signal cannot be concentrated in both time and frequency. It simply takes time for a frequency to exist. The areas of the time-frequency frames are lower bounded, which limits the choice of resolution in the time-frequency plane [CC92]. The area of a frame is calculated with (2-5) and (2-8), where is assumed that T0 = 0 and F0 = 0 : (4∆ By using 26 g (t )∆ GFT (F ) ) 2 = 16 g (T ) 2 2 ∞ 2 1 T g (T ) 2 dT ∫ G (F ) 2 −∞ FT 2 ∞ 2 F GFT (F ) 2 dF ∫ −∞ (2-15) F GFT (F ) = 2 2 FT [g ' (T )] 1 4π 2 2 (A-3) and the Parseval Identity, (2-15) can be rewritten: (4∆ g (t )∆ GFT (F ) ) 2 = 16 ⋅ 2π g (T ) 2 G FT (F ) 2 2 2 ∞ 2 ∞ T g (T ) 2 dT 1 g ' (T ) 2 dT 2 ∫ ∫ 4π −∞ −∞ (2-16) We can now use the Cauchy-Schwarz inequality, which defines the lower boundary of the product of the length of two vectors v and w by the scalar product v , w . If v and w are vectors in an infinite dimensional space they can be seen as functions. The length of v can 12 ∞ 2 then be calculated with ∫ [v(T )] dT . The scalar product v , w can be calculated with − ∞ ∫ ∞ −∞ v( T ) w( T )dT . Setting v( T ) = T g( T ) and w(T ) = g ' (T ) , the Cauchy-Schwarz inequality can be written as [CC92]: ∞ ∞ 2 ∞ 2 2 ∫ T g (T ) dT ∫ g ' (T ) dT ≥ Re ∫ Tg (T )g ' (T )dT −∞ − ∞ −∞ 2 If this is substituted in (2-16): (4∆ g (t ) ∆ G(F ) ) 2 ≥ ≥ ≥ 16 ⋅ 2π g (T ) 2 GFT (F ) 2 2 2 16 ⋅ 2π g (T ) 2 GFT (F ) 2 16 ⋅ 2π 2 2 g (T ) 2 GFT (F ) 2 1 1 ≥ 2 ⋅ 2 g (T ) 2 π 2 2 ∞ 1 ⋅ 2 Re ∫ Tg (T )g ' (T )dT 4π −∞ 2 1 1 ∞ d 2 ⋅ 2 ∫ T g (T ) dT 4π 2 −∞ dT 2 1 ( ) ⋅ 2 g T 2 16π 2 If g (T ) has unit energy the above yields that the area of any time-frequency frame is at least 1 , so that the product of the radii ∆ g (T ) and ∆ GFT (F ) is bounded by: π ∆ g (T )∆ GFT (F ) ≥ 1 4π This is known as the Heisenberg uncertainty principle. The Heisenberg uncertainty principle applies with localizing frequency in time with any time-frequency analysis. It is not possible to have arbitrarily good time resolution simultaneously with good frequency resolution. A long time window gives poor time resolution but relatively good frequency resolution. A large bandwidth window gives poor frequency resolution but relatively good time resolution. A certain uncertainty is unavoidable. 27 The variables Tˆ and F̂ are the centers of the uncertainties and time-frequency information is spread out within a range ± ∆ g (t ) and ± ∆ GFT (F ) around Tˆ and. Note that the area of a timefrequency window only depends on the shape of the window and the duration of the window. 7KH6SHFWURJUDP The spectrogram is a way to visualize the STFT. It is defined by [RO91]: X STFT (Tˆ , Fˆ ) 2 = ∞ ∫ x(T ) w(T − Tˆ )e −∞ 2 − j 2πFˆ T dT 1 = 2π ∞ ∫ X FT (F )WFT (F − Fˆ )e 2 j 2πFTˆ dF −∞ It shows how the energy of the signal is distributed over the time-frequency plane. The spectrogram is often presented as an image of which the colors or gray-scales indicate the energy. Two examples are given in figure 2.7. 7KHGLVDGY DQWDJHVRIWKH6KRUW7LPH)RXULHU7UDQVIRUP A disadvantage with the STFT is that it poorly resolves phenomena which have a duration shorter than the duration of time window. Moreover, shortening the window to increase time resolution may result in unacceptable increases in computational effort of an implementation, especially if the short-duration phenomena being investigated do not occur very often. One of the biggest disadvantages however, due the Fourier scaling property described in section 2.4.4, is that it also involves less good frequency resolution. The limitation described in 2.4.6, the Heisenberg uncertainty principle is also a disadvantage, but this regards time-frequency analysis in general. The limitation described by the Fourier scaling property makes us choose between relatively good time or frequency resolution. This implies that in the case of the STFT, we are forced to choose whether we require good time or good frequency resolution due the window that has a fixed length over the entire time-frequency plane. A signal that contains both low frequency components with long duration and high frequency transients of short duration cannot be analyzed simultaneously using the STFT. A way to overcome this limitation is to introduce scale. This technique will be introduced in chapter 3. 28 Magnitude [dB] -20 -30 -40 -50 -60 0 2000 4000 6000 8000 Frequency [Hz] SPECTROGRAM x 0 1 Time [s] 2 3 4 5 0 1 600 0 0 0 1 TeM Magnitude Figure 2.7.a: Spectrogram of a synthetic signal containing two local sine waves and two Dirac impulses. Furthermore, random noise with uniform distribution was added. The length of the signal is 1024 samples. Sampling frequency is 16,384 Hz. Used window is a 128 sample Hamming window. The spectrogram is generated using 512-point DFTs with a stride of 1 sample, overlapping is thus maximal and the spectrogram approximates the continuous STFT. The figures above and to the right are respectively frequency-domain and time-domain representations of the signal. 29 Magnitude [dB] -20 -30 -40 -50 -60 0 2000 4000 6000 8000 Frequency [Hz] SPECTROGRAM x 0 1 Time [s] 2 3 4 5 600 0Magnitude 0 0 0 11 TeM Figure 2.7.a: Spectrogram of a synthetic signal containing two local sine waves and two Dirac impulses. Furthermore, random noise with uniform distribution was added. The length of the signal is 1024 samples. Sampling frequency is 16,384 Hz. Used window is a 512 sample Hamming window. The spectrogram is generated using 512-point DFTs with a stride of 1 sample, overlapping is thus maximal and the spectrogram approximates the continuous STFT. The figures above and to the right are respectively frequency-domain and time-domain representations of the signal. 30 2WKHU8QLIRUP5HVROXWLRQ7LPH)UHTXHQF\ 5HSUHVHQWDWLRQV 7KH*DERUWUDQVIRUP The Gabor transform is a special variant of the STFT. It uses any Gaussian function as window function [CC92]. The use of a Gaussian window function has analytical advantages. It generates the smallest possible time-frequency windows, according to the Heisenberg uncertainty principle. The Gaussian window function is defined by: −T 4α 2 1 w(T ) = e 2 πα Its Fourier transform W FT (F ) is: W FT (F ) = e − 4π F α 2 2 The energy w(T ) 2 is easy calculated using the definition of the Fourier transform: 2 2 w(T ) 2 = = ∞ ∫ w(T ) 2 ∫ w(T ) 2 −∞ ∞ −∞ = 1 2 πa ∞ dT e − j 2πFT dT where F = 0 (2-17) ∫e 2 −T 2α − j 2πFT e −∞ − 12 = (8πa ) e −2απ −1 = (8πa ) 2 2 F 2 ∞ Using (2-5), the result of (2-17) and equation dT ∫T 2 − e 2 T 2α dT = −∞ 3 π (2α )2 , of which a proof is 2 given in the appendix, the radius ∆ w(T ) can be calculated: ∆ w(T ) = w(T ) 2 −1 ∞ ∫ T w(T ) 2 2 dT −∞ 1 2 3 1 π 2 (2α ) = (8πα ) ⋅ 4πα 2 = α 1 4 (2-18) If we now take a closer look at the definition of the STFT (2-7), where we use the Gaussian as a window function we see that almost the same window is used with time windowing as well as frequency windowing: 31 1 2 πα ∞ ∫ x(T )e −(T −Tˆ ) 2 1 4α e− j 2πFˆ T dT −∞ = (e − j 2πFˆTˆ )⋅ 1 2π Windowing in time takes place with w(T ) = e W FT (F ) = e − 4π 2αF 2 ∞ ∫ X FT (F )e 2 2 −4π ( F − Fˆ ) α ej 2πFTˆ dF −∞ 2 −T 4α and windowing in frequency with . Windowing in frequency is hereby similar to windowing in time, with the difference that α has been replaced by 1 16απ 2 : W FT (F ) = w(T ) T → F 1 = e α→ 2 2 − 16π αF 4 = e− 4π 2αF 2 16 απ 2 We can now calculate the area of a frame in the time-frequency plane, using this result and (2-18): ( 2∆ g (T ) )( 2∆ G ( F ) ) = ( 2 α )( 2 1 16π 2α )= 1 π (2-19) Which is the smallest possible area size, according to the Heisenberg uncertainty principle mentioned in 2.4.6. 32 &KDSWHU 0XOWLUHVROXWLRQ7LPH)UHTXHQF\$QDO\VLV ,QWURGXFLQJ6FDOH In the previous chapter, the importance of the Heisenberg uncertainty principle in timefrequency analysis was depicted. In this chapter multiresolution time-frequency analysis is introduced, which simply means that a signal is analyzed, using a set of time-frequency frames where the resolution is changed according to a scale parameter. The multiscale short-time Fourier transform, described below, generates a set of timefrequency planes with different resolutions, related to a scale parameter, and therefore generating a multiresolution analysis. Each plane has though uniform resolution. The wavelet transform and related transforms, which will be described in section 3.3, and further, generate a multiresolution time-frequency plane. General wavelet transforms generate a plane related to the translation parameter, already introduced with the STFT, and a scale parameter that will be introduced. These wavelet transforms are used in time-scale analysis. This way of analysis is very natural when analyzing structures and surfaces, which is the case in image processing and geophysics. Time-frequency analysis can be obtained by relating the scale parameter to frequency. 7KH0XOWLVFDOH6KRUW7LPH)RXULHUWUDQVIRUP To gain a presentation for time-frequency analysis that covers the relatively accurate measurement of all possible components of a signal, scale can be added to the STFT as a fourth dimension. In [PE91] a method is described which generates a series of STFT uniform resolution time-frequency planes with a different resolution for each plane. Pearson refers to this method as the Multiresolution Fourier Transform (MFT). This method will be described 33 briefly in this thesis and will be referred to as the Multiscale Short-Time Fourier Transform (M-STFT). The M-STFT is defined as: X MA −STFT (Tˆ , Fˆ ) = ∞ ˆ A ∫ x(T ) w( A(T − Tˆ ))e − j 2πFT dT (3-1) −∞ A scale variable A is introduced which is bounded by: A>0 The factor A is a normalization factor for energy conservation. The scale parameter affects the size of the analysis function, which is related to a chosen analysis window w(Tˆ ) . When the scale parameter is set to A = 1 , the undilated window is applied and the transform reduces to the STFT. If the size of the window is chosen, such that rectangular time-frequency frames determine the representation we have better frequency resolution for 0 < A < 1 , and better time resolution for A > 1 . If A decreases, the duration of the basic analysis function, and proportionally the time resolution increases. This results in better frequency resolution, according to (2-9). If A → 0 the window duration becomes infinitely large and equation (3-1) reduces to the continuous Fourier Transform. If A increases, the duration of the basic analysis window, and proportionally the time resolution decreases. This results in better time resolution. If A → ∞ the window duration becomes infinitely small and X MA − STFT (Tˆ , Fˆ ) reflects the ordinary time domain representation of the original signal. The time-frequency planes yielded by the M-STFT are often corresponding to transform levels. At level 0 with A = 1 the structure is identical to the STFT, using the basic analysis function. Higher levels correspond to scale factors lower than 1. Lower levels correspond to scale factors that are larger than 1. The scale parameter is related to the level index n by: A= 1 αn In a practical situation, n is chosen to be an integer which involves discretization of the scale parameter. The constant α is the M-STFT scale constant. Figure 3.1 shows the structure of the M-STFT. 34 ↑ Frequency Time → n < 0 A >1 n = 0 A=1 n > 0 A <1 Figure 3.1: M-STFT structure. A big disadvantage of this method is the amount of data that is being generated with a practical implementation. Both good time and good frequency resolution at the same frequency is in most cases not necessary. When analyzing music, briefly mentioned in chapter 1, we need good frequency resolution to analyze the frequency of a note and good time resolution to analyze the onset and the character of the instrument. In that case the M-STFT is a good analysis method. Figure 3.2 shows four levels of the M-STFT of the recording of an ambulance. Figure 3.2: M-STFT of a recorded ambulance. The signal has 8192 samples and 10 kHz sampling frequency. Window sizes used are, from left to right: 64, 128, 256 and 512 samples. With the wavelet transform described in the next section the scaling property remains, but only one time-frequency plane is generated. 35 7KH&RQWLQXRXV:DYHOHW7UDQVIRUP ,QWURGXFWLRQ The concept of wavelets was defined in the early eighties, a synthesis of ideas, which originated during the last thirty years in engineering, physics and pure mathematics. The word wavelet comes originally from the French language. Onde is the French word for wave. A small wave, which is local in time, is ondelette, which is the diminutive word for onde. In English, simply the suffix –let is added to the word wave. The wavelets can be placed in the same context as the analyzing function in the previous chapter. Transforms related to wavelets are divided in two main groups, continuous wavelet transforms and discrete wavelet transforms [DI92]. The words 'continuous' and 'discrete' relate to the transform parameters. The continuous case is described in the next section. The discrete case is described in chapter 6. 'HILQLWLRQ The previous chapter depicted the disadvantages of uniform resolution time-frequency analysis, It takes narrow time windows to analyze transients more precisely and narrow frequency windows to analyze long duration components more thoroughly. Hence, uniform resolution time-frequency analysis is not suitable for analyzing signals with both types of components. The method which will be described in this section, the Continuous Wavelet Transform (CWT) relative to some basic wavelet, to be defined below, provides a flexible time-frequency frame, of which the duration automatically narrows when observing high-frequency phenomena and widens when studying low-frequency environments. Before the CWT is introduced, the STFT with its analyzing function g (T ) are recalled: X STFT (Tˆ , Fˆ ) = ∞ ∫ x(T )w(T − Tˆ)e − j 2πFˆ T dT −∞ ˆ g (T ) = w(T − Tˆ ) e j 2πFT With the CWT, any basic analyzing function is used which has the important property of being local in time. This basic function has its center at T0 and has a center frequency F̂0 , already defined in chapter 2. The basic function of the wavelet transform is referred to with the Greek letter ψ and is called the mother wavelet [HC94]. The mother wavelet has zero mean, 36 ∞ ∫−∞ψ (T )dT = 0 , and is limited in both time- and frequency-domain. An example is the Morlet wavelet, shown in figure 3.3. 4 3 Magnitude 2 1 0 -1 -2 -3 -1 -0.5 0 0.5 1 Time Figure 3.3: The Morlet wavelet. The CWT uses translations of the mother wavelet, just like the STFT uses translations of its analyzing function. A scale parameter is added which involves dilation of the time-axis that is covered by the wavelet translations, note that hereby even the translation parameter is dilated. This is shown in figure 3.4. 8 6 Magnitude 4 2 0 -2 -4 -6 -1 0 1 2 3 4 5 Time Figure 3.4: 3 Instances of the Morlet mother wavelet. The wavelet in 0 is the mother wavelet, the wavelet in 2 has A=2 and B=4 and the wavelet in 4 has A=4 and B=8. The translation parameter B and the dilation parameter A (A>0), which are continuous, define the wavelet instances of the analyzing function of the CWT [RO91]: ψ A, B (T ) = T − B ψ A A 1 (3-2) For large values of A the duration of the wavelet instance is large. For lower values of A the duration of the wavelet instance decreases. Note that this is contrary to the M-STFT. The CWT is defined as [RO91]: X CWT ( A, B) = ∞ 1 A ∫ x (T )ψ ( T −B ) A dT (3-3) −∞ 37 3URSHUWLHVRIWKH&RQWLQXRXV:DYHOHW7UDQVIRUP Analogous to procedure (2-6) with the STFT, a relation between X CWT ( A, B) and X FT (F ) can be defined, where Ψ AFT, B ( F ) is the Fourier transform of the wavelet instance (3-2) [CC92]: Ψ AFT, B (F ) = A A ΨFT ( AF )e − j 2πF B ∞ The Parseval Identity ∫ x(T )ψ A,B (T )dT = −∞ X CWT ( A, B) = = = ∞ 1 A 2π −∞ A A 2π ∞ 1 2π ∫ X FT (F )ΨA,B (F )dF FT A gives: −∞ ∫ x(T )ψ ( A A T −B A )dT ∞ ∫ X FT ( F )ΨFT ( AF )e − j 2πF B A ∫ X FT ( F )ΨFT ( AF )e j 2π F B A −∞ ∞ dF (3-4) dF −∞ Important properties of the mother wavelet ψ (T ) and its Fourier Transform ΨFT (F ) are their centers Tˆ0 and F̂0 , and their radii ∆ψ (T ) and ∆ ΨFT (F ) . These properties can be calculated with (2-4) and (2-5). Analogous to the STFT, these properties define the location of the timefrequency frames. Important for these frames is the influence of the dilation parameter. The radius of a wavelet instance is proportional to the dilation parameter: ∆ψ A , B (T ) = A∆ψ (T ) (3-5) For the wavelets Fourier transform the Fourier scaling property (2-20) can be used: ∆ ΨAFT, B ( F ) = 1A ∆ ΨFT ( F ) (3-6) Which involves a decreasing bandwidth when the wavelet duration is increased. Since the center of the mother wavelet is at Tˆ0 , the center of any wavelet instance is determined by: T −B ˆ = T0 ⇔ T = B + ATˆ0 A (3-7) So that the CWT gives local information of x(T ) in the time window: B + ATˆ0 − A∆ψ (T ) , B + ATˆ0 + A∆ψ (T ) The center frequency at which the wavelet is located is determined by: Fˆ Fˆ = 0 A 38 (3-8) This means that low frequencies are associated with scales close to ∞ and therefore with long duration wavelets which have small bandwidth in the frequency domain. The higher frequencies are associated with scales close to 0, and therefore with short duration wavelets which have large bandwidth. The CWT gives local spectrum information of x(T ) in the frequency window: Fˆ0 A − A1 ∆ ΨFT (F ) , Fˆ0 A + A1 ∆ ΨFT (F ) One can think of this window as a frequency band with center frequency Fˆ = Fˆ0 A and bandwidth 2∆ Ψ FT ( F ) = A ,B 2 A ∆ ΨFT ( F ) . The ratio Fˆ0 A Fˆ0 centerfrequency = = 2 ∆ ΨFT (F ) A 2∆ ΨFT ( F ) bandwidth is independent of the dilation parameter. Since the wavelets (wavelet instances) can be considered as impulse responses for a set of bandpass filters (see chapter 2) this is called constant-Q-filtering [CC92]. The CWT gives time-frequency information in the time-frequency frame: B + ATˆ0 − A∆ψ (T ) , B + ATˆ0 + A∆ψ (T ) × Fˆ0 A − A1 ∆ ΨFT (F ) , Fˆ0 A + A1 ∆ ΨFT (F ) Figure 3.2 visualizes the properties of time-frequency frames with a wavelet transform. 2 A∆ψ (T ) Fˆ0 A 2 ∆Ψ ( F ) A FT B + AT̂0 Figure 3.5: Time-frequency window properties of the CWT. 7KH&RQWLQXRXV:DYHOHW7UDQVIRUPDQGWKH7LPH)UHTXHQF\3ODQH To map the CWT into a time-frequency plane similar to that presented in chapter 2, a relationship is required between the translation parameter A, the dilation parameter B, and the parameters Tˆ and F̂ which define the time-frequency plane. 39 The plane parameter F̂ is related to the dilation parameter with the identification defined in the previous section: Fˆ Fˆ = 0 A The time parameter Tˆ is related to both the translation parameter and the dilation parameter: Tˆ = B + ATˆ0 Figure 3.3 shows how the time-frequency frames with a wavelet transform are mapped into the time-frequency plane: 2A ∆ψ(T) 2 F̂ Fˆ0 A2 V 2∆G(F)/A VI 2 2A ∆ψ(T) 1 Fˆ0 A1 III IV 2∆G (F)/A 1 FT 2∆ψ(T) F̂0 I 0 2∆G (F) II FT Tˆ0 B2 + ATˆ0 B1 + ATˆ0 B3 + ATˆ0 Tˆ Figure 3.6: Location of time-frequency frames in the time-frequency plane. The related analysis functions are: . ψ 1I, 0 ( T ) = ψ ( T ) ,ψ 1II, B (T ) ,ψ AIII , B ( T ) ,ψ AIV , B ( T ) , ψ VA , B ( T ) and ψ VI A , B (T ) 2 1 1 1 3 2 1 2 2 3URILOHRIWKH&RQWLQXRXV:DYHOHW7UDQVIRUP The dilation parameter A (scale) can be plotted as a function of F̂ , according to relation (3-8). This function is called the profile. Figure 3.7 shows a typical profile for a wavelet transform. The importance of this profile function will be clarified in the next chapter. 40 1 SCALE 0.8 0.6 0.4 0.2 0 0 50 FREQUENCY 100 Figure 3.7: The profile function of the wavelet transform for Fˆ 0 = 1 . :DYHOHWUDGLXVDQGEDQGZLGWK The radius of any wavelet instance and its bandwidth can be plotted as functions of the frequency F̂ . Figure 3.8 and 3.9 show the nature of these relations, according to (3-5) and (3-6). 100 RADIUS 80 60 40 20 0 0 50 FREQUENCY 100 Figure 3.8: The wavelet radius as a function of frequency, Fˆ 0 = 1 and ∆ψ (T ) = 100 . 100 BANDWIDTH 80 60 40 20 0 0 50 FREQUENCY 100 Figure 3.9: The wavelet bandwidth as a function of frequency, Fˆ 0 = 1 and ∆ ΨFT ( F ) = 1 . 7KH6FDORJUDP A similar time-scale distribution, like the spectrogram with the STFT, can be defined in the wavelet case. It is called wavelet spectrogram, or scalogram. 2 X STFT ( A, B) = ∞ 1 A ∫ x (T )ψ ( 2 T −B A )dT (3-9) −∞ 41 Both the spectrogram and the scalogram produce a more or less easily interpretable visual two-dimensional representation of signals, were each pattern in the time-frequency or timescale plane contributes to the global energy of the signal. A time-scale plane can easily be converted into a time-frequency plane, using relations (3-7) and (3-8). An example of a scalogram is shown in figure 3.10. An implementation of the continuous wavelet transform and scalogram is given in section 6.5.1. Figure 3.10: Time-scale representation of 4 cosines. The time-domain representation of the signal is shown right. Clearly is to see the periodic nature of the different cosines. The picture also shows that higher frequencies are related to lower scales and that lower frequencies are related to higher scales. 42 &KDSWHU $GDSWLYH7LPH)UHTXHQF\$QDO\VLV ,QWURGXFWLRQ In order to tackle the disadvantages of the STFT and CWT, a time-frequency representation can be improved by adapting the transform to the time-frequency content of the signal. This can be done in three obvious ways: 1. Optimizing in time. This involves that components that are local in time, such as transients will be analyzed with good time resolution. Time intervals containing transients will be analyzed with short analysis functions or wavelets. For the other intervals, the transform will be optimized for the analysis of frequencies, with arbitrarily good frequency resolution. 2. Optimizing in frequency. This means that frequencies, local in time, will be analyzed with good frequency resolution. Frequency intervals containing relatively more energy will be analyzed with long analysis functions or wavelets. For the other intervals, the transform will be optimized for the analysis of transients, with arbitrarily good time resolution. 3. Optimizing in time-frequency. This involves adapting the time-frequency windows to the signal. Methods, which belong to this group, are not within the scope of this thesis. This chapter takes up two methods belonging to the first and second group, each with an implementation. Section 4.2 describes the multiresolution Fourier transform which is a method that optimizes in frequency, by first analyzing the frequency content of the signal to determine the analysis functions to be exploited 43 Section 4.3 describes the adaptive window short-time Fourier transform, which optimizes in time by calculating an optimal window for each moment in time. Implementations of these two methods are given in chapter 7. 7KH0XOWLUHVROXWLRQ)RXULHU7UDQVIRUP The Multiresolution Fourier Transform (MRFT) is a special version of the continuous wavelet transform where a qualified wavelet function is used. Recalling the integral wavelet transform (3-3): X CWT ( A, B) = ∞ 1 A ∫ x (T )ψ ( T −B A )dT −∞ The MRFT is defined as: X MRFT (Tˆ , Fˆ ) = ∞ 1 A( Fˆ ) ∫ x(T )ψ ( AT(−FTˆ ) − Tˆ0 )dT ˆ −∞ Which is basically the same as the continuous wavelet transform. The major difference is the dependence of the dilation parameter A on frequency and the substitution T − B T − Tˆ − ATˆ0 T − Tˆ ˆ = = − T0 A A A In order to yield a time-frequency representation instead of a time-scale representation. 3URILOHRIWKH0XOWLUHVROXWLRQ)RXULHU7UDQVIRUP With the wavelet transform, the relation A(Fˆ ) was hyperbolic, according to (3-8) and shown in figure 3.7. With the MRFT, the profile function is adapted to the signal being analyzed. Before transforming the signal into a time-frequency representation, previous knowledge of frequency content in the signal is used to determine the profile function. A spectrogram or Fourier transform with high frequency resolution can be used to detect stationary frequencies in the signal. Then the MRFT is used to analyze the same signal, with high frequency resolution within the areas were stationary components were found, while the other areas are analyzed with high time resolution to analyze transients. By doing this, even high frequency stationary components, and low frequency transients can be analyzed at any location in the frequency domain, which was not possible with a wavelet transform with a profile according to (3-8). The basis of the MRFT profile function is the CWT profile function. Choosing this profile, the MRFT reduces to the CWT. 44 A( Fˆ ) = Fˆ0 Fˆ (4-1) A signal consisting of transient components and stationary components around F̂1 would rather be analyzed with high frequency resolution around F̂1 and high time resolution for other frequencies. The profile (4-1) could be adapted by introducing a frequency shift of F̂1 . Figure 4.1 illustrates an example of this profile. A( Fˆ ) = Fˆ0 (4-2) Fˆ − Fˆ1 SCALE 1 0.8 0.6 0.4 0.2 0 0 50 FREQUENCY 100 Figure 4.1: The profile function of the Multiresolution Fourier Transform for F̂ 0 =1 and F̂1 =40. In general a discrete set of frequencies can determine the profile function, corresponding to the frequency bands where stationary components in the signal are located. These frequencies contribute to the profile function. The profile function can simply be determined by the sum of independent profiles as in (4-2). N N Fˆ0 n =1 Fˆ − Fˆn A( Fˆ ) = ∑ = N Fˆ0 ∑ ∏ ( Fˆ − Fˆn ) n =1 l =1,l ≠ n N Fˆ − Fˆn ∏ n 1 = Figure 4.2 shows a profile function for high frequency resolution around three center frequencies. SCALE 1 0.8 0.6 0.4 0.2 0 0 50 FREQUENCY 100 Figure 4.2: The profile function of the Multiresolution Fourier Transform for F̂ 0 =1, adapted to frequencies F̂1 =20, F̂ 2 =40 and F̂3 =80. 45 :DYHOHW'XUDWLRQDQG%DQGZLGWK The duration of any wavelet instance is: D = 2∆ψ A ,B (T ) The maximum wavelet duration is associated with the mother wavelet: DMAX = 2∆ψ (T ) . The duration of the wavelet instance used by the MRFT lies between two boundaries: DMIN < D < DMAX . The duration of the wavelet instance can be calculated with D = DMIN + ( DMAX − DMIN ) A( F ) where 0 < A < 1 . RADIUS 150 100 50 0 0 50 FREQUENCY 100 Figure 4.3: Wavelet duration as a function of frequency, associated with the profile function in figure 4.2. DMIN=10, DMAX=100. The bandwidth of any wavelet instance is B = 2 ∆ Ψ FT, ( F ) . The minimum wavelet bandwidth is A B associated with the mother wavelet: B MI N = 2 ∆ ΨFT ( F ) . The bandwidth of the wavelet instance used by the MRFT lies between two boundaries: B MIN < B < BMAX . Where BMAX is undefined and depends on the minimum wavelet duration. The bandwidth of the wavelet instance as a function of frequency can be calculated with: B = BMIN + ( BMAX − BMIN ) where 0 < A < 1 . A( F ) BANDWIDTH 30 20 10 0 0 50 FREQUENCY 100 Figure 4.4: Wavelet bandwidth associated with the profile function in figure 4.2. Bmin=2. To achieve a proper result when using such optimized analysis function families, nonoverlapping functions and discrete parameters are required. Overlapping would result in the scattering effect, overlapping the areas of good resolution which means deterioration of the time-frequency distribution. Chapter 7.2 describes the discrete parameter implementation. 46 $GDSWLYH:LQGRZ6KRUW7LPH)RXULHU7UDQVIRUP In [JD94] a method is described which adapts the time-window of a short-time Fourier transform to the signal being analyzed. First in section 4.3.1, the measure of short-time timefrequency concentration is introduced. Then a to the signal adapted parameter P is introduced which changes the window width over time in a time-domain based STFT. 6KRUW7LPH7LPH)UHTXHQF\&RQFHQWUDWLRQ The measure of short-time time-frequency concentration is defined as follows: ∞ ∞ C P (T ) = ∫∫ 4 P X STFT (Tˆ , Fˆ ) w(Tˆ − T ) dTˆdFˆ − ∞− ∞ ∞ ∞ (∫ ∫ 2 P X STFT (Tˆ , Fˆ ) w(Tˆ − T ) dTˆdFˆ ) 2 − ∞− ∞ P which describes how the energy of a signal is distributed. X STFT (Tˆ , Fˆ ) is an ordinary STFT time-frequency representation where P is the window duration. The short-time time-frequency P concentration is calculated for every time slice X STFT (τ , Fˆ ) associated with time τ, for all the time-frequency representations associated with P. 2SWLPDO:LQGRZ7LPH)UHTXHQF\5HSUHVHQWDWLRQ For every time Tˆ , the short-time time-frequency concentration has a maximum value at a certain P. This P is called the optimal time-varying parameter of the time-frequency representation and will be referred to as Popt (Tˆ ) . The time-slice associated with this optimal Popt (τ ) parameter Popt (τ ) at time τ, which is X STFT (τ , Fˆ ) , is placed in the optimal window timePopt (τ ) frequency representation X STFT (Tˆ , Fˆ ) . How this algorithm can be implemented efficiently will be described in chapter 7, section 7.3. 47 48 &KDSWHU 'LVFUHWH6KRUW7LPH)RXULHU7UDQVIRUPDQG ,PSOHPHQWDWLRQV ,QWURGXFWLRQ In this chapter, two types of the discrete short-time Fourier transform are described. They are based on windowing in time (section 2.2) and windowing in frequency (section 2.6): The first step towards a discrete transform is parameter discretization. Instead of windowing data at all times, a step is introduced, relatively to the window size. The result is a non-redundant transform where the resulting time-frequency distribution shows as much as a continuous TFD. Section 5.3 starts by introducing the discrete time and discrete frequency Fourier transform, well known as the Discrete Fourier Transform (DFT). By means of the fast DFT (FFT), the discrete STFT is constructed. Only a few steps have to be taken to achieve a discrete STFT Section 5.4 and 5.5 describe four STFT implementations. The first two implementations are based on windowing in time and the last two are based on windowing in frequency (filtering). Both methods are used to generate a non-redundant discrete STFT as well as a redundant approximation of the continuous STFT. 3DUDPHWHU'LVFUHWL]DWLRQ Towards an implementation of equation (2-2), a discretization of the translation parameter is required. This involves that windowing in time, as discussed in section 2.4.2, is not done at al times but with a certain step size between the windows. This step is called the stride. The translation parameter Tˆ will be replaced by a discrete parameter p according to: Tˆ = pS 49 Where p ∈ Z and S is the stride in time. The relation between the stride and the window length is called the overlap factor. An overlap factor of 0.5 indicates that each window covers 50% of the previous window. Although windows are not located at all times, all the time information is covered by the transform for appropriate values for the overlap factor. It needs to be mentioned here that a certain amplitude error will occur for short-time events near window crossings. 1 w(n) 0.8 0.6 0.4 0.2 0 0 50 100 n 150 200 Figure 5.1: Windowing in discrete time using a 100 point Hamming window and a 50 point stride. This results in overlapping of 50%. A similar discretization can be carried out for windowing in the frequency domain. In this case the bandfilters are not located at all possible center frequencies but with a step size between each filter. The frequency parameter F̂ will be replaced by a discrete parameter q according to: Fˆ = qL Where q ∈ Z and L is the stride in frequency. Discretization of the parameters Tˆ and F̂ results in sampling of X STFT (Tˆ , Fˆ ) . 0 W(f) dB -10 -20 -30 -40 -50 0 20 40 60 f Figure 5.2: Windowing in frequency using a Hamming (time) window. 50 'LVFUHWH6KRUW7LPH)RXULHU7UDQVIRUP 'LVFUHWH)RXULHU7UDQVIRUP A way to implement the STFT is to use the discrete Fourier transform implemented by a fast algorithm. In chapter 2 is mentioned that the Fourier transform decomposes or separates a waveform or function into sines and cosines of different frequencies, which sum to the original waveform. It identifies or distinguishes the different frequency components and their respective amplitudes. The continuous Fourier transform of x(T ) is defined as: ∞ FFT (Ω) = ∫ x(T )e − jΩT dT where T , Ω ∈ R −∞ Numerical computation of the Fourier transform, for example by a computer, requires discrete sample values of x(T ) . Any desired computation with a computer can only use a finite number of operations. A function needs to be sampled in order to be represented in a computer. Instead of having a function x(T ) at all T, we have the values of x at a finite number of points x(T1 ), x(T2 ),..., x (TN ) . These values are even rounded off to be stored in finitely many bits, which is called quantization, but in practice this is not often a significant limitation. For convenience, the sample points are usually taken at a regular interval of TS = 1 FS where FS is the sampling frequency. If we start sampling at T1 = 0 , the sequence of sampling points becomes: T = 0, TS ,2TS ,..., ( N − 1)TS = nTS where n = 0,1, 2,3,..., N − 1 and the sample values are, in order, given by x' ( 0) = x(0), x' (1) = x(TS ),..., x' ( N − 1) = x([ N − 1]TS ) ⇒ x' ( n) = x( nTS ) Where x' is the discrete representative of the continuous function x. This allows to represent continuous functions by means of discrete data functions. In the future the apostrophe will be omitted. To compute the Fourier transform with a computer, a discrete and finite analogue of the Fourier transform is required. The Fourier integral is over all x, and calculates a value for every Ω. In the discrete and finite analogue, the integral becomes the sum: X FT ( Ω) = N −1 x(n )e − jΩn ∑ n 0 (5-1) = The function e − jΩn , for fixed TS , is a periodic function of Ω with period 2π / TS , because e− jΩn = cos(Ωn) − j sin( Ωn ) has terms which are periodic with period 2π / TS . It follows that 51 the sum X FT (Ω) is periodic over 2π / TS . We may thus restrict attention to the interval 0 ≤ Ω < 2π / TS . Within this range, as many sample points in Ω-domain are taken, as there are in the T-domain, spaced equidistantly. So corresponding to the samples in the T-domain we have Ω-domain samples at positions Ω = 0, 2Nπ , 4Nπ ,..., 2 ( N −1)π N = f 2π N where f = 0,1,2,3,..., N − 1 According to the sum (5-1) the sample values in the Ω-domain are: X DFT ( f ) = X FT ( 2πf N N −1 ) = ∑ x( n)e − j 2πfn N n=0 Which is the Discrete Fourier Transform (or DFT). :LQGRZLQJLQGLVFUHWHWLPH The discrete version of the STFT is a DFT of the frames in which the original sequence is divided up. Windowing the original data sequence with the translates of the window w(n ) we gain the following set of windowed signal sections: = x (n ) w( n) = x (n ) w( n − S ) = x (n ) w( n − 2 S ) x0 ( n) x1 (n ) x2 (n ) x N −SM ( n) = x (n ) w( n − N −M S S ) = x( n) w(n − N + M ) where N is the length of the data sequence x(n) and M is the length of the window sequence w(n ) . Furthermore is assumed that the window has such a size that M = N − PS where P is an integer and reflects how many times the window fits into the data sequence, for a specific stride S. To calculate the discrete STFT of the frames mentioned earlier, the DFT is applied to each frame. 0 X DFT (f) X 1 DFT (f) 2 X DFT (f) = = = N−M S X DFT ( f ) = M −1 ∑ x0 (n)e − j 2πfn M = ∑ x (n)e = n =0 M −1 1 n =0 M −1 ∑x 2 ( n)e − j 2πfn M n =0 ∑x = M −1 n =0 52 − j 2πfn M N −M S ( n) e − j 2πfn M = M −1 ∑ x(n)w(n)e n =0 S + M −1 − j 2πfn M ∑ x(n)w(n − S )e n=S 2 S + M −1 − j 2πfn M ∑ x(n)w(n − 2S )e − j 2πfn M n= 2S N ∑ x(n)w(n − N + M )e n= N − M − j 2πfn M For each frame, the window function is translated in the n-domain with a step size S. The DFTs are combined to a general formula as a function of f and a translation factor t, where t = 0,1, 2,3,..., P − 1 : X STFT (t , f ) = tS + M −1 x( n) w(n − tS )e− j πf n M ∑ n tS 2 (5-2) = where t = 0,1, 2,3,..., N −S M − 1 and f = 0,1,2,3,..., M . Recalling that N, M and S are the lengths of respectively the sequence, the analysis window and the stride. X STFT (t , f ) is the discrete version of the continuous X STFT (Tˆ , Fˆ ) . Discrete time is related to real time according to tS = nTS = T . Discrete frequency is related to real frequency by fFS N = F . 7LPHGRPDLQEDVHGLPSOHPHQWDWLRQV Time domain based implementations exploit the Fast Fourier Transform (FFT) algorithm, which is the fast version of the DFT [PJ96]. Figure 5.3 illustrates the general structure of these implementations. x(n) Dividing in sections × × × × FFT FFT FFT FFT ←f w(n) t→ Figure 5.3: Time based domain implementation. The data sequence is divided in sections first, with our without the use of a stride factor. Subsequently the sections are multiplied with a predefined window sequence. Then the fast Fourier transform is calculated and placed in a time-frequency distribution matrix. The sections 5.4.1 and 5.4.2 describe straightforward implementations of (5-2), using the FFT. 53 5HGXQGDQWGLVFUHWH67)7 An approximation of the continuous STFT can be obtained by setting the stride S to 1 (sample). The presence of the scattering effect causes redundancy in the time-frequency distribution and it is therefore called redundant. The discrete STFT simply reduces to: X STFT (t , f ) = t + M −1 x(n ) w( n − t )e − j 2πf n M ∑ n t = This is implemented in MATLAB in the function: [tfd,f,t]=tac_stft(x,w,fftlen,fs); where x is the data sequence being analyzed, w is the window, fftlen is the length of each FFT and fs is the sampling frequency. The function is returning tfd, which is the resulting time-frequency distribution matrix, and t and f, respectively the time and frequency axes which can be used used to show the time-frequency distribution. This can be done using the function: showtfd(tfd,s,f,t,mode); where tfd is the time-frequency distribution, s is an amplitude scaling factor, t and f, respectively the time and frequency axis and finally mode, which selects between a 2D (mode=1) and 3D plot (mode=0). The well commented source code of these functions is enclosed in a separate appendix. An example is shown in figure 5.3. A 100 ms small segment of a recording of an ambulance is analyzed with the tac_stft method. 54 20 30 SPECTROGRAM 20 0 -10 Magnitude Magnitude [dB] 40 10 0 x4 -10 0 1000 2000 Frequency [Hz] 3000 4000 5000 0 Time [s] 0 0 0 0 1- - 051 1 5M 00 -100 0 100 Amplitude Figure 5.4: Spectrogram of a small part (100 ms) of a recording of an ambulance. The length of the signal is 1024 samples. Sampling frequency is 10 kHz. Used method is tac_stft. Used window is a 128 sample Hamming window. The spectrogram is generated using 512-point DFTs with a stride of 1 sample, overlapping is thus maximal and the spectrogram approximates the continuous STFT. The figures above and to the right are respectively frequency-domain and timedomain representations of the signal. 55 1RQUHGXQGDQWGLVFUHWH67)7 A redundant discrete STFT can be obtained by choosing an appropriate value for the stride S. The discrete STFT is given by: X STFT (t , f ) = tS + M −1 x( n) w(n − tS )e− j 2πf n M ∑ n tS = This is implemented in MATLAB in the function: [tfd,f,t]=tds_stft(x,w,fftlen,S,fs); where x is the data sequence being analyzed, w is the window, fftlen is the length of each FFT, S is the stride and fs is the sampling frequency. The function is returning tfd, which is the resulting time-frequency distribution, and t and f, respectively the time and frequency axes that can be used to show the time-frequency distribution. The main difference with the previous implementation is the possibility of overlapping, using a stride factor. The well commented source code for this function is enclosed in a separate appendix. Figure 5.4 illustrates an example of this method. It shows clearly how the time-frequency distribution features non-redundancy in form of the time-frequency blocks. The scattering effect of the redundant implementation showed in figure 5.3 is not present here. Advantage of the non-redundant STFT above the redundant STFT is its capability to analyze a larger sequence while the size of the time-frequency distribution does not change. This makes the method also faster than its predecessor. 56 50 40 40 20 20 Magnitude 10 -20 0 -20 -10 0 Magnitude [dB] 30 0 1000 2000 Frequency [Hz] 3000 4000 5000 4 1 0 Time [s] 0 0 im 0 1- - 051 1 5 00 -100 0 100 Amplitude Figure 5.5: Spectrogram of a part (819,2 ms) of the recording of the ambulance. The length of the signal is 8192 samples. Sampling frequency is 10 kHz. Used method is tds_stft. Used window is a 128 sample Hamming window. The spectrogram is generated using 512-point DFTs with a stride of 16 samples, overlapping is not maximal and the spectrogram has less redundancy than the spectrogram in the previous figure. The figures above and to the right are respectively frequencydomain and time-domain representations of the signal. 57 )UHTXHQF\GRPDLQEDVHGLPSOHPHQWDWLRQV The methods in this section differ from those in the previous section, in that they exploit a set of bandpass filters instead of DFTs. The fundamental idea behind these methods is equation (2-6). Figure 5.4 illustrates the general structure of these implementations. x(n) h (n) h (n) 2 h (n) 3 h (n) N ←t 1 f→ Figure 5.5: Time based domain implementation. 5HGXQGDQWGLVFUHWH67)7 A set of finite impulse response bandfilters (FIR) is implemented, covering a certain frequency range. The filters overlap and introduce therefore redundancy. A straightforward implementation in MATLAB is: [tfd,f,t]=fac_stft(x,fbin,tbin,firlen,fmin,fmax,fs); where x is the signal being analyzed, fbin is the number of frequency bins (filters), tbin is the number of time bins. firlen is the length of the bandfilters, fmin and fmax denote the desired frequency interval and fs is the sampling frequency. The function is returning tfd, which is the resulting time-frequency distribution, and t and f, respectively the time and frequency axis which can be used to show the time-frequency distribution. 58 60 50 40 40 20 10 0 Magnitude [dB] 20 Magnitude 30 0 -10 -20 -20 -30 0 200 400 600 800 Frequency [Hz] 1000 1200 1400 1600 1800 2000 Time [s] 0 0 0 0 1- - 05 15 0 -100 0 100 Amplitude Figure 5.7: Spectrogram of a part (819,2 ms) of the recording of the ambulance. The length of the signal is 8192 samples. Sampling frequency is 10 kHz. Used method is fac_stft. The spectrogram is generated using a set of 512 bandfilters each with a filterlength of 512. The analyzed frequencyband is 0 – 2000 Hz. The figures above and to the right are respectively frequencydomain and time-domain representations of the signal. 59 1RQUHGXQGDQWGLVFUHWH67)7 To achieve a non-redundant STFT, a QMF (Quadrature Mirror Filter) bank tree is implemented. The application of QMF banks in time-frequency analysis and more on QMF banks itself will be described in chapter 6. The following function in MATLAB, implements a multilevel QMF bank tree: [tfd,f,t]=fac_stft(x,level,N,fs); where x is the signal being analyzed, level is the number of frequency band divisions (depth of the tree), N is the filterlength of the filters and fs is the sampling frequency. The function is returning tfd, which is the resulting time-frequency distribution, and t and f, respectively the time and frequency axis which can be used to show the time-frequency distribution. 60 40 20 0 0 -20 Magnitude -20 20 Magnitude [dB] 40 0 1000 2000 Frequency [Hz] 3000 4000 5000 Time [s] 0 0 0 0 1- - 051 1 5 00 -100 0 100 Amplitude Figure 5.8: Spectrogram of the whole recording of the ambulance (1,6384 s). The length of the signal is 16384 samples. Sampling frequency is 10 kHz. Used method is fds_stft. The spectrogram is generated using a full QMF bank tree of 6 levels. This results in 64 frequency bins. The figures above and to the right are respectively frequency-domain and time-domain representations of the signal. 61 62 &KDSWHU :DYHOHW7UDQVIRUPVDQG,PSOHPHQWDWLRQV ,QWURGXFWLRQ As a sequel to chapter 3, the discrete wavelet transform will be described in this chapter. Two steps towards a full discrete transform, similarly to those in chapter 5, will be taken. At first, discretization of the translations and dilations will be carried out. Then a relation between continuous wavelets and digital filters in a filterbank will be given. This theory, known as Multiresolution Analysis (MRA), will make it easy and, above all, fast to perform a wavelet transform in discrete time. Section 6.2 describes the discretization of the translation and dilation parameters, Section 6.3 describes the MRA and section 6.4 the fast wavelet transform (FWT). Finally, implementations of the continuous wavelet transform and the fast wavelet transform are described in section 6.5. 3DUDPHWHU'LVFUHWL]DWLRQ'LVFUHWH:DYHOHW7UDQVIRUP Calculating all possible wavelet coefficients, on continuous time and scale axes, is a fair amount of work and it generates much data. Towards a practical implementation, discretization of the dilation and translation parameter is introduced. This involves the choice of only a subset of possible scales and position at which calculations are made. It has been proved that scales and positions based on powers of two, so called dyadic scales and positions [CC92], are just as accurate and much more efficient. The continuous wavelet transform that only calculates wavelet coefficients with dyadic wavelets is called the Discrete Wavelet Transform (DWT), not to be mixed up with a discrete time wavelet transform, which is the next step to an implementation. The dyadic scale is defined as [RO91]: a = 2 − j where j ∈ Z 63 Where j is the level and 1/a is the resolution. Dyadic translation is defined as [RO91]: b = k 2 − j where j , k ∈ Z The wavelet family that is generated with these dyadic dilations and translations are defined, using any mother wavelet and the definition : ψ j , k (T ) = 1 ψ ( T a−b ) a = 2 j 2ψ (2 j T − k ) Where ψ 0 ,0 = ψ , which is the mother wavelet. Substituting this in (3-2), this results in the definition of the Discrete Wavelet Transform: DWT [x(T )] = d ( j, k ) = 2 j ∞ 2 ∫ x(T )ψ (2 j T − k )dT −∞ Figure 6.1 shows how the STFT and the DWT filter the signal, using a set of bandpass filters. It shows clearly how the STFT filters the signal with filters with constant bandwidth, because the duration of the time window and therefore the frequency window that is constant for every frequency band. 2Fˆ0 F̂0 F̂0 2Fˆ0 4Fˆ0 3Fˆ0 8Fˆ0 4Fˆ0 5Fˆ0 Frequency→ 16Fˆ0 Figure 6.1:Filterbanks used with respectively STFT and DWT. The DWT filters the signal with bandpass filters, which have a wavelet instance as impulse response, with a constant relative bandwidth which means that the center-frequency to bandwidth ratio is independent of the scale parameter, see chapter 3.3.3. 64 0XOWLUHVROXWLRQ$QDO\VLV 6XEVSDFHV6FDOLQJIXQFWLRQVDQG:DYHOHWIXQFWLRQV Multiresolution Analysis [VB91][UM95][CC92] is the general theoretical framework which connects wavelets in continuous time to digital filters of a QMF bank. { }j∈Z 1. It start with the definition of an increasing sequence of closed subspaces V j which approximates L2 ( R) , which is the space of all square integrable functions. A function 2 x(T ) is said to be in L ( R) when ∞ ∫−∞ x 2 (T )dT is finite. L2 ( R) is also known as the Hilbert space. 2. A scaling function φ (T ) is introduced such that it forms an orthonormal basis for the reference space V0 , which means that ∞ ∫−∞ φ (T )φ (T − k )dT = δ (k ) for all k ∈ Z . Some literature refer to the scaling function φ (T ) as the father wavelet. 3. V j ⊂ V j +1 for all j ∈ Z , which means that the spaces V j are nested. This feature is called containment. 4. The space L2 ( R) is a closure of the union of all V j . In other words V j is dense in j∈Z 2 L ( R) . This feature is called completeness. 5. The intersection of all V j is empty: V j = ∅ . j∈Z 6. Now consider the orthogonal complement W j of V j to V j +1 , i.e. V j +1 = V j ∪ W j and V j ∩ W j = ∅ . This is called the orthogonal decomposition of V j +1 . It simply means that each space V j +1 is divided up in an average space V j and a detail space W j . Notice that 2 W j = V j = L ( R) . j∈Z j∈Z ∅ ... Vj Vj+1 Wj Wj+1 ... L2(R) Figure 6.2:Decomposition of the Hilbert space and its subspaces into averages and details. 7. A wavelet function ψ (T ) is introduced such that it forms an orthonormal basis for the reference space W0 , which means that ∞ ∫−∞ψ (T )ψ (T − k )dT = δ (k ) for all k ∈ Z . The function ψ (T ) is well known as the mother wavelet. 65 8. x(T ) ∈ V j ⇔ x(2T ) ∈ V j +1 where j ∈ Z which means that the spaces V j and V j +1 are similar. This is called the scaling property. If the space V j is spanned by the functions 2 φ j ,k (T ) = 2 j φ ( 2 j T − k ) , for any j , k ∈ Z , then the space V j +1 is generated by the functions φ j +1,k (T ) = 2 ⋅ 2 j 2 φ j, k (2 ⋅ 2 j T − k ) , for some j. Because V0 ⊂ V1 according to (3), any function in V0 , described by translations of φ (T ) , can 2φ ( 2T ) , the basis of V1 . In general, 2φ (2T ) : also be described by translations of the basic functions the basis φ (T ) can be described as translations of φ (T ) = 2 ∑ g ( k )φ (2T − k ) ∀k This is referred to as the two-scale relation for the scaling function, where the discrete sequence g (k ) is called the two-scale sequence of φ (T ) . In a practical situation, the attention to g (k ) is restricted to finite sequences which means that finitely many coefficients are non-zero. Scaling function related to such two-scale sequences said to have compact support. The coefficients g (k ) are the coefficients of the low pass filter in the QMF bank (see 6.4) and can be calculated with: ∞ g (k ) = 2 ∫ φ (T )φ ( 2T − k )dT −∞ Similarly, since W0 ⊂ V1 according to (6), any function in W0 , described by translations of ψ 0 (T ) , can also be described by translations of the basic functions φ1 (T ) = 2ψ 0 ( 2T ) , using the basis φ1 (T ) from V1 . In general, the basis ψ j (T ) can be described as translations of 2φ (2T ) : ψ (T ) = 2 ∑ h (k )φ (2T − k ) (6-1) ∀k This is referred to as the two-scale relation for the wavelet function, where the discrete sequence h( k ) is called the two-scale sequence of ψ (T ) . In a practical situation, the attention to h( k ) is restricted to finite sequences which means that finitely many coefficients are nonzero. Wavelet functions related to such two-scale sequences are said to have compact support. The coefficients h( k ) are the coefficients of the high pass filter in the QMF bank and can be calculated with: ∞ h( k ) = 2 ∫ ψ (T )φ ( 2T − k )dT −∞ such that h( L − 1 − n) = ( −1) n g ( n) , where n = 0,1, 2,3,..., L , which means that g has as many coefficients as h and that they form a set of orthogonal filters used in the QMF bank. 66 :DYHOHWFRPSRVLWLRQDQGGHFRPSRVLWLRQ A function x0 (T ) ∈ V0 can be described by φ (T ) only: x0 = ∑ c(0, k )φ (T − k ) , where the k∈Z coefficients c indicate how x is described in terms of translations of φ (T ) . As showed in the 2φ (2T ) , which is previous section, a function in V0 can also be described by translations of the basis for V1 : x0 (T ) = 2 ∑ c(1, k )φ ( 2T − k ) (6-2) k∈Z Similarly we can describe a function y 0 (T ) ∈ W0 by ψ (T ) only: y 0 (T ) = ∑ d (0, k )ψ (T − k ) , k ∈Z where the coefficients d indicate how y is described in terms of translations of ψ (T ) . As showed in the previous section, a function in W0 can also be described by translations of 2φ (2T ) , which is the basis for V1 : y 0 (T ) = 2 ∑ d (1, k )φ ( 2T − k ) (6-3) k∈Z Let x0 (T ) ∈ V0 and y 0 (T ) ∈ W0 be the wavelet decomposition of a function x1 (T ) ∈ V1 . The function x1 can then be composed according to: x1 (T ) = x0 (T ) + y0 (T ) = 2 ∑ [c(1, k ) + d (1, k )]φ ( 2T − k ) k∈Z In general, a function x j (T ) ∈ V j can be composed by: x j (T ) = x j −1 (T ) + y j −1 (T ) = 2 ∑ [c( j , k ) + d ( j , k )]φ j ( 2T − k ) k∈Z The fact that W j = V j = L2 ( R) can be used to compose a function x(T ) ∈ L2 ( R ) j∈Z j∈Z according to: x(T ) = y k (T ) = ∑ ∑ d ( j, k ) 2 j k ψ (2 j T − k ) ∑ k Z j Zk Z ∈ ∈ ∈ This is the wavelet composition of a function x(T ) ∈ L2 ( R ) . The wavelet decomposition of the same function is then defined as: d ( j, k ) = 2 j 2 ∞ ∫ x (T )ψ (2 j − k ) dT −∞ Which is known as the Discrete Wavelet Transform (DWT). Its discrete time implementation Fast Wavelet Transform (FWT) is described in the next section. 67 )DVW:DYHOHW7UDQVIRUP 4XDGUDWXUH0LUURU)LOWHU%DQN To perform a discrete time wavelet transform on discrete time signals, the subband coding scheme is used. The subband coding scheme exploits two quadrature mirror filters and down sampling by two. Figure 6.2 shows the analysis and synthesis of a discrete time signal, which can be compared with a 1 level discrete wavelet transform and inverse transform. h(n) ↓2 ↑2 y0(n) h'(n) x1(n) g(n) ↓2 ↑2 x0(n) Analysis g'(n) x1'(n ) Synthesis Figure 6.3:QMF Filter bank used with subband coding. Filter h(n) is a high pass filter while filter g(n) is a low pass filter. They each filter half of the spectrum of signal x(n). These filters are said to be orthogonal if they filter unique information of the signal. In the 2-band filterbank shown in figure 6.2 the low pass filter and the high pass filter are related by [RO91]: h( L − 1 − n) = (−1) g ( n) n where L is the length of the filters. Downsampling and upsampling factors in respectively the analysis tree and the synthesis tree are equal to the number of frequency bands. By doing this the filterbank is said to be critically sampled [MS98]. Since down- and upsample devices are linear time varying components, the QMF bank is also a time varying system. It is however possible to choose the analysis and synthesis filters such that the aliasing effects due to the time varying behavior is eliminated, resulting in a linear time-invariant (LTI) system. A possible solution is choosing the synthesis filters such that: H ' ( z ) = G( − z) G' ( z ) = − H ( − z) Which results in a frequency response T (z ) for the whole QMF bank such that: Y ( z ) = T ( z ) X ( z) 68 If T ( z) = d such that Y ( z) = d X ( z ) where d is a constant, the QMF bank is said to be magnitude reserving. If arg [Y ( z )] = arg[X ( z )] + αΩ + β i.e. if T (z ) has linear phase, the QMF bank is said to be phase reserving. If the QMF bank is magnitude reserving as well as phase reserving, it is said to be a perfect reconstruction QMF bank. In this case T (z ) is only causing a certain relative time-shift and a multiplication with a constant: Y ( z ) = dz − n0 Z −1 X ( z ) ⇒ y( n) = dx( n − n0 ) This thesis focuses on the analysis part of the QMF-bank with a choice of filters that meet the requirements of perfect reconstruction. The possibility and the quality of synthesis, or perfect reconstruction, is however important for the analysis to be representative. 'LVFUHWH:DYHOHW7UDQVIRUPLPSOHPHQWHGE\D40)WUHH The discrete wavelet transform can be implemented by cascade coupling of the analysis filter bank where y2(n) is the input of the next stage. Figure 6.3 shows how a QMF bank tree can implement the DWT. ↓2 h(n) y2(n) h(n) x3(n) ↓2 g(n) ↓2 y1(n) x2(n) g(n) ↓2 h(n) ↓2 g(n) ↓2 y0(n) x1(n) x0(n) Figure 6.4:QMF Filter bank tree implementing a three level DWT. To calculate an output of the QMF tree immediately, the following formulas can be used [SG96]: J − j −1 X j ( z ) = X J ( z) ∏ G( z 2 ) k =0 k Y j ( z) = X J ( z ) H ( z ) J − j− 2 ∏ k G( z 2 ) k =0 Where X j (z ) is the z-transform of x j (n) and j ∈ Z . The original signal has z-transform X J (z) . Interpolation is denoted by z i , where i is the interpolation factor. 69 ,PSOHPHQWDWLRQV &RQWLQXRXV:DYHOHW7UDQVIRUP An approximation of the continuous wavelet transform can be achieved by simply calculating a wavelet at certain scales and then by convoluting the discrete time signal with these set of wavelets, yielding a set of signals which constitute a time-scale representation. The scalogram is implemented in MATLAB in the function: [tsd,s,t]=cwt(x,bs,es,ss,fs); where x is the signal being analyzed, bs is the first scale value, es is the last scale value, ss is the step scale value and fs is the signals sampling frequency. The function is returning tsd, which is the resulting time-scale distribution, t and s, respectively the time and scale axis used to show the time-scale distribution. The result can be can be shown using the function: showtsd(tsd,c,s,t,mode); where tfd is the time-frequency distribution being shown, c is an amplitude scaling factor, t and s, respectively the time and scale axis and finally mode which selects between a 2D (mode=1) and 3D plot (mode=0). The commented source code for these functions are enclosed in a separate appendix. An example is shown in figure 3.10. 70 )DVW:DYHOHW7UDQVIRUP Figure 6.5 shows the results of a four level DWT yielded by a QMF bank tree. The original signal contains two Dirac impulses and two sine waves local in time. Furthermore, some noise was added. 1 Amplitude 0.5 0 -0.5 0 0.02 0.04 Time [s] 0.06 0.08 0.1 0 0.02 0.04 Time [s] 0.06 0.08 0.1 x4 ( n) 1 0.8 Amplitude 0.6 0.4 0.2 0 -0.2 -0.4 y 3 (n ) 2 Amplitude 1 0 -1 -2 0 0.02 0.04 Time [s] 0.06 0.08 0.1 y 2 ( n) 4 Amplitude 2 0 -2 -4 0 0.02 0.04 Time [s] 0.06 0.08 0.1 y1 ( n) 0.6 0.4 Amplitude 0.2 0 -0.2 -0.4 -0.6 -0.8 0 0.02 0.04 Time [s] 0.06 0.08 0.1 y 0 (n ) 0 0.02 0.04 Time [s] 0.06 0.08 0.1 x0 ( n) 1 Amplitude 0.5 0 -0.5 Figure 6.5:Results of a three level DWT.The original signal is x 4 (n) and the number of decomposition levels is 4. This way of presenting the results of a discrete wavelet transform is very straightforward. But still it is not very representative when it comes to a joint time-frequency representation. In the next chapter the discrete wavelet technique will be used to generate optimal time-frequency distributions. 71 72 &KDSWHU $GDSWLYH7UDQVIRUPVDQG,PSOHPHQWDWLRQV ,QWURGXFWLRQ It is desired to maintain the benefits of the discrete wavelet transform but to cope with its disadvantages, which mainly is poor time resolution in the lower frequency band and the poor frequency resolution in the higher frequency band. Two methods will be constructed, based on the theory described in the previous chapters. They differ from their predecessors in that they adapt their functionality to the data sequence, which is analyzed. By doing this, the effect of the limitations of the previous methods is minimized. The first section first enhances the MRA and a corresponding FWT algorithm will be derived. Subsequently, it will be adapted to the data sequence before it is applied. The fundamental idea behind this method is the DWT described in chapter 6. The second section describes the simplified time-domain based discrete STFT which exploits an adaptive window. The fundamental idea behind this method is described in section 4.3. Both methods are implemented and examples are included. :DYHOHW3DFNHWV The adaptive method described in this chapter is build upon the theory of wavelet packets. In [CC92] additions to the MRA are described to improve the ordinary discrete wavelet transform. ([SDQVLRQRIWKH05$ First recall the two-scale relation φ (T ) = 2 ∑ g ( k )φ (2T − k ) and the relation ∀k n 1 h( L − 1 − n) = (−1) g ( n) , describing the scaling functions and wavelets of the ordinary MRA. With the new MRA, a family {µ n }, n ∈ Z + of wavelets, simply called wavelet packets is a 1 The wavelets are defined by φ (T ) and h(n ) , see (6-1). 73 basis for the subspace U nj regarding to the ordinary dyadic dilations and translations: 2 j 2 µ n ( 2 j − k ) . The first two spaces U nj are similar to the ordinary spaces of the DWT: U 0j = V j , j ∈ Z 1 U j = W j, j ∈ Z Where V j is the ordinary MRA of L2 ( R) , generated by µ 0 = φ (T ) , and W j is the sequence of orthogonal complementary (wavelet) subspaces generated by µ1 = ψ (T ) . The bases of the first two spaces U nj , with their two scale relations are: µ0 (T ) = φ (T ) = 2 ∑ g ( k ) µ0 ( 2T − k ) ∀k ( ) ( ) 2 µ ψ = = T ∑ h(k )µ0 (2T − k ) 1T ∀k The orthogonal decomposition of subspaces in the ordinary MRA: V j +1 = V j ∪ W j can now be written as: U j +1 = U j ∪ U j 0 0 1 In general any space U nj+1 , where j ∈ Z and n ∈ Z + , can be decomposed into subspaces: n n n+ U j +1 = U j ∪ U j 2 2 1 Which simply means that not only the spaces V j of the ordinary MRA are decomposed but also the spaces W j . The change to U is therefore obvious. Similarly to figure 6.4, the decomposition of U nj can be clarified graphically This is done in figure 7.1. 0 Uj 0 U j +1 1 ∅ ... Uj ... L2(R) 2 Uj 1 U j +1 3 Uj Figure 7.1:Decomposition of the Hilbert space using wavelet packets. The thick lines reflect the ordinary MRA wavelet decomposition. 74 :DYHOHW3DFNHWVFRPSRVLWLRQDQGGHFRPSRVLWLRQ The function x00 (T ) ∈ U 00 can be described by µ 0 = φ (T ) only: x00 = ∑ c 0 (0, k )µ 0 (T − k ) . It k ∈Z can also be described in terms of translations of 2 µ 0 (2T ) , which is the basis for U 10 . 0 x0 (T ) = 2 ∑ c0 (1, k )µ 0 ( 2T − k ) (7-1) k∈Z The x0 = 1 function x0 (T ) ∈ U 0 1 1 can be described by µ1 = ψ (T ) as follows ∑ c1 (0, k )µ1 (T − k ) , but also in terms of translations of 2 µ 0 (2T ) which is the basis for 1 x0 (T ) = 2 ∑ c1 (1, k )µ 0 ( 2T − k ) (7-2) k∈Z 0 U1 . k∈Z Notice that c (1, k ) is replaced by c 0 (1, k ) and d (1, k ) is replaced by c1 (1, k ) . Compositions (7-1) and (7-2) are the same as (6-2) and (6-3) in the ordinary wavelet case. The function x10 (T ) ∈ U10 can be composed of x00 (T ) ∈ U 00 and x10 (T ) ∈ U 01 according to: 0 0 1 x1 (T ) = x 0 (T ) + x0 (T ) = 2 ∑ [c0 (1, k ) + c1 (1, k )]µ 0 ( 2T − k ) (7-3) k∈Z The wavelet packets composition in general, for any x nj (T ) ∈ U nj , is: 2n 2n 1 n x j (T ) = x j −1 (T ) + x j −1+ (T ) = 2 ∑ [c 2 n ( j , k ) + c 2 n+1 ( j, k )]µ 2 n ( 2T − k ) (7-4) k∈Z The wavelet composition of a function x(T ) ∈ L2 ( R ) using the wavelets µ n and the coefficients c n ( j, k ) can take place in an infinite number of possibilities. This generalization leaves the choice of wavelet packet family to the employer. Optimal bases can be chosen to suit the data that needs to be decomposed, treated and composed to the original data. As earlier mentioned, the composition (or synthesis) part is not in the emphasis of this thesis. However, the possibility to regain the data with a minimum of loss adds certain trustworthiness to the time-frequency representation. The next section describes how a QMF filter bank tree implements the expanded MRA. 75 ):7EDVHGXSRQWKHH[SDQGHG05$ To implement a transform with Wavelet Packets, the QMF bank in section 6.4.1 can be used and extended, according to the expanded MRA: h(n) h(n) ↓2 ↓2 x13 (n) x12 (n) g(n) ↓2 h(n) ↓2 x07 (n) g(n) ↓2 x06 ( n) h(n) ↓2 x05 (n) g(n) ↓2 x04 ( n) h(n) ↓2 x03 ( n) g(n) ↓2 x02 ( n) h(n) ↓2 x10 ( n) g(n) ↓2 x00 ( n) x12 (n) x30 ( n) h(n) g(n) ↓2 ↓2 x11 (n) x20 (n) g(n) ↓2 x10 ( n) Figure 7.2: QMF Filter bank tree implementing a three level fast wavelet packets transform, J=3. Since the expanded MRA allows any dyadic tree structure, it is very general. It is possible to describe a fast STFT, which was already done in section 5.5.2 by using the full wavelet packets tree, but also ordinary wavelet analysis (DWT) can be performed using wavelet packets. The goal is however to obtain an adaptive transform, which means that certain leaves (end vertices), and their branches are cut away from the full wavelet packet tree. Frequency regions with stationary sinewaves will be covered by the filters in the highest level, to gain high frequency resolution. The other regions will be covered by filters at levels as low as possible, to gain better time resolution. This can be done by simply predicting which leaves of the tree will have larger energy than a certain threshold value, and then by pruning, cutting away the leaves which have lower energy than the threshold value. The surplus of branches is cut away with respect to the remaining leaves. Other detection mechanisms and requirements than those exploited here, are thinkable. 76 (QHUJ\3UHGLFWLRQDQG7UHH3UXQLQJ Before the tree can be pruned into a desired form, the energy in its leaves has to be predicted. The leaves of the tree are the output signals of the full QMF-tree. In a discrete time case this can be easily done by calculating a DFT (Discrete Fourier Transform) which has as many points as there are leaves on the tree. The bins of an energy spectrum calculated from the DFT will give the energy of each leaf (output signal). This energy value can be compared to a predefined threshold value. If the energy value of the leaf is higher than the threshold value, the leaf will be kept. Otherwise the leaf will be cut away. When for each leaf is determined if it will be kept or cut away, the pruning can be started by first cutting away the appropriate leaves. Now looking at the former vertex of each leaf that has been cut, either a loose vertex (new leaf) or a vertex that holds a remaining leaf will be reached. Also the loose vertices will be cut away. For this vertex is not significant for the remaining leaves in the highest level. For obvious reasons, the vertices which are significant for the remaining leaves will not be cut away. New leaves will come up at those locations where loose vertices are connected to vertices, which are significant to the remaining leaves at the highest level. This is shown in figure 7.3. Figure 7.3: Two wavelet packet trees. The tree to the left is the full wavelet packets tree and results in a discrete STFT representation. The tree to the right is a pruned version. The gray leaves have been cut away. The light green leaves are new leaves that came up after the pruning. The leaves of the resulting pruned tree construct the adapted time-frequency distribution of the data sequence. &DOFXODWLRQRI)LOWHU&RHIILFLHQWV Once the filter coefficients of the QMF bank filters are chosen, the impulse response for each path from the root to all the leaves will be calculated. This can be done by first interpolating one of the low- or high-pass filters, g (k ) or h(k ) and then by recursively performing the operations: convolution with g (k ) or h(k ) , and again interpolation. Important here is in which order to take g (k ) and h(k ) throughout the recursion. It is for example very easy to see that three times g (k ) and once h(k ) results in a 1 0 filter, which yields x0 ( n) when it has x3 ( n) as input. One might expect that the order between the root and any leaf, as given in figure 7.2, gives the proper result, as in the example 77 above. This is however not the case. In the next section, an algorithm to calculate the proper filter from g (k ) and h(k ) is presented. ,PSOHPHQWDWLRQ The implementation of the adaptive wavelet packets analysis performs the following steps: 1. Energy detection, determining the outlook of the wavelet packets tree. 2. Calculating the necessary filters from g (k ) and h(k ) in a predefined order. 3. Performing the analysis and construct a time-frequency distribution. The energy detection is simply done by calculating a fast Fourier transform of the data sequence and reducing its amount of bins by averaging. The amount of bins has to be equal to the amount of leaves in the full wavelet packet tree. It is chosen before analysis and determines the highest frequency resolution of the resulting time-frequency distribution. Subsequently, the tree is pruned into a desired form, as described in 7.2.4. Once all the vertices (leaves) are known, their associated path filters can be calculated in the way described in 7.2.5. To do this efficiently, the vertices, including the root and the leaves will be given a number. The root will be given number 1. The internal vertices and the leaves xab (n) will be given the number 2 J − a + b . The vertices in the three will thus be numbered 1,2,3,... beginning with the root vertex (level=0), processing each level (level = J - j) of the three, beginning with the lowest low-pass filter output x 0j ( n) . The lowest low-pass filter outputs have the number 2 J − j = 2 level . Figure 7.4 shows how the vertices are numbered: level 0 1 level 1 level 2 4 2 3 5 6 7 Figure 7.4: Left: numbering of the vertices. 78 After the numbering, the vertices are reordered which is simply done by the following algorithm shown in figure 7.5. 1 a b=a+2level(a) 4 2 3 7 5 b a 6 b b=3×2level(a)-a-1 Figure 7.5: Calculating the reordered tree. The formulas to the right show how the new value of the vertices is gained and how they need to be calculated from previous vertices. The filter order for a specific path-filter is now determined by looking up the associated vertex in the reordered tree and finding the number of the same vertex in the original tree. The binary value of this number, where the first 1 is omitted, is the order in which g (k ) and h(k ) are applied in the algorithm that calculates the path-filter. A 1 means h(k ) and a 0 means g (k ) . A simple example will show how a path-filter is calculated, knowing its vertex in the QMF tree. Let us calculate the path-filter for signal x05 (n ) in a tree of three levels. Figure 7.6 shows the path through the QMF bank tree. h(n) h(n) ↓2 ↓2 x13 (n) x12 (n) g(n) ↓2 x12 (n) x30 ( n) 0 h(n) ↓2 x07 (n) g(n) ↓2 x06 ( n) h(n) ↓2 x05 (n) g(n) ↓2 x04 ( n) 5 Figure 7.6: Path from x3 (n) to x0 (n ) . The vertex number associated with x05 (n ) is computed by 2 J − a + b = 2 3 − 0 + 5 = 13 . Figure 7.7 shows its location in the full tree. Subsequently, this number (13) will be looked up in the reordered tree (figure 7.8). The number of the same vertex in the original tree (figure 7.7) will be used to determine the order of the filters g (k ) and h(k ) in the path-filter computation algorithm. 79 level 0 1 level 1 level 2 level 3 8 9 2 3 4 5 6 7 10 11 12 13 14 15 Figure 7.7: The original tree. Path from vertex 1 to vertex 13. level 0 1 level 1 level 2 level 3 8 15 2 3 4 7 5 6 11 12 9 14 10 13 Figure 7.8: Location of vertex 13 in the reordered three. As shown in figure 7.7 and 7.8, vertex 15 in the original tree is associated with vertex 13 in the reordered tree. This means that the path-filter for vertex 13 can be calculated by taking the binary value of 15 and omitting the first 1. The binary value for 15 is: 1111. The order of filters in the path-filter computation algorithm is then: h(k ) , h(k ) , h(k ) . The path-filter computation algorithm will perform the following steps: 1. Initialization f (k ) = h( k ) . 2. Interpolation of f (k ) , 3. Convolution f (k ) = f (k ) ∗ h (k ) . 4. Once more steps 2 and 3. Figure 7.9 proves that this indeed will result in the path-filter for vertex 13. F 2↑ π F 2π π 2π π 2π ∗ h(n) 2↑ π 2π F ∗ h(n) π 2π Figure 7.9: Visualization of the path-filter computation algorithm. It shows the path-filter computation for vertex 13. 80 The adaptive wavelet packets transform is implemented in MATLAB in the function: [tfd,f,t]=awpt(x,level,N,thr,fs); where x is the signal being analyzed, level is the number of levels in the QMF filterbank tree, N is the filterlength of the QMF filters, thr is the threshold in the energy detection and fs is the signals sampling frequency. The function is returning tfd, which is the resulting timefrequency distribution, t and f, respectively the time and frequency axis used to show the time-scale distribution. The commented source code for these functions are enclosed in a separate appendix. An example is shown in figure 7.10. Figure 7.10: Adaptive Wavelet Packets Transform of a signal containing three sinewaves in the whole time interval and a Dirac impulse local in time. The number of levels is 9, which results in 2 9 tmes higher frequency resolution than the time domain representation has, which is equal to half the sampling frequency. The QMF filters have 32 coefficients.The threshold value is set to 0.5. 81 $GDSWLYH:LQGRZ6KRUW7LPH)RXULHU7UDQVIRUP 2SWLPDODGDSWLYHZLQGRZ The optimal parameter Popt (Tˆ ) , or Popt (n) in a discrete time STFT, at each time would be selected by computing the short-time concentration C P (T ) , or C P (n ) in the discrete time case, as a function of the parameter and by choosing P which is associated with its maximum value. However, the determination of the concentration for a large number of parameters at each time could be quite time consuming. In [JD94] it is proposed only to calculate the concentration for a set of values Pi where i = 1,2,3,..., I . Where the values for P includes its maximum and minimum acceptable values. The resulting C Pi (n ) is a sampled version of C P (n ) . An estimate of Popt (n) can be obtained by interpolating between the samples C Pi (n ) to find the maximum value of C P (n ) . Since the concentration is slowly varying with P, C P (n ) can be sampled very coarsely. Experiments have shown that sampling once or twice per octave combined with quadratic or cubic polynomial interpolation yields excellent results. Once the optimal parameter value is computed at time n0 , the time slice X PSTFT (t , f ) can opt ( n 0 ) be computed based on that value. 7RZDUGVDQHIILFLHQWLPSOHPHQWDWLRQ The major expense of the algorithm is the calculation of the short-time concentration. The information in X PSTFT (t , f ) necessary to compute C P (n ) are the L4 and L2 norms of each time-slice: ∞ ∞ 4 c 4, P (Tˆ ) = ∫ X PSTFT (Tˆ , Fˆ ) dFˆ 2 c 2, P (Tˆ ) = ∫ X PSTFT (Tˆ , Fˆ ) dFˆ ∞ ∞ The short-time concentration can be computed as ∞ C P (T ) = 4 ∫ c 4,P (Tˆ ) w(Tˆ − T ) dTˆ −∞ ∞ 2 ( ∫ c 2, P (Tˆ ) w(Tˆ − T ) dTˆ ) = 2 C 4 ,P (T ) (C 2, P (T )) 2 (7-5) −∞ If the window function has compact support, which it will have in practice, the integrals in (7-5) are over finite intervals, and only the portions of c 2, P (Tˆ ) and c 4, P (Tˆ ) around Tˆ need to be stored. 82 The adaptive window short-time Fourier transform is implemented in MATLAB in the function: [tfd,f,t]=aw_stft(x,fftlen,p,fs); where x is the signal being analyzed, fftlen is the length of the FFT-slices, p is a vector containing the window lengths for which the short time time-frequency concetration is calculated and fs is the signals sampling frequency. The function is returning tfd, which is the resulting time-frequency distribution, t and f, respectively the time and frequency axis used to show the time-scale distribution. The commented source code for these functions are enclosed in a separate appendix. An example is shown in figure 7.11. Figure 7.11: Adaptive Window Short-Time Fourier Transform of a signal containing three local sinewaves and a two Dirac impulses local in time. The smalles window has 32 samples and the longest window has 256 samples. 83 84 &KDSWHU &RQFOXVLRQV ,QWURGXFWLRQ In this last chapter, this thesis will be concluded by a comparison of results. In chapter 2, basic time-frequency analysis is introduced, with its limitations. In chapter 3 and 4 the theory is presented which deals with these limitations. Then in chapter 5, the discrete case and implementations of the method in chapter 2 are described. These are made, mostly in order to illustrate its limitations. In chapter 6 and 7, the discrete cases and implementations of the theoretical methods in chapter 3 and 4 are described. In section 8.2 the methods in chapter 6 and 7 (discrete wavelet transform DWT, adaptive wavelet packets transform AWPT and adaptive window short-time Fourier transform AW-STFT) will be compared to the methods in chapter 5. It involves comparison of computational costs (speed) and quality of the resulting time-frequency distribution. At last, section 8.3 will depict expansions and improvements on this work. &RPSDULVRQRIUHVXOWV In chapter 2.4.8 it was already mentioned that the STFT has the disadvantage that it cannot show a time-frequency distribution with good time and good frequency resolution. Good time resolution has to be weighted against good frequency resolution. This is clearly shown in figure 8.1.a and figure 8.1b. A signal with two sinewaves in the whole time interval and a Dirac impulse at 0.0156 s. The signal has 1024 points and sampling frequency 16384 Hz. In figure 8.1.a and figure 8.1.b the signal is analyzed with QMF bank tree yielding the STFT representation (see chapter 5.5.2). The choice of method is justifiable because the results need to be comparable to the AWPT which functionality is based on the same theory. 85 In figure 8.1.a, the QMF bank has 3 levels, which results in a frequency resolution of 8192 / 8 = 1024 Hz. The time resolution is 8 / 16384 = 0.488 ms. These easy calculations are based on the facts that the time representation has the best time resolution, which is 1 / 16384 = 0.061 ms and that it has the worst frequency resolution, 16384 Hz. The three level QMF bank tree increases the frequency resolution by a factor 2³ = 8 and decreases the time resolution by a factor 8, compared to the resolutions of the original time sequence. In figure 8.1.b the number of levels is 7. The frequency resolution is here 8192 / 128 = 64 Hz, which is 16 times higher than used with figure 8.1.a. The time resolution is 128 / 16384 = 7.813 ms, which is 16 time lower than used with figure 8.1.b. Neither one of the two figures show clearly that the signal contains two sine waves and a Dirac impulse. In figure 8.1.a, the sine waves are scattered in frequency and in figure 8.1.b the Dirac impulse is scattered in time. Figure 8.1: a) Short window STFT. Figure 8.1: b) Long window STFT. Figure 8.1: c) Adaptive Wavelet Packets Transform AWPT. Figure 8.1.c shows the result of an adaptive wavelet packets transform (see section 7.2). The QMF bank tree applied here has 7 levels, just as the tree used with figure 8.1.b. This tree is however pruned in an optimal shape, which results in optimal frequency resolution for 86 stationary sine waves in the signal. Figure 8.1.c shows clearly that the signal contains two sine waves and a Dirac impulse. The sine waves are analyzed with a frequency resolution of 64 Hz, as in figure 8.1.b. The Dirac impulse is analyzed with different time resolutions along the frequency axis. The worst time resolution is 7.813 ms, as in figure 8.1.b. The best time resolution is in the frequency band 4096 – 8192 Hz and is 2 / 16384 = 0.122 ms which is even 4 times better than figure 8.1.a. The time needed to compute the TFDs in figure 8.1.a and 8.1.b was respectively 0.66 s1 and 46.42 s. The big difference here is caused by the number of levels in the tree. Since the AWPT has as much levels, it does not have the same computational complexity since it does not apply all the filters at the highest level. For the two tones in figure 8.1.c, the calculation of the TFD took only 4,9 s. Figure 8.2: a) Short window STFT. Figure 8.2: b) Long window STFT. Figure 8.2: c) Adaptive Window Short-Time Fourier Transform AW-STFT. In figure 8.2.a and 8.2.b, the same signal is analyzed (slightly shorter though, from 0-0.04 s, 700 data points), but now with an FFT based STFT algorithm (see section 5.4.1). The timewindows used are respectively 64 and 256 point Hamming windows. In figure 8.2.a, the time 1 Calculations were done in MATLAB on a Pentium 100 with Win95, 32 MB ram. 87 resolution is 64 / 16384 = 3.906 ms and the frequency resolution is 8192 / 64 = 128 Hz. In figure 8.2.b, the time resolution is 256 / 16384 = 15.625 ms and the frequency resolution is 8192 / 256 = 32 Hz. Figure 8.2.c shows the result of an adaptive window short-time Fourier transform (see section 7.3). The window length is adaptive along the time axis between 64 and 256 points. Figure 8.1.c shows clearly that the signal contains two sine waves and a Dirac impulse. The sine waves are analyzed with a frequency resolution of 8192 / 256 = 32 Hz, as in figure 8.2.b. The Dirac impulse is analyzed with a frequency resolution of 64 / 16384 = 3.906 ms. The time needed to compute the TFDs in figure 8.2.a and 8.2.b was respectively 1,31 s and 2,36 s. The difference here is caused only by the different window length since both methods used the same length for all the FFTs . For figure 8.1.c, the calculation of the TFD took 168,79 s, which is a much higher value. The extensive number of time-frequency concentration calculations causes this. The examples here also reflect the application of these methods. The STFT methods all yield uniform resolution TFDs, which means that they are not specifically optimized for the timefrequency analysis of signals with specific contents. They are however useful to get a fast interpretation of the content of the signal, if no prior knowledge about the contents is available. The adaptive methods AWPT and AW-STFT optimize the time-frequency analysis. The first method is typically suitable for the analysis of signals containing long duration sine waves with constant frequency for which optimal frequency resolution is desired. The optimization then gives better time resolution for frequency bands not containing any sine waves. The second method is suitable for the analysis of signals where transients are prioritized. Time intervals containing any stationary frequencies are then analyzed with good frequency resolution. The analysis of non-stationary time and frequency phenomena, for example sinewaves with varying frequency need to be analyzed with methods which optimize in both time and frequency. Since these methods are beyond the scope of the thesis they are not described here. In chapter 8.3, certain references for further reading concerning these methods are appended. )XUWKHUUHDGLQJ Since the next step on time-frequency analysis would be optimizing in both time and frequency, some further reading in this area is presented. Methods that will be described here belong to the class of energy distributions. These distributions are divided into two groups: the Cohen's class and the affine class [AF97]. The Cohen's class covers those TFDs that are 88 covariant by translations in time and frequency [CL89], like the STFT. The affine class covers those TFDs that are covariant by translation in time and dilation, like the CWT. In [AF97] examples are given of the reassignment method, which improves time-frequency concentration of energy distributions of both classes. In [BR93] the time-frequency window function or simply called kernel is optimized so that it is well matched to the signals content. In [JD95] this kernel is adapted over time to maximize the performance. 89 90 5HIHUHQFHV [AR93] Asselt, R. van, Pijlgroms, R. B. J., Wiskunde voor het hoger onderwijs, analyse en numerieke wiskunde, deel 2, Educative Partners Nederland BV, Culemborg, The Netherlands, 1993, ISBN 90-11-016904. [AR91] Asselt, R. van, Pijlgroms, R. B. J., Wiskunde voor het hoger onderwijs, analyse en numerieke wiskunde, deel 3, Educative Partners Nederland BV, Culemborg, The Netherlands, 1991, ISBN 90-11-019423. [AF97] Auger, F., Flandrin, P., Gonçalvès, P., Lemoine, O., Time-Frequency Toolbox, For Use with MATLAB, Tutorial, Centre National de la Recherche Scientifique, Paris, France, July 1997. [BR93] Baraniuk, R. G., Jones, D. L., Signal-Dependent Time-Frequency Analysis Using a Radially Gaussian Kernel, Signal Processing, vol. 32, no. 3, pp. 263-284, June 1993. [CM90] Cartwright, M., Fourier Methods for mathematicians, scientists and engineers, Ellis Horwood Limited, London, England, 1990, ISBN 0-13-327016-5.l. [CC92] Chui, C. K., An Introduction to Wavelets, Wavelet Analysis and its Applications Volume 1, Academic Press Inc., San Diego, USA, 1992, ISBN 0-12-174584-8. [CA96] Cohen, A., Kovaþeviü, J., Wavelets: The Mathematical Background, proceedings of the IEEE, April 1996. [CL89] Cohen, L., Time-Frequency Distributions – A Review, proceedings of the IEEE, 77(7):941-980, 1989. 91 [DI92] Daubechies, I., Ten Lectures on Wavelets, Society for Industrial and Applied Mathematics, Philadelphia, 1992, ISBN 0-89871-274-2. [HC94] Heil, C. E., Walnut, D. F., Continuous and Discrete Wavelet Transforms, Society for Industrial and Applied Mathematics, SIAM Review vol.31 no.4 pp. 628-666, 1994. [HB96] Hubbard, B. B., The World According to Wavelets, The Story of a Mathematical Technique in the Making, A K Peters Ltd., Wellesley, Massachusetts, 1996, ISBN 1-56881-047-4. [JD94] Jones, D. L., Baraniuk, R. G., A simple scheme for adapting time-frequency representations, Department of Electrical and Computer Engineering, Rice University, Houston, IEEE Transactions on Signal processing, Vol. 42, No. 12, Dec. 1994. [JD95] Jones, D. L., Baraniuk, R. G., An Adaptive Optima-Kernel Time-Frequency Representation, IEEE Transactions on Signal Processing, vol. 43, no. 11, pp. 2361-2371, October 1995. [LA94] Lyngsjö, A., Winberg, M., Detektion av transienta undervattenssignaler med wavelettransform, Institutionen för Teletransmissionteori, Lunds Tekniska Högskola, Lund, Sweden, September 1994. [MY93] Meyer, Y., Wavelets, Algorithms & Applications, Society for Industrial and Applied Mathematics, Philadelphia, 1993, ISBN 0-89871-309-9. [MM96] Misti, M., Misti, Y., Oppenheim, G., Poggi, J. M., Wavelet Toolbox, For Use with MATLAB, The Mathworks Inc., Natick, Massachusetts, 1996. [MS98] Mitra, S. K., Digital Signal Processing, A Computer-Based Approach, Department of Electrical and Computer Engineering, University of California, Santa Barbara, USA, 1998, ISBN 0-07-042953-7. 92 [PE91] Pearson, E. R. S., The Multiresolution Fourier Transform and its application to Polyphonic Audio Analysis, University of Warwick, Department of Computer Science, Warwick, 1991, Research Thesis RT282. [PJ96] Proakis, J. G., Manolakis, D. G., Digital Signal processing: principles, algorithms, and applications, Prentice-Hall Inc., Upper Saddle River, New Jersy, USA, 1996. [RO91] Rioul, O., Vetterli, M., Wavelets and Signal processing, IEEE Signal Processing Magazine, October 1991. [SG96] Strang, G., Nguyen, T., Wavelets and Filter banks, Wellesley-Cambridge Press, Wellesley, 1996, ISBN 0-9614088-2-0. [UM95] Ueda, M., Lodha, S., Wavelets: An Elementary Introduction and Examples, Baskin Center for Computer Engineering & Information Sciences, University of California, Santa Cruz, 1995. [VB91] Vidakoviü, B., Müller, P., Wavelets for Kids, A Tutorial Introduction, Duke University, Institute of Statistics and Decision Sciences, Durham, 1991. 93 94 ,QGH[ A accuracy.................................................................23 adaptive time-frequency analysis ...........................13 adaptive wavelet packets transform.......................82 adaptive window short-time Fourier transform.43,84 affine class .............................................................88 algorithm................................................................11 aliasing effect.........................................................68 amplitude error ......................................................50 analysis filter .........................................................68 analyzing function.............................................16, 20 angular frequency...................................................16 average space.........................................................65 AWPT....................................................................85 AW-STFT..............................................................85 B bandpass filter............................................20, 40, 58 bandwidth ..............................................................21 branche...................................................................76 C Cauchy-Schwarz inequality....................................27 center .....................................................................19 Cohen's class..........................................................88 compact support.....................................................66 completeness..........................................................65 conclusions ............................................................85 constant-Q-filtering................................................40 containment ............................................................65 continuous wavelet transforms ...............................37 convolution ............................................................20 critically sampled ..................................................68 CWT ......................................................................38 D datasequence ..........................................................11 decomposition........................................................11 detail space ............................................................65 DFT........................................................................49 digital filters ..........................................................65 dilation...................................................................40 Dirac impulse........................................................ 24 discrete Fourier transform..................................... 51 discrete short-time Fourier transform.................... 49 discrete wavelet transform.............................. 37, 63 downsampling....................................................... 68 DWT ..................................................................... 63 dyadic scales......................................................... 63 dyadic translation.................................................. 64 dyadic wavelets .................................................... 63 E energy distributions ............................................... 88 F fast Fourier transform............................................ 53 fast wavelet transform........................................... 63 father wavelet........................................................ 65 FFT ....................................................................... 49 filterbank............................................................... 15 finite impulse response.......................................... 58 FIR ........................................................................ 58 Fourier .................................................................. 12 Fourier coefficients ............................................... 16 Fourier integral ..................................................... 12 Fourier scaling property........................................ 41 Fourier series ........................................................ 16 Fourier spectrum................................................... 12 Fourier theory........................................................ 12 Fourier transform ............................................ 12, 15 frequency-window ................................................ 21 FWT...................................................................... 63 G Gabor transform.................................................... 31 Gaussian function.................................................. 31 H Heisenberg frames................................................. 21 Heisenberg uncertainty principle..................... 15, 27 Hilbert space......................................................... 65 95 I impulse response ................................................... 20 instances ................................................................ 18 intersection............................................................ 65 inverse transform................................................... 11 K kernel..................................................................... 89 L leaf ........................................................................ 76 leakage .................................................................. 21 linear phase ........................................................... 69 linear time-invariant.............................................. 68 LTI......................................................................... 68 M magnitude reserving............................................... 69 mean...................................................................... 19 MFT ...................................................................... 34 mother wavelet................................................ 37, 64 MRFT.................................................................... 44 M-STFT ................................................................ 34 MRA...................................................................... 63 multiresolution analysis................................... 63, 65 multiresolution Fourier transform.......................... 43 multiresolution time-frequency analysis ................ 33 multiscale short-time Fourier transform ................ 34 N normalization......................................................... 34 O optimal adaptive window...................................... 83 optimal time-varying parameter............................. 48 orthogonal.............................................................. 68 orthogonal complement.......................................... 65 orthogonal decomposition ..................................... 65 orthonormal basis .................................................. 65 overlap factor ........................................................ 50 P 96 parameter discretization ........................................49 Parseval Identity..............................................27, 39 phase reserving......................................................69 profile....................................................................42 pruning...................................................................76 Q quantization............................................................51 R radius.....................................................................19 reassignment method..............................................89 reference space......................................................65 resolution...............................................................23 S scale parameter......................................................34 scaling function......................................................65 scaling property...............................................22, 66 scalogram ........................................................44, 70 scattering effect......................................................47 short-time Fourier transform..................................15 short-time time-frequency concentration................48 sinusoid .................................................................23 similar ...................................................................66 spectrogram.....................................................15, 27 stationary...............................................................17 STFT .....................................................................17 stride......................................................................49 subband coding......................................................68 synthesis filter........................................................68 T theorem of Euler-Fourier .......................................16 time-frequency distribution..............................17, 21 time-frequency distribution matrix.........................53 time-frequency frames ...........................................21 time-frequency localization ...................................17 time-frequency plane .......................................15, 18 time-scale analysis ................................................33 transform parameters .............................................37 translation..............................................................19 translation parameter .............................................38 two-scale relation..................................................66 two-scale sequence................................................66 U uniform resolution time-frequency analysis............15 upsampling.............................................................68 V variance .................................................................19 vertex.....................................................................76 vertices ..................................................................76 W wavelet coefficients ...............................................63 wavelet composition..............................................67 wavelet decomposition ......................................... 67 wavelet family....................................................... 64 wavelet function.................................................... 65 wavelet packet tree ............................................... 76 wavelet packets..................................................... 73 wavelet transform.................................................. 33 wavelets ................................................................ 37 window ................................................................. 18 windowed Fourier transform................................. 17 Z z-transform............................................................ 69 97 98 $SSHQGL[ 99 100 $SSHQGL[$ 6\PERO/LVW The table below describes the symbols used in this thesis. Symbol Description T, t Variable representing respectively continuous and discrete time F,f Variable representing respectively continuous and discrete frequency [Hz] Ω,ω Variable representing respectively continuous and discrete angular frequency [rad/s], where Ω = 2π F and ω = 2π f . x( T ) Function x of continuous variable T. X ( A, B ,...) Function X of variables A,B,.... which is a transform of function x( T ) . x( t ) Function x of discrete variable t. X (a , b,...) Function X of discrete variables a,b,.... which is a discrete transform of function x( t ) . FT, STFT, M-STFT, CWT, ... Transform operator, corresponds to used abbreviations, e.g. the Fourier Transform: X (Ω) =FT [ x( T ) ] v, M Vector v and matrix M vt , M t Transponate of a vector v and matrix M a Complex conjugate of complex variable a 101 102 $SSHQGL[% $EEUHYLDWLRQV AWPT Adaptive Wavelet Packets Transform AW-STFT Adaptive Window Short-Time Fourier Transform CWT Continuous Wavelet Transform DFT Discrete Fourier Transform DWT Discrete Wavelet Transform FFT Fast Fourier Transform FIR Finite Impulse Response FT Fourier Transform FWT Fast Wavelet Transform LTI Linear Time-Invariant M-STFT Multiscale Short-Time Fourier TransformL MRFT Multiresolution Fourier Transform QMF Quadrature Mirror Filter STFT Short-Time Fourier Transform TFD Time-Frequency Distribution 103 104 $SSHQGL[& 0DWKHPDWLFDO3URRI Theorem: Re{ xf ( x ) f ' ( x)} = 12 x dxd f ( x) 2 (A.1) Proof: Re{ xf ( x ) f ' ( x)} = x Re{ f ( x) f ' ( x )} − x Im{ f ( x) f ' ( x)} = x Re{ f ( x) f ' ( x )} + x Im{ f ( x) f ' ( x)} = 12 x ⋅ 2 Re{ f ( x)} Re{ f ' ( x )} + 12 x ⋅ 2 Im{ f ( x )} Im{ f ' ( x )} 2 2 d d Re{ f ( x )} + 12 x Im{ f ( x )} = 12 x dx dx d 2 2 1 Re { f ( x )} + Im { f ( x)} =2x dx 2 d Re2 { f ( x )} + Im2 { f ( x )} = 12 x dx 2 d f ( x) = 12 x dx ( ( ) ( ) ) ( (A.2) ) Theorem: F g( F ) = 2 2 1 d g( T ) 4π 2 dT 2 (A.3) Proof: F g (F ) 2 2 1 d FT =F g (T ) j 2πF dT 2 2 F d FT = g (T ) 2 2 4π F dT 2 2 (A.4) 105 Theorem: ∞ 2 T 2 − 2α ∫T e = −∞ 3 π (2α )2 2 (A.5) Proof: ∞ ∫T e −∞ 2 T 2 − 2α = ∞ ∫T −∞ 2 − aT 2 [ e e 2 − jΩ T dT where Ω = 0, a = ] = FT T 2 e− aT where Ω = 0, a = =− [ ] 1 2α 1 2α 2 2 1 d − aT where Ω = 0, a = 2 FT e 2α dΩ Ω 2 1 π d 2 − 4a ( ) where Ω = 0, a = =− 2 e 2α a dΩ 2 Ω − 1 π d (Ωe 4 a ) where Ω = 0, a = = 2 4a dΩ 2α 2 Ω − 1 π 4a ( )(1 − 12 aΩ 2 ) where Ω = 0, a = =− e 3 4a 2α 2 π = (2α )3 2 106 (A.6)