Ejemplo 8-22 pag567 OGATA
Español
IMPORTANTE el calculo de margenes de fase y ganancia no funcionan bien en la version 5.0.3 de Scilab da el siguiente error:(!-error 27 Division by zero...), en la 4.1.2 si que funcionan. Este problema es debido a s en el denominador para resolverlo hay que hacer una aproximacion s=s+0.000000001 y ya funciona. El programa de este ejemplo lo hice en la 4.
Vamos a calcular los margenes de fase y ganancia del sistema con realimentacion unitaria cuando en lazo abierto tiene la siguiente funcion de transferencia:

solucion:
Los valores de la ganancia vendrian dados por la siguiente tabla:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Los valores de la ganancia en distintos puntos son:
| w | Ganancia |
| 0.1 | 12.04 |
| 1 | -7.95 |
|
|
-7.95 |
| 5 | -15.95 |
| 10 | -33.97 |
Los valores de la fase vendrian dados por:
fase de
![]()
Los valores de la fase en distintos puntos son:
| w | Fase |
| 0.1 | -98 |
| 1 | -68.83 |
|
|
-139.85 |
| 5 | -202.61 |
| 10 | -236.61 |
La frecuencia de cruce de ganancia sera entre
y
. Con lo que:
![]()
La frecuencia de cruce sera en
. Con lo que calculando la fase para esa frecuencia:
fase de
![]()
Con lo que el margen de fase es:
![]()
La frecuencia de cruce de fase sera la obtenida mediante esta formula:








![]()
![]()
![]()
De esta ultima ecuacion obtenemos
![]()
obtenemos un margen de ganancia de 12.08dB
Como los dos margenes el de fase y el de ganancia son positivos el sistema es estable.
Ahora lo vamos a calcular con el Scilab:
Programa en Scilab
s=%s/(2*%pi);
g=20*(s+1)/(s*(s+5)*(s^2+2*s+10));
gs=syslin('c',g)
[gg,wcp]=g_margin(gs)
[pg,wcg]=p_margin(gs)
margenfase=180+pg
Resultados:
wcp =
4.0130645
gg =
9.9292942
wcg =
0.4426366
pg =
- 76.342732
margenfase =
103.65727
Como se ve los valores cambian un poco pero es debido que la representacion que hicimos anteriormente es una aproximacion
- Inicie sesión o regístrese para comentar





























