Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: English - Français - 日本語

See the recommended documentation of this function

Manual Scilab >> 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