Why does robstab return stable perturbation?

1 visualización (últimos 30 días)
jdg
jdg el 28 de Jul. de 2017
Comentada: jdg el 11 de Ag. de 2017
With specific forms of parametric uncertainty, I am getting incorrect results when analyzing the stability using robstab in the Robust Control Toolbox. The destabilizing perturbation returned does not result in an unstable system. Additionally, the identified bounds are incorrect.
It seems the issue is limited to situations in which the ureal parameter does not have equal +/- percentages. An example is shown below of a 1st-order low-pass filter with uncertain time constant. This system should be unstable for negative tau, and stable for positive tau.
% Example code of incorrect robstab results
tau = ureal('tau',1,'Range',[0.75 1.5]);
disp(tau);
G = tf(1,[tau 1]);
[STABMARG, WCU, INFO] = robstab(G,opts);
The resulting upper bound is 300% (I think it should be 400%) and I'm told tau = 1 is destabilizing (which is not).

Respuesta aceptada

Abhi Sundararaman
Abhi Sundararaman el 2 de Ag. de 2017
I agree that the values do not seem correct. In fact, strangely if you use the range [0.55, 1.5] with a nominal value of 1, then WCU will display the correct destabilizing value of tau (tau = 0). Furthermore, if you use a nominal value that is closer to the upper bound than the lower bound, then tau gets approximated to some value close to zero. I'm not sure why there is such an inconsistency in this function.
The issue seems to occur when the ureal parameter has an asymmetric range that is asymmetric past a certain degree, and occurs more often when the nominal value is closer to the lower bound than the upper bound.
I have notified the developers of this issue. Unfortunately, I suppose the only workaround for now is to use a symmetric range.

Más respuestas (0)

Categorías

Más información sobre Robustness and Worst-Case Analysis en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by