Conv two continuous time functions
15 次查看(过去 30 天)
显示 更早的评论
given y(t) and x(t), it is asked to conv them. Note: x(t)=dirac(t-3)-dirac(t-5). The conv result should sum y(t-3)-y(t-5) but it gives me:
y=@(t) 1.0*(t>=0).*exp(-3*t);
x=@(t) 1.0*(t==3)-1.0*(t==5);
delta=0.0001;
tx=2:delta:6; %tx=(-200:300)*delta;
ty=-1:delta:1.5; % ty=(-100:300)*delta;
c=conv(y(ty),x(tx))*delta;
tc=(tx(1)+ty(1)):delta:(tx(end)+ty(end));
figure()
title('c')
subplot(3,1,1)
plot(tx,x(tx))
xlabel('n'); title('x(t)'); ylim([min(x(tx))-1,max(x(tx))+1]); grid on
subplot(3,1,2)
plot(ty,y(ty))
xlabel('n'); title('h(t)'); ylim([min(y(ty))-1,max(y(ty))+1]); grid on
subplot(3,1,3)
plot(tc,c);
xlabel('n'); title('x(t)*h(t)');ylim([min(c)-1,max(c)+1]); grid on
What can i do to solve the problem?
Thanks
0 个评论
采纳的回答
更多回答(1 个)
Immanuel Manohar
2019-10-2
Your dirac Delta is wrong... you're attempting continuous time convolution but you are using unit impulse instead of dirac delta for convolution. To get the correct answer, your dirac delta approximation should have the height of 1/delta.
1 个评论
zhitao Luo
2020-6-2
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!