how to sum unit function and step function
13 次查看(过去 30 天)
显示 更早的评论
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
回答(2 个)
Ajay Pattassery
2020-5-4
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 个评论
VIVEK
2022-9-20
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!