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

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

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

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
Available in days
days after you enroll

Your Instructor


EmbeddedExpertIO is a community focused on professional embedded systems software programming.

Everyday we try to find the knowledge gaps that exist among current embedded systems developers, then put our minds and years of experience together to create a course to perfectly fill such gaps.

If you are new to embedded systems programming our community provides step-by-step courses that will take you from blinky to build your own rtos .

If you are an embedded systems developer who wants to specialize in some specific aspect of embedded systems programming, we also provide a wide range of specialization courses to help you master different aspects of embedded firmware development.

We look forward to welcoming you to EmbeddedExpertIO