DSP on ARM Processors

Introduction

This repository contains the code for the "DSP on ARM Processors" workshop. The structure of the repository loosely follows the Udemy course "DSP From the Ground Up on ARM Processors" by Israel Gbati with BHM Engineering Academy. While the course serves as an excellent introduction to DSP on ARM processors, I found some of the lectures too basic for someone already familiar with DSP. Therefore, I've supplemented the course material with my own notes and made significant changes to some of the code.

Table of Contents

Section Title Content Project Folders
1 Setting Up Downloading Documentations, Installing STM32CubeIDE, Getting the required packages, Blinking an LED 0_test
2 Getting Started Floating Point Unit (FPU), Serial Wire Viewer (SWV), UART Driver, Intro to CMSIS-DSP Library 1_Plotting_Signals_with_Logic_Analyzer, 2_UART_Drive, 3_Plottting_Signals_with_SerialPlotter 4_Integrating_CMSIS-DSP
3 Signal Statistics and Noise Moving Average, Moving Standard Deviation, Speeding Up the Moving Standard Deviation 6_Signal_Mean, 7_Signal_Std_Dev, 8_Signal_Std_Dev_Fast
4 Quantization and Basic Filters Types of Filters, Filter Design Techniques, Evaluation Metrics -
5 ARM Cortex-M DSP Features Digital Signal Controller (DSC), Multiply-Accumulate (MAC), Saturation Math, Single Instruction, Multiple Data (SIMD), Barrel Shifter, Floating Point Unit (FPU), Instruction Cost, CMSIS-DSP Functions and Datatypes -
6 Linear Time-Invariant Systems LTI Systems -
7 Convolution Convolution, Convolution with CMSIS-DSP [9_Convolution](