LogoLogo
  • DSP4.3 - Real-Time DSP
  • Bill of materials
  • The Microcontroller
    • The ST Nucleo
    • STM32 Cube IDE
      • Useful tips
    • A simple test project
  • The Audio Peripherals
    • The Adafruit Boards
    • Real-time audio I/O
    • The digital microphone
    • The stereo DAC
    • The audio passthrough project
      • Setting up the I/O
      • Connecting the peripherals
      • Coding the passthrough
  • Real-World DSP
    • Numerical precision
    • Code efficiency
    • Signal levels
    • Benchmarking
    • Low Level Debugging
  • Voice Transformers
    • Introduction
    • Alien Voice
      • Basic implementation
      • The ON/OFF button
    • Granular Synthesis
      • The Formulas
      • Implementation
      • Last Details
    • About
Powered by GitBook
On this page

Was this helpful?

Export as PDF

DSP4.3 - Real-Time DSP

by Eric Bezzam, Adrien Hoffet and Paolo Prandoni. (c) LCAV, EPFL, 2020.

NextBill of materials

Last updated 5 years ago

Was this helpful?

Hi, and welcome to this final module of the DSP course, in which we will learn how to build a real time signal processing system using a general-purpose microcontroller unit.

Developing DSP applications for a low-level device does not affect the theory behind the algorithms that we implement. However, the constraints imposed by a low-power CPU will demand that we pay particular attention to details such as code efficiency, memory use and input/output routines.

In addition to that, working "close to the metal", so to speak, will give us the chance to look in some detail at the often neglected physical aspect of DSP, namely, the actual electronic components and the signalling protocols that are used to move data around in a complex circuit.

We will focus this module on audio signal processing, so as to build a system whose functions we can immediately enjoy; in particular, we will design and implement a variety of voice scramblers, that is, devices that you can use to alter your speaking voice in real time and sound, say, like a chipmunk or like Darth Vader.

The skills and the experience needed to port a real-time signal processing algorithm to an embedded board are the province of the truly accomplished DSP engineers; in this module you will be able to get a first taste of the challenges and the struggles of the job, together with the priceless satisfaction of truly "making" a device come to life.

In this online book we will provide you with step-by-step instructions together with links to videos on that illustrate all the steps leading to the "finished product". Working with hardware can often prove overwhelming and dealing with the numerous protocols, lengthy documentation, and specific components can be frustrating at times. But, thanks to these notes and the videos, you should be able to navigate around these issues with ease and taste the fun and exciting side of practical DSP right away.

Even if you don't have access to the selected hardware platform, you will still be able to appreciate the main lessons on real-time, low-level programming and we still recommend you read the nevertheless.

We hope you'll find this tutorial instructive and entertaining!

Coursera
section on Audio I/O theory