Plotting the convolution of two signals

I am given two functions x(t) =5[u(t+1)-u(t-1)] and h(t)=u(t-1)-u(t-7). I am asked to convolve these two signals and plot the result in the range -3 to 10. Here is the code that I wrote:
t=-3:0.1:10; t_c=-3:0.05:10; h_t=heaviside(t-1)-heaviside(t-7); x_t1=5.*(heaviside(t+1)-heaviside(t-1)); c_x_h=conv(x_t1,h_t); figure(1) plot(t_c,c_x_h)
However, since this is a simple convolution I verified it by hand and it does not look like the plot i get in MATLAB. The max value should be 10 but in MATLAB i get 100. Also, the duration of the function should be 8 but i get 4 with MATLAB. Please help.

 Réponse acceptée

Rick Rosson
Rick Rosson le 23 Oct 2014
Please try:
t_c = -6:0.1:20;
and:
dt = t(2) - t(1);
c_x_h = dt*conv(x_t1,h_t);

4 commentaires

Dennis
Dennis le 23 Oct 2014
Thank you for the tip Rick. I tried that and it worked. I am unclear as to why the dt is needed though and why t_c needed to be extended to -6 to 20. Thanks again for your time.
Baiyu Zhang
Baiyu Zhang le 28 Juin 2018
What is dt = t(2)-t(1)? What does it mean?
Celeste MacNeil
Celeste MacNeil le 14 Oct 2018
What do you mean dt = t(2)-t(1)?
Celeste MacNeil
Celeste MacNeil le 14 Oct 2018
I assume you just mean the step?

Connectez-vous pour commenter.

Plus de réponses (1)

IKRAM jebali
IKRAM jebali le 31 Mar 2017

0 votes

Hello! Thank you. I'had the same problem. Me too amnclear as to why the dt is needed though and why t_c needed to be extended to -6 to 20. I use it but i don't know why? There is any answer please. Thank you.

1 commentaire

Because the length of the convolution of two matrices of ,length m and n will be m+n-1. inorder to get the same vector size, you need to do this.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by