Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語 - Русский

Please note that the recommended version of Scilab is 6.0.1. This page might be outdated.
See the recommended documentation of this function

Aide de Scilab >> CACSD (Computer Aided Control Systems Design) > p_margin


phase margin and associated crossover frequency

Calling Sequence

[phm,fr] = p_margin(h)



a SISO linear system (see :syslin).


a number, the phase margin in degree if it exists or an empty matrix.


a number, the corresponding frequency (in Hz) or an empty matrix.


Given a SISO linear system in continuous or discrete time, p_margin returns phm, the phase margin in degree of h and fr, the achieved corresponding frequency in Hz.

The phase margin is the values of the phase at frequency points where the nyquist plot of h crosses the unit circle. In other words the phase margin is the difference between the phase of the frequency response of h and -180° when the gain of h is 1.

The algorithm uses polynomial root finder to solve the equations:


for the continuous time case.


for the discrete time case.


//continuous case

//discrete case
h = syslin(0.1,0.04798*%z+0.0464,%z^2-1.81*%z+0.9048);//ok
[p ,f]=p_margin(h)

See Also

  • g_margin — gain margin and associated crossover frequency
  • show_margins — display gain and phase margin and associated crossover frequencies
  • repfreq — frequency response
  • black — Black-Nichols diagram of a linear dynamical system
  • bode — Bode plot
  • nicholschart — Nichols chart
  • nyquist — nyquist plot
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 13:54:32 CEST 2014