DSP From Ground Up™ on ARM Processors [UPDATED] (Udemy.com)
Digital Signal Processing on ARM : DFT, Filter Design, Convolution, IIR, FIR, CMSIS-DSP, Linear Systems
Created by: Israel Gbati
Last updated September 2023
What you will 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
How it compares
Against the other 335 rated Udemy courses in Engineering on CourseDuck:
- Rating4.5 out of 5higher than 55% of them
- Reviews524#143 of 336 by number of reviews
- Length25.4 hourslonger than 93% of them
- Last updatedSeptember 2023earlier than 56% of them
Course Description
Do you want to learn practical digital signal processing (dsp) without confusion?
Here’s an overview of what you’re getting in this dsp on Arm processors course...
Understanding the foundations of signal processing without complications:
Before going on to implement practical dsp algorithms from scratch, this course teaches you the foundation of signal processing step-by-step. We shall look at key topics in signal processing including:
-Signal statistics and noise
-Quantization and sampling theorem
-Analog filter design
-Performance metrics of the Chebyshev, Butterworth, and Bessel filters
-Linear systems and their properties.
-Finite Impulse Response Filters (FIR)
-Infinite Impulse Response Filters (IIR)
-Superposition, synthesis, and decomposition.
-Convolution and its properties
-Discrete Fourier Transform (DFT) and IDFT
Developing Digital Signal Processing Algorithms:
We shall practically develop the signal processing algorithms we discussed in the theory class. Over here rather than use live signals we shall use some already acquired and generated signals to test our algorithms, to keep the focus on developing the algorithms and testing them, rather than signal acquisition.
We shall develop the following algorithms:
-Signal statistics algorithms: signal mean, signal standard deviation, signal variance
-The Convolution algorithm
-The Running Sum algorithm
-The Discrete Fourier Transform (DFT) algorithm
-The Inverse Discrete Fourier Transform (IDFT) algorithm
We shall also implement some of these algorithms using the CMSIS-DSP library and then compare the dynamic performance of our algorithm to that of the ones provided by CMSIS-DSP.
Developing Drivers and Data Structures for Signal Acquisition:
To be able to properly acquire signals from the external world and then apply our signal processing algorithms, we first need to develop analog-to-digital converter (ADC) drivers for acquiring the signals and appropriate data structures more storing and managing the signal. Over here we shall develop :
-A bare-Metal ADC driver for acquiring the signal
-A First-In-First-Out data structure for storing and managing the signal
Digital Filter Design and Implementations:
We shall learn about the various types of digital filters available and then go on to implement them from scratch. We shall implement:
-The Moving Average Filter
-The Finite Impulse Response (FIR) filter
-The Infinite Impulse Response (IIR) Filter
We shall also see how to design the filter kernel of the finite impulse response filters using Matlab.
Practical DSP Application on Live Signal:
Over here, we shall apply all that we have learnt to process live signals from our microcontroller’s ADC.
This course is more than just getting the code to work. It will teach you how to ….
Write Practical DSP Algorithms WITHOUT a fancy Engineering Degree
You will be able to understand the foundations of signal processing without the hassle of complex mathematical derivations.
Taken by 3000+ Students with 200+ Reviews
This course is the fully updated version of the 1st edition of the course. The first edition has been taken by over 3000 students with over 290 reviews.
Here is what what one student had to say about the course.
"The information covered in this course is exactly what I needed to learn for a new assignment. Both general information about DSP as well as how to implement things on the ARM Cortex M4."
Here is what another student had to say:
"It is exciting to see how MATLAB is used in embedded systems for signal generation and filter design. The explanation here is simple and to the point. Keeps the viewer's interest captured and avoids unnecessary details."
In summary, you really have nothing to lose. Give it a try, it comes with a full money back guarantee. Hope to see you in the course.
Instructor Details
- 4.5 Rating
524 Reviews
Israel Gbati
Author of Bare-Metal Embedded C Programming: Develop High-Performance Embedded Systems with C for Arm Microcontrollers.
With extensive experience in embedded firmware development, I specialize in real-time systems, low-level programming, medical device architecture, embedded signal processing, and embedded AI. My professional journey has been centered around Arm Cortex-Microcontrollers, delivering robust solutions used in cutting-edge industries.
Passionate about simplifying complex concepts.
More courses by Israel Gbati
Embedded Systems Bare-Metal Programming Ground Up™ (STM32) (2023)
4.6 (3,916 Reviews)
Provider: Udemy
Time: 24.6h
$99.99
x86 Assembly Language Programming From Ground Up™ (2025)
4.6 (1,715 Reviews)
Provider: Udemy
Time: 14.1h
$10.99
Build Your Own RealTime OS (RTOS) From Ground Up™ on ARM 1 (2023)
4.3 (1,180 Reviews)
Provider: Udemy
Time: 9.3h
$74.99
FreeRTOS From Ground Up™ on ARM Processors (REVISED) (2023)
4.4 (994 Reviews)
Provider: Udemy
Time: 23.5h
$69.99
Introduction to ARM Cortex-M Assembly Programming (FREE) (2020)
4.4 (967 Reviews)
Provider: Udemy
Time: 4.2h
Free
ARM Cortex-M : Modular Embedded Systems Design (FREE!) (2019)
4.5 (935 Reviews)
Provider: Udemy
Time: 7.6h
Free
More Engineering courses
Do it Yourself - Automotive Electrical Diagnosis - Beginner (2026)
4.8 (1,897 Reviews)
Provider: Udemy
Time: 2.1h
$12.99
ROS 2 for Beginners Level 2 - TF | URDF | RViz | Gazebo (2025)
4.8 (1,869 Reviews)
Provider: Udemy
Time: 13.8h
$10.99
Advanced Kalman Filtering and Sensor Fusion (2021)
4.8 (1,033 Reviews)
Provider: Udemy
Time: 8.3h
$84.99
Digital Electronics: Robotics, learn by building module II (2020)
4.8 (942 Reviews)
Provider: Udemy
Time: 13.1h
$14.99
Reviews
By Lucien Lange on 12/22/2024
Bare Metal Programmierung mit klaren Erläuterungen aller Schritte. Für fortgeschrittene Controllerprogrammierer gibt es an vielen Stellen eine Auffrischung wie es gemacht wird , Anfänger werden sicher auf den benötigten Wissensstand gebracht. Ein gewisses Maß an Programmiererfahrung (in C , embedded ) ist dennoch von Vorteil Die Audioqualität ist sehr gut und der Dozent spricht sehr klar und verständlich in Englisch. Genau das was ich gesucht habe. Sehr empfehlenswert.
By Stephen Moorby on 5/9/2022
I'm following this course using a Linux host and the STM32CubeIDE. In place of Matlab I'm using GNU Octave. No real problems so far although I found the SWV to be unreliable. In it's place I save the input and output buffers from the filter to the host and plot them with a bit of Python in a Jupyter notebook.
By Faruk UNAL on 4/23/2022
POSITIVE THINGS: - A well-structured course going into DSP on the ARM Cortex-M4 in the first section, review the theory, and coding, - It shows how to configure the Keil UVision MDK which is very useful. - Good explanations of the mathematics behind the various DSP concepts, - For DSP beginners on ARM, it is a good choice to kick-off! NEGATIVE THINGS: - The lecturer seems offline at least for 1 or 2 years, so you can not ask him any questions, - Section 2 is uncompleted, and a few videos are uncompleted (62), - DSP basics should be known before the course, - All examples are simulations, the signals are completely generated by MATLAB, there is no real signal example using ADC, etc. - "Filter" section is not satisfactory, there are a few theories and examples, and comparisons. But there is no example of how to calculate a good filter for a specific scenario (for example choose a cut-off frequency, and design filter), Overall, it is a nice course for beginners or people who wants to see how to implement DSP functions on ARM... The course encourages you to dive in. It has mand negative points, but unfortunately, there is no alternative course for this content.
By Andrew Tomala on 3/31/2022
A well structured course going into DSP on the ARM Cortex-M4. Also shown, how to configure the Keil UVision MDK which is very useful. Good explanations of the Mathematics behind the various DSP concepts which makes for a full picture of the subject area, likewise the analogue side of the subject.
By Gonzalo Recio on 9/26/2021
This course has been a good refresher for some of the signal processing concepts I studied in university years ago, plus the application of those concepts using an ARM MCU, until now I've always used Matlab. What I missed the most was more coding sections to illustrate some of the things (FFT and IIR filters, generate our own filter coefficients...) those things are only theory in the course and it would be great to know where to get started in the APIs
By Seton Schroeder on 10/4/2019
Some of the things the instructor demonstrates doesn't actually work. This could be due simply to the version of ST CubeMX and Keil ver 5 you are using. Also, the signals are all simulations. It would be good to include in this course real-time DSP processing of a real signal, say microphone reading, in real time, and spitting out a filtered versions of the signal out of a speaker, in real time. Still the instructor is very thorough with all the useful features you can make use of in these tools.
By Daniez on 5/17/2019
This course is very exciting, signal processing is a very important topic when it comes to sampling sensor data from the ADC yet there is hardly any tutorial on how to do that on microcontrollers. This course has so far exceeded my expectation, I'm not done yet so we shall see how it goes.
By Dave Comer on 11/11/2018
Positives: The course is interesting and what I expected. The course starts out slow with examples less the theory, to aquaint the student with a preview of what is ahead. Included are basic DSP lessons, programming examples, the CMSIS DSP library, how to use the Keil Logic Analyizer, and generation of signals. This is done to keep the student enguaged with a view into the topics that will be covered in more detail in later sections, yet demonstrate what you can do with DSP. The instructors' explaitions are great and compare with other such quality courses. While working my way through the course, I found that the organization and flow of the course followed Steven W Smiths’, "The Scientists and Engineering's Guide to Digital Signal Processing" that I happen to have (a freely available text that you can download at dspguide.com). Where as the material in the course covers basic DSP theory, the book augments the DSP in a very readable fashion and in more detail. Hence, I found that reading Stevens' book along with viewing the course lectures and applying the what I am learning is an excellent combination. The value of the course is the combination of the STM32F Discovery kit, the Keil IDE, Matlab, STM32CubeMX and short lectures of the DSP concepts to be applied to get you started FAST on a Cortex M4 ARM from ground up. Negatives: The audio of the various lessons varies from lecture to lecture, and sometimes within a lecture. In some cases you need to turn up your speaker volume to max to undstand the lecture. I believe the instructor is using the microphone on his laptop which also explains why you can hear the keys stoke so promenently why he is typing examples. Some lessons are clearly re-dubbed but the audio is not constent. The presentation would be better if these issues were taken care of. This is not a reason not to purchase this course, just feedback to, hopefully, help the instructor make the course better.
By Charles Walter on 10/15/2018
The information covered in this course is exactly what I needed to learn for a new assignment. Both general information about DSP as well as how to implement things on the ARM Cortex M4.
By Cremson on 8/29/2018
This course has been very helpful to me. It is helping me a lot with the signal processing and control systems classes I am taking at my university. The instructor is also very responsive to my messages . I am looking forward to taking more of his courses.
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 90 / 100












