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

Questions/answers with a recent ECE grad

Ryne Rayburn