how to sum unit function and step function
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/289375/image.png)
I want to calculate the convolution of x(t) and h(t).
Here is my code :
clear;
t = [ -10 : 0.01 : 10 ];
xt = ( t >= -2 ) & ( t <= 2) + (t == 1)
ht = ( t >= -1 ) & ( t <= 2) + 2*(t == 0) + (t == 3)
plot(t,ht);
ylim([-0.5 2]);
yt = conv(xt,ht,'same');
t1 = [-inf, inf];
plot(t1,yt);
I'm not sure that xt and ht are correct.
Moreover, there is an error with last line.
HELP ME
1 comentario
Respuestas (2)
Ajay Pattassery
el 4 de Mayo de 2020
I assume you are trying to do the convolution of xt, ht as attached in the image.
t = ( -10 : 0.01 : 10 );
xt = (( t >= -2 ) & ( t <= 2)) + (t == 1);
ht = (( t >= -1 ) & ( t <= 2)) + 2*(t == 0) + (t == 3);
subplot(3,1,1);plot(t,xt);
ylabel('xt');
subplot(3,1,2);plot(t,ht)
ylabel('ht');
yt = .01*conv(xt,ht,'same');
subplot(3,1,3);plot(t,yt);
ylabel('yt');
I have just edited your above code.
If you are doing convolution of continuous signals by approximating as above in MATLAB, you need to multiply the output of conv with dt. In your case .01. What you are basically doing is approximating the continuous signal with boxes of width .01 and doing the discrete convolution. Hence while doing convolution, the integration can be achieved by mulitplying with dt.
0 comentarios
VIVEK
el 20 de Sept. de 2022
t = ( -10 : 0.01 : 10 );
xt = (( t >= -2 ) & ( t <= 2)) + (t == 1);
ht = (( t >= -1 ) & ( t <= 2)) + 2*(t == 0) + (t == 3);
subplot(3,1,1);plot(t,xt);
ylabel('xt');
subplot(3,1,2);plot(t,ht)
ylabel('ht');
yt = .01*conv(xt,ht,'same');
subplot(3,1,3);plot(t,yt);
ylabel('yt');
0 comentarios
Ver también
Categorías
Más información sobre Waveform Generation en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!