Professional Documents
Culture Documents
Facultad: Ingeniera
Escuela: Electrnica
Asignatura: Control Digital
Contenidos
Funciones de transferencia
Ganancia polos y ceros
Fracciones parciales
Respuesta en el tiempo
Modelado en lazo abierto y lazo cerrado
La transformada y antitransformada Z
Grficas de flujo de seal
Objetivos Especficos
Material y Equipo
Introduccin Terica
Una caracterstica notable de los nmeros en MATLAB es que no hay distincin entre reales,
complejos, enteros, de precisin sencilla y de doble precisin. En MATLAB, todos estos
nmeros estn conectados continuamente, como debe ser. Esto significa que en MATLAB
cualquier variable puede contener nmeros de cualquier tipo sin una declaracin especial
durante la programacin, con lo cual esta ltima se hace ms rpida y productiva. En Fortran
se requiere una subrutina distinta para cada variable sencilla o doble, real o compleja, o
entera, mientras que en MATLAB no hay necesidad de separarlas.
Procedimiento
Parte I. Tutorial.
Funciones de transferencia:
La sintaxis es: SYS = TF(NUM,DEN,Ts)
Se desea crear la siguiente funcin de transferencia de un sistema SISO en MATLAB:
..
= , con un tiempo de muestreo de 1s.
..
Para crearla se tiene que escribir lo siguiente:
>> H1=tf([0,-3.4,1.5],[1,-1.6,0.8],1)
Control Digital, Gua 2 3
Transfer function:
-3.4 z + 1.5
-----------------
z^2 - 1.6 z + 0.8
Sampling time: 1
3 + 2
+ 2 + 5
=
3 + 5 + 2 + 1
>> H=tf({[3,2];[1,0,2,5]},{[3,5,2,1];[3,5,2,1]},1)
Transfer function from input to output...
3 z + 2
#1: -----------------------
3 z^3 + 5 z^2 + 2 z + 1
z^3 + 2 z + 5
#2 -----------------------
3 z^3 + 5 z^2 + 2 z + 1
Sampling time: 1
Ganancia-Polos-Ceros
3 + 8
=
+ 4 + 5
>> Z=[-8];
>> P=[-4 -5];
>> K=3;
>> Ts=1;
4 Control Digital, Gua 2
>> H2=zpk(Z,P,K,Ts)
Zero/pole/gain:
3 (s+8)
-----------
(s+4) (s+5)
Por ejemplo se desea representar el siguiente sistema de dos salidas y una entrada:
= , = , Ts = 1s.
>> H = ZPK({[];[2 3]},{1;[0 -1]},[-5;1],1)
Zero/pole/gain from input to output...
-5
#1: -----
(z-1)
(z-2) (z-3)
#2: -----------
z (z+1)
Sampling time: 1
Fracciones Parciales
Para encontrar la expansin en fracciones parciales o viceversa se puede utilizar el comando
residue:
3.4 z + 1.5
H (z) = 2
z 1.6 z + 0.8
R =
-1.7000 + 1.5250i
-1.7000 - 1.5250i
Control Digital, Gua 2 5
P =
0.8000 + 0.4000i
0.8000 - 0.4000i
K =
[]
La solucin es:
r (1) r ( 2) -1.7000 + 1.5250j -1.7000 - 1.5250j
H (z) = + = +
z p (1) z p ( 2) z 0.8000 - 0.4000j z 0.8000 + 0.4000j
>> [n,d]=residue(R,P,K)
n =
-3.4000 1.5000
d =
Conversin de modelos
Funciones de Anlisis:
Respuesta en el tiempo.
3.4 z + 1.5
H (z) = 2
, Ts=1s
z 1.6 z + 0.8
6 Control Digital, Gua 2
En MATLAB se escribira lo siguiente:
>> H1=tf([0,-3.4,1.5],[1,-1.6,0.8],1);
>> impulse(H1)
Esto da una salida usando un retenedor de orden cero, si queremos la salida nicamente con
las muestras podemos usar
>> stem(impulse(H1))
Encuentre la respuesta en el tiempo del sistema anterior ante una entrada impulso unitario en
el intervalo de 0 a 15 segundos.
>> impulse(H1,15)
Encuentre la respuesta del sistema anterior ante una entrada escaln unitario y adala en la
misma grfica de la respuesta al impulso en el intervalo de 0 a 15 segundos:
>> [Yi,T]=impulse(H1,15);
>> [Ye,T]=step(H1,15);
>> stem(T,Yi,'r')
>> hold on
>> stem(T,Ye,'b')
>> hold off
Se pueden usar las funciones de MATLAB para encontrar las respuestas en frecuencia
similarmente a como se hace con la del tiempo con los comandos, bode, bodemag, nichols,
nyquist, rlocus.
Encuentre los factores de amortiguamiento y frecuencias naturales del siguiente sistema ante
una entrada escaln unitario:
5
H (z) = 2
, Ts = 1s
z + 0.4 z + 1000
La solucin sera:
Control Digital, Gua 2 7
z=tf('z',1); H=5/(z^2+0.4*z+1000)*z/(z-1)
Transfer function:
5 z
----------------------
z^3 + 0.4 z^2 + 1000 z
Sampling time: 1
>> damp(H)
z+3 4(z+2)
G1= G2=
(z+1)(z+4) (z2+4z+5)
Solucin:
Zero/pole/gain:
4 (z+2) (z+3)
---------------------------
(z+4) (z+1) (z^2 + 4z + 5)
Sampling time: 1
>> tf(G)
8 Control Digital, Gua 2
Transfer function:
4 z^2 + 20 z + 24
--------------------------------
z^4 + 9 z^3 + 29 z^2 + 41 z + 20
Sampling time: 1
Solucin:
>> H=1;
>> Gcl=feedback(G,H,-1)
Zero/pole/gain:
4 (z+3) (z+2)
------------------------------------------
(z+3.59) (z+1.673) (z^2 + 3.737z + 7.326)
Sampling time: 1
>> tf(Gcl)
Transfer function:
4 z^2 + 20 z + 24
--------------------------------
z^4 + 9 z^3 + 33 z^2 + 61 z + 44
Sampling time: 1
>> Gsum=parallel(G1,G2)
Zero/pole/gain:
>> tf(Gsum)
Transfer function:
5 z^3 + 35 z^2 + 73 z + 47
--------------------------------
z^4 + 9 z^3 + 29 z^2 + 41 z + 20
Sampling time: 1
Control Digital, Gua 2 9
La transformada y Antitransformada Z
10 z + 5
G (z) = 2
z 1.2 z + 0.2
Solucin:
>> syms z t
>> G=(10*z+5)/(z^2-1.2*z+0.2);
>> g=iztrans(G*z/(z-1)^2);
>> pretty(g)
Ejemplo:
>> syms a n z
>> g=n*sin(a*n)+exp(-n*t);
>> G=ztrans(g);
>> pretty(G)
2
z sin(a) (z - 1) z
---------------------- + ---------------------
2 2 / z \
(z - 2 z cos(a) + 1) exp(-t) |------- - 1|
\exp(-t) /
10 Control Digital, Gua 2
Programa en MATLAB que resuelve las grficas de flujo de seales por medio de la regla
de Mason.
Este programa resuelve las grficas de flujo de seales para generar una ecuacin simblica
equivalente que relaciona el nodo de salida y el nodo de entrada. Por ejemplo:
1 s21 2
*------>------*------------.
| | |
| | |
s11 v ^ s22 v R2
| | |
| | |
*------<------*------------'
3 s12 4
Hay cuatro nodos 1,2,3 y 4 y hay cinco coeficientes S11,S21,S12,S22 y R2. Si colocamos el
nodo 1 como el nodo de entrada independiente y escogemos el nodo 3 como un nodo
dependiente obtenemos la siguiente simplificacin:
1
a ---> *
|
| R2
v b/a= s11+s21* -------- *s12
| 1-s22*R2
|
b <--- *
3
1 2
a ---> *------>------* ---> b
s21
b/a = --------
1-s22*R2
Este programa genera estas ecuaciones.
Especificando la red.
Se usa un archivo descriptor para especificar la topologa del diagrama de flujo. A cada nodo
se le asigna un nmero y cada rama se define como un nmero coeficiente. Cada rama se
define como una lnea en el archivo, descrita como sigue:
1 (1) s21 2
*------>------*------------.
| | |
| | |
(4) s11 v ^ (2) s22 v (5) R2
| | |
| | |
*------<------*------------'
3 (3) s12 4
podemos usar este archivo (donde los espacios en blanco son tabulaciones, pero cualquier
espacio en blanco es aceptable):
1 1 2 s21
2 4 2 s22
3 4 3 s12
4 1 3 s11
5 2 4 R2
El nombre del coeficiente puede ser cualquier expresin simblica vlida usada en maple. Si la
expresin tiene mltiples trminos, ellos deben encerrase entre parntesis. Por ejemplo:
(-D*z^(-1)) or (1+B)
Usando el programa
Una vez se ha hecho el archivo de la red, corra mason.m desde MATLAB. Se le preguntar
por el nombre del archivo de la red, y los nmeros de los nodos de Inicio y Final. Es importante
que las lneas en el archivo de red estn ordenadas de modo que los nmeros de los
coeficientes se incrementen a partir de 1. No use 0 como nmero de coeficiente o nodo.
Solucin:
1 1 2 1
2 2 3 G1
3 3 2 -H1
4 5 2 -H3
5 3 6 G5
6 3 4 G2
7 4 5 G3
8 5 4 -H2
9 5 6 G4
10 6 6 -H4
11 6 7 1
>> [y7,y1]=mason('ejemplo.red',
[y7,y1]=mason('ejemplo.red',1,7)
-- Network Info --
Net File : ejemplo.red
Start Node : 1
Stop Node : 7
- Order 2 Loops -
L21 : 2 3 7 8
L22 : 2 3 10
L23 : 2 6 7 4 10
L24 : 7 8 10
- Order 3 Loops -
L31 : 2 3 7 8 10
y7 =
1*G1*G5*1*(1-(G3*-H2)+0-0)+1*G1*G2*G3*G4*1*(1-0+0-0)
y1 =
1-(G1*-H1+G1*G2*G3*-H3+G3*-H2+-H4)+(G1*-H1*G3*-H2+G1*-H1*-H4+G1*G2*G3*-H3*-
H4+G3*-H2*-H4)-(G1*-H1*G3*-H2*-H4)
Luego obtenemos y 2 / y1 :
>> [y2,y1]=mason('ejemplo.red',1,2)
-- Network Info --
Net File : ejemplo.red
Start Node : 1
Stop Node : 2
- Order 1 Loops -
L11 : 2 3
L12 : 2 6 7 4
L13 : 7 8
L14 : 10
14 Control Digital, Gua 2
- Order 2 Loops -
L21 : 2 3 7 8
L22 : 2 3 10
L23 : 2 6 7 4 10
L24 : 7 8 10
- Order 3 Loops -
L31 : 2 3 7 8 10
y2 =
1*(1-(G3*-H2+-H4)+(G3*-H2*-H4)-0)
y1 =
1-(G1*-H1+G1*G2*G3*-H3+G3*-H2+-H4)+(G1*-H1*G3*-H2+G1*-H1*-H4+G1*G2*G3*-H3*-
H4+G3*-H2*-H4)-(G1*-H1*G3*-H2*-H4)
>> syms G1 G2 G3 G4 G5 H1 H2 H3 H4
>> y7=sym(1*G1*G5*1*(1-(G3*-H2)+0-0)+1*G1*G2*G3*G4*1*(1-0+0-0))
y7 =
G1*G5*(1+G3*H2)+G1*G2*G3*G4
>> y2=sym(1*(1-(G3*-H2+-H4)+(G3*-H2*-H4)-0))
y2 =
1+G3*H2+H4+G3*H2*H4
>> R=y7/y2;
>> pretty(R)
G1 G5 (1 + G3 H2) + G1 G2 G3 G4
-------------------------------
1 + G3 H2 + H4 + G3 H2 H4
Control Digital, Gua 2 15
Anlisis de Resultados
Al resolver los problemas que siguen, siempre prepare sus respuestas con MATLAB.
H2
-
U + + G2
Y
+ G1 + G3
- -
H1
H3
C (s )
4. Encuentre T (s ) = para el sistema representado por el grfico de flujo siguiente:
R (s )
G7 G8
R(s) C(s)
G1 G2 G3 G4 G5 G6
1
-H2
-H4
-H1
-H3
16 Control Digital, Gua 2
5. Encuentre C (s ) y C ( z ) para el sistema de control digital representado por el diagrama de bloques
siguiente:
R(s) C(s)
G1(s) G2(s)
+ T + T
- -
C*(s)
H1(s)
T
C*(s)
H2(s)
T
Investigacin Complementaria
Bibliografa
Hoja de cotejo: 2
EVALUACIO
% 1-4 5- 8-10
ota
7
CO
OCIMIE
TO 25% Conocimiento Conocimiento Conocimiento
deficiente y explicacin completo y
de los incompleta de explicacin
fundamentos los clara de los
tericos fundamento fundamentos
s tericos tericos
APLICACI
DEL 60% Reporte Reporte Reporte
CO
OCIMIE
TO Incompleto del parcialmente completo con
anlisis de completo del el correcto
resultados anlisis de anlisis de
(40%) resultados los resultados
proporcional e
Investigacin
a las partes investigacin
complementaria
realizadas complementaria
(20%).
TOTAL 100%