I was given a step response graph, and from it, obtained a transfer function. The loop includes a plant and a PID controller, and I know the PID values that produced the output graph. I verified that the transfer function I found was correct by applying a step input, and the output graph matches the one I saw.
My code looks like this:
T = tf([.00248,-.00011,.000163],[1,.01,.00041])%plant and controller(P*C) with feedback
C = pid(2.5,0.5,0.1)%PID values
%T = feedback(C*plant,1)%need to find plant
step(T)
From this, I need to find the plant transfer function so that i can use it to find the optimal PID values instead of the ones it is using now.
If you look at the control loop with unity feedback:
You have for the closed-loop transfer function (that's your
T):If you reverse the relationship, you can express
Pas a function ofCandT:In MATLAB, I would combine this with the use of the function
minrealto obtain a minimum realisation of the transfer function: