Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
5.3.0 - English

Change language to:
Français - 日本語 - Português

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

Scilab manual >> CACSD > p_margin

p_margin

phase margin and associated crossover frequency

Calling Sequence

[phm,fr] = p_margin(h)
phm=p_margin(h)

Arguments

h

a SISO linear system (see :syslin).

phm

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

fr

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

Description

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:

h(s)*h(-s)=1

for the continuous time case.

h(z)*h(1/z)=1

for the discrete time case.

Examples

//continuous case
h=syslin('c',-1+%s,3+2*%s+%s^2)
[p,fr]=p_margin(h)  
[p,fr]=p_margin(h+0.7)  
show_margins(h+0.7,'nyquist')

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

Authors

Serge Steer, INRIA

<< obsvss CACSD parrot >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Jan 26 16:23:41 CET 2011