Problem 1

Problem 2

Problem 3

Problem 4

Problem 5

Problem 6

Add your Rhea contribution to the Course-Related_Material page

Problem 7

Adam has posted some Helpful Youtube videos which will be very helpful in working this problem. Nice find! - Landis

7. Convolution implementation Write a Matlab function that per- forms convolution of two discrete-time input signals. Note that the theoretical convolution defined in class has signals $ x[n] $ defined for $ n \in ( -\infty , \infty ) $. Since this is not practically realizable, have your code assume that a finite-length input signal is such that it is zero outside of the specified range. For example, both signals $ x_1[n] $ and $ x_2[n] $ plotted below can be represented by a vector in Matlab as [2, 3, 1]. Compare your code’s functionality against the builtin Matlab function conv (type “help conv” on the command line for more information).

  • So, are you saying that our code cannot call the function conv, but can use for loops even though they are slow. Just clarifying-- Adam Frey
  • Yes, your function may use loops, but should not call the conv function. I simply want you to write a function that works identically to conv. If you are feeling ambitious, you can try this without loops, though I would strongly recommend writing it using for-loops first. Huffmalm

Another note: if you are unfamiliar, you may define functions in matlab by including "function" on the first line of your .m file. For instance, write

function y = myconv(x,h)

at the top of the script which performs convolution of x and h and calls the output y. Then save the function as myconv.m. In this way, the user can input x and h from the command line, and call your function simply by typing "myconv(x,h)" on the command line. Huffmalm


Bonus (Convolution without loops)


Back to Homework

Alumni Liaison

Ph.D. on Applied Mathematics in Aug 2007. Involved on applications of image super-resolution to electron microscopy

Francisco Blanco-Silva