An introduction to basic concepts in signal processing and their implementation in MATLAB. Updates are ongoing (most recent: 9/13/2014; update includes minor edits and explanation of multitaper methods) and I welcome any and all suggestions for its improvement! Thanks go to Matthijs van der Meer and Rachel Samson for feedback and edits.
Note: I don’t recommend reading this PDF on the Firefox viewer, because, for simplicity, I use default MATLAB figure settings and the line width on many of the figures is too narrow.
Contents 0. About MATLAB 1. Fourier transformations and signal generation MATLAB Exercises 1.1) Generating signals that oscillate 1.2) Using the Fourier transformation to convert the signals into power spectra 1.3) Zero-padding a signal 2. Signal filtering and more signal generation MATLAB Exercises 2.1) Filter random noise to 6-10 Hz 2.2) Decompose filtered signal with a Fourier transform Chapter 2 Appendix: function filt_LFP 3. Time-frequency analysis, wavelets, and the Hilbert transform MATLAB Exercises 3.1) Generate a signal with a 8 to 10 Hz segment followed by a 16 to 20 Hz segment 3.2) Apply a sliding-window Fourier analysis 3.3) Apply a Morlet and Mexican hat wavelet analysis 3.4) Compute the instantaneous phase and amplitude of a signal using the Hilbert 4. Coherence and phase synchrony MATLAB Exercises 4.1) Generate two simple signals 4.2) Compute the magnitude squared coherence between the two signals 4.3) Compute the phase synchrony between the two signals Chapter 4 Appendix: Function LFPSynch