Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.08 KB | None | 0 0
  1. clf;
  2. clear all;
  3.  
  4. n = -30:1:30;
  5. w = -300:0.01:300;
  6.  
  7. x = exp(-3*n).*heaviside(n);
  8. h = exp(-2*n).*heaviside(n);
  9.  
  10. %x = zeros(size(t));
  11. %h = zeros(size(t));
  12.  
  13. %x = (t.^2).*exp(-1.*t.^2).*(cos(t.^2).^2);
  14. %h = exp(-0.2*t.^2).*sin(t.^2).*heaviside(t);
  15.  
  16. % for iter = 1:length(t)
  17. %    x(iter) = t(iter)^2*exp(-1.*t(iter)^2)*cos(t(iter)^2)^2;
  18. %    h(iter) = exp(-0.2*t(iter)^2)*sin(t(iter)^2)*heaviside(t(iter));
  19. % end
  20.  
  21. X = zeros(size(w));
  22. H = zeros(size(w));
  23.  
  24. for iter = 1:length(w)
  25.     X(iter) = sum(x.*exp(-1j*w(iter)*n)); %Fourier Transform
  26.     H(iter) = sum(h.*exp(-1j*w(iter)*n));
  27. end
  28.  
  29. Y = X.*H;
  30. y = zeros(size(n));
  31.  
  32. for iter = 1:length(n)
  33.    y(iter) = trapz(w, Y.*exp(1j*w*n(iter)))/(2*pi);
  34. end
  35.  
  36. %x_exact = exp(-3*t0)*heaviside(t0);
  37. %h_exact = exp(-2*t0)*heaviside(t0);
  38.  
  39. %X_exact = fourier(x_exact, t0);
  40. %H_exact = fourier(h_exact, t0);
  41.  
  42. %Y_exact = H_exact*X_exact;
  43.  
  44. y_exact = conv2(x, h);
  45. n2 =n(1)+n(1):1:n(end)+n(end);
  46.  
  47. figure(1);
  48. plot(n2, y_exact, n, abs(y));
  49. legend('Exact', 'Approximate');
  50. title('Exact and approximate y(t)');
  51. axis([-5 5 -.02 1.2]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement