Giter Site home page Giter Site logo

mathworks-teaching-resources / convolution-digital-signal-processing Goto Github PK

View Code? Open in Web Editor NEW
9.0 2.0 2.0 19.81 MB

Interactive courseware module that addresses common foundational-level concepts taught in signal processing courses.

License: BSD 3-Clause "New" or "Revised" License

MATLAB 100.00%
digital-signal-processing convolution signal-processing matlab matlab-live-script electrical-engineering

convolution-digital-signal-processing's Introduction

Convolution in Digital Signal Processing

View on File Exchange or Open in MATLAB Online

Curriculum Module

Created with R2021a. Compatible with R2021a and later releases.

Information

This curriculum module contains interactive MATLAB® live scripts and supporting data files centered around the fundamentals of convolution in digital signal processing.

Background

You can use these live scripts as demonstrations in lectures, class activities, or interactive assignments outside class. This module covers the definition and computation of 1D and 2D convolution, as well as the concepts of linear time invariant systems and filtering. It also includes examples of audio and image manipulation using convolution.

The instructions inside the live scripts will guide you through the exercises and activities. 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 EndIcon.png Stop button in the RUN section of the Live Editor tab in the MATLAB Toolstrip.

Contact Us

Solutions are available upon instructor request. Contact the MathWorks teaching resources team if you would like to request solutions, provide feedback, or if you have a question.

Prerequisites

This module assumes knowledge of MATLAB at the level of the MATLAB Onramp – a free two-hour introductory tutorial that teaches the essentials of MATLAB.

Getting Started

Accessing the Module

On MATLAB Online:

Use the OpenInMO.png link to download the module. You will be prompted to log in or create a MathWorks account. The project will be loaded, and you will see an app with several navigation options to get you started.

On Desktop:

Download or clone this repository. Open MATLAB, navigate to the folder containing these scripts and double-click on Convolution.prj. It will add the appropriate files to your MATLAB path and open an app that asks you where you would like to start.

Ensure you have all the required products (listed below) installed. If you need to include a product, add it using the Add-On Explorer. To install an add-on, go to the Home tab and select AddOnsIcon.png Add-Ons > Get Add-Ons.

Products

MATLAB® and the Signal Processing Toolbox™ are used throughout. To run all of the examples in ConvolutionFilters.mlx requires the Image Processing Toolbox™ and the Deep Learning Toolbox™.

Scripts

In this script, students will...
Conv1D.gif - 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
In this script, students will... Application
LTIPlot.png - define a linear time invariant (LTI) system
- identify the moving average operation as a simple LTI system
- compute the output of an LTI system for an arbitrary input signal given its impulse response
- Transform a monophone signal to two channel stereo with reverberation
In this script, students will... Applications
EmbossedRose.png - 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
- Blurring images
- Sharpening images
- Using convolution to identify parts of an image
- Using pretrained convolutional neural network to identify images

Related Courseware Modules

Courseware Module Sample Content Available on:
Binary Morphology in Image Processing DilationAnimation.gif OpenInFX.png
OpenInMO.png
GitHub

Climate Data Visualization and Analysis
image_9.png
OpenInFX.png
OpenInMO.png
GitHub

Or feel free to explore our other modular courseware content.

Educator Resources

Contribute

Looking for more? Find an issue? Have a suggestion? Please contact the MathWorks teaching resources team. If you want to contribute directly to this project, you can find information about how to do so in the CONTRIBUTING.md page on GitHub.

© Copyright 2023 The MathWorks™, Inc

convolution-digital-signal-processing's People

Contributors

eszmw avatar plalan-mw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.