%% Analisi risposta in frequenza del filtro e della sua versione approssimata
clear all
close all
clc

s=tf('s');
Mr=-(s+1)*(s+3)/(s+2);
tau=0.05;
Mrhat=Mr/(1+tau*s);
bode(Mr,Mrhat),grid
legend('Mr','Mrhat')
xlim([0.01 100])

%% Simulazione

sim('AnticipoSetpoint2020')
yf1=yf;
uf1=uf;

%% Grafici
figure(1)
plot(y.Time,[y.Data yf.Data],'LineWidth',2),grid
xlabel('Tempo [sec]')
title('Uscita y(t)')
legend('Senza filtro di anticipo','Con filtro di anticipo')

figure(2)
plot(u.Time,[u.Data uf.Data],'LineWidth',2),grid
xlabel('Tempo [sec]')
title('Ingresso u(t)')
legend('Senza filtro di anticipo','Con filtro di anticipo')
xlim([0 2])

%% 
tau=0.01
sim('AnticipoSetpoint2020')
yf2=yf;
uf2=uf;

tau=0.005
sim('AnticipoSetpoint2020')
yf3=yf;
uf3=uf;
%%
figure(3)
plot(yf.Time,[yf1.Data yf2.Data yf3.Data],'LineWidth',2),grid
xlabel('Tempo [sec]')
title('Uscita y(t)')
legend('$\tau=0.05$','$\tau=0.01$','$\tau=0.005$','interpreter','latex')
xlim([0 0.3])

figure(4)
plot(yf.Time,[uf1.Data uf2.Data uf3.Data],'LineWidth',2),grid
xlabel('Tempo [sec]')
title('Ingresso u(t)')
legend('$\tau=0.05$','$\tau=0.01$','$\tau=0.005$','interpreter','latex')
xlim([0 0.1])


 