diff --git a/TP3a/DiogoEliseu_TP3_3.m b/TP3a/DiogoEliseu_TP3_3.m index 619038b..3926e1c 100644 --- a/TP3a/DiogoEliseu_TP3_3.m +++ b/TP3a/DiogoEliseu_TP3_3.m @@ -6,18 +6,32 @@ sintetico_data = fopen('sintetico.csv'); sintetico = textscan(sintetico_data, '%f', 'Delimiter', ','); sintetico = sintetico{1,1}; fclose(sintetico_data); +N = length(sintetico); + +FS = 8; +f = (0:N-1)/N*FS; figure(1) -subplot(2,1,1) -plot(sintetico); +subplot(2,2,1) +plot(f, sintetico); title('sinal sintetico'); -subplot(2,1,2) -DFT_Xa = fft(sintetico, N+1); -DFT_Xa = DFT_Xa(1 : (N+1)/2); -plot(X((N+1)/2, 0, 1),abs(DFT_Xa)) -xlabel('\omega/\pi'), ylabel('|X(\omega)|'), title('DFT sintetico em [0, \pi]') +subplot(2,2,2) +DFT_Xa = fft(sintetico, N); +plot(f, abs(DFT_Xa)) +xlabel('\omega/\pi'), ylabel('|X(\omega)|'), title('DFT sintetico em [0, 2\pi]') + +subplot(2,2,3) +low_pass_filter = ones(N,1); +low_pass_filter(81:177) = 0; % 2.5 H 5.5 +DFT_Xa_filtered = DFT_Xa.*low_pass_filter; +plot(f, abs(DFT_Xa_filtered)) +xlabel('\omega/\pi'), ylabel('|X(\omega)|'), title('DFT sintetico em [0, 2\pi] filtrada') + +subplot(2,2,4) +plot(f, abs(ifft(DFT_Xa_filtered))); +title('sinal sintetico filtrado'); function f = X(N, inicio, fim)