clc
clear 
close all

s = tf('s');
G = (5000)/((s+1)*(s+10)*(s+100))
G = zpk(G)
G.DisplayFormat = 'Frequency'

kg = 5
kd = 6
kh = 1/kd

e_ramp = 0.5
kc = (kd^2)/(e_ramp*kg)
% %SISTEMA TIPO 0 
% 
Mr_dB = 1
Mr = 10^(Mr_dB/20)
fm = (2.3-Mr)/1.25
fm_deg = rad2deg(fm)
% 
% Ts = 0.2
% Bw = 3/Ts
% 
% wc = 10 %7 --- 12
% C = kc/s
% L = C * G * kh
% [m,f] = bode(L,wc)
% 
% my_margin = f +180
% 
% epsilon = 2
% dfm = fm_deg + epsilon - my_margin
% 
% dfm = dfm/2
% 
% alpha = (1-sind(dfm))/(1+sind(dfm))
% tau = 1/(sqrt(alpha)*wc)
% Ca = (1+tau*s)/(1+alpha*tau*s)
% 
% L1 = Ca*Ca*L
% [m,f]=bode(L1,wc)
% my_margin = f + 180
% 
% W = feedback(L1,1)
% bode(W)
% figure(2)
% step(W)
C = (kc*(s+0.01))/s
L = C*G*kh
%margin(L)
W = feedback(L,1)
bode(W)