Having basic C programming skills is a plus
Digital Signal Processing (DSP) From Ground Up™ in C
With a programming-based approach, this course is designed to give you a solid foundation in the most useful aspects of Digital Signal Processing (DSP) in an engaging and easy to follow way. The goal of this course is to present practical techniques while avoiding obstacles of abstract mathematical theories. To achieve this goal, the DSP techniques are explained in plain language, not simply proven to be true through mathematical derivations.
Still keeping it simple, this course comes in different programming languages and hardware architectures so that students can put the techniques to practice using a programming language or hardware architecture of their choice. This version of the course uses the C programming language.
By the end of this course, you should be able to develop the Convolution Kernel algorithm in C, develop the Discrete Fourier Transform (DFT) algorithm in C, develop the Inverse Discrete Fourier Transform (IDFT) algorithm in C, design and develop Finite Impulse Response (FIR) filters in C, design and develop Infinite Impulse Response (IIR) filters in C, develop Windowed-Sinc filters in C, build Modified Sallen-Key filters, build Bessel, Chebyshev and Butterworth filters, develop the Fast Fourier Transform (FFT) algorithm in C , even give a lecture on DSP and so much more. Please take a look at the full course curriculum.