Simple Low-Pass Filter Design

Digital Signal Processing with Python

About

In this project, I designed a lowpass filter and implemented it on an audio signal to preserve and amplify the 'bass' and mitigate the higher frequencies (the treble). The bass is essentially the lower frequencies of the audio signal and makes up for the 'base' of the overall tune

How does it work?

The Function Call
1

First we analyze the Frequency Domain of the audio signal and create our filter based off that. Which can we seen and played below.

Download free bootstrap 4 landing page, free boootstrap 4 templates, Download free bootstrap 4.1 landing page, free boootstrap 4.1.1 templates, meyawo Landing page Download free bootstrap 4 landing page, free boootstrap 4 templates, Download free bootstrap 4.1 landing page, free boootstrap 4.1.1 templates, meyawo Landing page
2

Since we want to preserve the peaks, we want our cutoff to be at at minumum approximately 100Hz


Using MicroModeler DSP , Poles and zeros are allocated such the magnitude of each pole/zero is less than 1 (within the unit circle) to keep the system stable

Since zeros cancel out a frequency, we allocate conjugate zero pairs at the 1khz mark on the Unit Circle


Since Poles maximize frequencies, we allocate conjugate poles NEAR the zero frequency mark and not directly on the unit circle itself so the poles do not maximize just one singular frequency of zero. Download free bootstrap 4 landing page, free boootstrap 4 templates, Download free bootstrap 4.1 landing page, free boootstrap 4.1.1 templates, meyawo Landing page

3

The Filter's impulse response is seen below. As well as the filtered output's frequency domain and time domain plots

Download free bootstrap 4 landing page, free boootstrap 4 templates, Download free bootstrap 4.1 landing page, free boootstrap 4.1.1 templates, meyawo Landing page Download free bootstrap 4 landing page, free boootstrap 4 templates, Download free bootstrap 4.1 landing page, free boootstrap 4.1.1 templates, meyawo Landing page
Implementation
Download free bootstrap 4 landing page, free boootstrap 4 templates, Download free bootstrap 4.1 landing page, free boootstrap 4.1.1 templates, meyawo Landing page
4th Order Filter

For simplicity 4 poles and 4 zeros were used making this is a 4th order IIR filter. The Direct form representation can be seen on the left illustrating how the samples are modified through the filter.

Download free bootstrap 4 landing page, free boootstrap 4 templates, Download free bootstrap 4.1 landing page, free boootstrap 4.1.1 templates, meyawo Landing page
Difference Equation

This is the difference equation for the first part of the direct form implementation shown above. This filter can be implemented in a single for loop and this is repeated for the second part of the diagram meaning two separate difference equations were used.

How can you communicate?

Contact Me