Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Digital Signal Processing (DSP) From Ground Up™ in C
Rating: 4.2 out of 5(873 ratings)
6,123 students

Digital Signal Processing (DSP) From Ground Up™ in C

Practical DSP in C : FFT, Filter Design, Convolution, IIR, FIR, Hamming Window, Linear Systems, Chebyshev filters etc
Last updated 2/2023
English

What you'll learn

  • Be able to develop the Convolution Kernel algorithm in C
  • Be able able to develop the Discrete Fourier Transform (DFT) algorithm in C
  • Be able to develop the Inverse Discrete Fourier Transform (IDFT) algorithm in C
  • Be able to develop the Fast Fourier Transform (FFT) algorithm in C
  • Be able to perform spectral analysis on ECG signals in C
  • Be able to design and develop Windowed-Sinc filters in C
  • Be able to design and develop Finite Impulse Response (FIR) filters in C
  • Be able to design and develop Infinite Impulse Response (IIR) filters in C
  • Be able to develop the FFT Convolution algorithm in C
  • Be able to develop the First Difference algorithm in C
  • Be able to develop the Running Sum algorithm in C
  • Be able to develop the Moving Average filter algorithm in C
  • Be able to develop the Recursive Moving Average filter algorithm in C
  • Be able to develop signal statistical algorithms in C
  • Be able to build passive Low-pass and High-pass filters
  • Be able to build Modified Sallen-Key filters
  • Be able to build Bessel, Chebyshev and Butterworth filters
  • Understand all about Linear Systems and their characteristics
  • Understand how to synthesize and decompose signals
  • Understand the relationship between the delta function and the Impulse response
  • Be able to plot signals with gnuplot
  • Be able to give a lecture on Digital Signal Processing (DSP)
  • Be able to suppress noise in signals

Course content

14 sections92 lectures7h 47m total length
  • Setting up an Integrated Development Environment (IDE)2:37

    Download and install code blocks as your C integrated development environment, verify the GNU GCC compiler is detected, and you may use another C IDE or compiler if already available.

  • Overview of CodeBlocks4:01

    Explore a quick overview of CodeBlocks, create a new C console project, and set a dedicated folder. Build and run to test installation by seeing Hello World and Hello DSP.

  • Downloading gnuplot2:39
  • Installing gnuplot2:21
  • Overview of gnuplot4:00

    Plot signals with gnuplot from dot dat files exported by your C code, and set the data folder to plot accurately, including signals with lines and multiple signals.

Requirements

  • Having basic C programming skills is a plus

Description

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

Who this course is for:

  • Engineering Students
  • C Developers
  • Embedded Systems Engineers
  • Computer Engineering students
  • Hobbyists
  • Embedded Systems Instructors