Plotting the convolution of two signals
4 ビュー (過去 30 日間)
古いコメントを表示
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.
0 件のコメント
採用された回答
Rick Rosson
2014 年 10 月 23 日
Please try:
t_c = -6:0.1:20;
and:
dt = t(2) - t(1);
c_x_h = dt*conv(x_t1,h_t);
4 件のコメント
その他の回答 (1 件)
IKRAM jebali
2017 年 3 月 31 日
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 件のコメント
Aswin Farzana Mohamed Ansar
2017 年 10 月 20 日
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.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!