Rémi Flamary

Professional website

MAP555 Signal Processing from Fourier to machine learning


Course overview:

  • Fourier analysis and analog filtering [PDF]
    • Fourier Transform
    • Convolution and filtering
    • Applications of analog signal processing
  • Digital signal processing [PDF]
    • Sampling and properties of discrete signals
    • z Transform and transfer function
    • Fast Fourier Transform
    • Applications to signal and image processing
  • Random signals [PDF]
    • Correlation and spectral representation of random signals
    • Filtering and prediction of stationary random signals
    • Autoregressive model and Wiener filtering
  • Signal representation and dictionary learning [PDF]
    • Non stationary signals and short time FT
    • Common signal representations (Fourier, wavelets)
    • Source separation and dictionary learning
    • Signal processing with machine learning


  • Exercises Part 1 : Analog signal processing [PDF]
  • Exercises Part 2 : Digital signal processing [PDF]
  • Exercises Part 3 : Random signal processing [PDF]

Practical sessions

Practical sessions will require a working Python environnement with the libraries Numpy/Scipy and Matplotlib installed. You can get such an environnement for Windows/Linux/MacOSX on Anaconda.

Here is a list of nice references and Python tutorials :


The course is partly based on the original MAP555 taught by S. Mallat, E. Moulines and F. Roueff at Ecole Polytechnique. I want to thank Lucas Versini for his help in correcting many small errors and typos in the course.


  • Polycopié MAP555, S .Mallat, E. Mouline, F. Roueff, 2015
  • Théorie du Signal, C. Jutten, 2018 [PDF]
  • Signals and Systems, Oppenheim & Willsky, 1996 [PDF]
  • Signals and systems, Haykin & Van Veen, 2002 [URL]
  • Discrete-Time Signal Processing, Oppenhein, 1999 [PDF]
  • Probability, Random Variables and Stochastic Processes, A. Papoulis, 2002 [PDF]
  • Wavelet tour of signal processing, S. Mallat, 2008 [PDF]