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

 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);

In your script file, make your signal x[n] equal to

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: What is relationship between your input x[n], your output y[n], and k1?

  • 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 is relationship between your input x[n], your output y[n], and k2?

  • 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?

Attachments:

Instructions Files

Matlab & Mathematica Experts

expert
Nicolas Wang
Matlab & Mathematica

96 Answers

View More Experts
Disclaimer

The ready solutions purchased from Library are already used solutions. Please do not submit them directly as it may lead to plagiarism. Once paid, the solution file download link will be sent to your provided email. Please either use them for learning purpose or re-write them in your own language. In case if you haven't get the email, do let us know via chat support.

Get Free Quote!

253 Experts Online