Sponsored Post Learn from the experts: Create a successful blog with our brand new courseThe WordPress.com Blog

WordPress.com is excited to announce our newest offering: a course just for beginning bloggers where you’ll learn everything you need to know about blogging from the most trusted experts in the industry. We have helped millions of blogs get up and running, we know what works, and we want you to to know everything we know. This course provides all the fundamental skills and inspiration you need to get your blog started, an interactive community forum, and content updated annually.

C++ Reverb – DSP Final Project

Overview

This past year (Fall 2018) I took a DSP (digital signal processing) class at Cedarville University. At the end of the class, as a final project we had to implement something “cool” using the techniques we learned in the rest of class on a Raspberry Pi. This was supposed to be done using the Raspberry Pi package for Simulink Coder.

For my project, I decided to implement a digital reverb unit; as I thought it would be interesting. I also thought it would be fun to add reverb to my music library. The reverb unit was first implemented in Matlab and Simulink for testing on a desktop, then the filters were ported to C++ so that they could be directly implemented on the Pi without using Simulink coder.

A sample input and output (along with all the code needed for the C++ implementation are available on github). The files Invention_no1.mp3 and Invention_no1_reverb.mp3 are the input and output files respectively.

This post does not go into the math behind digital signal processing, mostly because I did not feel like writing about it. I might eventually, but I probably won’t.

Continue reading “C++ Reverb – DSP Final Project”

STM32Cube Library – Part 2 Hello World

This is part 2 in a multi-part series. Read part 1 here: The STM32Cube library – part 1 Toolchain

We left off by generating a project in the STM32CubeMX application. Today we will modify the automatically generated code to do our bidding; namely blink several LEDs. This will also provide a tour of usage of the STM32Cube HAL library.

I will be using a stm32f4Discovery board for this tutorial, but it should work on most any other stm32 development board, just be sure to use the correct pins.

Continue reading “STM32Cube Library – Part 2 Hello World”