Compute convolution y[n]=x[n]*h[n]: x[n]={2,0,1,-1,3}; h[n]={1,2,0,1}
Show older comments
My approach:
x=[2 0 1 -1 3];
h=[1 2 0 1];
% therefore
y=conv(x,h)
y =
2 4 1 3 1 7 -1 3
4 Comments
Constantino Carlos Reyes-Aldasoro
on 13 Jul 2021
Moved: John D'Errico
on 2 Dec 2023
What exactly is your question?
James
on 2 Dec 2023
what if h[n]and x[n] given some function? like x[n]=u[n] and h[n]= 0.9^n*u[n-1]
It would depend on whether that u[n-1] is the unit step function or not.
If it is then x[n] would be 0 for n < 0, and 1 for n >= 0 -- an infinite stream of 1's. And h[n] would be 0 for n <= 1, and 0.9^n for n > 1 -- an infinite stream of non-negative numbers. You cannot express that as a finite convolution sequence.
Let us see what it would turn out like for continuous functions:
sympref('heavisideatorigin', 1)
syms n integer
x(n) = heaviside(n)
h(n) = (sym(9)/sym(10))^n * heaviside(n-1)
syms t tau
C(t) = int(x(tau) * h(t-tau), tau, 0, t)
[C(-1), C(0), C(1)]
assume(sign(t-1) == 1)
simplify(C)
Answers (1)
Image Analyst
on 2 Dec 2023
0 votes
@Li Hui Chew, yes your approach is correct. Is that all you wanted - confirmation of your approach?
Categories
Find more on MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

