(5/5)

# In this assignment, we will focus on understanding convolution and how to use it to design and analyze systems.

INSTRUCTIONS TO CANDIDATES

Fundamentals of Signals and Systems

Lab 2: Convolution, Correlation, and Finding Signals

Files necessary to compute this assignment: rudenko 01.mp4 to rudenko 39.mp4, get tune.m,get tune.p

Introduction

convolution describes the process of a signal x[n] passing through a linear, time-invariant system defined by an impulse response h[n]. Convolution is a central concept that describes every linear, time-invariant system that we create and use. Convolution describes how the circuits affect a given voltage input, how radio waves travel through the atmosphere, how to blur and sharpen images, how to recognize images/faces videos, etc. While many of these systems do not use convolution directly (we often use faster algorithms that indirectly perform convolution), understanding how and why convolution works is essential to all of them.

In this lab assignment, we will focus on understanding convolution and how to use it to design and analyze systems. We will create several system impulse responses and study how each system affects a given signal. We then study a widely used application of convolution, known as “template matching” or “matched filtering,” that is often used to locate images, radar or sonar signals, and musical segments in noisy data sets.

This lab assignment has three learning objectives:

1. To improve your understanding of convolution

2. To introduce you to the concept of correlation and template matching

3. To design your own “Name that tune” algorithm

Your experiment will be divided into three parts, each associated with an individual objective.

Deliverables

This lab assignment has two deliverables:

1. Your custom “lastname firstname lab2.m” file

2. Your answers to questions / inclusions of plots specified throughout the lab

(see grading rubric at the end of this document for a complete list of the questions)

Note: there is no special format for this submission, but be clear regarding what answer corresponds to what question.

Please electronically submit these deliverables to your lab teaching assistant via canvas.

Part 1: Convolution for Signal Manipulation

Create a Signal: Open the MATLAB editor and create a script file. In your script, create a discrete-time signal x[n] that is 20 samples in length.  Start with this signal containing all zeros   (i.e., we are “initializing” the signal). The easiest way to do this is to write:

>> x = zeros(20,1);

x[n] = u[n − 3] − u[n − 8] − δ[n − 17] .

There are multiple ways that you can do this. Choose the way that works best for you. Manually plot x[n] and then plot x in MATLAB using the commands

>> n = 0:19;

>> stem(n, x);

>> xlabel(’Samples’);

>> ylabel(’Amplitude’);

Confirm that your plot and MATLAB plot match.

Note: The ftrst index in MATLAB (i.e., x(1)) corresponds to time n = 0 (i.e., x[n]). Therefore, keep in mind that our MATLAB index is always one value ahead of our n.

Convolve with a Delta Function:  Now  create a system impulse response h[n] that is also      20 samples in length. Create the impulse response h  in  MATLAB  such  that  h[n]  and  y[n]  are defined by

h[n] = δ[n]

y[n] = x[n] ∗ h[n].

Perform the convolution in MATLAB by using

>> y = conv(x, h)

Note: The output signal y[n] should now have a length of N = 39. We will see why in the next subsection.

Convolve with a Shifted Delta Function:  Create a new impulse response h[n] that is also   20 samples in length. Create the impulse response h in MATLAB such that

h[n] = δ[n − k1] ,

for k1 = 5. Determine and plot the convolution y[n] = x[n] ∗ h[n] in MATLAB. Repeat this for

k1 = 6, k1 = 10, and k1 = 19.

• Answer: Why is it important to have an output length of N = 39?

Convolve with Two Delta Functions: Create a new impulse response h[n] that is also 20 sam- ples in length. Create the impulse response h in MATLAB such that

h[n] = δ[n] + δ[n − k2] ,

for k2 = 19. Determine and plot the convolution y[n] = x[n] ∗ h[n] in MATLAB. Repeat this for

k2 = 17, k2 = 14, and k2 = 11.

• Answer: What does this system do?

Convolve with a Box (Running Averaging): Create a new impulse response h[n] that is also 20 samples in length. Create the impulse response h in MATLAB such that

h[n] = (1/3)(u[n] − u[n − 3]) .

Determine and plot the convolution y[n] = x[n] ∗ h[n] in MATLAB.

• Answer: What does this system do? What application might this be used in?

Convolve with a Difference (Edge Detection): Create a new impulse response h[n] that is also 20 samples in length. Create the impulse response h in MATLAB such that

h[n] = −δ[n] + 2δ[n − 1] − δ[n − 2] .

Determine and plot the convolution y[n] = x[n] ∗ h[n] in MATLAB.

• Answer: What does this system do? What application might this be used in?

(5/5)

## Related Questions

##### . Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

##### . The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

##### . Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

##### . SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

##### . Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Hire Me