%% programa 004 Transformada de Fourier de pulso cuadrado clearvars; close all; clc; %% datos inicales tiempo %tiempo T = 0.5*pi; t = -5*pi:0.01*pi:5*pi; Nt = length(t); gt = zeros(Nt,1); %funcion tiempo for n = 1:Nt if (t(n) >= 0) && t(n) <= T gt(n) = 1; else gt(n) = 0; end; end figure(1) plot(t,gt) title('funcion en el dominio del tiempo'); xlabel('t (s)'); ylabel('g(t) (Pa)') grid on box on; axis([-5*pi 5*pi -0.5 1.5]); %% datos finales frecuencia %frecuencia f = -5*pi:0.01*pi:5*pi; Nf = length(f); Gf = zeros(Nt,1); Gf = sqrt( (cos(2*pi*f*T) - 1).^2 + (sin(2*pi*f*T)).^2 )./(4*pi^2*f); figure(2) plot(f,abs(Gf)) title('modulo de la funcion en el dominio de la frecuencia / espectro bilateral'); xlabel('f (Hz)'); ylabel('G(f) (Pa)') grid on box on; axis([-5*pi 5*pi -0.1 0.3]); figure(3) plot(f( round(Nf/2):Nf ),2*abs(Gf( round(Nf/2):Nf ) )) title('modulo de la funcion en el dominio de la frecuencia / espectro unilateral'); xlabel('f (Hz)'); ylabel('G(f) (Pa)') grid on box on; axis([0 5*pi -0.1 0.5]); T = 0.5*pi; tt = -5*pi:0.2*pi:5*pi; Ntt = length(tt); gt = zeros(Ntt,1); %funcion tiempo for n = 1:Ntt if (tt(n) >= 0) && tt(n) <= T gtt(n) = 1; else gtt(n) = 0; end; end figure(4) stem(tt,gtt) title('funcion en el dominio del tiempo muestreada'); xlabel('t (s)'); ylabel('g(t) (Pa)') grid on box on; axis([-5*pi 5*pi -0.5 1.5]);