We may earn an affiliate commission when you visit our partners.
Mike X Cohen

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.  

Read more

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...

Enroll now

What's inside

Learning objectives

  • Signal processing
  • Time series data analysis
  • Statistics (non-parametric)
  • Neuroscience (brain science)
  • Spectral analysis application
  • Applied math

Syllabus

Introduction
Broad introduction to neural time series analysis
Neural data science as source sepatation
What to expect from this course
Read more
A quick note about how this went from 2 to 1 course
Download this file if you are using Octave (otherwise ignore)
The basics of neural signal processing
Download MATLAB materials for this course
Origin, significance, and interpretation of EEG
Overview of possible preprocessing steps
ICA for data cleaning
Signal artifacts (not) to worry about
Topographical mapping
Overview of time-domain analyses (ERPs)
Motivations for rhythm-based analyses
Interpreting time-frequency plots
The empirical datasets used in this course
MATLAB: EEG dataset
MATLAB: V1 dataset
Where to get more EEG data?
Simulating data to understand analysis methods
Problem set: introduction and explanation
Problem set (1/2): Simulating and visualizing data
Problem set (2/2): Simulating and visualizing data
Planck, neuron, universe
Simulating time series signals and noise
MATLAB files for this section
Why simulate data?
Generating white and pink noise
The three important equations (sine, Gaussian, Euler's)
Generating "chirps" (frequency-modulated signals)
Non-stationary narrowband activity via filtered noise
Transient oscillation
The eeglab EEG structure
Project 1-1: Channel-level EEG data
Project 1-1: Solutions
Projecting dipoles onto EEG electrodes
Project 1-2: dipole-level EEG data
Project 1-2: Solutions
Time-domain analyses
Event-related potential (ERP)
Lowpass filter an ERP
Compute the average reference
Butterfly plot and topo-variance time series
Topography time series
Simulate ERPs from two dipoles
Project 2-1: Quantify the ERP as peak-mean or peak-to-peak
Project 2-1: Solutions
Project 2-2: ERP peak latency topoplot
Project 2-2: Solutions
Static spectral analysis
Download MATLAB materials for this section
Course tangent: self-accountability in online learning
Time and frequency domains
Sine waves
MATLAB: Sine waves and their parameters
Complex numbers
Euler's formula
MATLAB: Complex numbers and Euler's formula
The dot product
MATLAB: Dot product and sine waves
Complex sine waves
MATLAB: Complex sine waves
The complex dot product
MATLAB: The complex dot product
Fourier coefficients
MATLAB: The discrete-time Fourier transform
MATLAB: Fourier coefficients as complex numbers
Frequencies in the Fourier transform
Positive and negative frequencies
Accurate scaling of Fourier coefficients
MATLAB: Positive/negative spectrum; amplitude scaling
MATLAB: Spectral analysis of resting-state EEG
MATLAB: Quantify alpha power over the scalp
The perfection of the Fourier transform
The inverse Fourier transform
MATLAB: Reconstruct a signal via inverse FFT
Frequency resolution and zero-padding
MATLAB: Frequency resolution and zero-padding
Estimation errors and Fourier coefficients
Signal nonstationarities
MATLAB: Examples of sharp nonstationarities on power spectra
MATLAB: Examples of smooth nonstationarities on power spectra
Welch's method for smooth spectral decomposition
MATLAB: Welch's method on phase-slip data
MATLAB: Welch's method on resting-state EEG data
MATLAB: Welch's method on V1 dataset
Problem set (1/2): Spectral analyses of real and simulated data
Problem set (2/2): Spectral analyses of real and simulated data
More on static spectral analyses
Program the Fourier transform from scratch!
Program the inverse Fourier transform from scratch!
Spectral separation on simulated dipole data
FFT of stationary and non-stationary simulated data
FFT and Welch's method on EEG resting state data
To taper or not to taper?
Extracting average power from a frequency band
Comparing average spectra vs. spectra of an average

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides hands-on experience with MATLAB exercises, problem sets, and challenges, which reinforces learning and develops practical skills in neural signal processing
Assumes basic familiarity with MATLAB coding, which may require some learners to first complete an introductory MATLAB course before fully engaging with the material
Covers a wide range of topics, from basic signal processing to advanced spectral analysis and statistics, which provides a comprehensive understanding of neural data analysis
Includes sections on simulating data, which is useful for understanding analysis methods and for validating results obtained from real-world neural data
Requires access to MATLAB (or Octave), which may pose a barrier for learners who do not have a license or are unfamiliar with these software packages
Taught by an instructor with 20 years of experience and several textbooks on neural data analysis, which suggests a high level of expertise and dedication to teaching

Save this course

Save Complete neural signal processing and analysis: Zero to hero to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Complete neural signal processing and analysis: Zero to hero with these activities:
Review Basic MATLAB Coding
Strengthen your MATLAB foundation to better handle the coding exercises in the course.
Browse courses on MATLAB
Show steps
  • Review variables, for-loops, and basic plotting in MATLAB.
  • Practice writing simple scripts to generate and visualize data.
  • Familiarize yourself with MATLAB's documentation and help resources.
Review Basic MATLAB Coding
Reinforce fundamental MATLAB skills like variables, loops, and plotting to ensure a smooth learning experience in the course.
Browse courses on MATLAB
Show steps
  • Complete online MATLAB tutorials covering basic syntax and data structures.
  • Practice writing simple scripts to perform calculations and create visualizations.
  • Review examples of for-loops and conditional statements in MATLAB.
Read "Statistics" by David Freedman, Robert Pisani, and Roger Purves
Build a strong statistical foundation to better understand the statistical methods used in neural signal processing.
Show steps
  • Read the chapters on descriptive statistics and hypothesis testing.
  • Work through the examples and exercises in the book.
  • Relate the statistical concepts to the types of data encountered in neural signal processing.
Eight other activities
Expand to see all activities and additional details
Show all 11 activities
Brush Up on Linear Algebra Fundamentals
Strengthen your understanding of linear algebra concepts, which are essential for signal processing and data analysis techniques used in the course.
Browse courses on Linear Algebra
Show steps
  • Review matrix operations such as addition, multiplication, and transposition.
  • Study vector spaces, linear independence, and eigenvalues/eigenvectors.
  • Work through practice problems involving matrix decomposition and solving linear systems.
Compile a Glossary of Neural Signal Processing Terms
Create a personal glossary to reinforce understanding of key concepts and terminology introduced in the course.
Show steps
  • As you progress through the course, note down unfamiliar terms and concepts.
  • Research and define each term in your own words.
  • Organize the glossary alphabetically or by topic.
  • Review and update the glossary regularly.
Read 'Statistics for Data Science' by James D. Miller
Solidify your understanding of statistical concepts used in the course, particularly non-parametric statistics.
View Mastering Splunk 8 on Amazon
Show steps
  • Read the chapters on hypothesis testing and statistical significance.
  • Work through the examples and exercises provided in the book.
  • Relate the statistical concepts to the analysis of neural signals.
Practice Spectral Analysis on Simulated Data
Reinforce your understanding of spectral analysis by applying it to simulated neural data.
Show steps
  • Generate simulated neural data with known frequency components.
  • Apply Fourier transform and Welch's method to the simulated data.
  • Compare the results with the known frequency components.
  • Experiment with different parameters and settings.
Participate in a Study Group
Reinforce learning through collaborative problem-solving and discussion of course concepts with peers.
Show steps
  • Form a study group with other students in the course.
  • Schedule regular meetings to discuss course materials and work through exercises.
  • Share insights and help each other understand challenging topics.
Create a Blog Post on ERP Analysis
Deepen your understanding of event-related potentials (ERPs) by explaining the concepts and analysis techniques in a clear and concise manner.
Show steps
  • Research and gather information on ERP components and their significance.
  • Write a blog post explaining the basics of ERP analysis, including preprocessing steps and interpretation of results.
  • Include visualizations and examples to illustrate key concepts.
Implement a Spectral Analysis Pipeline
Solidify your knowledge of spectral analysis techniques by implementing a complete pipeline for analyzing neural signals.
Show steps
  • Choose a dataset of neural signals (e.g., EEG data).
  • Implement preprocessing steps such as filtering and artifact removal.
  • Apply spectral analysis techniques (e.g., FFT, Welch's method) to the data.
  • Visualize and interpret the results.
Read 'Analyzing Neural Time Series Data' by Mike X Cohen
Deepen your understanding of neural time series analysis with a comprehensive guide written by the course instructor.
Show steps
  • Read the chapters relevant to the topics covered in the course.
  • Work through the examples and exercises provided in the book.
  • Implement the analysis techniques using MATLAB.

Career center

Learners who complete Complete neural signal processing and analysis: Zero to hero will develop knowledge and skills that may be useful to these careers:
Psychophysiologist
Psychophysiologists study the relationship between physiological processes and psychological states; this course may be very useful for those who focus on brain activity. The techniques taught include signal processing, data analysis, and statistics, all within the context of brain signals. A psychophysiologist would greatly appreciate the course's detailed instruction on how to process, clean, analyze, and perform statistics on brain electrical activity, with the help of MATLAB exercises. The course may enable a psychophysiologist to directly use the course material in their research.
Neuroscientist
Neuroscientists study the nervous system, including the brain. This course is very helpful for learning analysis techniques applied to brain signals. The course teaches core concepts including signal processing, data analysis, and statistics, all within the context of neural data. A neuroscientist would greatly benefit from the course's focus on processing, cleaning, analyzing, and performing statistics on brain electrical activity. Further, the course may help a scientist understand how to analyze neural datasets, which is critical for advancing neuroscientific research.
Neuroimaging Analyst
Neuroimaging analysts process and analyze brain images and signals, often using computational tools. This course will be very helpful, as it teaches the basics of analyzing brain signals. The course provides detailed instruction in signal processing, time series analysis, spectral analysis, and statistics, which are key components of the work of a neuroimaging analyst. The hands-on MATLAB exercises will provide neuroimaging analysts with the practical skills needed to work with complex datasets. This course may help a neuroimaging analyst to strengthen their analytical skills.
Signal Processing Engineer
Signal processing engineers develop algorithms and systems to analyze and manipulate signals. This course may be very useful for those who want to specialize in neural signals. The course's strong focus on neural signal processing, including time-series analysis, spectral analysis, and data cleaning, directly aligns with the duties of a signal processing engineer. Furthermore, the course provides extensive training in MATLAB, which is an important tool for designing and testing signal processing algorithms. For signal processing engineers, this course may be an asset in building a solid foundation in processing and analyzing complex biological signals.
Research Scientist
A research scientist often investigates complex datasets, and this course may be useful for those working with neural data. This role involves analyzing time-series data, applying statistical methods, and understanding spectral analysis, all of which are emphasized in the course. The course provides a deep dive into neural signal processing, including hands-on experience with MATLAB, which will be valuable for a research scientist working on brain data. The course may help a researcher build a foundation in data analysis techniques, which are essential for interpreting experimental results and developing new research directions.
Biomedical Engineer
Biomedical engineers design and develop medical devices and systems, including those that interact with neural signals. This course will be useful for biomedical engineers who want to focus on brain-computer interfaces. The course's coverage of signal processing, time series analysis, and spectral analysis is particularly relevant. The MATLAB-based exercises provide hands-on experience that a biomedical engineer can use to analyze and interpret neural data. The course may help develop the fundamental skills to work with neural signals, and this can be applied to many biomedical applications.
Academic Researcher
Academic researchers conduct studies in various fields, and this course may be useful for those using neural data. The coursework's emphasis on signal processing, data visualization, spectral analysis, and statistical methods is directly applicable to research. The course's instruction in data analysis and the use of MATLAB are particularly valuable skills for any academic researcher analyzing experimental data. The course helps build a strong foundation in data processing, which can be necessary for rigorous research.
Data Analyst
Data analysts seek to extract meaningful insights from complex datasets, and this course may be useful for those dealing with time-series data. The course's focus on signal processing, data visualization, spectral analysis, and statistics directly translates to the work of a data analyst. A data analyst would find the course's detailed exploration of time-series analysis and the use of MATLAB for practical exercises particularly beneficial. The course may help develop skills in data cleaning, processing, and statistical analysis, which are crucial for any data analyst.
Data Scientist
Data scientists analyze large datasets to extract actionable insights, which is related to the course's focus on analyzing brain signals. The course's training in time series analysis, signal processing, and statistical methods is directly applicable to the work of a data scientist, particularly one working with complex time-series or biosignals. The course's use of MATLAB for hands-on work can be an asset for data scientists who need to manipulate data. The course may help a data scientist develop skills in data cleaning, analysis, and model building.
Quantitative Researcher
Quantitative researchers develop and apply mathematical and statistical methods to analyze data, and this course may be useful for those who work with time series data. The course's focus on signal processing, time series analysis, and statistical methods using MATLAB can be quite helpful for a quantitative researcher. The course uses brain data to teach many general principles of data analysis. The course may help quantitative researchers use these time series analysis skills in a wider set of applications.
Bioinformatics Analyst
Bioinformatics analysts examine biological data using computational tools. This course may be useful to those who focus on neural data. The course's curriculum covers signal processing, time-series analysis, and statistical methods, all of which are important in bioinformatics. A bioinformatics analyst will appreciate the course's hands-on approach, using MATLAB to tackle real-world problems involving brain electrical activity. The course may help prepare bioinformaticians to understand and process complex biological signals, making them more effective in their research and analysis.
Statistical Modeler
Statistical modelers create models to explain and predict phenomena, and this course may be useful for those who apply these techniques to time series data. The course’s exploration of time series analysis, statistical methods, and signal processing directly aligns with the core duties of a statistical modeler. The course using MATLAB will help a statistical modeler apply these methods. The course may help a statistical modeler to use statistical models in data analysis.
Computational Biologist
Computational biologists develop and apply computational methods to biological problems, and this course may be helpful for those who wish to specialize in neural data. The course's emphasis on signal processing, time-series analysis, and statistical analysis is directly relevant to a computational biologist. Further, the course uses MATLAB, which can be helpful in performing computational analysis. The course may strengthen the mathematical foundation required for computational biology.
Quantitative Analyst
Quantitative analysts develop and implement mathematical and statistical models for financial markets; this course may be useful for quantitative analysts working with time-series data. The course's training in time series analysis, spectral analysis, and statistics is applicable to modeling financial time series. The course's MATLAB exercises and hands-on work allow a quantitative analyst to build models. The course may assist in understanding how to clean, process, and analyze time series data.
Machine Learning Engineer
Machine learning engineers apply machine learning algorithms to solve practical problems, and this course may be useful for those who work with time-series data. The course's curriculum on signal processing, time series analysis, and statistics helps build a foundation for understanding the complex patterns in brain signals. Further, the course provides hands-on experience with MATLAB, an important tool for development and prototyping. The course may help a machine learning engineer develop skills to analyze and process time-series data, and this is critical for advanced machine learning model development.

Reading list

We've selected three books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Complete neural signal processing and analysis: Zero to hero.
Is written by the same instructor as this course. It provides a comprehensive guide to analyzing neural time series data using MATLAB. It covers topics such as signal processing, spectral analysis, and statistical analysis. This book valuable reference for students who want to deepen their understanding of the course material and learn advanced techniques.
Provides a solid foundation in statistical concepts, which are essential for understanding the data analysis techniques used in neural signal processing. It covers descriptive statistics, probability, hypothesis testing, and regression. While not specific to neural data, the book's clear explanations and real-world examples make it an excellent resource for building statistical literacy. It is often used as a textbook in introductory statistics courses.
Provides a comprehensive overview of statistical methods relevant to data science. It covers topics such as hypothesis testing, regression analysis, and Bayesian inference. Reading this book will enhance your understanding of the statistical concepts used in neural signal processing and analysis. It is particularly helpful for students who need a refresher on statistical fundamentals.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser