%% Convert 2-DOF PID controller to 1-DOF
% Design a 2-DOF PID controller for a plant.

G = tf(1,[1 0.5 0.1]);
C2 = pidtune(G,'pidf2',1.5)

%
% Convert the controller to one degree of freedom.

C1 = make1DOF(C2)

% The new controller has the same PID gains and filter constant. However, make1DOF removes the terms involving the setpoint weights b and c. Therefore, in a closed loop with the plant G, the 2-DOF controller C2 yields a different closed-loop response from C1.
%

CM = tf(C2);
T2 = CM(1)*feedback(G,-CM(2));
T1 = feedback(G*C1,1);
stepplot(T2,T1,'r--')

% Copyright 2015 The MathWorks, Inc.