Re: Does someone know how to analysis stability of closed lo
I am still not sure why this is a problem in your case. I am not trying to make this a trivial matter. It is trivial when the problem is simply an example in a text book or a homework problem; most of the time that is. If you are looking at a complex real life problem, some problems may arrise.
It may help if you describe the problem in more detail... meanwhile, here is another advice.
If you are dealing with a large order system, transfer function representation is a bad idea to use for checking stability. For instance, say you have a 6th order transfer function with controllers in the feedforward and feedback paths, trying to close the loop numerically, say using Matlab, will most probably give you wrong asnswer. The numerical errors introduced in multiplying polynomials will get you.
Take for instance the following example...
p=[1 1];
for i = 1:49,
p=conv(p,[1 1]);
end;
roots(p)
save this code into an m-file in matlab. Let me explain. The polynomial is 50th order. This is simply obtained by asking Matlab to multiply (conv) 50 times (s+1)
factors. The produced polynomial is of order fifty. Clearly, the roots of this polynomial should be s = -1 repeated 50 times.... However, Matlab reports fifty *different/distinct* roots, none of them is -1!!!!
This is the numerical problem that Matlab has when dealing with polynomial multiplication. Hence, you should never attempt to close loops numerically using polynomial tools in Matlab. Instead, you must represent all the transfer functions involved in the loop description into state-space and do the stability analysis there.
Hope this helps, I can be of more help if you describe the problem in a bit more details.
Dr. Salah Zenieh
Dynamics and Control
Added after 1 minutes:
I am still not sure why this is a problem in your case. I am not trying to make this a trivial matter. It is trivial when the problem is simply an example in a text book or a homework problem; most of the time that is. If you are looking at a complex real life problem, some problems may arrise.
It may help if you describe the problem in more detail... meanwhile, here is another advice.
If you are dealing with a large order system, transfer function representation is a bad idea to use for checking stability. For instance, say you have a 6th order transfer function with controllers in the feedforward and feedback paths, trying to close the loop numerically, say using Matlab, will most probably give you wrong asnswer. The numerical errors introduced in multiplying polynomials will get you.
Take for instance the following example...
p=[1 1];
for i = 1:49,
p=conv(p,[1 1]);
end;
roots(p)
save this code into an m-file in matlab. Let me explain. The polynomial is 50th order. This is simply obtained by asking Matlab to multiply (conv) 50 times (s+1)
factors. The produced polynomial is of order fifty. Clearly, the roots of this polynomial should be s = -1 repeated 50 times.... However, Matlab reports fifty *different/distinct* roots, none of them is -1!!!!
This is the numerical problem that Matlab has when dealing with polynomial multiplication. Hence, you should never attempt to close loops numerically using polynomial tools in Matlab. Instead, you must represent all the transfer functions involved in the loop description into state-space and do the stability analysis there.
Hope this helps, I can be of more help if you describe the problem in a bit more details.
Dr. Salah Zenieh
Dynamics and Control