logo Hurry, Grab up to 30% discount on the entire course
Order Now logo

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
Wyatt RyessEconomics
(5/5)

791 Answers

Hire Me
expert
Eugene BaranowskiMathematics
(5/5)

819 Answers

Hire Me
expert
Dania HasanStatistics
(/5)

551 Answers

Hire Me
expert
Deepak BansalAccounting
(5/5)

807 Answers

Hire Me
Matlab & Mathematica

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

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

 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?

Related Questions

. The fundamental operations of create, read, update, and delete (CRUD) in either Python or Java

CS 340 Milestone One Guidelines and Rubric  Overview: For this assignment, you will implement the fundamental operations of create, read, update,

. 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

Retail Transaction Programming Project  Project Requirements:  Develop a program to emulate a purchase transaction at a retail store. This

. The following program contains five errors. Identify the errors and fix them

7COM1028   Secure Systems Programming   Referral Coursework: Secure

. Accepts the following from a user: Item Name Item Quantity Item Price Allows the user to create a file to store the sales receipt contents

Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip

. The final project will encompass developing a web service using a software stack and implementing an industry-standard interface. Regardless of whether you choose to pursue application development goals as a pure developer or as a software engineer

CS 340 Final Project Guidelines and Rubric  Overview The final project will encompass developing a web service using a software stack and impleme