DSP From Ground Up™ on ARM Processors
4.5 (209 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.
2,223 students enrolled

DSP From Ground Up™ on ARM Processors

Digital Signal Processing on ARM : FFT, Filter Design, Convolution, IIR, FIR, CMSIS-DSP, Linear Systems, Correlation
4.5 (209 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.
2,225 students enrolled
Created by Israel Gbati
Last updated 4/2020
English
English, Afrikaans, 15 more
  • Arabic
  • French
  • German
  • Hebrew
  • Hindi
  • Italian
  • Japanese
  • Korean
  • Polish
  • Portuguese
  • Russian
  • Simplified Chinese
  • Spanish
  • Turkish
  • Vietnamese
Current price: $90.99 Original price: $129.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 12 hours on-demand video
  • 1 article
  • 10 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
  • Develop efficient DSP algorithms using MAC and SIMD instructions
  • Develop RealTime Digital Signal Proceesing firmware
  • Understand Cortex-M4, M7 DSP optimization strategies
  • Master the CMSIS-DSP Library
  • Develop and test the Convolution Kernel algorithm on ARM Processors
  • Perform convolution using the ARM CMSIS-DSP Library
  • Develop and test the Discrete Fourier Transform (DFT) algorithm on ARM Processors
  • Develop and test the Inverse Discrete Fourier Transform (IDFT) algorithm on ARM Processors
  • Develop and test the Fast Fourier Transform (FFT) algorithm on ARM Processors
  • Perform Fast Fourier Transform (FFT) using the CMSIS-DSP Library
  • Perform spectral analysis on ECG signals on ARM Processors
  • Develop Windowed-Sinc filters on ARM Processors
  • Develop Finite Impulse Response (FIR) filters on ARM Processors
  • Develop Infinite Impulse Response (IIR) filters on ARM Processors
  • Setup Finite Impulse Response (FIR) filters using the CMSIS-DSP Library
  • Setup Infinite Impulse Response (FIR) filters using the CMSIS-DSP Library
  • Build passive Low-pass and High-pass filters
  • Build Modified Sallen-Key filters
  • Build Bessel, Chebyshev and Butterworth filters
  • Suppress noise in signals
  • Give a lecture on Digital Signal Processing (DSP)
Requirements
  • Having basic C programming skills is a plus
  • You will need an STM32F411-DISCO Board
Description

With a programming based approach, this course is designed to give you a solid foundation in the most useful aspects of Digital Signal Processing (DSP) in an engaging and easy to follow way. The goal of this course is to present practical techniques while avoiding  obstacles of abstract mathematical theories. To achieve this goal, the DSP techniques are explained in plain language, not simply proven to be true through mathematical derivations.

Still keeping it simple, this course comes in different programming languages and hardware architectures so that students can put the techniques to practice using a programming language or hardware architecture  of their choice. This version of the course focuses on developing DSP algorithms for ARM microcontrollers leveraging the microcontrollers features such SIMD, MAC, Floating Point Unit (FPU) and the ARM CMSIS-DSP Library.

By the end of this course you should be able develop efficient DSP algorithms using MAC and SIMD instructions , develop RealTime Digital Signal Processing firmware , master the CMSIS-DSP Library, develop and test the Convolution Kernel algorithm on ARM processors, develop and test the Discrete Fourier Transform (DFT) algorithm on ARM processors, develop  and  test the Inverse Discrete Fourier Transform (IDFT) algorithm on ARM processors, design and develop Finite Impulse Response (FIR) filters on ARM processors, design and develop Infinite Impulse Response (IIR) filters on ARM processors, develop Windowed-Sinc filters  on ARM procesors, build Modified Sallen-Key filters,  build Bessel, Chebyshev and Butterworth filters, develop the Fast Fourier Transform (FFT) algorithm on arduino, even give a lecture on DSP and so much more. Please take a look at the full course curriculum.

Who this course is for:
  • Engineering Students
  • Embedded Systems Engineers
  • Hobbyists
  • Embedded Systems Instructors
Course content
Expand all 172 lectures 11:58:14
+ Getting Started
13 lectures 01:14:49
Increasing System Clock Frequency
13:07
Configuring the Logic Analyzer
08:52
Configuring the Logic Analyzer (Part 2 )
02:10
Plotting signals on the Logic Analyzer
10:34
Plotting signals on the Logic Analyzer (Part 2)
03:54
Configuring an FIR Low-pass filter
08:07
Configuring an FIR Low-pass filter (Part II)
03:04
Testing the Lowpass filter
05:03
Testing the Lowpass filter (Part II)
03:25
Generating a sine wave
04:51
Generating a sine wave (Part 2)
04:35
+ Getting Started with Real-time Digital Signal Processing
8 lectures 48:31
Setting up the project
06:51
Configuring the FIR filter
07:21
Configuring the sine generator
04:24
Filtering a noisy signal
07:29
Plotting filter results
04:46
Configuring the Real-time Kernel
04:37
Creating Threads
05:58
Synchronizing Threads
07:05
+ Signal Statistics and Noise
11 lectures 47:18
Coding : Developing the Mean algorithm (Part II)
12:10
Loop Iterator
00:11
Coding : Developing the Mean algorithm (Part II)
03:18
Coding : Developing the Mean algorithm (Part III )
08:26
Coding : Developing the Variance algorithm
08:21
Coding : Computing the signal variance using CMSIS-DSP
02:20
Coding : Developing the Standard Deviation algorithm
03:42
Coding : Computing signal standard deviation using CMSIS-DSP
01:16
+ Quantization and The Sampling Theorem
8 lectures 23:04
Quantization
02:31
Nyquist Theorem ( Sampling Theorem )
02:15
The Passive Low-Pass Filter
05:59
The Passive High-Pass Filter
02:29
The Modified Sallen-Key Filter
02:19
The Bessel, Chebyshev and Butterworth filters
03:28
Comparing the performance of the Bessel, Chebyshev and Butterworth filters
02:36
Information encoding : Time-domain and frequency-domain encoding
01:27
+ ARM Cortex-M DSP Support Feautures
7 lectures 14:42
From Digital Signal Processors (DSPs) to Digital Signal Controllers (DSCs)
02:58
Features of Digital Signal Controllers
01:16
Overview of the Floating Point Unit (FPU)
02:08
Overview of Cortex-M SIMD Capabilities
01:32
Overview of Cortex-M MAC Capabilities
01:26
Overview of CMSIS-DSP
03:39
Data Types
01:43
+ Linear Systems and Superposition
7 lectures 10:40
Signal naming conventions
01:17
System Homogeneity
01:32
System Additivity
00:33
System Shift Invariance
01:06
Synthesis and Decomposition
02:11
Impulse Decomposition
02:10
Step Decomposition
01:51
+ Convolution
15 lectures 01:18:39
Introduction to Convolution
01:33
The Delta Function and Impulse Response
02:13
The Convolution Kernel
07:22
The Convolution Kernel (Part II)
00:53
The Output side analysis and the convolution sum equation
04:20
Coding : Developing the convolution algorithm (Part I)
07:36
Coding : Developing the convolution algorithm (Part II)
07:19
Coding : Developing the convolution algorithm (Part III )
05:24
Coding : Convolving signals using CMSIS-DSP (Part I)
08:35
Coding : Convolving signals using CMSIS-DSP (Part II)
06:15
Coding : Convolving signals using CMSIS-DSP (Part III)
09:15
The Identity property of convolution
01:30
The Running Sum and First Difference
02:02
Coding : Developing the Running Sum algorithm
09:54
Coding : Developing the First Difference algorithm
04:28
+ Fourier Transform
18 lectures 01:34:05
Introduction to Fourier Analysis
01:22
Introduction to Discrete Fourier Transform
04:50
DFT Basis Functions
03:23
Deducing the Inverse DFT
03:12
Calculating the Discrete Fourier Transform (DFT)
03:55
Coding : Developing the DFT algorithm (Part I)
07:12
Coding : Developing the DFT algorithm (Part II )
04:59
Coding : Developing the DFT algorithm (Part III )
03:30
Coding : The Inverse Discrete Fourier Transform of an ECG signal (Part I)
08:00
Coding : The Inverse Discrete Fourier Transform of an ECG signal (Part II)
07:11
Coding : The Inverse Discrete Fourier Transform of an ECG signal (Part IIII)
17:52
Coding : The Inverse Discrete Fourier Transform of an ECG signal (Part IV)
03:20
Symmetry between Time domain and frequency domain -Duality
00:55
Polar Notation
02:50
Coding : Rectangular to Polar conversion
08:41
Coding : Polar to Rectangular conversion
06:48
Introduction to Spectral Analysis
02:31
The Frequency Response
03:34
+ Complex Numbers
5 lectures 08:46
The Complex Number System
02:05
Polar Representation of Complex Numbers
01:35
Euler's Relation
01:35
Representation of Sinusoids
01:57
Representing Systems
01:34
+ Complex Fourier Transform
4 lectures 07:14
Introduction to Complex Fourier Transform
01:43
Mathematical Equivalence
01:38
The Complex DFT Equation
00:36
Comparing Real DFT and Complex DFT
03:17