UNIVERSIDAD NACIONAL DE SAN AGUSTIN DE AREQUIPA FACULTAD DE INGENIERIA DE PRODUCCION Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA
CURSO: SISTEMAS DE CONTROL DIGITAL
INFORME FINAL DE LABORATORIO Nº 2
TEMA: USO DE LA TRANSFORMADA Z. CALCULO ANALITICO Y CON MATLAB
DOCENTE:
Ing Oscar Salazar Alarcon
Integrantes:
Luque Lopez, Gidel
CUI: 20031362
Palomino Velavela, Percy
CUI: 20081316
Horario:
Jueves 8:40 a 10:20 a.m.
Arequipa – Arequipa – Peru Peru 2017
LABORATORIO N°03
USO DE LA TRANSFORMADA “Z”. CÁLCULO ANALÍTICO Y CON MATLAB
1. Para la función Y(z), determinar los polos y ceros y ubicarlos dentro del plano z. Los teoremas de valor inicial y final aplicables en dicha función. ¿Por qué? qué? Hallar sus valores
0. 7 92 1 0.416+0.208
Cálculo analítico para hallar los polos:
Entonces:
0.416 410.208 0.416± 0. 2 0.416 ±0.812 2
En Matlab:
0.208+0.406 0.2080.406 1
z=tf('z' z=tf('z'); ); Yz=0.792*z^2/((z-1)*(z^2-0.416*z+0.208)) [ceros,polos,K]=zpkdata(Yz, 'v' 'v') ) [num,den]=tfdata(Yz, 'v' 'v'); ); zplane(num,den) title('Gráfica title('Gráfica de Polos y Ceros en el Plano Z' ) grid Yz = 0.792 z^2 --------------------------------z^3 - 1.416 z^2 + 0.624 z - 0.208 Sample time: unspecified Discrete-time transfer function.
ceros = 0 0
polos = 1.0000 + 0.0000i 0.2080 + 0.4059i 0.2080 - 0.4059i
K = 0.7920
Los teoremas del valor inicial y final si son aplicables en ésta función porque Y(z) es analítica fuera del radio 1, es decir que no existan polos fuera del circulo de radio 1. Entonces: o
Teorema del Valor Inicial
0 → lim 0. 7 92 0 → lim 1 0.416+0.208 0. 7 92 0 → lim 1.416 +0.6240.208 0 → lim 1.4160.7920.6/24 0.208 0 1 +
Dividiendo todo entre
o
Teorema del valor Final
∞ lim → 1 0. 7 92 ∞ lim → 1 1 0.416+0.208 0. 7 92 ∞ lim → 0.416+0.208 1
3. PARA LA FUNCIÓN TRANSFERENCIA H(z), HALLAR a. Estabilidad del sistema b. La transformada inversa z mediante el método matlab(comando filter) hasta k=20,graficar la secuencia(comando stem) c. La transformada inversa z mediante el comando “residue” de matlab y compara con lo obtenido en b d. La transformada inversa por calculo analítico (manual) Y comparar con lo obtenido en ayb e. La salida Y(z) y la salida temporal y(kT), graficarla para una entrada escalon unitario, verificando teorema del valor inicial y valor final use comandos stem ,filter,residue
.+. +. a).Estabilidad USANDO MATLAB z=tf('z'); Yz=(0.3678*z+0.2644)/(z^2-z+0.6322) [ceros,polos,K]=zpkdata(Yz, 'v') %---------para la grafica---------[num,den]=tfdata(Yz, 'v'); zplane(num,den) title('Gráfica de Polos y Ceros en el Plano Z' )
Transfer function: 0.3678 z + 0.2644 ----------------z^2 - z + 0.6322 Sampling time: unspecified ceros = -0.7189 polos = 0.5000 + 0.6182i 0.5000 - 0.6182i K = 0.3678
Es Analítica fuera del círculo de radio 1 por lo tanto el sistema es estable
b) La transformada inversa z mediante el método matlab (comando filter) hasta k=20,graficar la secuencia(comando stem) >>num=[0 0.3678 0.2644]; den=[1 -1 0.6322]; x_z=[1 zeros(1,20)] y_z=filter(num,den,x_z) k=0:1:20; stem(k,y_z); xlabel('k'); title('h(k)
para
k=0,1,2,...,20')
x_z = Columns 1 through 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 16 through 21 0 0 0 0 0 0 y_z = Columns 1 through 9 0 0.3678 0.6322 0.3997 0.0000 -0.2527 -0.2527 -0.0929 0.0668 Columns 10 through 18 0.1256 0.0833 0.0039 -0.0487 -0.0512 -0.0204 0.0120 0.0249 0.0173 Columns 19 through 21 0.0016 -0.0094 -0.0104
c) La transformada inversa z mediante el comando “residue” de matla b y compara con lo obtenido en “a” >> num= [0.3678 0.2644]; den=[1 -1 0.632]; [r, p, k] = residue(num,den) r= 0.1839 - 0.3627i 0.1839 + 0.3627i p= 0.5000 + 0.6181i 0.5000 - 0.6181i k= []
. + .+ . . . . . + . Multiplicamos por − − − . . .+. 1 . .− + 1 .+ .− Su transformada inversa es
. .. .−− +. + . .+ . >> k=1:20; x=(0.1839-0.3627i)*(0.5000-0.6181i).^(k-1)+ (0.1839+0.3627i)*(0.5000+0.6181i).^(k1) x= Columns 1 through 5 0.3678 -0.2645 -0.4969 -0.3298 -0.0157
Columns 6 through 10 0.1927 0.2027 0.0808 -0.0473 -0.0983 Columns 11 through 15 -0.0685 -0.0063 0.0370 0.0410 0.0176 Columns 16 through 20 -0.0083 -0.0194 -0.0142 -0.0019 0.0071
Se obtuvo los mismos valores de la parte b. d.-La transformada inversa por calculo analítico (manual) y comparar con lo obtenido en b y c.
.+. +.
−[] ℎ ; ( División Directa) Efectuando la división se obtiene:
0.3678− +0.6322− +0.3997− + 0− 0.2526− ⋯0.0104− Con esta método se obtuvo los valores h(k) de la secuencia de tiempo.
{0;0.3678;0.6322;0.3997;0;0.2526;0.2527;0.093;…………;0.0104}
h(k)=
e) La salida Y(z) y la salida temporal y(kT), graficarla para una entrada escalon unitario, verificando teorema del valor inicial y valor final use comandos stem ,filter,residue
------
X(z) entrada escalon
.+. +. +. . +..
clc num=[0.3678 0.2644 0] den=[1 -2 1.632 -0.632] Xz=[1 zeros(1,20)]; Yz=filter(num,den,Xz) n=0:1:20; stem(n,Yz,); xlabel('k') Yz = Columns 1 through 4 0.3678 1.0000 1.3998 Columns 5 through 8 1.1475 0.8949 0.8019 Columns 9 through 12 0.9939 1.0772 1.0813 Columns 13 through 16 0.9815 0.9611 0.9730 Columns 17 through 20 1.0151 1.0167 1.0074 Column 21 0.9926
1.4000 0.8685 1.0327 0.9978 0.9970
>> [r, p, k] = residue(num,den) r= 1.0003 -0.3163 - 0.2556i -0.3163 + 0.2556i p= 1.0000 0.5000 + 0.6181i 0.5000 - 0.6181i
k= []
0.2556i + 0.3163 + 0.2556i 1.00031 + 0.3163 . . .+ . Multiplicamos por − − 0.3163 0.2556i− − 1. 0 003 0. 3 163 + 0. 2 556i 1 − + 1+. .− + 1+.+ .− Su transformada inversa es
− +0.3163 1.00031− + 0.3163 0.2556i0.5000+ 0.6181i + 0.2556i 0.5000 0.6181i−
>> k=1:20; >> x=1.0003*(1).^(k-1)+ (-0.3163-0.2556i)*(0.5000+0.6181i).^(k-1)+ (-0.3163+0.2556i)*(0.50000.6181i).^(k-1)
x= Columns 1 through 4 0.3677 1.0000 1.3998 1.4000 Columns 5 through 8 1.1475 0.8949 0.8018 0.8685 Columns 9 through 12 0.9939 1.0772 1.0813 1.0326 Columns 13 through 16 0.9815 0.9610 0.9729 0.9978 Columns 17 through 20 1.0151 1.0167 1.0073 0.9970
5. Ecuación Diferencia del SD:
+ + a.
La SP: h(k) y graficarla, usando calculo analítico y Matlab.
b. Hallar la función transferencia H(z) y su transformada inversa z. usando residue. c.
Hallar la respuesta del sistema para una entrada escalón unitario analíticamente y con Matlab
Solución
+ + [ ] − −+ − 2 − − ( − + −)− + −2 +3 −2 209 + 201 Simplificamos − +3 2 0.45+0.05 Aplicamos la propiedad:
+3
y nos queda:
En Matlab nun=[2 -1 3]; den=[1 -0.45 0.05]; [r p k]=residue(num,den)
7.- EL SISTEMA DISCRETO TIENE COMO ENTRADA U(K) Y COMO SALIDA X(K) u(0)=1.5 ;u(1)=0.5 u(2)=-0.5 ;u(k)=0 : k= 3, 4, 5, … Ecuación en diferencia:
+ +.+ +. + +. … : ≤ : < Hallar: a.
La función transferencia H(z) analíticamente y por MatLab. Aplicando la transformada Z
[ 0 1 +0.5[ 0] +0.2] [ 0]+0.3 2 Sustituyendo condiciones iniciales: Como no se conoce x(1), se debe encontrar reemplazando k por -1 en la ecuación (1),
1+2 + 0.51+1 + 0.21 1+1 + 0.31, 1 + 0.5 0 + 0.2 1 0 + 0.3 1, 0 0,1 0,0 1.5,1 0,
entonces,
de las condiciones iniciales
reemplazando se tiene que,
1 1.5 encontrado x(1) se sustituyen condiciones iniciales en (2),
[ – 1.5 ] + 0.5[ ] + 0.2 [ 1.5] + 0.3 2 Despejando X(z):
+0.3 +0.5+0.2
=− 0 +1− + 2− + ⋯+ 1.5 + 0.5− 0.5−
+ 0.5 0.5 +0.31.5 +0.5+0.2 + 0.95 0.3 5 0.1 5 1. 5 +0.5 +0.2
b. La salida x(k), para la entrada u(k), en forma analítica y por Matlab.
%Metodo manual x(1)=0; x(2)=1.5; x(3)=0.2; x(4)=-0.75; N=10; for k=3:N-1 x(k+2)=-0.5*x(k+1)-0.2*x(k) end n=0:1:N; subplot(2,1,2); stem(n,x,'r'); title('Metodo manual');
%Metodo Matlab num=[0 1.5 0.95 -0.35 -0.15]; den=[1 0.5 0.2 0 0]; n=0:1:N; x=[1 zeros(1,N)]; y=filter(num,den,x) subplot(2,1,1); stem(n,y,'b'); title('Metodo Matlab');
Metodo Matlab 2
1
0
-1 0
1
2
3
4
5
6
7
8
9
10
7
8
9
10
Metodo manual 2
1
0
-1 0
1
2
3
4
5
6
9.- USAR EL M´ETODO DE LA DIVISION DIRECTA PARA OBTENER LA TRANSFORMADA Z INVERSA. ¿ EL SISTEMA ES ESTABLE?. ¿POR QUÉ? MOSTRAR EL DIAGRAMA DE POLOS Y CEROS EN EL PLANO Z. SI EL SISTEMA ES INESTABLE, IMPLEMENTAR LA MODIFICACIÓN NECESARIA PARA QUE DEJE DE SERLO Y GRAFICAR LA SALIDA PARA LA ENTRADA ESCALON UNITARIO.
−1 − − 1 − − − 1+2 − + −
Primero, expreso X(z) en polinomios de
Luego, efectuando la division:
− + − −− −− 1+2 2 − −− − 3− + 5− 7− + 9− 3− − +3 + 6− + 3−− +5− + 3 − 5 10− 5−− 7 5 Comparando directamente x(0) = 0 x(1) = 1 x(2) = 0
∑ −
, tenemos:
x(3) = −3 x(4) = 0 x(5) = 5 x(6) = 0 x(7) = −7 x(8) = 0 x(9) = 9 Como vemos, la secuencia x(n) es alternadamente creciente; por lo tanto, el sistema es inestable.
Graficamos los polos y ceros de X (z) mediante la siguiente secuencia de comandos: num=[0 1 0 -1 0]; den=[1 0 2 0 1]; zplane(num,den);
2
1 0.8 0.6 0.4 tr
0.2 yr
0
P
a a in g a mI
-0.2 -0.4 -0.6 -0.8 2
-1 -1
-0.5
0
0.5
1
Real Part
Graficamos el diagrama de polos y ceros y podemos observar que los polos están sobre el circulo unitario y es una condición suficiente para que el sistema sea inestable
Para que el sistema sea estable multiplicamos el numerador y el denominador por :
− − 1+2− + − ∗ 1 + 1 1 1 − − + +− Luego:
− + 0 ⇨
Lo que se cumple por la condición de estabilidad:
| | < 1 Del cual resulta de la condición de estabilidad:
>1 De nuestra condición de estabilidad de “a” reemplazamos valores negativos diferentes a “-1”, por el cual resulta que los valores son menores a 1 del cual decimos resulta que cumplen con la condición de estabilidad y por el cual llegamos a la siguiente conclusión de que:
<1 En el plano de los complejos para la estabilidad, se debe cumplir que el módulo del número complejo debe estar dentro del rango hallado anteriormente:
2+3 || |2+3| 2 + 3 √ 1 33.60>1 Se encuentra dentro del rango; lo mismo para complejos negativos.
+1 +2 + 1 4 16 +8 + 1 Ahora para la estabilidad comprobamos con dos entradas Para la entrada: Pulso >> num=[0 1 0 -1 0]; >> den=[16 0 8 0 1]; >> xz=[1 zeros(1,100)]; >> yz=filter(num,den,xz); >> n=0:1:100; >> stem(n,yz)
Pero para que sea mas claro reducimos los valores de n=50 >> num=[0 1 0 -1 0]; >> den=[16 0 8 0 1]; >> xz=[1 zeros(1,50)]; >> yz=filter(num,den,xz); >> n=0:1:50; >> stem(n,yz)
Para la entrada: Escalón Unitario >> num=[0 1 0 -1 0]; >> den=[16 0 8 0 1]; >> xz=[1 ones(1,100)]; >> yz=filter(num,den,xz); >> n=0:1:100; >> stem(n,yz
Ahora con la misma entrada escalon unitario para n=50 >> num=[0 1 0 -1 0]; >> den=[16 0 8 0 1]; >> xz=[1 ones(1,50)]; >> yz=filter(num,den,xz); >> n=0:1:50; >> stem(n,yz)
0.08
0.06
0.04
0.02
0
-0.02
-0.04 0
5
10
15
20
25
30
35
40
45
50