%filtro passa baixa butterworth de segunda ordem

clear all
clear
y(1) = 0; %condições iniciais tk-1
y(2) = 0; %tk
omegac = 2*pi/5; %frequencia de corte do filtro software tem de ser sempre mais baixa do que a de amostragem

dt = 0.1;
time = 0:dt:100;

for index = 1:length(time)
x = 2 * cos(omegac/6*time(index)) + rand; %sinal com ruído
y(3) = (omegac^2 * (x - y(2))*dt^2 -sqrt(2)*(y(2)-y(1))*dt) + 2*y(2) - y(1); %filtro
y(1) = y(2);
y(2) = y(3);

xplot(index) = x;
yplot(index) = y(3);

end
plot(time,xplot,'k-',time,yplot,'r-')
legend('original', 'filtrado')
