40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  SUS Lab eLog  Not logged in ELOG logo
Message ID: 727     Entry time: Sun Sep 8 21:51:14 2013
Author: haixing 
Type: Misc 
Category: SUS 
Subject: issue of matlab function "margin()" with an unstable plant 

I used the matlab function margin() to plot the phase and gain margins for the open-loop transfer function for maglev. It seems to give an incorrect answer. Here is what I got:

margins.png

As the gain margin is negative, this indicates that the system (plant + controller) is unstable. However, this is not the case.

I used the matlab function nyquist() to make a Nyquist plot, and this is what I got:

nyquist.png
The contour circles -1 counter-clock wise once, and this satisfies the Nyquist stability criterion, as the plant (in my case the plate can be modeled as a mechanical object attached to a negative spring) has one pole on the right-half complex plane. Basically, my plant together with the controller in indeed stable, which is also the reality.

Therefore, this seems to indicate that nyquist(), instead of margin() is the right way to examine the stability in the case with an unstable plant in matlab.

ELOG V3.1.3-