Convolution in Digital Signal Processing
Convolution in Digital Signal Processing
Curriculum Module
Created with R2021a. Compatible with R2021a and later releases.
Description
This package contains live scripts and supporting data files centered around the fundamentals of convolution in digital signal processing. These materials are designed to be flexible and can be easily modified to accommodate a variety of teaching and learning methods. Used in a sequence, the live scripts progressively add depth to the topic. However, each script can be easily adapted for standalone use. We include a brief background, interactive illustrations, tasks, reflection questions, application examples, and guided exercises for the different concepts explored.
The instructions inside the live scripts will guide you through the activities and exercises. Get started with each live script by running it one section at a time. To stop running the script or a section midway (for example, when an animation is in progress), use the Stop button in the Run section of the Live Editor tab in the MATLAB toolstrip.
Suggested Prework
MATLAB Onramp – a free two-hour introductory tutorial to learn the essentials of MATLAB®.
Details
ConvolutionBasics.mlx
Learning Goals
- Define and compute convolution of two 1-D signals.
- Use FFT to compute convolution.
- Define and compute circular convolution.
- Achieve equivalence between circular and linear convolution.
Products: MATLAB, Signal Processing Toolbox™
ConvolutionLTI.mlx
Learning Goals
- Identify the moving average operation as a simple LTI system.
- Define an LTI system.
- Compute the output of an LTI system for an arbitrary input signal given its impulse response.
Data files: 1st_baptist_nashville_balcony.wav, ringtone.wav
The audio file 1st_baptist_nashville_balcony.wav by Adam Townsell is licensed under CC BY 4.0 and was obtained from https://openairlib.net/.
Products: MATLAB, Signal Processing Toolbox
ConvolutionFilters.mlx
Learning Goals
- Explain the frequency domain implications of convolving two signals in the time domain.
- Achieve equivalence between low pass filtering and convolution.
- Define and compute convolution of two 2-D signals.
- Perform spatial filtering of images to achieve effects such as blurring and embossing.
Data files: lettert.png, flower.jpg
Products: MATLAB, Signal Processing Toolbox, Image Processing Toolbox™ (optional), Deep Learning Toolbox™ (optional)
License
The license for this module is available in the LICENSE.TXT file in this GitHub repository.
Educator Resources
Have any questions or feedback? Contact the MathWorks online teaching team.
Copyright 2021 The MathWorks, Inc.
Cite As
Emma Smith Zbarsky (2023). Convolution in Digital Signal Processing (https://github.com/MathWorks-Teaching-Resources/Convolution-Digital-Signal-Processing/releases/tag/v1.2.3), GitHub. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Communities
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.2.3.0 | See release notes for this release on GitHub: https://github.com/MathWorks-Teaching-Resources/Convolution-Digital-Signal-Processing/releases/tag/v1.2.3 |
||
1.2.2 | See release notes for this release on GitHub: https://github.com/MathWorks-Teaching-Resources/Convolution-Digital-Signal-Processing/releases/tag/v1.2.2 |
||
1.2.1 | See release notes for this release on GitHub: https://github.com/MathWorks-Teaching-Resources/Convolution-Digital-Signal-Processing/releases/tag/v1.2.1 |
||
1.2.0 | See release notes for this release on GitHub: https://github.com/MathWorks-Teaching-Resources/Convolution-Digital-Signal-Processing/releases/tag/v1.2.0 |
||
1.1.0 |