Complete Neural Signal Processing And Analysis: Zero To Hero
Last updated 11/2022
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 19.63 GB | Duration: 46h 54m
Last updated 11/2022
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 19.63 GB | Duration: 46h 54m
Learn signal processing and statistics using brain electrical data with expert instruction and code challenges in MATLAB
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…
Overview
Section 1: Introduction
Lecture 1 Broad introduction to neural time series analysis
Lecture 2 Neural data science as source sepatation
Lecture 3 What to expect from this course
Lecture 4 A quick note about how this went from 2 to 1 course
Lecture 5 Download this file if you are using Octave (otherwise ignore)
Section 2: The basics of neural signal processing
Lecture 6 Download MATLAB materials for this course
Lecture 7 Origin, significance, and interpretation of EEG
Lecture 8 Overview of possible preprocessing steps
Lecture 9 ICA for data cleaning
Lecture 10 Signal artifacts (not) to worry about
Lecture 11 Topographical mapping
Lecture 12 Overview of time-domain analyses (ERPs)
Lecture 13 Motivations for rhythm-based analyses
Lecture 14 Interpreting time-frequency plots
Lecture 15 The empirical datasets used in this course
Lecture 16 MATLAB: EEG dataset
Lecture 17 MATLAB: V1 dataset
Lecture 18 Where to get more EEG data?
Lecture 19 Simulating data to understand analysis methods
Lecture 20 Problem set: introduction and explanation
Lecture 21 Problem set (1/2): Simulating and visualizing data
Lecture 22 Problem set (2/2): Simulating and visualizing data
Lecture 23 Planck, neuron, universe
Section 3: Simulating time series signals and noise
Lecture 24 MATLAB files for this section
Lecture 25 Why simulate data?
Lecture 26 Generating white and pink noise
Lecture 27 The three important equations (sine, Gaussian, Euler's)
Lecture 28 Generating "chirps" (frequency-modulated signals)
Lecture 29 Non-stationary narrowband activity via filtered noise
Lecture 30 Transient oscillation
Lecture 31 The eeglab EEG structure
Lecture 32 Project 1-1: Channel-level EEG data
Lecture 33 Project 1-1: Solutions
Lecture 34 Projecting dipoles onto EEG electrodes
Lecture 35 Project 1-2: dipole-level EEG data
Lecture 36 Project 1-2: Solutions
Section 4: Time-domain analyses
Lecture 37 MATLAB files for this section
Lecture 38 Event-related potential (ERP)
Lecture 39 Lowpass filter an ERP
Lecture 40 Compute the average reference
Lecture 41 Butterfly plot and topo-variance time series
Lecture 42 Topography time series
Lecture 43 Simulate ERPs from two dipoles
Lecture 44 Project 2-1: Quantify the ERP as peak-mean or peak-to-peak
Lecture 45 Project 2-1: Solutions
Lecture 46 Project 2-2: ERP peak latency topoplot
Lecture 47 Project 2-2: Solutions
Section 5: Static spectral analysis
Lecture 48 Download MATLAB materials for this section
Lecture 49 Course tangent: self-accountability in online learning
Lecture 50 Time and frequency domains
Lecture 51 Sine waves
Lecture 52 MATLAB: Sine waves and their parameters
Lecture 53 Complex numbers
Lecture 54 Euler's formula
Lecture 55 MATLAB: Complex numbers and Euler's formula
Lecture 56 The dot product
Lecture 57 MATLAB: Dot product and sine waves
Lecture 58 Complex sine waves
Lecture 59 MATLAB: Complex sine waves
Lecture 60 The complex dot product
Lecture 61 MATLAB: The complex dot product
Lecture 62 Fourier coefficients
Lecture 63 MATLAB: The discrete-time Fourier transform
Lecture 64 MATLAB: Fourier coefficients as complex numbers
Lecture 65 Frequencies in the Fourier transform
Lecture 66 Positive and negative frequencies
Lecture 67 Accurate scaling of Fourier coefficients
Lecture 68 MATLAB: Positive/negative spectrum; amplitude scaling
Lecture 69 MATLAB: Spectral analysis of resting-state EEG
Lecture 70 MATLAB: Quantify alpha power over the scalp
Lecture 71 The perfection of the Fourier transform
Lecture 72 The inverse Fourier transform
Lecture 73 MATLAB: Reconstruct a signal via inverse FFT
Lecture 74 Frequency resolution and zero-padding
Lecture 75 MATLAB: Frequency resolution and zero-padding
Lecture 76 Estimation errors and Fourier coefficients
Lecture 77 Signal nonstationarities
Lecture 78 MATLAB: Examples of sharp nonstationarities on power spectra
Lecture 79 MATLAB: Examples of smooth nonstationarities on power spectra
Lecture 80 Welch's method for smooth spectral decomposition
Lecture 81 MATLAB: Welch's method on phase-slip data
Lecture 82 MATLAB: Welch's method on resting-state EEG data
Lecture 83 MATLAB: Welch's method on V1 dataset
Lecture 84 Problem set (1/2): Spectral analyses of real and simulated data
Lecture 85 Problem set (2/2): Spectral analyses of real and simulated data
Section 6: More on static spectral analyses
Lecture 86 MATLAB files for this section
Lecture 87 Program the Fourier transform from scratch!
Lecture 88 Program the inverse Fourier transform from scratch!
Lecture 89 Spectral separation on simulated dipole data
Lecture 90 FFT of stationary and non-stationary simulated data
Lecture 91 FFT and Welch's method on EEG resting state data
Lecture 92 To taper or not to taper?
Lecture 93 Extracting average power from a frequency band
Lecture 94 Comparing average spectra vs. spectra of an average
Lecture 95 Project 3-1: Topography of spectrally separated activity
Lecture 96 Project 3-1: Solutions
Lecture 97 Project 3-2: Topography of alpha-theta ratio
Lecture 98 Project 3-2: Solutions
Section 7: Time-frequency analysis
Lecture 99 Download MATLAB materials for this section
Lecture 100 Morlet wavelets in time and in frequency
Lecture 101 MATLAB: Getting to know Morlet wavelets
Lecture 102 Convolution in the time domain
Lecture 103 MATLAB: Time-domain convolution
Lecture 104 Convolution as spectral multiplication
Lecture 105 MATLAB: The five steps of convolution
Lecture 106 MATLAB: Convolve real data with a Gaussian
Lecture 107 MATLAB: Complex Morlet wavelets
Lecture 108 Complex Morlet wavelet convolution
Lecture 109 Convolution coding tips
Lecture 110 MATLAB: Complex Morlet wavelet convolution
Lecture 111 MATLAB: Convolution with all trials!
Lecture 112 MATLAB: A full time-frequency power plot!
Lecture 113 Averaging phase values
Lecture 114 Inter-trial phase clustering (ITPC/ITC)
Lecture 115 MATLAB: ITPC
Lecture 116 Parameters of Morlet wavelet (time-frequency trade-off)
Lecture 117 MATLAB: Time-frequency trade-off
Lecture 118 The stationarity assumption of wavelet convolution
Lecture 119 The "1/f" structure of spectral brain dynamics
Lecture 120 Baseline normalization of time-frequency power
Lecture 121 MATLAB: Baseline normalization of TF plots
Lecture 122 Scale-free dynamics via detrended fluctuation analysis (DFA)
Lecture 123 MATLAB: detrended fluctuation analysis
Lecture 124 The filter-Hilbert time-frequency method
Lecture 125 MATLAB: Filter-Hilbert
Lecture 126 The short-time Fourier transform (STFFT)
Lecture 127 MATLAB: STFFT
Lecture 128 Comparing wavelet, filter-Hilbert, and STFFT
Lecture 129 The multi-taper method
Lecture 130 Within-subject, cross-trial regression
Lecture 131 MATLAB: Cross-trial regression
Lecture 132 Temporal resolution vs. precision, pre- and post-convolution
Lecture 133 MATLAB: Downsampling time-frequency results
Lecture 134 MATLAB: Linear vs. logarithmic frequency scaling
Lecture 135 Separating phase-locked and non-phase-locked activity
Lecture 136 MATLAB: Total, non-phase-locked, and phase-locked power
Lecture 137 Edge effects, buffer zones, and data epoch length
Lecture 138 Problem set (1/3): Time-frequency analysis
Lecture 139 Problem set (2/3): Time-frequency analysis
Lecture 140 Problem set (3/3): Time-frequency analysis
Section 8: More on time-frequency analysis
Lecture 141 MATLAB files for this section
Lecture 142 Create a family of complex Morlet wavelets
Lecture 143 Create a time-frequency plot of a nonlinear chirp
Lecture 144 Compare wavelet-derived spectrum and FFT
Lecture 145 Wavelet convolution of close frequencies
Lecture 146 Time-frequency power of multitrial EEG activity
Lecture 147 Baseline normalize power with dB and % change
Lecture 148 Exploring wavelet parameters in real data
Lecture 149 Exploring wavelet parameters in simulated data
Lecture 150 Inter-trial phase clustering before vs. after removing ERP
Lecture 151 Downsampling time-frequency power
Lecture 152 Visualize time-frequency power from all channels
Lecture 153 Instantaneous frequency in simulated data
Lecture 154 Instantaneous frequency in real data
Lecture 155 Project 4-1: Phase-locked, non-phase-locked, and total power
Lecture 156 Project 4-1: Solutions
Lecture 157 Narrowband filtering and the Hilbert transform
Lecture 158 Project 4-2: Time-frequency power plot via filter-Hilbert
Lecture 159 Project 4-2: Solutions
Section 9: Synchronization analyses
Lecture 160 Download MATLAB materials for this section
Lecture 161 Four things to keep in mind about connectivity
Lecture 162 Volume conduction and what to do about it
Lecture 163 Intuition about phase synchronization
Lecture 164 Inter-site phase clustering (ISPC)
Lecture 165 MATLAB: ISPC
Lecture 166 Surface Laplacian for connectivity analyses
Lecture 167 MATLAB: Laplacian in simulated data
Lecture 168 MATLAB: Laplacian in real EEG data
Lecture 169 Phase-lag-based connectivity
Lecture 170 MATLAB: phase-lag index
Lecture 171 When to use phase-lag vs. phase-clustering measures
Lecture 172 MATLAB: Phase synchronization in voltage and Laplacian data
Lecture 173 Connectivity over time vs. over trials
Lecture 174 MATLAB: Connectivity over time vs. over trials
Lecture 175 MATLAB: Simulating data to test connectivity methods
Lecture 176 Two methods of power-based connectivity
Lecture 177 Granger causality (prediction)
Lecture 178 MATLAB: Granger causality
Lecture 179 "Hubness" from graph theory
Lecture 180 MATLAB: Connectivity hubs
Lecture 181 When to use which connectivity method?
Lecture 182 Problem set (1/2): Pairwise synchronization
Lecture 183 Problem set (2/2): Pairwise synchronization
Section 10: More on synchronization analyses
Lecture 184 MATLAB files for this section
Lecture 185 Synchronization in simulated noisy oscillators
Lecture 186 Spurious connectivity in narrowband noise
Lecture 187 Phase synchronization matrices in multitrial data
Lecture 188 Power time series correlations
Lecture 189 Power correlations over trials
Lecture 190 Scalp Laplacian for electrode-level connectivity
Lecture 191 All-to-all synchronization and "hubness" (graph theory)
Lecture 192 Phase-lag index
Lecture 193 Project 5-1: ISPC and PLI, with and without Laplacian
Lecture 194 Project 5-1: Solutions
Lecture 195 Project 5-2: Seeded phase vs. power coupling
Lecture 196 Project 5-2: Solutions
Section 11: Permutation-based statistics
Lecture 197 Download MATLAB materials for this section
Lecture 198 Introduction: The basis of statistics, necessity, and levels
Lecture 199 Parametric vs. nonparametric statistics
Lecture 200 Permutation-based statistics
Lecture 201 MATLAB: Permutation testing and shuffling
Lecture 202 MATLAB: Permutation testing in real data
Lecture 203 Multiple comparisons and limitations of Bonferroni method
Lecture 204 Cluster-based multiple comparisons correction
Lecture 205 MATLAB: Cluster correction
Lecture 206 Extreme pixel-based multiple comparisons correction
Lecture 207 MATLAB: Extreme pixel correction
Lecture 208 Illustrating statistical significance in plots
Lecture 209 Subject- vs. group-level analyses
Lecture 210 Error bars and guessing significance
Lecture 211 Three approaches for group-level statistics
Lecture 212 MATLAB: Extracting features for group analyses
Lecture 213 Circular inference ("double-dipping")
Section 12: More on permutation testing statistics
Lecture 214 MATLAB files for this section
Lecture 215 Permutation testing for one variable and two groups
Lecture 216 Meta-permutation test for increased stability
Lecture 217 Permutation testing in simulated time series
Lecture 218 Permutation testing for cluster correction in simulated data
Lecture 219 Permutation testing and cluster correction in real EEG data
Lecture 220 Project 7-1: Effects of noise smoothness on cluster correction
Lecture 221 Project 7-1: Solutions
Lecture 222 Project 7-2: Simulate time-frequency data for statistical testing
Lecture 223 Project 7-2: Solutions
Section 13: Multivariate components analysis
Lecture 224 MATLAB files for this section
Lecture 225 Background knowledge for this section
Lecture 226 Simulate multicomponent EEG data
Lecture 227 Create covariance matrices based on time and on frequency
Lecture 228 Principal components analysis (PCA) of simulated data
Lecture 229 Time-based GED for source-separation in simulated data
Lecture 230 Frequency-based GED for source-separation in simulated data
Lecture 231 Project 6-1: GED for interacting alpha sources
Lecture 232 Project 6-1: Solutions
Section 14: Bonus section
Lecture 233 Bonus lecture
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