Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clf;
- clear all;
- n = -30:1:30;
- w = -300:0.01:300;
- x = exp(-3*n).*heaviside(n);
- h = exp(-2*n).*heaviside(n);
- %x = zeros(size(t));
- %h = zeros(size(t));
- %x = (t.^2).*exp(-1.*t.^2).*(cos(t.^2).^2);
- %h = exp(-0.2*t.^2).*sin(t.^2).*heaviside(t);
- % for iter = 1:length(t)
- % x(iter) = t(iter)^2*exp(-1.*t(iter)^2)*cos(t(iter)^2)^2;
- % h(iter) = exp(-0.2*t(iter)^2)*sin(t(iter)^2)*heaviside(t(iter));
- % end
- X = zeros(size(w));
- H = zeros(size(w));
- for iter = 1:length(w)
- X(iter) = sum(x.*exp(-1j*w(iter)*n)); %Fourier Transform
- H(iter) = sum(h.*exp(-1j*w(iter)*n));
- end
- Y = X.*H;
- y = zeros(size(n));
- for iter = 1:length(n)
- y(iter) = trapz(w, Y.*exp(1j*w*n(iter)))/(2*pi);
- end
- %x_exact = exp(-3*t0)*heaviside(t0);
- %h_exact = exp(-2*t0)*heaviside(t0);
- %X_exact = fourier(x_exact, t0);
- %H_exact = fourier(h_exact, t0);
- %Y_exact = H_exact*X_exact;
- y_exact = conv2(x, h);
- n2 =n(1)+n(1):1:n(end)+n(end);
- figure(1);
- plot(n2, y_exact, n, abs(y));
- legend('Exact', 'Approximate');
- title('Exact and approximate y(t)');
- axis([-5 5 -.02 1.2]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement