Digital Signal Processing (DSP) From Ground Up™ on Arm Processors

Signal Processing : DFT, Filter Design, Convolution, IIR, FIR, CMSIS-DSP, Linear Systems

   Watch Promo

Do you want to learn practical digital signal processing (dsp) without confusion?


  • 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:
  1. Signal statistics and noise
  2. Quantization and sampling theorem
  3. Analog filter design
  4. Performance metrics of the Chebyshev, Butterworth, and Bessel filters
  5. Linear systems and their properties
  6. Finite Impulse Response Filters (FIR)
  7. Infinite Impulse Response Filters (IIR)
  8. Superposition, synthesis, and decomposition
  9. Convolution and its properties
  10. Discrete Fourier Transform (DFT) and IDFT
  • -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:
  1. Signal statistics algorithms: signal mean, signal standard deviation, signal variance
  2. The Convolution algorithm
  3. The Running Sum algorithm
  4. The Discrete Fourier Transform (DFT) algorithm
  5. 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 Filte

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


Frequently Asked Questions


When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.
Do I get a certificate?
Yes, after a successful completion of the course.

Course Curriculum


  ARM Cortex-M DSP Support Features
Available in days
days after you enroll
  Closing
Available in days
days after you enroll

Your Instructor


EmbeddedExpertIO™
EmbeddedExpertIO™

EmbeddedExpertIO represents a vibrant collective dedicated to the mastery of sophisticated embedded systems software development for professionals.

EmbeddedExpertIO stands as a premier source of tailored embedded systems development courses, catering to individuals and enterprises seeking to hone or acquire embedded firmware programming expertise. Our extensive course selections encompass beginner to advanced levels, addressing diverse facets of embedded systems development, such as WiFi, STM32, IoT systems design, memory safeguarding, and beyond.

Our core objective is to equip individuals and organizations with the indispensable skills to thrive in the swiftly evolving embedded systems sector. We achieve this by providing immersive, hands-on education under the guidance of seasoned industry specialists. Our ambition is to emerge as the favored learning platform for embedded systems development professionals across the globe.