This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
DSP/TP3/DiogoEliseu_TP3_3.m

43 lines
1019 B
Mathematica
Raw Permalink Normal View History

2020-11-26 15:14:39 +00:00
%% Inicialização do ambiente
2020-12-14 03:10:51 +00:00
clear; close all; clc
2020-11-26 15:14:39 +00:00
%% Exercício 3
sintetico_data = fopen('sintetico.csv');
sintetico = textscan(sintetico_data, '%f', 'Delimiter', ',');
sintetico = sintetico{1,1};
fclose(sintetico_data);
2020-11-26 16:04:48 +00:00
N = length(sintetico);
2020-12-14 03:10:51 +00:00
Fs = 8;
f = linspace(0, 2*pi*Fs, N)/(pi*Fs);
2020-11-26 15:14:39 +00:00
2020-12-03 10:34:19 +00:00
T = 0.125;
2020-12-14 03:10:51 +00:00
t = (1:N)/N*T;
2020-12-03 10:34:19 +00:00
2020-11-26 15:14:39 +00:00
figure(1)
2020-11-26 16:04:48 +00:00
subplot(2,2,1)
2020-12-03 10:34:19 +00:00
plot(t, sintetico);
xlabel('t'), ylabel('x(t)'), title('sinal sintetico');
2020-11-26 15:14:39 +00:00
2020-11-26 16:04:48 +00:00
subplot(2,2,2)
DFT_Xa = fft(sintetico, N);
plot(f, abs(DFT_Xa))
2020-12-14 03:10:51 +00:00
xlabel('\omega/2\pi'), ylabel('|X(\omega)|'), title('DFT sintetico em [0, 2\pi]')
2020-11-26 16:04:48 +00:00
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))
2020-12-14 03:10:51 +00:00
xlabel('\omega/2\pi'), ylabel('|Y(\omega)|'), title('DFT sintetico em [0, 2\pi] filtrada')
2020-11-26 16:04:48 +00:00
subplot(2,2,4)
2020-12-03 10:34:19 +00:00
plot(t, abs(ifft(DFT_Xa_filtered)));
xlabel('t'), ylabel('y(t)'), title('sinal sintetico filtrado');
2020-11-26 15:14:39 +00:00
function f = X(N, inicio, fim)
f = (0:(1/N):(1 - 1/N))*(fim-inicio)+inicio;
2020-12-14 03:10:51 +00:00
end