Complete neural signal processing and analysis: Zero to hero
4.8 (373 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,939 students enrolled

Complete neural signal processing and analysis: Zero to hero

Learn signal processing and statistics using brain electrical data with expert instruction and code challenges in MATLAB
Bestseller
4.8 (373 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,939 students enrolled
Created by Mike X Cohen
Last updated 8/2020
English
English [Auto]
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 47 hours on-demand video
  • 14 articles
  • 14 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Signal processing
  • Time series data analysis
  • Statistics (non-parametric)
  • Neuroscience (brain science)
  • Spectral analysis application
  • Applied math
Requirements
  • Basic MATLAB knowledge
  • Access to MATLAB or Octave
Description

Use your brain to learn signal processing, data analysis, and statistics... by learning about brains!

If you are reading this, I guess you have a brain. Your brain generates electrical signals that can be measured using electrodes, which are like small antennas. These electrical signals are rreeeeeaaallly complicated, because the brain is really complicated! 

But learning how to analyze brain electrical signals is an amazing and fascinating way to learn about signal processing, data visualization, spectral analysis, synchronization (connectivity) analyses, and statistics (in particular, permutation-based statistics).


What do you get in this course?

  • This course contains over 46 hours of video instruction, plus TONS of MATLAB exercises, problem sets, and challenges.

  • If you do all the MATLAB exercises, this course is easily well over 100 hours of educational content.

  • And you get access to the Q&A forum, where you can post specific questions about the course material and I answer as quickly as I can (typically 1-2 days).

  • By the end of this course, you will have confidence in processing, cleaning, analyzing, and performing statistics on brain electrical activity.


What do you need to know before joining this course?

I have tried to make this course accessible to anyone who is interested in learning neural signal processing and time series analysis.

I believe you can simply start this course without any formal background in neuroscience/biology, and without any background in signal processing/math/statistics. That said, some background in these topics will definitely be helpful.

However, I do assume that you have access to MATLAB (or Octave), and that you have some basic MATLAB coding skills (variables, for-loops, basic plotting). If you are a total noob to MATLAB, then please first take an intro-MATLAB course and then come back here.


Why should you trust this weird Mike X Cohen guy?

I've been teaching this material for almost 20 years. I'm really dedicated to teaching and I work really hard to improve my courses each year.

Check out the reviews of this course and my other courses to see what my students think of my teaching style and dedication.

I've also written several textbooks on neural data analysis and scientific programming. And there are more books and more courses on the way!

... but you have to watch out for my weird sense of humor. You've been warned...

Who this course is for:
  • Anyone interested in applied signal processing
  • Interested in non-parametric statistics
  • Existing or aspiring neuroscience students
  • Anyone who wants to know what brain electrical signals look like
Course content
Expand all 233 lectures 46:54:18
+ Introduction
5 lectures 38:35
Neural data science as source sepatation
15:57
What to expect from this course
11:58
A quick note about how this went from 2 to 1 course
02:30
Download this file if you are using Octave (otherwise ignore)
00:10
+ The basics of neural signal processing
18 lectures 04:29:21
Download MATLAB materials for this course
00:02
Origin, significance, and interpretation of EEG
21:36
Overview of possible preprocessing steps
13:39
ICA for data cleaning
19:01
Signal artifacts (not) to worry about
15:48
Overview of time-domain analyses (ERPs)
16:19
Motivations for rhythm-based analyses
16:39
Interpreting time-frequency plots
16:11
The empirical datasets used in this course
04:26
MATLAB: EEG dataset
19:31
MATLAB: V1 dataset
08:14
Where to get more EEG data?
04:10
Simulating data to understand analysis methods
21:57
Problem set: introduction and explanation
04:08
Problem set (1/2): Simulating and visualizing data
35:18
Problem set (2/2): Simulating and visualizing data
36:18
Planck, neuron, universe
03:37
+ Simulating time series signals and noise
13 lectures 02:02:19
MATLAB files for this section
00:02
Why simulate data?
08:26
Generating white and pink noise
12:24
The three important equations (sine, Gaussian, Euler's)
23:01
Generating "chirps" (frequency-modulated signals)
06:41
Non-stationary narrowband activity via filtered noise
05:27
Transient oscillation
07:22
The eeglab EEG structure
12:58
Project 1-1: Channel-level EEG data
09:30
Project 1-1: Solutions
11:47
Projecting dipoles onto EEG electrodes
09:05
Project 1-2: dipole-level EEG data
04:50
Project 1-2: Solutions
10:46
+ Time-domain analyses
11 lectures 01:43:36
MATLAB files for this section
00:02
Event-related potential (ERP)
17:42
Lowpass filter an ERP
16:54
Compute the average reference
07:09
Butterfly plot and topo-variance time series
06:11
Topography time series
12:57
Project 2-1: Quantify the ERP as peak-mean or peak-to-peak
07:07
Project 2-1: Solutions
15:19
Project 2-2: ERP peak latency topoplot
02:30
Project 2-2: Solutions
08:08
+ Static spectral analysis
38 lectures 07:40:51
Download MATLAB materials for this section
00:03
Course tangent: self-accountability in online learning
03:03
Time and frequency domains
09:42
Sine waves
08:05
MATLAB: Sine waves and their parameters
09:25
Complex numbers
14:23
Euler's formula
12:03
MATLAB: Complex numbers and Euler's formula
12:24
The dot product
09:40
MATLAB: Dot product and sine waves
10:37
Complex sine waves
04:51
The complex dot product
07:12
MATLAB: The complex dot product
13:54
Fourier coefficients
12:30
MATLAB: The discrete-time Fourier transform
15:22
MATLAB: Fourier coefficients as complex numbers
16:52
Frequencies in the Fourier transform
12:22
Positive and negative frequencies
14:33
Accurate scaling of Fourier coefficients
08:33
MATLAB: Positive/negative spectrum; amplitude scaling
17:27
MATLAB: Spectral analysis of resting-state EEG
14:50
MATLAB: Quantify alpha power over the scalp
18:51
The perfection of the Fourier transform
09:45
The inverse Fourier transform
06:51
MATLAB: Reconstruct a signal via inverse FFT
10:05
Frequency resolution and zero-padding
10:14
MATLAB: Frequency resolution and zero-padding
16:38
Estimation errors and Fourier coefficients
08:05
Signal nonstationarities
13:06
MATLAB: Examples of sharp nonstationarities on power spectra
10:31
MATLAB: Examples of smooth nonstationarities on power spectra
17:10
Welch's method for smooth spectral decomposition
11:13
MATLAB: Welch's method on phase-slip data
11:47
MATLAB: Welch's method on V1 dataset
05:36
Problem set (1/2): Spectral analyses of real and simulated data
33:00
Problem set (2/2): Spectral analyses of real and simulated data
37:09
+ More on static spectral analyses
13 lectures 01:45:39
MATLAB files for this section
00:02
Program the Fourier transform from scratch!
04:18
Program the inverse Fourier transform from scratch!
05:51
Spectral separation on simulated dipole data
06:00
FFT of stationary and non-stationary simulated data
12:37
FFT and Welch's method on EEG resting state data
12:00
To taper or not to taper?
16:50
Extracting average power from a frequency band
04:53
Comparing average spectra vs. spectra of an average
11:39
Project 3-1: Topography of spectrally separated activity
04:22
Project 3-1: Solutions
11:55
Project 3-2: Topography of alpha-theta ratio
03:51
Project 3-2: Solutions
11:21
+ Time-frequency analysis
42 lectures 10:29:04
Download MATLAB materials for this section
00:03
Morlet wavelets in time and in frequency
17:47
Convolution in the time domain
23:36
MATLAB: Time-domain convolution
14:20
Convolution as spectral multiplication
19:29
MATLAB: The five steps of convolution
08:28
MATLAB: Convolve real data with a Gaussian
12:56
MATLAB: Complex Morlet wavelets
08:32
Complex Morlet wavelet convolution
12:43
Convolution coding tips
07:54
MATLAB: Complex Morlet wavelet convolution
19:02
MATLAB: Convolution with all trials!
08:26
MATLAB: A full time-frequency power plot!
09:50
Averaging phase values
13:06
Inter-trial phase clustering (ITPC/ITC)
15:16
MATLAB: ITPC
13:18
Parameters of Morlet wavelet (time-frequency trade-off)
18:18
MATLAB: Time-frequency trade-off
18:55
The stationarity assumption of wavelet convolution
05:29
The "1/f" structure of spectral brain dynamics
14:56
Baseline normalization of time-frequency power
18:34
MATLAB: Baseline normalization of TF plots
13:42
Scale-free dynamics via detrended fluctuation analysis (DFA)
11:28
MATLAB: detrended fluctuation analysis
21:18
The filter-Hilbert time-frequency method
23:06
MATLAB: Filter-Hilbert
17:27
The short-time Fourier transform (STFFT)
07:33
MATLAB: STFFT
07:40
Comparing wavelet, filter-Hilbert, and STFFT
13:22
The multi-taper method
11:03
Within-subject, cross-trial regression
16:16
MATLAB: Cross-trial regression
23:41
Temporal resolution vs. precision, pre- and post-convolution
09:24
MATLAB: Downsampling time-frequency results
17:06
MATLAB: Linear vs. logarithmic frequency scaling
13:45
Separating phase-locked and non-phase-locked activity
12:23
MATLAB: Total, non-phase-locked, and phase-locked power
19:27
Edge effects, buffer zones, and data epoch length
09:41
Problem set (1/3): Time-frequency analysis
29:18
Problem set (2/3): Time-frequency analysis
21:18
Problem set (3/3): Time-frequency analysis
34:59
+ More on time-frequency analysis
19 lectures 02:51:15
MATLAB files for this section
00:02
Create a family of complex Morlet wavelets
09:57
Create a time-frequency plot of a nonlinear chirp
12:39
Wavelet convolution of close frequencies
11:24
Time-frequency power of multitrial EEG activity
07:51
Baseline normalize power with dB and % change
11:05
Exploring wavelet parameters in real data
11:01
Exploring wavelet parameters in simulated data
10:38
Inter-trial phase clustering before vs. after removing ERP
09:44
Downsampling time-frequency power
07:37
Visualize time-frequency power from all channels
06:55
Instantaneous frequency in simulated data
12:41
Instantaneous frequency in real data
08:18
Project 4-1: Phase-locked, non-phase-locked, and total power
04:36
Project 4-1: Solutions
13:52
Narrowband filtering and the Hilbert transform
12:20
Project 4-2: Time-frequency power plot via filter-Hilbert
03:01
Project 4-2: Solutions
07:37
+ Synchronization analyses
24 lectures 06:01:26
Download MATLAB materials for this section
00:01
Four things to keep in mind about connectivity
16:11
Volume conduction and what to do about it
10:29
Inter-site phase clustering (ISPC)
09:41
MATLAB: ISPC
17:31
Surface Laplacian for connectivity analyses
11:02
MATLAB: Laplacian in simulated data
10:19
MATLAB: Laplacian in real EEG data
14:44
Phase-lag-based connectivity
12:13
MATLAB: phase-lag index
14:39
When to use phase-lag vs. phase-clustering measures
17:48
MATLAB: Phase synchronization in voltage and Laplacian data
18:58
Connectivity over time vs. over trials
07:16
MATLAB: Connectivity over time vs. over trials
07:42
MATLAB: Simulating data to test connectivity methods
17:37
Two methods of power-based connectivity
10:19
Granger causality (prediction)
32:17
MATLAB: Granger causality
22:36
"Hubness" from graph theory
12:57
MATLAB: Connectivity hubs
22:59
When to use which connectivity method?
06:19
Problem set (1/2): Pairwise synchronization
22:29
Problem set (2/2): Pairwise synchronization
32:07
+ More on synchronization analyses
13 lectures 02:10:01
MATLAB files for this section
00:02
Synchronization in simulated noisy oscillators
12:17
Phase synchronization matrices in multitrial data
15:40
Power time series correlations
17:10
Power correlations over trials
11:13
Scalp Laplacian for electrode-level connectivity
10:42
All-to-all synchronization and "hubness" (graph theory)
14:03
Phase-lag index
14:45
Project 5-1: ISPC and PLI, with and without Laplacian
05:08
Project 5-1: Solutions
05:31
Project 5-2: Seeded phase vs. power coupling
03:50
Project 5-2: Solutions
07:36