informe 1 control digital
DESCRIPTION
Laboratorio de control digital UFPSTRANSCRIPT
-
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA
CONTROL DIGITAL Prctica de Laboratorio N 1. La transformada Z como herramienta para la simplificacin del anlisis de sistemas de control en tiempo
discreto
LAB1_CD
Versin: 1.0
Pgina: 1 de 6
1
INTRODUCCION
En el presente informe se dar a conocer la
solucin de las diferentes funciones bsicas
de la transformada Z, la transformada Z y
una solucin de una ecuacin en diferencia,
para ello se utilizara el software Matlab, para
ser especficos utilizaremos una herramienta
de este programa el cual es GUIDE, debido a
su buena interfaz, lo cual permite una
comunicacin dinmica con el usuario, mejor
interaccin por parte de este y una
presentacin ms esttica de lo que se quiere
dar a conocer.
0. IDENTIFICACION DE GRUPO
A1_CD
1. OBJETIVOS
1.1. Utilizar la herramienta computacional MATLAB para comprobar el concepto
de la transformada Z y su utilidad para
simplificar el anlisis de sistemas de
control en tiempo discreto, realizando
los clculos respectivos de cada uno de
ellos.
1.2. Comprobar los resultados de los clculos de forma analtica y
mediante la herramienta computacional
de la Transformada Z y su respectiva
ROC.
1.3. Verificar los resultados de los clculos de forma analtica y
mediante la herramienta computacional
de la Transformada Z inversa.
1.4. Aplicar el mtodo de la transformada Z para la solucin de ecuaciones en
diferencias utilizando la herramienta
computacional MATLAB.
1.5. Integrar los resultados en una interfaz grfica de usuario utilizando la
herramienta GUIDE de MATLAB.
1.6. Desarrollar una interfaz en GUIDE que permita la fcil interaccin del usuario
en el desarrollo de las diferentes
transformadas Z.
2. ANLISIS DE REQUERIMIENTOS
Para el desarrollo de la presente prctica se
requiere en primer lugar entender el concepto
de la transformada Z, como por ejemplo las
funciones elementales, la transformada
inversa y la solucin de ecuaciones en
diferencia empleando este mtodo, adems
de ello se requiere utilizar un PC que tenga
instalado MATLAB para la realizacin de
esta prctica, ms especficamente la
aplicacin GUIDE, el cual nos permitir
resolver las diferentes transformadas Z
obteniendo su solucin y en algunas sus
grficas.
3. RESULTADOS
Los resultados obtenidos en esta prctica son
los siguientes:
Lo primero que se realizo fue la creacin de
la interfaz del usuario, lo cual se cre una
ventana principal que se muestra abajo.
-
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA
CONTROL DIGITAL Prctica de Laboratorio N 1. La transformada Z como herramienta para la simplificacin del anlisis de sistemas de control en tiempo
discreto
LAB1_CD
Versin: 1.0
Pgina: 2 de 6
2
Fig. 1 Interfaz de entrada realizada en GUIDE
Fuente: Autor
Para el desarrollo de esta interfaz lo que se
hiso fue primero adicionar seis Push Button,
los cuales cumple funciones especficas, los
tres ms grandes me permitirn abrir una
nueva GUIDE, el cdigo utilizado es el
siguiente:
close lab1 transformadaz
Con esto podemos abrir un nuevo GUIDE
(primero hay que crear ese GUIDE con el
mismo nombre) y podemos cerrar el que
actualmente estamos trabajando, el comando
es similar para los tres.
Para el primer botn inferior a mano
izquierda se utiliz el comando msgbox para
poder visualizar los nombres de los autores,
el segundo botn es el de ayuda, para
desplegar el mensaje de ayuda se emple el
siguiente comando helpdlg y por ultimo
para el botn de salir de utilizo el siguiente
comando:
opc=questdlg('Desea salir del
programa?','SALIR','Si','No','No'); if strcmp(opc,'No') return; else
if strcmp(opc,'Si') clear,clc,close all end end
El primer comando permite crear la pregunta
y en el parntesis se coloca el contenido de la
pregunta, se coloca de ultimo NO porque la
ventana al ejecutarse mostrara esa opcin
como preferencia, despus se realiza la
respectiva programacin para al darle NO
mantenga la ventana normal y al darle SI
cierre la aplicacin.
Por ltimo se le adiciono una imagen de
fondo, lo cual se emple el siguiente
comando:
axes('Units','Normalized','Position'
,[0 0 1 1]); [x,map]=imread('portada.jpg','jpg'); image(x),colormap(map),axis off,hold
on
El primer comando permite la ubicacin de la
imagen, incluye la imagen y la coloca con su
respectivo cdigo de colores; el segundo es
la ubicacin de la imagen, este debe estar en
el lugar donde estamos guardando los
archivos que estamos trabajando y el ultimo
es un comando necesario para poder ejecutar
la imagen.
Fig. 2 Interfaz de las transformadas Z bsicas
Fuente: Autor
-
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA
CONTROL DIGITAL Prctica de Laboratorio N 1. La transformada Z como herramienta para la simplificacin del anlisis de sistemas de control en tiempo
discreto
LAB1_CD
Versin: 1.0
Pgina: 3 de 6
3
En esta ventana se muestra el resultado de las
diferentes transformadas Z bsicas con su
regin de convergencia, estas opciones se
mostraran por medio de un Pop-up men,
debido a su facilidad de manejo, para ello en
la opcin String se coloca el nombre de lo
que queremos que nos despliegue esta
opcin, hay que darle enter para que defina
cada comando, el inicio de la programacin
de este debe ser el siguiente:
function popupmenu1_Callback
(hObject, eventdata, handles)
axes(handles.axes1); cla; popup_sel_index =
get(handles.popupmenu1, 'Value'); switch popup_sel_index case 1
Las dos primeras lneas son estndar del Pop-
up men, la tercera es para definir el lugar a
graficar, la quinta es para indicar un valor
que se le asigna a una variable, la sexta es
para llamar a esa variable y la ultima es para
empezar a definir las opciones de nuestro
Pop-up men, en nuestro caso son 10.
Por ejemplo, mostraremos el cdigo utilizado
para realizar la funcin escaln unitario
discreto, el cual es el siguiente: case 1 syms n; x=1^n; Xz=ztrans(x); Xn=evalc('pretty(Xz)'); set(handles.text1,'string',Xn); R=3; z=cplxgrid(28)*R; X=1./(1-z.^(-1)); X(1,:)=zeros(1,57); axes(handles.axes1); surf(real(z),imag(z),abs(X))
La segunda lnea es para definir la variable n,
en la siguiente planteamos la ecuacin y
posteriormente se calcula su respectiva
transformada Z, el colmando evalc es para
expresarlo en forma de caracteres y
convertirlos en string, la siguiente lnea es
para mostrar el valor de Xn en el texto, la
siguiente nos define el rango de la grfica, la
siguiente que es la variable z genera una
matriz de valores polares complejos en z y
esos son los valores que van a evaluar en X,
la cual tendr 28 * 57, porque es de n+1 filas
x 2*n + 1 columnas, el cual en este caso
n=28. Genera la malla de la grfica con esos
parmetros y uno debe llenarlo, la siguiente
lnea el punto se coloca para que lo haga
elemento a elemento y volverlo vector, la
siguiente lnea antes del igual es que se van a
tomar todos los elementos y despus del
igual genera una matriz de ceros que tiene 1
fila por la cantidad de columnas requeridas,
esto se saca de la formula mencionada
anteriormente, la siguiente lnea es para
graficar lo obtenido la cual debe ir el lugar a
graficar y la ultima es para graficar en 3D.
Fig. 3 Grafica funcin escaln unitario
discreto con su respectiva ecuacin.
-
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA
CONTROL DIGITAL Prctica de Laboratorio N 1. La transformada Z como herramienta para la simplificacin del anlisis de sistemas de control en tiempo
discreto
LAB1_CD
Versin: 1.0
Pgina: 4 de 6
4
Fuente: Autor
Pero en algunos se requiere adicionar unos
valores, para ello se debe adicionar dos
nuevos comandos en nuestra GUIDE, uno de
ellos es el Static text, esta opcin nos permite
mostrar resultados, pero para este caso lo
utilizaremos para nombrar nuestras variables
las cuales sern a y w, para este no es
necesario definirlo en la programacin; el
otro ser el Edit text, para poder insertar el
valor de nuestras variables, este se debe
definir en la programacin de la siguiente
manera:
Val=get(hObject, 'string'); NewVal=str2double(Val); handles.edit4=NewVal; guidata(hObject,handles);
La primera lnea almacena valor ingresado, la
segunda transforma a formato doubl, la
tercera almacena en identificador y la ltima
salva los datos a la aplicacin. (1)
Se mostrara el cdigo empleado para realizar
la funcin coseno para mostrar cmo se
realiza una grfica en 2D junto con el bucle
para insertar un valor.
case 9 syms n z; w=handles.edit4; x=cos(w*n); Xz=ztrans(x); Xn=evalc('pretty(Xz)');
set(handles.text1,'string',Xn); z=tf('z'); Xw=(z-cos(w))/(z-2*cos(w)+(z^(-1))); axes(handles.axes1); zplane(pole(Xw),zero(Xw)); if isnan(w) errordlg('El valor debe ser
numrico','ERROR') set(handles.uno,'String',0); w=0;
Esta programacin tiene de adicional la
sentencia if, que es para poder realizar la
condicin de que al insertar un valor de a o
modificarlo este varia el resultado y al no
tener un valor envi un mensaje de error o si
este valor no es numrico haga lo mismo, la
funcin isnan nos permite retornar a una
coleccin que contenga unos.
Fig. 4 Grafica de la funcin coseno y su
ecuacin.
Fuente: Autor
-
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA
CONTROL DIGITAL Prctica de Laboratorio N 1. La transformada Z como herramienta para la simplificacin del anlisis de sistemas de control en tiempo
discreto
LAB1_CD
Versin: 1.0
Pgina: 5 de 6
5
Fig. 5 Ventana de las transformada Z inversas
Fuente: Autor
Para este se mostrara el comando aplicado a
la divisin sinttica el cual es el siguiente:
syms z ; G=(10*z+5)/((z-1)*(z-0.2)); F=iztrans(G); Xn=evalc('F'); set(handles.text1,'string',Xn);
Lo primero es definir la variable, luego se
copia la ecuacin y se aplica la transformada
inversa, luego se evala el resultado en una
variable y por ultimo identificamos la
variable para que nos muestre el resultado.
Fig. 6 Ventana de ecuaciones en diferencia
Fuente: Autor
Para poder calcular esto, se utiliz el
siguiente cdigo:
syms n; x=(-((-2)^n)+((-1)^n)); Xz=(x); Xn=evalc('Xz'); set(handles.text1,'string',Xn);
4. CONCLUSIONES
4.1 Para la realizacin de este informe se
emple el Pop-up men debido a si
mejor visualizacin, para la realizacin
de ello se utiliz la sentencia switch y
case, por su facilidad de programacin y
menor posibilidad de arrojar errores en
el programa.
4.2 Al emplear el Pop-up men junto con el
Push button se puede observar que es
ms fcil la implementacin de este
ltimo, debido a que este solo es digitar
el cdigo para realizar la ecuacin,
mientras el Pop-up men hay que definir
unas variables y establecer una sentencia
para definir estos comando, lo que hace
que para aquellas personas que no han
manejado GUIDE se facilite el Push
button que el Pop-up men.
4.3 Para la configuracin del botn regresar
hay dos formas, la que se emple en esta
prctica la cual es la sentencia de
pregunta, debido a su mayor impacto
visual y la otra forma la cual es la
manera fcil, que consiste en cerrar el
guide y abrir uno nuevo por medio de
dos comandos, el primero es close
acompaado del nombre de la ventana
actual y abajo se coloca el nombre de la
ventana que se desea abrir.
4.4 Se analiz que para hacer una buena
programacin, se deben conocer muy
bien los comandos a implementar, a
-
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA
CONTROL DIGITAL Prctica de Laboratorio N 1. La transformada Z como herramienta para la simplificacin del anlisis de sistemas de control en tiempo
discreto
LAB1_CD
Versin: 1.0
Pgina: 6 de 6
6
partir de ah se comienza para realizar
una buena interfaz y adquirir aprendizaje
en los temas a tratar.
4.5 Se identific que en la interfaz grfica se
puede desarrollar de una forma prctica
y sencilla ecuaciones, visualizando e
interpretando la respuesta de la funcin
de una manera ms didctica, ya sea en
2D o 3D.
4.6 Se emplearon dos comandos para graficar
en 3D en este informe, uno es el
comando surf y la otra es mesh, la
diferencia radica en que el primero
grafica una mejor resolucin de la
imagen y ms oscura, mientras la otra es
ms claro y presenta menor resolucin.
5. RECOMENDACIONES
5.1 Se sugiere realizar primero los clculos de las distintas transformadas y luego
utilizar la herramienta Matlab, para
corroborar resultados.
5.2 Debido a la poca utilizacin de GUIDE en los semestres anteriores, es
recomendable practicar por separado esta
parte de Matlab, para poder
desenvolverse mejor en la prctica.
5.3 Hacer la interfaz de una manera didctica y entendible al usuario, esto para permitir
la correcta interaccin, su buen uso y
facilidad del usuario para poderse
desenvolver en la interfaz.
5.4 Tener claro cules sern los comandos que emplearemos en el GUIDE, esto con
la finalidad de estudiar el
comportamiento de cada uno de estos,
adems de buscar el correcto acople entre
los diferentes comandos a emplear para
evitar inconvenientes en nuestra interfaz.
6. REFERENCIAS BIBLIOGRFICAS
1. Guerrero, Diego Orlando Barragan.
matpic. [En lnea] [Citado el: 2 de 03 de
2015.] www.matpic.com.
2. Ogata, Katsuhiko. Sistemas de control en
tiempo discreto. s.l. : Lynda Griffiths, 1996.
1524.
3. Castro, Sergio. Prctica de Laboratorio
N 1. La transformada Z como herramienta .
Ccuta : s.n., 2013.