Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Digital Signal Processing (DSP) From Ground Up™ on Arm Processors
Setting Up
Downloading CubeIDE (2:34)
Installing CubeIDE (2:38)
Getting the required documentation (7:41)
Getting the required package for bare-metal development (21:19)
Testing the project setup (15:54)
Getting Started
Programming : Enabling the Floating Point Unit (FPU) (16:49)
Course Resources Download
Programming : Plotting Signals using the Internal Logic Analyzer (9:15)
Programming : UART Driver - Analyzing the Documentation (12:13)
Programming : UART Driver - GPIO Pin Configuration (9:17)
Programming : UART Driver - Protocol Paramters Configuration (9:30)
Programming : UART Driver - Transmission Function (5:24)
Programming : UART Driver - Testing the Driver (8:31)
Programming : UART Driver - Plotting Signals (12:40)
Programming : Integrating the CMSIS-DSP Library (11:56)
Programming : Testing the CMSIS-DSP float32_t (17:17)
Source Code Download
Signal Statistics and Noise
Introduction to Signals (4:07)
The Signal Mean and Standard Deviation (4:06)
Programming : Developing the Signal Mean Algorithm (7:40)
Programming : Developing the Signal Variance Algortihm (7:11)
Programming : Developing the Signal Standard Deviation Algorithm (3:26)
Programming : Computing the Signal Standard Deviation using CMSIS-DSP (8:25)
Quantization and The Sampling Theorem
Understanding the Sampling Theorem (9:24)
The Passive Low-Pass Filter (7:30)
The Passive High-Pass Filter (4:48)
The Active Filter (5:49)
Chebyshev, Butterworth and Bessel Filters (6:44)
ARM Cortex-M DSP Support Features
Overview of Arm Cortex-M DSP Support Features (12:50)
Linear Systems and Superposition
Introduction to Linear Systems (4:47)
Understanding Superposition (5:00)
Impulse and Step Decomposition (4:31)
Convolution
Introduction to Convolution (3:22)
The Convolution Operation (6:44)
Examining the Output of Convolution (4:45)
The Convolution Sum Equation (2:05)
Programming : Analyzing the Input Signals of Convolution (16:30)
Programming : Developing the Convolution Algorithm (15:10)
Programming : Analyzing the Output Signal of Convolution (11:42)
Programming : Computing Convolution using CMSIS-DSP (6:24)
Programming : Developing a SysTick Driver to Measure Dynamic Efficiency (12:39)
Programming : Measuring the Dynamic Performance of CMSIS-DSP (Part I) (10:48)
Programming : Measuring the Dynamic Performance of CMSIS-DSP (Part II) (8:04)
A closer look at the Delta function (5:41)
The First Difference and Running Sum (1:55)
Programming : Implementing the Running Sum Algorithm (10:29)
Discrete Fourier Transform (DFT)
Introduction to Fourier Transform (5:29)
The Discrete Fourier Transform (DFT) Engine (4:11)
The Inverse Discrete Fourier Transform (IDFT) (4:32)
Programming : Developing the Discrete Fourier Transform (DFT) Algorithm (24:18)
Programming : Analyzing the ECG Signal for Inverse DFT (7:16)
Programming : Developing the Inverse DFT Algorithm (Part I) (8:20)
Programming : Developing the Inverse DFT Algorithm (Part II) (17:32)
Configuring the Clock Tree for Maximum Speed
Programming : Analyzing the Documentation (14:02)
Programming : Listing out the Steps (7:01)
Programming : Implementing the Clock Config function (PartI) (10:09)
Programming : Implementing the Clock Config function (PartII) (18:19)
Programming : Testing the Clock Tree by Running Inverse DFT at 100Mhz (7:32)
Digital Filter Design
Programming : Generating Signals with Matlab (12:06)
Programming : Combining Signals with Matlab (9:37)
Programming : Designing a Low-pass Filter Kernel in Matlab (14:05)
Programming : Designing a High-pass Filter Kernel in Matlab (6:24)
Programming : Analyzing Frequency Components of Signals in Matlab (8:22)
Programming : Designing Filters using the FDATool in Matlab (6:10)
Programming : Implementing a Digital Low Pass Filter on Embedded Device (15:58)
Programming : Implementing a Digital HighPass Filter on Embedded Device (8:21)
Programming : Comparing the DFT Results of the Embedded Device to Matlab (8:03)
Programming : Implementing a Moving Average Filter for Smoothening Noisy Signals (16:44)
Signal Processing on Live Sensor Data
Programming : Developing a Bare-Metal ADC Driver- Analyzing the Documentation (11:34)
Programming : Developing a Bare-Metal ADC Driver- Initialization Function (14:11)
Programming : Developing a Bare-Metal ADC Driver- Testing the Driver (11:50)
Programming : Implementing a Live Sample-by-Sample FIR Filter (Part I) (18:11)
Programming : Implementing a Live Sample-by-Sample FIR Filter (Part II) (24:46)
Developing the First-In-First-Out (FIFO) Data Structure
Programming : Implementing the Interface File (7:29)
Programming : Implementing the Initialization Function (2:45)
Programming : Implementing Fifo_Put Function (5:39)
Programming : Implementing the Fifo_Get Function (3:09)
Programming : Testing the FIFO (7:03)
Developing a Background Thread for Sampling Sensor Data
Programming : Analyzing the Documentation (6:01)
Programming : Implementing the Intialization Function (10:02)
Programming : Testing the Background Thread (14:07)
Performing Digital Signal Processing on Blocks of Sensor Data
Programming : Getting a Block of Sensor Data into the FIFO (10:57)
Programming : Reading from the FIFO (23:16)
Programming : Applying FIR Filters on a Block of Sensor Data (15:31)
Programming : Performing Convolution on a Block of Sensor Data using CMSIS-DSP (5:41)
Programming : Applying Moving Average Filters to a Block of Sensor Data (5:20)
Closing
Closing Remarks
Teach online with
Getting the required package for bare-metal development
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock