A Journey in Signal Processing with Jupyter
Total Page:16
File Type:pdf, Size:1020Kb
A Journey in Signal Processing with Jupyter JEAN-FRANÇOIS BERCHER ESIEE-PARIS 2 Page 2/255 Contents 1 A basic introduction to signals and systems 9 1.1 Effects of delays and scaling on signals ............................ 9 1.2 A basic introduction to filtering ................................. 12 1.2.1 Transformations of signals - Examples of difference equations ............ 12 1.2.2 Filters ......................................... 19 2 Introduction to the Fourier representation 23 2.1 Simple examples ........................................ 23 2.1.1 Decomposition on basis - scalar producs ....................... 26 2.2 Decomposition of periodic functions – Fourier series ..................... 27 2.3 Complex Fourier series ..................................... 29 2.3.1 Introduction ....................................... 29 2.3.2 Computer experiment ................................. 30 3 From Fourier Series to Fourier transforms 39 3.1 Introduction and definitions ................................... 39 3.2 Examples ............................................ 41 3.2.1 The Fourier transform of a rectangular window .................... 42 3.2.2 Fourier transform of a sine wave ............................ 45 3.3 Symmetries of the Fourier transform. .............................. 49 3.4 Table of Fourier transform properties .............................. 51 4 Filters and convolution 53 4.1 Representation formula ..................................... 53 4.2 The convolution operation ................................... 54 4.2.1 Definition ........................................ 54 4.2.2 Illustration ....................................... 55 4.2.3 Exercises ........................................ 56 5 Transfer function 59 5.1 The Plancherel relation ..................................... 59 5.2 Consequences .......................................... 60 3 4 6 Basic representations for digital signals and systems 63 6.1 Study in the time domain .................................... 63 6.2 Study in the fequency domain ................................. 63 7 Filtering 65 8 Lab – Basic representations for digital signals and systems 67 8.1 Study in the time domain .................................... 67 8.1.1 The function scipy.signal lfilter() ............................ 68 8.2 Display of results ........................................ 72 8.3 Study in the frequency domain ................................. 74 8.4 Filtering ............................................. 75 8.4.1 Analysis in the time domain .............................. 76 8.4.2 Frequency representation ................................ 77 9 The continuous time case 83 9.1 The continuous time Fourier transform ............................. 83 9.1.1 Definition ........................................ 83 9.1.2 Example - The Fourier transform of a rectangular pulse ................ 84 9.1.3 Table of Fourier transform properties ......................... 87 9.1.4 Symmetries of the Fourier transform. ......................... 88 9.2 Dirac impulse, representation formula and convolution .................... 88 9.2.1 Dirac impulse ...................................... 88 9.2.2 Representation formula ................................. 89 10 Periodization, discretization and sampling 91 10.1 Periodization-discretization duality ............................... 91 10.1.1 Relation between Fourier series and Fourier transform ................ 91 10.1.2 Poisson summation formulas .............................. 92 10.2 The Discrete Fourier Transform ................................ 97 10.2.1 The Discrete Fourier Transform: Sampling the discrete-time Fourier transform ... 98 10.2.2 The DFT as a change of basis ............................. 101 10.2.3 Time-shift property ................................... 101 10.2.4 Circular convolution .................................. 101 10.3 (Sub)-Sampling of time signals ................................. 102 10.4 Illustration 1 ........................................... 103 10.5 Illustration 2 ........................................... 104 10.6 The sampling theorem ..................................... 107 10.6.1 Derivation in the case of discrete-time signals ..................... 107 10.6.2 Case of continuous-time signals. ............................ 109 10.6.3 Illustrations ....................................... 109 10.6.4 Sampling of band-pass signals ............................. 114 10.7 Lab on basics in image processing ............................... 114 10.7.1 Introduction ....................................... 114 Page 4/255 5 11 Digital filters 117 11.0.1 Introduction ....................................... 117 11.0.2 The z-transform ..................................... 117 11.1 Pole-zero locations and transfer functions behavior ...................... 117 11.1.1 Analysis of no-pole transfer functions ......................... 118 11.1.2 Analysis of all-poles transfer functions ........................ 120 11.1.3 General transfer functions ............................... 125 11.1.4 Appendix – listing of the class ZerosPolesPlay .................... 126 11.2 Synthesis of FIR filters ..................................... 131 11.2.1 Synthesis by sampling in the frequency domain .................... 131 11.2.2 Synthesis by the window method ........................... 136 11.3 Synthesis of IIR filters by the bilinear transformation method ................. 146 11.3.1 The bilinear transform ................................. 148 11.3.2 Synthesis of low-pass filters – procedure ........................ 149 11.3.3 Synthesis of other type of filters ............................ 151 11.3.4 Numerical results .................................... 152 11.4 Lab – Basic Filtering ...................................... 155 11.4.1 Analysis of the data ................................... 155 11.4.2 Filtering ......................................... 157 11.4.3 Design and implementation of the lowpass averaging filter .............. 157 11.4.4 Second part: Boost of a frequency band ........................ 160 11.5 Theoretical Part ......................................... 162 11.5.1 Lowpass [0- 250 Hz] filtering by the window method ................. 163 12 Random Signals 165 12.1 Introduction to Random Signals ................................ 165 12.2 Fundamental properties ..................................... 165 12.2.1 Stationnarity ...................................... 165 12.2.2 Ergodism ........................................ 166 12.2.3 Examples of random signals .............................. 167 12.2.4 White noise ....................................... 170 12.3 Second order analysis ...................................... 173 12.3.1 Correlation functions .................................. 173 12.4 Filtering ............................................. 178 12.4.1 General relations for cross-correlations ........................ 178 12.4.2 By-products ....................................... 179 12.4.3 Examples ........................................ 179 12.4.4 Correlation matrix ................................... 183 12.4.5 Identification of a filter by cross-correlation ...................... 184 12.5 Analyse dans le domaine fréquentiel .............................. 187 12.5.1 Notion de densité spectrale de Puissance ........................ 188 12.5.2 Power spectrum estimation ............................... 190 12.6 Applications ........................................... 192 12.6.1 Matched filter ...................................... 192 12.6.2 Wiener filtering ..................................... 200 Page 5/255 6 13 Adaptive Filters 209 13.1 A general filtering problem ................................... 210 13.1.1 Introduction ....................................... 211 13.1.2 The Linear Minimum Mean Square Error Estimator .................. 211 13.1.3 The Least Square Error Estimator ........................... 212 13.1.4 Application to filter identification ........................... 213 13.2 The steepest descent algorithm ................................. 218 13.3 Application to the iterative resolution of the normal equations ................. 223 13.3.1 Convergence analysis .................................. 227 13.3.2 An alternative view of the Steepest Descent Algorithm ................ 229 13.4 Adaptive versions ........................................ 232 13.4.1 The Least Mean Square (LMS) Algorithm ....................... 234 13.4.2 Illustation of the LMS in an identification problem .................. 235 13.4.3 Convergence properties of the LMS .......................... 248 13.4.4 The normalized LMS .................................. 248 13.4.5 Other variants of the LMS ............................... 250 13.4.6 Recursive Least Squares ................................ 251 Page 6/255 7 Page 7/255 8 Page 8/255 1 A basic introduction to signals and systems 1.1 Effects of delays and scaling on signals In this simple exercise, we recall the effect of delays and scaling on signals. It is important for students to experiments with that to ensure that they master these simple transformations. Study the code below and experiment with the parameters # Define a s i m p l e f u n c t i o n d e f f ( t ) : r e t u r n np . exp ( −0.25∗ t ) i f t >0 e l s e 0 T= np.linspace( −10 ,20 ,200) L= l e n (T) x=np. zeros(L) # r e s e r v e some sp a c e f o r x t 0 =0; a=1 # i n i t i a l v a l u e s # Compute x as f ( a∗ t + t 0 ) k=0 f o r t i n T: x [ k ]= f ( a∗ t + t 0 ) k=k+1 # P l o t t i n g t h e s i g n a l plt.plot(T,x) plt.xlabel( "