Está en la página 1de 66

Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas

H D C L Pg. 0

PROGRAMACIN EN
VISUAL BASIC 6.0




ORIENTADO A SISTEMAS DE CONTROL
AUTOMTICO, PROCESAMIENTO DIGITAL
DE SEALES y MATEMTICAS













Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 1

PRESENTACIN

Programacin?, Para que?, son seguramente las preguntas que un
estudiante debe hacerse cuando se lo piden que simulen un sistema de
control, un filtro digital, o cualquier programa de esta ndole, en este curso
ayudaremos a enfrentar a estos problemas, porque a veces parecen bastante
difciles de resolver.

La programacin de sistemas de control, filtros digitales o algn
problema de matemticas, son bastante importantes, ya que nos permite ver
la simulacin de dichos sistemas, es decir, Cmo posiblemente se van a
desempear cuando sean implementados en la prctica? Claro, para el caso
de la matemtica, estos son exactos.

Cuando realizamos una simulacin, debemos ver si esta est completa,
esta bien programada, ya que sta es la labor que desempea un ingeniero, el
ingeniero debe evaluar desde todo punto de vista las ventajas y desventajas de
un sistema diseado, no solo debe seguir reglas, esto lo haran mejor los
robots y/o computadoras.

En el desarrollo de este curso se va usar Microsoft Visual Basic 6.0,
Porque?, debido a que es un lenguaje de programacin de alto nivel, es
orientado a objetos, permite crear aplicaciones del tipo win32 de manera
sencilla y rpida.

Para el desarrollo de supone que un estudiante tiene nociones bsicas
de programacin, mejor aun si saben programar en otros lenguajes de
programacin, ya que esto facilitar el aprendizaje.











Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 2
I. TEMAS A TRATAR:

PROGRAMACIN DE APLICACIONES BASICAS
PROGRAMACIN DE ALGUNOS PROBLEMAS MATEMTICOS
PROGRAMACIN DE SISTEMAS DE CONTROL
PROGRAMACIN PARA PROCESAMIENTO DIGITAL DE
SEALES

II. OBJETIVOS:
Dar a conocer la programacin de los temas mencionados a los
estudiantes, para que lo apliquen y practiquen.

III. EQUIPO Y SOFTWARE
Hardware: Una computadora personal.
Software: Visual Studio 6.0-> Visual Basic 6.0
IV. FUNDAMENTO TERICO DE LOS TEMAS A TRATAR
1. PROGRAMACIN EN VISUAL BASIC 6.0
La programacin en Visual Basic (VB) es sencilla, que tiene un
entorno grfico el cual nos permite manipular botones, cuadros de
imagen, cuadros de texto, entre muchos otros, adems Visual Basic
maneja instrucciones, funciones, palabras clave entre otras con las
cuales nos permite crear casi cualquier tipo de aplicaciones para el
entorno de Microsoft Windows.

2. PROGRAMACION DE PROBLEMAS MATEMTICOS
La programacin matemtica en cualquier lenguaje de
programacin no especializado en matemticas no es tan sencilla, ya
sean matrices, grficas, mximo comn divisor, multiplicacin y suma
de polinomios, factor primo, binomio de Newton, factorial, ente otros.

3. PROGRAMACIN DE SISTEMAS DE CONTROL
Para programar sistemas de control se requiere conocer o tener
nociones de Modelamiento Matemtico, Ecuaciones Diferenciales y en
Diferencias, Transformada de Laplace y Z, Arrays, Polinomios,
Sistemas de Control (respuesta a Escaln, diagramas de Bode,
Controladores PID, entre otros)

Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 3
4. PROGRAMACIN PARA PROCESAMIENTO DIGITAL DE SEALES
Para realizar programas relacionados a procesamiento digital de
seales se requiere tener nociones de Ecuaciones en Diferencias,
Transformada Z, Muestreo, convolucin y correlacin, filtros digitales,
FFT, entre otros

5. METODOLOGA DE DESARROLLO DEL CURSO
Los temas mencionados en los cuatro puntos anteriores se
desarrollarn en este curso, conjuntamente con los participantes. No
solo se desarrollarn programas, se abordarn tambin la creacin de:
libreras de clase, funciones, controles Activex.



























Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 4
V. PROGRAMACIN EN VISUAL BASIC

Iniciando la creacin de aplicaciones sencillas:

Para iniciar Visual Basic ir a:

Inicio->Programas->Microsoft Visual Studio 6.0->Microsoft Visual Basic
6.0

Aparecer la siguiente ventana:




Para empezar a desarrollar aplicaciones sencillas seleccionamos: EXE
estndar (EXE estndar es una aplicacin que se puede compilar) en
la ventana de Nuevo Proyecto, luego seleccionamos Abrir:




Aparecer la ventana que se muestra en Fig.3:

Fig.1
Fig.2
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 5




Primer programa:

Desarrollaremos un pequeo programa que nos permita Escribir
mensajes y recibir saludos:
Empezamos dibujando tres botones (CommandButton), tres etiquetas
(Label), una caja de texto (Textbox) (Fig. 4), de tal manera que los
controles estean distribuidos de forma parecida a la mostrada en Fig.5.




Cada control tiene propiedades (vase Fig.6):
Fig.4 Fig.5
Fig.3
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 6


Siendo la propiedad ms importante el (Nombre), ya que sta se usar
para identificar durante la programacin.
Tambin la propiedad Caption es importante (vase Fig.7) vea lo que
sucede cuando se cambia dicha propiedad (Fig.8).



Con dicho conocimiento asigne los siguientes valores a las propiedades
de los diferentes controles que se han dibujado:

Control (Nombre) Propiedad Valor de Propiedad
Form1 Caption Primer Programa
Label1 Caption Nombre
Label2 Caption
Label3 Caption
CommandButton1 Caption Saludo
CommandButton2 Caption Mensaje
CommandButton3 Caption Salir

Cuando termine de asignar dichas propiedades, el formulario quedar
as como se muestra en la Fig.9.


Fig.7
Fig.8
Fig.9
Fig.6
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 7
Luego escribimos el cdigo fuente, para ello podemos seleccionar
en la ventana explorador de proyectos o mas directamente
hacer doble clic sobre el control al que se quiere agregar cdigo,
empezamos con el Boton Saludo:




Enseguida agregamos cdigo a Mensaje:




Finalmente agregamos cdigo a Salir:






Luego ejecutamos presionando la tecla F5 o bien un click en ,
entonces tenemos lo que se muestra en Fig.10, luego escribimos
nuestro nombre y hacemos click en Saludo, luego click en Mensaje
(Fig. 11), y para salir hacemos click en Salir, o en :





Que les pareci? Bastante sencillo verdad?

Programa 2:

Insertamos controles de manera que queden dispuestos tal como se
muestra en Fig.12:

Usaremos un nuevo control llamado CheckBox, el cual nos permite
realizar programas donde sean necesarios hacer selecciones mltiples.
Tambin usaremos el control llamado Frame, llamado tambin Control
Contenedor, el cual nos permite agrupar de manera visual varios
controles.


Private Sub Command1_Click()
Nom = Text1.Text
Label2.Caption = "Hola " & Nom & ", Bienvenido a Visual Basic"
End Sub
Private Sub Command2_Click()
Label3.Caption = "Visual Basic es bastante sencillo y tu lo
aprenders rpidamente"
End Sub
Private Sub Command3_Click()
End
End Sub
Fig.10 Fig.11
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 8
Luego asignamos los valores a las propiedades de cada uno de los
controles que se han insertado.

Control (Nombre) Propiedad Valor de Propiedad
Form1 Caption Lo que quiero aprender a Programar
Label1 Caption Nombre :
Text1 Text
CommandButton1 Caption Capturar
CommandButton2 Caption Salir
Frame1 Caption Lo que quiero programar
Check1 Caption Programas Bsicos
Check2- Check10 Caption (Tal como se muestra en Fig.12)
Text2 Text
CommandButton3 Caption Aceptar





Con este programa aprenderemos a cambiar la propiedad ForeColor de
ciertos controles, en este caso de los Check (vase Fig.13).


Fig.12
Fig.13
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 9
El cdigo fuente de la aplicacin se agregar en clase. El resultado debe
ser parecido a lo que se muestra en Fig.13.
Escribimos nuestro Nombre, luego click en Capturar, en seguida
seleccionamos lo que deseamos aprender y finalmente si hacemos click
en Aceptar saldr un cuadro de dilogo con un mensaje (Fig.14):





Programa 3:

A continuacin desarrollaremos un programa para manejo de cadenas
de texto, para ello insertaremos los siguientes controles:

2 Label (etiquetas)
5 Text box (cajas de texto)
5 CommandButton (botones)

De tal manera que queden dispuestos tal como se muestra en Fig.15 (El
valor de la propiedad Caption de los Botones, etiquetas deben ser
cambiados tal como aparecen en la figura) (revise el ejemplo anterior):





El cdigo fuente se agregar durante el desarrollo del curso, cuando
ejecutemos, el resultado debe ser parecido al mostrado en Fig.16:

Fig.14
Fig.15
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 10




Este ejemplo es muy til, ya que nos permitir desarrollar programas
que realicen operaciones con polinomios y matrices.

Programa 4:

En seguida desarrollaremos un programa que nos permitir realizar
operaciones lgicas binarias como son: AND, OR y XOR, como se
supone esto implica el uso de tablas, para ello usaremos un nuevo
componente llamado MSFlexGrid, junto a esto aprenderemos a
manipular arrays unidimensionales y bidimensionales, para ello
insertamos los siguientes controles:

1 Label (etiqueta)
2 Frame (Controles contenedores)
3 OptionButton (botones de opciones)
3 CommandButton (botones)
2 MSFlexGrid (Tablas), siendo necesario agregar el control
MSFlexGrid en la ventana de controles, para ello se debe seguir el
procedimiento que se da a continuacin:

Botn derecho sobre la ventana de controles, luego
seleccionar Componentes , tal como se muestra en Fig.17:

Fig.16
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 11


Luego aparecer la ventana que se muestra en Fig. 18, all se
debe seleccionar Microsoft FlexGrid Control 6.0, finalmente
click en Aceptar:




En la ventana de controles aparecer el icono MSFlexGrid:

Fig.17
Fig.18
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 12


Con esto hemos acabado de agregar un nuevo control.

Una vez insertado las Tablas, se debe fijar las dimensiones de las
mismas, la primera Tabla tendr 4 filas y 2 columnas (Fig.22),
esto lo fijamos en el cuadro que aparece en Fig.21, dicho cuadro
aparecer cuando seleccionamos (Personalizado), esto en la
ventana de propiedades (Fig.20):





Fig.19
Fig.20
Fig.21
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 13
Para la segunda Tabla hacemos lo mismo, pero en este caso solo
tendr 1 columna y 4 filas (Fig.22).

Una vez terminado el diseo, el formulario deber quedar tal como se
muestra en la Fig. 22, por supuesto la propiedad Caption de los
diferentes controles deben ser cambiados.

Nota: para que la etiqueta de los botones aparezca como p.ej. Salir en
la propiedad Caption se debe escribir: &Salir

Luego se agregar el cdigo, y finalmente el programa ejecutado debe
tener la apariencia de la Fig.23.





Trabajo: averiguar como se puede modificar el ancho y alto de las
celdas.



Fig.22
Fig.23
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 14
Programa 5:

Con este ltimo programa bsico aprenderemos a graficar funciones
matemticas, para ello insertamos los siguientes controles:
2 CommandButton (botones)
1 PictureBox (cuadro para imgenes)

El formulario debe quedar parecido a la que se muestra en la Fig.24:



Luego implementaremos el cdigo, el programa ejecutado debe ser como
tal como se muestra en la Fig.25:


Nota: La funcin que se ha graficado es: F(i) = Sin(i)+0.5*Sin(3*i)



Fig.24
Fig.25
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 15
VI. PROGRAMACIN DE PROBLEMAS MATEMTICOS

La programacin de problemas matemticos nos permitir tener una visin
mas clara de cmo se programan las diferentes operaciones, frmulas,
propiedades, etc. que existen en la matemtica.
Los programas que se desarrollarn nos permitirn entender e implementar
programas mas avanzados, como son los sistemas de control y procesamiento
digital de seales.
En este curso bsicamente abordaremos los siguientes puntos:

Factorial, binomio de Newton (sc) y trinomio (opcional).
Mximo comn divisor. (opcional)
Multiplicacin y suma de matrices, determinante de matrices.(sc & pds)
Multiplicacin y suma de polinomios. (sc)
Graficador de Funciones matemticas: escala lineal y logartmica.(sc & pds)
Detector de races de funciones matemticas explcitas. (opcional)
Funciones trigonomtricas (series de McClaurin) (opcional)
Series de Fourier de Funciones Peridicas. (opcional)
Teorema de Fermat. (opcional)
Truco y otros. (opcional)

Los puntos a los que se agregaron (opcional), no se desarrollar en clase.
Adems:

sc: Sistemas de Control
pds: Procesamiento Digital de Seales

Factorial, binomio de Newton y trinomio:

Implementaremos un programa que permita realizar las operaciones
mencionadas en el subttulo, junto a ello aprenderemos a crear
funciones.

Para este ejemplo insertamos los siguientes controles:

4 botones
3 etiquetas
6 cajas de texto
2 lineas

Los controles los insertamos de tal manera que quede parecida a Fig.26.

Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 16




Luego le agregaremos el cdigo.
Fig.26
Fig.27
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 17
Ahora aprenderemos a agregaremos funciones, para ello seguimos el
siguiente procedimiento:

9 En la barra de men seleccionamos Herramientas.
9 Luego Agregar procedimiento
9 Enseguida se mostrar la siguiente ventana:



En esta ventana escribimos el nombre de la funcin, tambin
seleccionamos si va ser privado o pblico, para nuestro caso el
Nombre: ser Fac, esto debido a que esta funcin obtendr la
factorial de un nmero, en Tipo seleccionaremos Funcin, y en
Alcance seleccionaremos Pblico, tal como se muestra en la
siguiente figura:



9 Luego Aceptar.

En la ventana de cdigo se agregar automticamente lo siguiente:





Luego le modificamos para que quede de la siguiente manera:



Public Function Fac()

End Function
Fig.29
Fig.28
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 18








Creamos una segunda funcin llamada Com, que se usar para realizar
la combinatoria de 2 nmeros, esto deber tener la siguiente forma.





Luego agregamos el cdigo correspondiente para que pueda desarrollar
el binomio de Newton y el Trinomio. Tambin crearemos una tercera
funcin, esto ser para arreglar la presentacin del desarrollo del
binomio y del trinomio, esto se desarrollar junto con los participantes.

Las cajas de texto en las que se mostrarn los resultados del Binomio y
Trinomio tienen la propiedad Multiline en verdadero (True) (vase Fig.
30) lo que quiere decir que se puede mostrar varias lneas en la misma
caja.

Aqu aprenderemos a usar la instruccin vbCrlf



Los resultados del programa sern como los que se muestran en la
Fig.27.

Multiplicacin y Suma de Polinomios:

Este es uno de los programas ms importantes para comprender los
Sistemas de Control (ya que all se trabajan con expresiones
polinmicas en s donde s es el operador de Laplace)

Con este programa aprenderemos a crear mdulos.

Nota: un mdulo contiene rutinas/funciones generales y re-usables.
El mismo mdulo puede ser usado en varios programas.
Para agregar mdulos a nuestro programa procedemos de la siguiente
manera:
Public Function Fac(ByVal pp As Double)
If pp = 0 Then
Fac = 1
Else
Fac = pp * Fac(pp - 1)
End If
End Function
Public Function Com(ByVal nn As Double, ByVal mm As Double)
Com = Fac(nn) / (Fac(nn - mm) * Fac(mm))
End Function
Fig.30
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 19

Vamos a la ventana de proyecto, hacemos Clic con el botn
derecho del Mouse sobre Form1, luego seleccionamos Agregar,
luego seleccionamos Mdulo (Fig.31), en seguida se displaya la
ventana mostrada en Fig. 32, donde seleccionamos Abrir, luego
en la ventana de proyecto aparecer una nueva carpeta con
nombre Mdulos. Fig.31, Fig.32 y Fig.33.




Para agregar cdigo en el mdulo simplemente hacemos doble
click en Module1 (Module1).
Fig.31
Fig.32
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 20



Para este programa se implementarn los mdulos siguientes:

Mdulo Vector
Mdulo detectar sumas
Mdulo detectar productos
Mdulo multiplicar polinomios
Mdulo sumar polinomios
Mdulo multiplicar y Mdulo sumar

Mdulo Vector: se usa para convertir una expresin de la forma
vectorial:

[3 5 2] 3*x^2+5*x+2
a un array.
Const(2)=3 3*x^2
Const(1)=5 5*x
Const(0)=2 2
Gra= 2 Grado del polinomio

Mdulo detectar sumas: se usa para encontrar los diferentes sumandos
que puede tener una expresin, por ejemplo:

[3 5 2]*[1 2 3]+[2 1 5]*[3 6 1]+[5 2]

La expresin anterior lo desglosa en cadenas de sumandos, es decir:

Sum(1)= [3 5 2]*[1 2 3]
Sum(2)= [2 1 5]*[3 6 1]
Sum(3)= [5 2]
Num_sum= 3 nmero de sumandos

Mdulo detectar productos: se usa para encontrar productos que
puedan haber en una expresin polinmica, por ejemplo:

Sum(1)= [3 5 2]*[1 2 3]* [2 1 5]*[2 1]

La expresin anterior lo desglosa de la siguiente manera:

Mul(1)= [3 5 2]
Mul(2)= [1 2 3]
Mul(3)= [2 1 5]
Mul(4)= [2 1]
Num_pro=4 numero de multiplicandos
Mdulo multiplicar polinomios: multiplica 2 polinomios, por ejemplo se
quiere multiplicar las siguientes expresiones:
Fig.33
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 21

Mul(1)= [3 5 2]
Mul(2)= [1 2 3]
Mul(3)= [2 1 5]

Mult_pol Mul(1),Mul(2) Multiplicacin

Res(1)= [3 11 21 19 6] Resultado 1

Mult_pol Res(1),Mul(3) Multiplicacin del
resultado y la
tercera expresin

Res(2)= [6 25 68 114 136 101 30] resultado
final

Mdulo sumar polinomios: suma dos expresiones polinmicas, por
ejemplo se desea sumar las siguientes operaciones:

Sum(1)= [1 5 4]
Sum(2)= [6 3]
Sum_pol Sum(1),Sum(2) Suma Sum(1) y Sum(2)

Res= [1 11 7] Resultado de la suma

Mdulos multiplicar y sumar: simplemente realizan operaciones
complejas que involucran sumas y productos a la vez, por ejemplo:

[3 5 2]*[1 2 3]+[2 1 5]*[3 6 1]+[5 2]

Res= [9 26 44 55 13]

Para ello hace uso de los 5 mdulos anteriores.

El resultado final ser un programa que tendr la apariencia parecida a
la mostrada en Fig.34.


Tarea: Desarrollar mdulos que reconozcan expresiones con parntesis,
por ejemplo:

[1 2 3]*([1 5 2]*([1 5 3 1]+[1 9 6 2])+[9 5 1])


Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 22



Multiplicacin, suma, determinante de matrices:

Implementaremos los siguientes mdulos:

Mdulo para identificar matrices.
Mdulo para obtener determinante
Mdulo para multiplicar matrices

Este programa nos permitir obtener la determinante de una matriz
cuadrada de dimensiones NxN.
La multiplicacin se realiza para matrices de MxN y NxP, quedando
como resultado una matriz de dimensin MxP.
El diseo del programa debe ser parecido al que se muestra en Fig.35,
all podemos ver que las matrices se ingresan como si fueran texto, el
mdulo que lo convierte en matriz es justamente el Mdulo para
identificar matrices. El resultado tanto de la multiplicacin como de la
suma se muestra en un formato parecido a las matrices de entrada,
esto es cuestin de arreglar y ordenar los componentes de la matriz que
resulta despus de la operacin.
Fig.34
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 23

Tarea: agregar la Funcin Inversa(A), el resultado debe ser como se
muestra:


Fig.35
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 24
Programa Graficador de Funciones Matemticas (escala lineal y
logartmica):

Se desarrollar un programa que grafique cualquier funcin
matemtica, ya sea en escala lineal o logartmica, este programa
tambin es de mucha importancia, ya que nos permitir graficar la
respuesta al escaln unitario, las grficas de bode (Sistemas de
Control), adems para la respuestas de los filtros digitales, entre
otros que se desarrollarn en el transcurso del curso.
Este programa tambin ser capaz de detectar el mximo y
mnimo valor de una funcin, y en base a ello la escala vertical ser
automtica y la escala horizontal ser dada y se podr elegir entre lineal
y logartmica.
Se har uso de un nuevo componente: ScriptControl, el cual nos
permitir evaluar una funcin cualesquiera.
Tambin una de las caractersticas es que la variable, rango,
paso, y la funcin se ingresan en una misma caja de texto, aqu
procedemos de manera similar al programa anterior (Operaciones con
matrices) para identificar, cual es cual.
Los resultados deben ser parecidos a los mostrados en Fig.37 y
Fig.38.


Fig.37
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 25




Para el caso de la escala lineal, el rango se define como sigue:

F=0:0.1:50

Lo que significa es que:
-El lmite inferior horizontal ser: 0
- El lmite superior horizontal ser: 50
- El paso ser cada: 0.1 esto para fines de graficar

Para el caso de la escala logartmica, el rango se define como sigue:

w=-1:0.01:3

Lo que significa es que:
-El lmite inferior horizontal ser: 10^(-1)
- El lmite superior horizontal ser: 10^3
- El paso ser cada: 10^(0.01) esto para fines de graficar







Fig.38
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 26
Programa para convertir un nmero con Punto Flotante en
Binario (ANSI/IEEE Std. 754-1985) (32bits: Single Point):

Insertar, ordenar y arreglar controles, de tal manera que se parezca a la
Fig.39.



La representacin con punto flotante es similar a la notacin cientfica,
excepto que se trabaja en base 2, en lugar de base 10. El formato ms
comn es ANSI/IEEE Std. 754-1985. Este estndar define el formato
para nmeros de 32 bits llamados de precisin simple, tambin existe
para nmeros de 64 bits llamados de precisin doble.
Estos 32 bits forman el nmero con punto flotante, v, mediante la
siguiente relacin:

) 127 (
2 ) 1 (

=
E S
M v

Donde: S es el valor del signo, M es el valor de la mantisa, y E es el valor
del exponente.

Los 32 bits se dividen en tres grupos:

- Los bits del 0 al 22 forman la mantisa
- Los bits del 23 al 30 forman el exponente (0 al 255)
- El bit 31 es el signo (0: positivo y 1: negativo)

Ejemplo:

0 00000111 11000000000000000000000
36 127 7
10 316554 1 2 75 1

+ = + . .
) (


+ 7 0.75

La mantisa tiene la siguiente forma:

K + + + + + =
3
19
3
20
2
21
1
22
2 2 2 2 1 m m m m M
Fig.39
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 27
Lo descrito hasta ahora permitir comprender la representacin en
binario de los nmeros con punto flotante de precisin simple, esto
mismo se implementa en el programa para finalmente tener el resultado
mostrado en la Fig.40.







Prefijos usados para nombrar a los objetos o controles:

Prefijo Tipo de Objeto o Control
cbo ComboBox
chk CheckBox
cmd CommandButton
dir DirListBox
drv DriveListBox
fil FileListBox
fra Frame
frm Form
grd Grid
hsb HScrollbar
img Image
lbl Label
lin Line
lst Listbox
mnu Menu
mod Module
ole OLE
opt OptionButton
pic PictureBox
res Resource
shp Shape
tmr Timer
txt TextBox
typ User-defined data type
vsb VScrollbar

Fig.40
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 28
VII. PROGRAMACIN DE SISTEMAS DE CONTROL:

1. CONTROL DE PROCESOS DINMICOS

Variables en un Proceso:

Estudiar el comportamiento de un proceso es analizar las
variables involucradas y sus relaciones entre ellas. Vase Fig. 41



Las variables pueden ser:

o Externas o entradas: Son determinados por otros procesos o por
el ambiente donde se encuentra el proceso.

Variables manipuladas o de control: u, Si son usadas
para influir en la dinmica del proceso.
Perturbaciones: d, Si son no controlables provenientes de
otros subsistemas.

o Internas: Son dependientes de las entradas al proceso. Estamos
interesados en evaluar el comportamiento de estas variables del
proceso:

Salidas o variables medidas: y, Si son sensadas y
proporcionan informacin de la evolucin del proceso.
Variables controladas: z, Si los objetivos de control estn
basados en ellos. Pueden ser salidas o no.
Variables de estado: x, mnimo conjunto de variables
internas que permiten la computacin de cualquier otra
variable interna si las entradas son conocidas.

Objetivos del Control:

El objetivo de un sistema de control es forzar un conjunto dado
de variables de proceso, para que se comporten de una manera deseada
y prescrita, cumpliendo para ello algunos requerimientos en el dominio
del tiempo o en el dominio de la frecuencia.

Los siguientes son objetivos del control:

Regulacin (rechazo de las perturbaciones)
Seguimiento de referencia.
Fig.41
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 29
Generacin de una secuencia de procedimientos (Para el
encendido y apagado).
Adaptacin (Cambiando algunos parmetros ajustables).
Deteccin de defectos o faltas (Para evitar daos al proceso
o proporcionando re-configuracin).
Supervisin (Cambiando las condiciones de operacin, la
estructura o los componentes).
Coordinacin (Proporcionando Puntos fijos)
Aprendizaje (Extrayendo algunos conocimientos de la
experiencia).

Modos de operacin del Control:

Cualquier proceso controlado puede operar en una variedad de
situaciones tales como encendido/apagado, transferencia de ciertas
condiciones de operacin a otras nuevas, o bajo la gua de un operador.
Todo esto significa diferentes modos de operacin requiriendo para ello
diferentes estrategias de control:

o Control Manual: Si las variables manipuladas son determinadas
por el operador.
o Control Automtico: Donde las variables manipuladas son
gobernadas por el controlador, puede ser logrado de dos formas:

Control en lazo abierto: No hay retroalimentacin del
proceso y las variables de control son determinadas por el
sistema de control basndose en la informacin
proporcionada por el operador o las medidas de las
entradas.
Control en lazo cerrado: El controlador determina las
variables manipuladas basndose en las referencias y los
objetivos introducidos por el operador y las medidas del
proceso.


2. PRINCIPIOS DE MODELAMIENTO DE UN PROCESOS DINMICO

Modelos dinmicos Empricos y Tericos:

Los modelos dinmicos describen cmo cambia el
comportamiento de un proceso con el tiempo.
Los modelos empricos son esencialmente formas de curvas del
comportamiento del proceso observado, como tal, pueden ser
desarrollados relativamente rpidos. Son modelos que se aproximan al
proceso, pero ste modelo no describe al proceso.

Los modelos tericos son derivados a partir de principios fsicos,
qumicos, elctricos o mecnicos, son modelos que s describen al
proceso. La desventaja est en obtenerlos, ya que son desafiantes y se
requiere de bastante tiempo.

Variables conservadas y ecuaciones de conservacin:

Los modelos se obtienen a partir de las ecuaciones de
conservacin. Las variables que se conservan en un proceso son:
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 30

- Masa.
- Masa del componente i (balance de especias).
- Energa.
- Momentum.

El balance de las ecuaciones de conservacin se obtienen a partir
de la siguiente definicin:



Acumulacin = Entrada Salida + Generacin Consumicin



Buena prctica de Ingeniera de procesos y de control:

Implica los siguientes pasos:

- Figura del proceso con etiquetas apropiadas.
- Unidades usadas en el modelo.
- Asunciones hechas en la obtencin del modelo.
- Detalles de la derivacin del modelo paso-a-paso.
- Una ecuacin diferencial final que describa al modelo
dinmico, incluyendo las condiciones iniciales

Un ejemplo sencillo:

El proceso mostrado en Fig.42 es un tanque que tiene un lquido
fluyendo de la parte superior, saliendo del tanque por la parte inferior.
Como las variables lo indican, la tasa del flujo de la entrada tanto como
el de la salida cambian con el tiempo. El rea transversal del tanque es
constante, mas no la altura, lo que implica que el volumen del tanque
es cambiante y est relacionado con la altura del mismo.

Figura del proceso con etiquetas apropiadas:



Variables con unidades:

- Flujo de entrada del lquido s m t F / ] [ ) (
3
=
- Densidad del lquido
3
/ ] [ ) ( m Kg t =
Fig.42
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 31
- Nivel de la altura del lquido m t h ] [ ) ( =
- rea transversal del tanque
2
] [ m A
C
=
- Volumen del lquido
3
] [ ) ( m t V =
- Tiempo s t ] [=

Asunciones:

- El proceso de modelado es restringido por el volumen y el flujo
del lquido.
- El lquido puede entrar y salir del tanque slo a travs de las
corrientes de flujo mostrados (no por evaporacin).
- El rea transversal del tanque es constante.
- Los lquidos son incompresibles y as la densidad es constante
= = = ) ( ) ( ) (
1 0
t t t

Detalles paso-a-paso:

Desarrollando el balance de masa para este proceso:

- Masa que se acumula:
( )
dt
t V t d ) ( ) (

- Masa que ingresa: ) ( ) (
0 0
t F t
- Masa que sale:

) ( ) (
1 1
t F t
- No se genera ni consume la masa.

Usando la definicin de balanceo y las asunciones, se obtiene:

) ( ) (
) (
1 0
t F t F
dt
t dV
=

Sabiendo que:

) ( ) ( t h A t V
C
=

Luego tenemos la siguiente ecuacin diferencial, que es el modelo
matemtico del tanque:
) ( ) (
) (
1 0
t F t F
dt
t dh
A
C
=


Como se sabe, una ecuacin diferencial sin condiciones lmites
y/o iniciales es incompleta. Para modelos dinmicos usados en el
proceso de control, las condiciones mas tiles son las
condiciones iniciales, o aquellas que se definen la condicin del
proceso en un tiempo ( 0 = t ). Supongamos que conocemos la
altura inicial del lquido que es (
s
h ), o:
s
h h = ) 0 (

El modelo dinmico del proceso con condiciones iniciales se
convierte en:

s C
h h donde t F t F
dt
t dh
A = = ) 0 ( ) ( ) (
) (
1 0


Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 32
El flujo de salida puede ser proporcional a la altura, o bien a la
raz cuadrada de la altura (siendo ste ltimo de mayor
precisin).

Caso 1:

s C
h h con t h t F
dt
t dh
A t h t F = = = ) 0 ( ) ( ) (
) (
) ( ) (
1 0 1 1


Como se puede ver el modelo es una ecuacin diferencial
lineal.

Caso 2:

s C
h h con t h t F
dt
t dh
A t h t F = = = ) 0 ( ) ( ) (
) (
) ( ) (
2 0 2 1


En ste ltimo caso el modelo se convierte en una
ecuacin diferencial no lineal.


3. LINEALIZACIN DE MODELOS NO LINEALES:

La linealizacin consiste en aproximar una funcin no lineal por
una funcin lineal, esto no es mas usar la expansin en series de Taylor
de la funcin no lineal, pero truncadas en la primera derivada.

La linealizacin nos permitir disear controladores para un
cierto proceso con ciertas condiciones iniciales.

Linealizacin de funciones con una variable:

Una funcin no lineal: )] ( [ t x F puede ser aproximado por:

] ) ( )[ ( ) ( )] ( [
s s s
x t x x
dx
dF
x F t x F + =

Linealizacin de funciones con dos o ms variables:

Una funcin no lineal: )] ( , ), ( ), ( [
2 1
t x t x t x F
n
L puede ser aproximado por:

] ) ( )[ , , , (
] ) ( )[ , , , (
] ) ( )[ , , , ( ) , , , ( )] ( , ), ( ), ( [
2 1
2 2 2 1
2
1 1 2 1
1
2 1 2 1
ns n ns s s
n
s ns s s
s ns s s ns s s n
x t x x x x
x
F
x t x x x x
x
F
x t x x x x
x
F
x x x F t x t x t x F

+
+

+ =
L
L
L
L L L



Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 33

Ejemplo de aplicacin:

Sea la ecuacin diferencial no lineal de primer orden:

s
x x con k t x F
dt
t dx
= + = ) 0 ( )] ( [
) (


Reemplazando la aproximacin de la funcin )] ( [ t x F en la ecuacin
diferencial, y evaluando en t=0, se tiene:

k x F k x x x
dx
dF
x F
dt
dx
s
x x
s s s
s
= + + = =
=
) ( ] ) 0 ( )[ ( ) ( 0
) 0 (
) 0 ( 0
4 4 4 3 4 4 4 2 1
Q


Lo que nos lleva a:

s s s s
s
x t x t X con t X x
dx
dF
dt
t dX
x t x x
dx
dF
dt
x t x d
= = =

) ( ) ( ) ( ) (
) (
] ) ( )[ (
] ) ( [

Transformndose as ODE no lineal en una ODE lineal:

) ( ) (
) (
s
x
dx
dF
k con t kX
dt
t dX
= =

ODE: Ordinary Differential Equation
Ecuacin diferencial Ordinaria


Como se pudo ver la linealizacin de modelos matemticos en muy til.

Aplicacin de la linealizacin para la obtencin de Ecuaciones de Estado
Lineales:

Sea el conjunto de ODEs no lineales que describen un proceso:

p k t t u t x g t y
m j n i t t u t x f
dt
t dx
j i i k
j i i
i
, , 1 ) ), ( ), ( ( ) (
, , 1 , , 1 ) ), ( ), ( (
) (
L
L L
= =
= = =


Para llevar ste conjunto de ecuaciones no lineales a variables de estado
lineales de la forma:
u D x C y
u B x A
dt
x d
+ =
+ =


Se procede de la siguiente manera:

Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 34
m j p i u x
u
g
d
n j p i u x
x
g
c
m j n i u x
u
f
b
n j i u x
x
f
a
j
i
ij
j
i
ij
j
i
ij
j
i
ij
, , 1 , , 1 ) , (
, , 1 , , 1 ) , (
, , 1 , , 1 ) , (
, , 1 , ) , (
0 0
0 0
0 0
0 0
L L
L L
L L
L
= =

=
= =

=
= =

=
=

=


Donde
0
u es el punto de equilibrio, y
0
x son las soluciones de
0 ) , (
0
= x u f .


4. SIMULACIN DE PROCESOS DINMICOS Y/O SISTEMAS DE
CONTROL NO LINEALES Y LINEALES:

Supongamos que tenemos el modelo dinmico de un proceso no
lineal/lineal:

) 1 . 4 (
) ), ( ), ( ( ) (
) ), ( ), ( (
) (
L

=
=
t t r t x G t y
t t r t x F
dt
t dx


Como sabemos la computadora no puede resolver ecuaciones
diferenciales no linelaes, nosotros debemos facilitarle el asunto, para
resolver ecuaciones diferenciales no lineales existen mtodos
numricos:

Mtodo de Euler:
Con el mtodo de Euler, el trmino derivativo
dt
t dx ) (
de la ecuacin
anterior se aproxima por:

h
kh x h kh x ) ( ) ( +
, donde h es llamado paso de integracin

La ecuacin 4.1 queda de la siguiente forma:

) ), ( ), ( (
) ), ( ), ( (
) ( ) (
kh kh r kh x G y
kh kh r kh x F
h
kh x h kh x
=
=
+


Reescribiendo tenemos:

) 2 . 4 (
) ), ( ), ( (
) ), ( ), ( ( ) ( ) (
L
)
`

=
+ = +
kh kh r kh x G y
kh kh r kh x hF kh x h kh x

Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 35
Para k = 0, 1, 2, el valor del vector ) 0 ( x es la condicin inicial y se
asume que es conocido. Para generar la respuesta de los sistemas no
lineales/lineales a la entrada ) (kh r se procede a calcular
recursivamente ) 3 ( ), 2 ( ), ( h x h x h x .

La ecuacin 4.2 es fcil de implementar en cualquier lenguaje de
programacin.

Mtodo de Runge-Kutta:

Mientras que el mtodo de Euler es fcil de entender e
implementar en cdigo, algunas veces para lograr una buena exactitud,
el valor de h debe ser muy pequeo. Muy a menudo, para lograr una
buena precisin en la simulacin, son usados mtodos ms
sofisticados, tal como el mtodo de Runge-Kutta. En el mtodo de
cuarto orden de Runge-Kutta, la aproximacin que se hace es la
siguiente:

) 3 . 4 (
) ), ( ), ( (
) 2 2 (
6
1
) ( ) (
4 3 2 1
L

=
+ + + + = +
kh kh r kh x G y
k k k k kh x h kh x


Donde los cuatro vectores se definen por:

) ), ( , ) ( (
) ), ( , ) ( (
) ), ( , ) ( (
) ), ( ), ( (
3 4
2 2 2
3
2 2 2
2
1
3
1
h kh h kh r k kh x hF k
kh kh r kh x hF k
kh kh r kh x hF k
kh kh r kh x hF k
h h
k
h h
k
+ + + =
+ + + =
+ + + =
=


Como podemos ver la ecuacin 4.3 no es difcil comprenderlo.

Si se quiere controlar cualquier proceso, por ms sencillo o complicado
que sea ste, siempre se debe contar con el modelo matemtico que
describa la dinmica de dicho proceso. Ya que el diseo del controlador
se hace en funcin del modelo, si bien es cierto existen estrategias de
control que no requieren conocer el modelo para disear un
controlador (control difuso, neurocontrol, etc.), an as se necesita el
modelo para ver el comportamiento del proceso incluido ya el
controlador que se ha diseado.
Si no quiero simular, hago el anlisis matemtico. (no es sencillo)


Y para que linealizo si puedo simular un proceso no lineal?


Mire, el controlador se disea con el modelo linealizado y la simulacin
se realiza con el modelo no lineal.


Ahora si tiene sentido linealizar el modelo.


Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 36
5. SIMULACIN DEL NIVEL DE ALTURA DE UN PROCESO

Modelo del proceso:

En este punto simularemos el nivel de altura del proceso
modelado en el punto 2, es decir el modelo del proceso mostrado en
Fig.43.



Tenemos los siguientes modelos:

s C
h h con t h t F
dt
t dh
A = = ) 0 ( ) ( ) (
) (
1 0


s C
h h con t h t F
dt
t dh
A = = ) 0 ( ) ( ) (
) (
2 0



Condiciones Iniciales:

Altura inicial: hs=5 m
Alfa (1 o 2): 0.9 (m^2/s o m^(2.5)/s)
rea de la seccin transversal del tanque: 5 m^2

Clculo del flujo inicial (haciendo 0
) (
=
dt
t dh
para t=0):

o Modelo lineal: F0=4.5
o Modelo No lineal: F0= 2.012461

Mtodo de Programacin:

Para simular el proceso se usar el mtodo de Euler:
) ), ( ), ( (
) ), ( ), ( ( ) ( ) (
kh kh r kh x G y
kh kh r kh x hF kh x h kh x
=
+ = +


En las ecuaciones anteriores, h es llamado paso de integracin, y el
valor de este debe ser pequeo para poder aproximar con bastante
precisin la respuesta del proceso. Pero para procesos con respuesta
lenta, este valor puede ser cercano a 1 o 0.5.

En el programa se denomina T, smbolo del periodo de muestreo
Fig.43
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 37
Consideraciones en la Programacin:

Se est considerando:

- Off-set de altura de: 0 m
- Off-set de flujo de entrada de: 0.05 m^3/s

Se est usando un control ActiveX denominado Tanque, el que fue
creado por: Hctor D. CHOQUE L. para simular procesos que implican
control de nivel de altura, las propiedades de dicho tanque son:

- La altura mxima.(Maximo)
- El valor real de la altura.(Altura)
- El color del lquido que contiene dicho tanque.(Color)

Los controles usados son:

Control (Nombre) Propiedad Valor de Propiedad
Frame Frame1 Caption Proceso :
Frame Frame2 Caption Parmetros y condiciones iniciales :
Frame Frame3 Caption Datos para Graficar :
Label Label1 Caption Nivel de altura inicial (hs):
Label Label2 Caption alfa (1 o 2):
Label Label3 Caption Razn de alimentacin (F0):
Label Label4 Caption m
Label Label5 Caption m^2/s
Label Label6 Caption m^3/s
Label Label7 Caption m^2
Label Label8 Caption rea transversal del tanque (AC):
Label Label9 Caption Modelo:
Label Label10 Caption T (Per. de Muestr):
Label Label11 Caption m
Label Label12 Caption m
Label Label13 Caption s
Label Label14 Caption s
Label Label15 Caption Hmax:
Label Label16 Caption Hmin:
Label Label17 Caption Tmax:
Label Label18 Caption Tmin:
Label Label19 Caption Altura:
Label Label20 Caption m
Label Label21 Caption Flujo:
Label Label22 Caption m^3/s
Label Label23 Caption
Label Label24 Caption
CommandButton cmdPau Caption P
CommandButton cmdCon Caption C >
CommandButton cmdEmp Caption E >
CommandButton cmdAceptar Caption Aceptar
CommandButton cmdSalir Caption Salir
TextBox txtFlu Text 0.05
TextBox txtAlt Text 0
TextBox txtTmin Text 0
TextBox txtTmax Text 200
TextBox txtHmin Text 0
TextBox txtHmax Text 10
TextBox txtT Text 0.1
TextBox txtAC 5
TextBox txtalfa12 0.9
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 38
TextBox txths 5
TextBox txtF0
PictureBox picResp Appearance Flat
AutoRedraw True
Timer Timer1 Enabled False
Interval 1
OptionButton optLineal Caption No lineal
OptionButton optNolineal Caption Lineal
Image Image1
Image Image2 Visible False
Image Image3 Visible False
Tanque Tanque1

Para ordenar adecuadamente los controles vase la Fig.44.

Con este ejemplo tambin aprenderemos a usar el control Timer.
Tambin se usar el modulo ModuloGrafico, que se ha desarrollado
para dibujar lneas divisoras, imprimir escalado numrico, cuadro, color
de fondo, todo ello a un control PictureBox, en este caso a picResp.

Resultados de la simulacin:

El resultado que se muestra en la Fig.44



Fig.44
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 39
6. SIMULACIN DEL CONTROL DE TEMPERATURA DE UN TANQUE DE
REACCIN CON AGITACIN CONTINUA:


Figura con etiquetas apropiadas:

Se simular el modelo de un tanque de reaccin con agitacin
continua (TRAC), en este proceso la variable que se controla es la
temperatura de salida, para lograr el objetivo de control se usar un
controlador PI. En la. Fig.45 se presenta un PI&D del reactor con
casquillo.



Asunciones:

Suponemos que el reactor y el casquillo estn combinados
perfectamente, que los volmenes y las propiedades fsicas son
constantes y que las prdidas de calor se desprecian.

Modelado del proceso:

Con las asunciones anteriores, las ecuaciones que describen el
proceso son:

Balance de masa del reactivo A:

) 1 . 6 ( ) (
2
L
A A Ai
A
kC C C
V
F
dt
dC
=




Fig.45
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 40
Balance de energa en el contenido del reactor:

) 2 . 6 ( ) ( ) (
2
L
C
p
A
P
R
i
T T
C V
UA
kC
C
H
T T
V
F
dt
dT

=



Balance de energa en el casquillo:

) 3 . 6 ( ) ( ) ( L
Ci C
C
C
C
pC C C
C
T T
V
F
T T
C V
UA
dt
dT
=



Coeficiente de razn de reaccin:

) 4 . 6 (
) 16 . 273 (
0
L
+

=
T R
E
e k k

Retardo en el sensor de temperatura:

) 5 . 6 (
1
L
|
|
.
|

\
|

= b
T
T T
dt
db
T
M
T



Controlador Proporcional-Integral con retroalimentacin:

( ) ) 6 . 6 (
1
L y m
dt
dy
i
=


) 7 . 6 ( L
|
|
.
|

\
|


+ = b
T
T T
K y m
T
M
fijo
C


Lmites de la seal de salida del controlador:


) 8 . 6 ( 1 0 L m

Vlvula de control de porcentaje igual (aire para cerrar)

) 9 . 6 (
max
L
m
C C
F F

=

Los parmetros usados en las ecuaciones anteriores se describen
de la siguiente manera:

Parm. Descripcin, unidad
A
C
es la concentracin de reactivo en el reactor, kgmol/m^3
Ai
C
es la concentracin del reactivo en la alimentacin, kgmol/m^3
T
es la temperatura en el reactor, C
T
T
es la temperatura de alimentacin, C
C
T
es la temperatura del casquillo, C
Ci
T
temperatura de entrada del enfriador, C
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 41
b
es la seal del transmisor en una escala de 0 a 1
F
es la razn de alimentacin, m^3/s
V
es el volumen del reactor, m^3
k
es el coeficiente de razn de reaccin, m^3/kgmol-s
R
H
es el calor de la reaccin; se supone constante, J/kgmol

es la densidad del contenido del reactor, kgmol/m^3
p
C
es la capacidad calorfica de los reactivos, J/kgmol-C
U
es el coeficiente de transferencia total de calor, J/s-m*-C
A
es el rea de transferencia de calor, m^2
C
V
es el volumen del casquillo, m^3
C

es la densidad del enfriador, kg/m^3
pC
C
es el calor especfico del enfriador, J/kg-C
T
T
es el rango calibrado del transmisor, C
C
F
es la razn de flujo del enfriador, m^3/s
A
C
es el lmite inferior del rango del transmisor, C
T

es la constante de tiempo del sensor de temperatura, s
i

es el tiempo de integracin del controlador, s
y
es la variable de retroalimentacin de reajuste del controlador
m es la seal de salida del controlador en una escala de 0 a 1
C
K
es la ganancia del controlador; sin dimensiones
max C
F
es el flujo mximo a traves de la vailvula de control, m^3/s
es el parmetro de ajuste en rango de la vlvula
0
k
es el parmetro de frecuencia de Arrhenius, m^3/s-kgmol
E
es la energa de activacin de la reaccin, J/kgmol
R
es la constante de la ley de los gases ideales, 8314.39 J/kgmol-K

En este modelo del reactor y de su controlador de temperatura,
las variables de estado son
A
C , T ,
C
T , b e y ; las variables auxiliares
k , m y
C
F se pueden calcular junto con las funciones de derivacin, a
partir de los valores de las variables de estado en cualquier punto del
tiempo. Las variables de entrada al modelo son F ,
Ai
C ,
i
T ,
Ci
T y
fijo
T .

Mtodo de Programacin:

Para simular el proceso se usar el mtodo de Euler:

) ), ( ), ( (
) ), ( ), ( ( ) ( ) (
kh kh r kh x G y
kh kh r kh x hF kh x h kh x
=
+ = +


Condiciones iniciales:

Para hacer la simulacin del reactor se deben determinar los
parmetros del modelo y las condiciones iniciales. En la prctica, los
parmetros del modelo se obtienen a partir de las especificaciones del
equipo y de los diagramas de tubera e instrumentacin. Se trabaja con
los siguientes parmetros del reactor:

Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 42
V = 7.08 'm^3
p = 19.2 'kgmol/m^3
Cp = 181500 'kgmol-C
A = 5.4 'm^2
pC = 1000 'kg/m^3
ko = 0.0744 'm^3/s-kgmol
tauT = 20 's
alfa = 50 '(sin dimensiones)
deltaHR = -98507000 'J/kgmol
U = 3550 'J/s-m^2-C
VC = 1.82 'm^3
CpC = 4184 'J/kg-C
E = 11820000 J/kgmol
FCmax = 0.02 'm^3/s
TM = 80 'C
deltaTT = 20 'C
R = 8314.39

Si el propsito de la simulacin es ajustar el controlador a las
condiciones de operacin de diseo, las condiciones iniciales se toman
en el punto de operacin de diseo. Un requisito importante es que
con las condiciones iniciales se deben satisfacer las ecuaciones
del modelo en estado estacionario; esto es, todas las derivadas que
se calculan con base en las ecuaciones del modelo deben ser
exactamente cero en los valores iniciales de las variables de estado.
Puesto que se tiene una ecuacin de modelo para cada variable de
estado y auxiliar, el nmero de especificaciones de diseo no debe
exceder el de variables de entrada. En este ejemplo, las variables de
entrada y las condiciones de diseo son las siguientes:


F = 0.0075 'm^3/s
CAi = 2.88 'kgmol/m^3
TCi = 27 'C
Tfijo = 88 'C
Ti = 66 'C

Ahora se pueden utilizar las ecuaciones del modelo para calcular los
dems valores iniciales y variables auxiliares. El orden de los clculos
es el que se muestra a continuacin:

(6.7) b = (Tfijo TM)/deltaTT = 0,40 (sin dimensiones)
(6.5) T = b*deltaTT + TM = 88.O C
(6.4) K = 1.451*1e-3 m^3/kgmol-s
(6.1) CA = 1.133 kgmol/m^3
(6.2) TC = 50.5 C
(6.3) FC = 7.3 9 2*1e-3 m^3/s
(6.9) m = 0.2544 (sin dimensiones)
(6.6) y = 0.2544 (sin dimensiones)

Los valores anteriores son calculados por el programa que se
desarrollar para simular este proceso.


Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 43
Se observar que la nica forma de satisfacer las ecuaciones (6.5), (6.6)
y (6.7) en estado estacionario es que la temperatura del reactor se
mantenga en el punto de control, debido a que el controlador tiene
accin de integracin.

Una vez que se tienen las ecuaciones del modelo, el valor de los
parmetros y las condiciones iniciales, ya podemos programar las
ecuaciones.

Consideraciones en la Programacin:

Se est considerando:

- Off-set de tasa de alimentacin: 0 m^3/s
- Set point: 2. C (mas los 88C de las condiciones iniciales)

Los controles usados ya no se describen al detalle, ya que son bastantes
y ocuparan mucho espacio, pero se pueden ver en Fig.46, Fig.47 y Fig.
48.

Resultados de la simulacin:

Se muestran en Fig.46, Fig.47 y Fig. 48.



Fig.46
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 44


Fig.47
Fig.48
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 45
7. RESPUESTA AL ESCALN DE SISTEMAS DE CONTROL LTI

La respuesta a la funcin Delta de Dirac es de especial inters en
el estudio de sistemas lineales. La transformada de Laplace de la Delta
de Dirac es 1. As, si aplicamos tal funcin a la entrada de un sistema
con condiciones iniciales nulas, la respuesta de salida simplemente
ser ) ( ) ( ) ( ) ( s G s U s G s Y = = . Esta observacin puede ser resumido de la
siguiente forma:

La funcin de transferencia de un sistema en tiempo continuo es la
Transformada de Laplace de su respuesta al impulso (Delta de Dirac)
con condiciones iniciales nulas.


Funcin impulso o Delta de Dirac
0

Debido a la idealizacin en el grfico anterior, es decir la funcin
impulso tiene una duracin muy corta (tiende a cero) y su amplitud es
infinita, lo cual es prcticamente imposible de lograr fsicamente o en
trminos de voltios.
Por la razn expuesta en el prrafo anterior, lo mas comn es
usar la respuesta al escaln para estudiar el comportamiento dinmico
del sistema, esto es cuando s s U 1 ) ( = . Esto lleva a lo que se llama
respuesta al escaln.

s
s G s U s G s Y
1
) ( ) ( ) ( ) ( = =


La aplicacin del teorema del valor final muestra que la respuesta
en estado estacionario para un escaln unitario est dado por:

) 0 (
1
) ( ) (
0
G
s
s sG Lim y t y Lim
s t
= = =




Si el sistema es estable, entonces la parte transitoria de la
respuesta al escaln decrecer exponencialmente hacia cero y as

y
existir. Note que si ) (s G tiene uno o mas ceros en 0 = s , entonces
0 =

y .

Tambin es muy til definir el conjunto de parmetros que
describen ciertas propiedades relevantes de la dinmica del sistema.
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 46
Para introducir estas definiciones consideraremos una funcin de
transferencia estable teniendo como respuesta al escaln la figura que
se muestra a continuacin:



Valor en estado estacionario,

y : El valor final de la repuesta al


escaln.

Tiempo de Levantamiento,
r
t : El tiempo transcurrido hasta el
instante en el cual la respuesta al escaln alcanza por primera vez el
valor de

y k
r
. La constante
r
k vara de autor en autor, siendo
usualmente 0.9 o bien 1.

Sobrepasamiento Positivo,
p
M : La mxima cantidad instantnea por
la cual la respuesta al escaln excede a su valor final. Esto es
usualmente expresado como un porcentaje de

y .

Sobrepasamiento Negativo,
u
M : La (valor absoluto de) mxima
cantidad instantnea por el cual la respuesta al escaln cae por debajo
de cero.

Tiempo de Asentamiento,
s
t : El tiempo transcurrido hasta que la
respuesta al escaln entra (sin salir de ella, ni una vez mas) a una
banda de desviacin especfica, , alrededor del valor final. Esta
desviacin, , es usualmente definido como un porcentaje de

y , por
decir 2% al 5%.

(Agregar al programa para que muestre los parmetros descritos
anteriormente)

Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 47
La respuesta al escaln de sistemas de control se puede obtener de las
siguientes maneras:

Conociendo la Funcin de Transferencia del Proceso:

Existen diferentes formas de funciones transferencia, esto dependiendo
del tipo de proceso o sistema de control

F.T. de sistemas de una entrada y una salida (SISO):

) ( ) (
1
2 1
1
2 1
s U
s s a s a a
s b s b b
s Y
n n
n
n
n
+ + + +
+ + +
=


L
L


F.T. de sistemas de entradas mltiples y una salida (MISO):

) ( ) ( ) (
2
1
2 1
1
2 1
1
1
2 1
1
2 1
s U
s s c s c c
s d s d d
s U
s s a s a a
s b s b b
s Y
m m
m
m
m
n n
n
n
n
+ + + +
+ + +
+
+ + + +
+ + +
=


L
L
L
L


F.T. de sistemas de control multivariable o sistemas con entradas
mltiples y salidas mltiples (MIMO):

|
|
.
|

\
|
|
|
.
|

\
|
+ + + +
+ + + +
=
|
|
.
|

\
|
|
|
.
|

\
|
+ + + +
+ + + +
) (
) (
) (
) (
2
1
0 0
0 0
2
1
0 0
0 0
s U
s U
s h h s g g
s f f s e e
s Y
s Y
s d d s c c
s b b s a a
w
w
v
v
t
t
r
r
q
q
p
m
n
n
m
m
L L
L L
L L
L L

En este curso desarrollaremos la respuesta a sistemas del tipo SISO y
MISO.

Conociendo la representacin en Ecuaciones de Estado del proceso:

Existen diferentes maneras de representar un modelo en ecuaciones de
estado, siendo la ms conocida la representacin en su forma cannica
(FC).
Las ecuaciones de estado de sistemas de control pueden tener
diferentes formas, esto dependiendo si se trata de sistemas SISO, MISO,
SIMO, o MIMO.

Ecuaciones de estado de Sistemas SISO (Forma cannica):

Asumamos un sistema de control SISO con funcin de transferencia:

) ( ) (
1
2 1
1
2 1
s U
s s a s a a
s b s b b
s Y
n n
n
n
n
+ + + +
+ + +
=


L
L


Esto puede ser representado por el modelo de estado en su forma
cannica observable:
u D x C y
u B x A
dt
dx
C C
C C
+ =
+ =

Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 48
Donde:
|
|
|
|
|
|
.
|

\
|

=
n
C
a a a a
A
L
L
M O M M M
L
L
3 2 1
1 0 0 0
0 1 0 0
0 0 1 0

|
|
|
|
|
|
.
|

\
|
=
1
0
0
0
M
C
B

|
|
|
|
|
|
.
|

\
|
=
n
T
C
b
b
b
b
C
M
3
2
1


Normalmente la matriz D
C
es una matriz nula.

Ecuaciones de estado de Sistemas MISO (Forma cannica):

Asumamos un sistema de control MISO con funcin de transferencia:

) ( ) ( ) (
2
1
2 1
1
2 1
1
1
2 1
1
2 1
s U
s s c s c c
s d s d d
s U
s s a s a a
s b s b b
s Y
m m
m
m
m
n n
n
n
n
+ + + +
+ + +
+
+ + + +
+ + +
=


L
L
L
L


Este puede ser representado por el modelo de estado de la siguiente
forma:

( ) ( )
|
|
.
|

\
|
+ =
|
|
.
|

\
|
|
|
.
|

\
|
+
|
|
.
|

\
|
=
2
1
2 1 2 1
2
1
2
1
2 0
0 1
0
0
u
u
D D x C C y
u
u
B
B
x
A
A
dt
dx

Donde:
|
|
|
|
|
|
.
|

\
|

=
n
a a a a
A
L
L
M O M M M
L
L
3 2 1
1
1 0 0 0
0 1 0 0
0 0 1 0

|
|
|
|
|
|
.
|

\
|
=
1
0
0
0
1
M
B

|
|
|
|
|
|
.
|

\
|
=
n
T
b
b
b
b
C
M
3
2
1
1


|
|
|
|
|
|
.
|

\
|

=
m
c c c c
A
L
L
M O M M M
L
L
3 2 1
2
1 0 0 0
0 1 0 0
0 0 1 0

|
|
|
|
|
|
.
|

\
|
=
1
0
0
0
2
M
B

|
|
|
|
|
|
.
|

\
|
=
m
T
d
d
d
d
C
M
3
2
1
2


Normalmente las matrices D
1
y D
2
son matrices nulas.

Para obtener la respuesta de los sistemas mencionados es
necesario desarrollar la integracin numrica o la solucin numrica de
ecuaciones diferenciales lineales ordinarias, para ello usaremos los
mtodos de Euler y de Runge-Kutta, ambos descritos en los puntos
anteriores.

Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 49
De los dos mtodos anteriores el de mayor precisin es el de
Runge-Kutta, pero la ms fcil de implementar es el mtodo de Euler.

La representacin del modelo en ecuaciones de estado son un
poco ms complicados de manipular ya que se debe realizar
operaciones con matrices, pero nos permite analizar la controlabilidad y
observabilidad del proceso que se desea controlar.

La representacin del modelo en forma de funcin de
transferencia nos permite analizar la estabilidad del sistema.

Como podemos ver, para analizar sistemas de control se hace
necesario usar ambas formas de representacin de un modelo. Lo que si
est claro es que la respuesta al escaln se puede obtener a partir de
cualquiera de las dos formas de representacin.


o REPUESTA AL ESCALN DE SISTEMAS SISO USANDO SU
FUNCIN DE TRANSFERENCIA:

En este ejemplo de programacin, usaremos el mtodo de
integracin de Euler.

Para ello la funcin de transferencia de un sistema se regresa a
su forma de ecuaciones diferenciales.

Sea la siguiente Funcin de transferencia:

) ( ) (
1
2 1
1
2 1
s U
s s a s a a
s b s b b
s Y
n n
n
n
n
+ + + +
+ + +
=


L
L


Si lo reescribimos en trminos de ecuaciones diferenciales,
tenemos lo siguiente (modelo en ecuaciones diferenciales):

) (
) ( ) ( ) (
) (
) ( ) ( ) (
1 2
2
2
1
1
1
1 2
1
1
t u b
dt
t du
b
dt
t y d
b
dt
t u d
b
t y a
dt
t dy
a
dt
t y d
a
dt
t y d
n
n
n
n
n
n
n
n
n
n
n
+ + + +
= + + + +

L
L

El mtodo de integracin de Euler afirma que:

h
kh X h kh X
dt
t dx ) ( ) ( ) ( +
=

Donde h debe ser muy pequeo, esto para tener una buena
aproximacin, nosotros lo cambiaremos h por T, esto para
representar T como periodo de muestreo.

Si desarrollamos el mtodo de Euler para derivadas de orden
superior tenemos lo siguiente (Desarrollado por Hctor
CHOQUE):
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 50
n
n
n
n
n
n
T
nT kT X T n kT X C T kT X C kT X
dt
t x d
T
T kT X T kT X T kT X kT X
dt
t x d
T
T kT X T kT X kT X
dt
t x d
) ( ) ) 1 ( ( ) ( ) (
) (
) 3 ( ) 2 ( 3 ) ( 3 ) ( ) (
) 2 ( ) ( 2 ) ( ) (
1 1
3 3
3
2 2
2
+
=
+
=
+
=

m L
M

En la ltima ecuacin, los signos m y dependen de si n es par o
impar.

Ahora si aplicamos lo anterior al modelo en ecuaciones
diferenciales tendramos lo siguiente:

) ) 1 ( ( ) ) 2 ( (
) (
) 2 (
) 3 (
) (
) 2 (
) (
) (
) ( ) ) 1 ( (
) (
) 2 (
) 3 (
) (
) 2 (
) (
) (
1
1
1
1
1
2
1
1
0
1
1
2
1
2
2
4
4
3
3
1
1
1
1
2
1
3
3
2
2
1
1
0
1
2
2
1
1
1
1 0
2
1
2
2
4
2
3
1
1
1
2
3
1
2
0
1
2 1
T n kT U
T
b C
T n kt U
T
b C T b C
T kT U
T
b C T b C T b T b
T kT U
T
b C T b C T b T b
kT U
T
b C T b T b T b
nT kT Y
T
C
T n kt Y
T
C T a C
T kT Y
T
C T a C T a T a
T kT Y
T
C T a C T a T a
kT Y
T
C T a T a T a
n
n
n
n
n
n
n
n
n
n
n
n
n
n
n n n
n
n
n
n
n n n
n
n
n
n
n n
n
n
n
n
n
n
n
n
n
n
n
n n n
n
n
n
n n n
n
n
n
n n

+

+ + + +
+
+ + + +

+ + + +
=

+


+ + + +
+
+ + + +

+ + + +

m L L
L
L
L
m L L
L
L
L

Finalmente ordenando y asumiendo ciertas constantes, tenemos:

| |
| |
| | ) ) 1 ( ( ) ( ) ( *
) ( ) 2 ( ) (
1
) (
2 1
0
) 1 (
2 1
0
T n kT U B T kT U B kT U B
A
T
nT kT Y A T kT Y A T kT Y A
A
kT Y
n
n n
n
+
+ + =

L
L


Esta ltima ecuacin ya es posible implementarlo.

Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 51
En la siguiente figura se muestra el resultado de la
implementacin en programa:



o REPUESTA AL ESCALN DE SISTEMAS SISO USANDO SU
REPRESENTACIN EN ECUACIONES DE ESTADO EN SU
FORMA CANNICA OBSERVABLE:

En este ejemplo de programacin usaremos el mtodo de
integracin de Runge-Kutta. Sea la funcin de transferencia:

) ( ) (
1
2 1
1
2 1
s U
s s a s a a
s b s b b
s Y
n n
n
n
n
+ + + +
+ + +
=


L
L


Si llevamos lo anterior a ecuaciones de estado en su forma
cannica observable tenemos:

u D x C y
u B x A
dt
dx
C C
C C
+ =
+ =

Donde:

|
|
|
|
|
|
.
|

\
|

=
n
C
a a a a
A
L
L
M O M M M
L
L
3 2 1
1 0 0 0
0 1 0 0
0 0 1 0

|
|
|
|
|
|
.
|

\
|
=
1
0
0
0
M
C
B

|
|
|
|
|
|
.
|

\
|
=
n
T
C
b
b
b
b
C
M
3
2
1


Normalmente la matriz
C
D es una matriz nula.
Fig.49
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 52
Reescribiendo las ecuaciones de estado del sistema dinmico
usando Runge-Kutta tenemos:

) ( ) (
) 2 2 (
6
1
) ( ) (
4 3 2 1
kT X C kT Y
k k k k kT X T kT X
C
=
+ + + + = +


Donde los cuatro vectores se definen como:

| |
( ) | | ) ( ) (
)
2
( ) (
)
2
( ) (
) ( ) (
3 4
2
3
2
2
1
2
1
T kT U B k kT X A T k
T
kT U B kT X A T k
T
kT U B kT X A T k
kT U B kT X A T k
C C
C
k
C
C
k
C
C C
+ + + =
(

+ +
|
.
|

\
|
+ =
(

+ +
|
.
|

\
|
+ =
+ =


Como se puede ver aparecen trminos como )
2
(
T
kT U + y
) ( T kT U + , para el caso de que ) (t u sea el escaln unitario, no
hay problemas, sus valores siempre sern 1, por lo tanto son
iguales a ) (kT U y esto se usar en la programacin.

En la siguiente figura se muestra el resultado de la
implementacin en programa:


Fig.50
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 53
8. RESPUESTA EN EL DOMINIO DEL TIEMPO DE SISTEMAS DE
CONTROL



9. RESPUESTA EN EL DOMINIO DE LA FRECUENCIA DE SISTEMAS DE
CONTROL



Fig.51
Fig.52
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 54
VIII. PROGRAMACIN PARA PROCESAMIENTO DIGITAL DE SEALES

1. INTRODUCCIN:

El tratamiento digital de seales es una de las tecnologas ms
poderosas que tiene la ciencia y la ingeniera en el siglo XXI.

Con el Tratamiento Digital de Seales se han logrado cambios
revolucionarios en un amplio rango de reas tales como:
Comunicaciones, Radar & Sonar, reproduccin de msica de alta
fidelidad, prediccin de petrleo y minerales, por mencionar algunos.

El rpido desarrollo de la tecnologa de circuitos integrados, MSI,
LSI, VLSI, han estimulado el desarrollo de ordenadores digitales ms
potentes, pequeos, rpidos y baratos. Ellos han permitido construir
sistemas digitales altamente sofisticados, capaces de realizar funciones
y tareas del procesado de seal digital que normalmente eran
demasiado difciles realizarlas con el procesado de seales analgicas.

El tratamiento digital de seales se realiza mediante operaciones
matemticas. Las computadoras de propsito general no son adecuadas
para la implementacin de algoritmos como el filtrado digital y anlisis
de Fourier. Para ello existen los llamados Procesadores Digitales de
Seales, que son microprocesadores diseados especficamente para
manipular tareas del tratamiento digital de seales. Estos dispositivos
han tenido un enorme crecimiento en las dos dcadas pasadas, se usan
en equipos desde telfonos celulares hasta los instrumentos cientficos
mas avanzados.


2. CONVERSIN A/D Y D/A:

La mayora de seales de inters prctico, tales como seales de
voz, biolgicos, ssmicas, radar & sonar, son analgicas.

Para procesar seales analgicas por medios digitales es
necesario convertirlas a formato digital, esto es, transformarlas una
secuencia de nmeros de precisin finita. Los dispositivos que realizan
esta conversin se llaman Conversores A/D (ADCs).

En la Fig.53 podemos ver el proceso de conversin A/D, donde se
observa que la seal que se est procesando tiene diferentes formatos
en los diferentes puntos del proceso de conversin A/D:



Fig.53
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 55
Conceptualmente, podemos ver la conversin A/D como un proceso de
tres pasos:

o Muestreo: sta es la conversin de una seal en tiempo
continuo (Fig.54) a una seal en tiempo discreto obtenida
tomando muestras de la seal en tiempo continuo en instantes
de tiempo discreto (Fig.55). As, si ) (t x
a
es la entrada al
muestreador, la salida es ] [ ] [ n x nT x
a a
, donde T se denomina el
intervalo de muestreo.

o Cuantificacin: sta es la conversin de una seal en tiempo
discreto con valores continuos a una seal en tiempo discreto
con valores discretos (seal digital Fig.56). El valor de cada
muestra de la seal se representa mediante un valor
seleccionado de un conjunto finito de valores posibles.

o Codificacin: En este proceso, cada valor discreto ] [n x
q
se
representa mediante una secuencia binaria de b bits.




Muestreo de seales analgicas: Existen diferentes maneras de
muestrear una seal. El mas usado es el muestreo peridico o
uniforme, ste se describe mediante la relacin:

< < = n nT x n x ], [ ] [

donde ] [n x es la seal en tiempo discreto obtenida tomando
muestras de la seal analgica ) (t x
a
cada T segundos
{denominado periodo de muestreo o intervalo de muestreo, y su
recproco
s
F T = 1 se llama velocidad de muestreo (muestras por
segundo) o frecuencia de muestreo (Hertz)}.

Fig.54 Fig.55
Fig.56
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 56
s
F
n
nT t = =

Sea:
F t Cos A t x
a
2 ), ( ) ( = + =

Si lo muestreamos:
)
2
( ) 2 ( ] [

+ = + =
s
a
F
F
Cos A FnT Cos A nT x

De las ecuaciones anteriores se puede obtener:
s
F
F
f =

O equivalentemente:

2
, = = f con T

f se denomina frecuencia normalizada o relativa.


Seales sinusoidales en tiempo continuo:
< < = + = t F t Cos A t x
a
, 2 ), ( ) (
Propiedades:
- Para todo valor fijo de la frecuencia F, ) (t x
a
es
peridica.
) ( ) ( t x T t x
a p a
= +

T
P
periodo fundamental.

- Las seales en tiempo continuo con frecuencias
diferentes son diferentes.
- El aumento en la frecuencia F resulta en un
aumento de la tasa de oscilacin de la seal, en
sentido de que se incluyen mas periodos en un
intervalo de tiempo dado.


Seales sinusoidales en tiempo discreto:
< < = + = n f n Cos A n x , 2 ), ( ) (

Propiedades:
- Una sinusoide en tiempo discreto es peridica si su
frecuencia f es un nmero racional.
] [ ] [ n x N n x = +

N periodo fundamental.

- La sinusoides en tiempo discreto cuyas frecuencias
estn separadas por un mltiplo entero de 2 , son
idnticas.
- La mayor tasa de oscilacin en una sinusoide en
tiempo discreto se alcanza cuando:

< < = = o

o equivalentemente:
2
1
2
1
2
1
2
1
< < = = f f o f



Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 57
Teorema del muestreo: Dada una seal analgica cualquiera,
Cmo se debe elegir el periodo de muestreo T , lo que es lo
mismo, la velocidad de muestreo
s
F ?
La definicin de un muestreo apropiado es sencilla. Suponga que
se muestrea una seal analgica de alguna manera. Si sta se
puede reconstruir a partir de sus muestras, el proceso de
muestreo fue apropiado. An si los datos muestreados parecen
confusos o incompletos, la informacin mas importante ha sido
capturada si el proceso se puede revertir.

Si la frecuencia ms alta contenida en una seal analgica ) (t x
a

es B F =
max
y la seal se muestrea a una velocidad
B F F
s
2 2
max
> , entonces se puede recuperar totalmente a
partir de sus muestras mediante la siguiente funcin de
interpolacin
Bt
Bt sen
t g

2
) 2 (
) ( =

Entonces una seal continua puede ser muestreada
apropiadamente, solo si sta no contiene frecuencias mayores a
la mitad de la frecuencia de muestreo.

Aliasing: Las seales analgicas:

) 2 ( ) (
0
+ = t F Cos A t x
a

) 2 ( ) ( + = t F Cos A t x
k A

con:
L , 2 , 1 ,
0
= + = k kF F F
s k

muestreadas a
T F
s
1 =

son las mismas.
Por lo tanto ) (t x
A
es un alias de ) (t x
a
.

Vase Fig.57, del ejemplo de programacin.

La seal analgica antes de entrar al sistema de conversin A/D es
pasada a travs de un filtro electrnico pasabajos, esto para remover las
frecuencias que son mayores a la frecuencia de muestreo. Esto se hace
con la finalidad de evitar el fenmeno del aliasing, y este filtro es
llamado Filtro Anti-Alias. Por otro lado, despus de pasar la seal
digital a travs de un convertidor D/A, sta es pasada a travs de un
filtro pasabajos con frecuencia de corte fijada a la frecuencia de
Nyquist, y este filtro es llamado Filtro Reconstructor.

2. ANLISIS DE SEALES Y SISTEMAS DIGITALES EN COMPARACIN
CON EL DE SEALES Y SISTEMAS EN TIEMPO DISCRETO.

Se ha visto que una seal digital se define como una funcin de una
variable independiente entera y sus valores se toman de un conjunto
finito de valores posibles. La utilidad de tales seales es una
consecuencia de las posibilidades que ofrecen los ordenadores digitales.
Los ordenadores operan con nmeros, que se representan con una
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 58
cadena de ceros y unos. La longitud de esta cadena (longitud de
palabra) es fija y generalmente es de 8, 12, 16 32 bits. La longitud de
palabra finita causa complicaciones en el anlisis de los sistemas de
procesado digital de seales.

Para evitar estas complicaciones, se desprecia la naturaleza
cuantificada de las seales y sistemas digitales en nuestro curso, y los
consideraremos como seales y sistemas en tiempo discreto, por esta
misma razn no se trata a fondo los temas de cuantificacin y
codificacin.

3. SIMULACIN DEL MUESTREO DE UNA SEAL ANALGICA, Y EL
FENMENO ALIASING.




4. CONVOLUCIN Y CORRELACIN

CONVOLUCIN: Es una operacin matemtica formal, tal como
lo son la adicin, multiplicacin, e integracin. Es una tcnica
matemtica que combina dos seales y produce una tercera
seal. sta es la tcnica ms importante en el tratamiento
Fig.57
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 59
digital de seales porque relaciona las tres seales de inters: la
de entrada, salida y la respuesta al impulso.

Si conocemos la respuesta al impulso del sistema, entonces
podemos calcular la respuesta del sistema para cualquier tipo de
entrada. Esto significa que conocemos todo acerca del sistema.

Matemticamente, la convolucin se representa de la siguiente
manera:
] [ ] [ ] [ n h n x n y =

En Fig.58 podemos ver esta operacin en forma grfica.




En Fig.58, la operacin de la convolucin se representa con un
asterisco . Cuidado en los lenguajes de programacin el
significa multiplicacin.

Si la entrada a un sistema lineal invariante en el tiempo (LTI) y
causal es una secuencia causal, es decir, si ] [n x es una
secuencia de longitud N (de 0 a N-1), y es ] [n h una secuencia de
longitud M (de 0 a M-1), la convolucin de las dos seales
] [ ] [ ] [ n h n x n y = es una secuencia de longitud N+M-1 (de 0 a
N+M-2).

2 0 ; ] [ ] [ ] [
1
0
+ =

=
N M n k n x k h n y
M
k


Esta ltima expresin es a veces llamada convolucin por el lado
de la salida. Y ste es el algoritmo que implementaremos en
nuestro ejemplo de programacin.

Programacin de la convolucin:

Convolucionaremos una seal de entrada de longitud 81 y la
respuesta al impulso de longitud 31, en este caso usaremos el
kernel de un filtro pasa-bajo y tambin el de un filtro pasa-alto.

Tenemos los siguientes datos (obsrvese Fig.58):

La seal de entrada es la siguiente secuencia:

x(n) = n/20 - 2*Sin(n*0.3) ; 0 n 80

El kernel de los filtros son los siguientes:

Fig.58
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 60
Filtro pasa-bajo:

h(0) = h(30) = 0
h(1) = h(29) = -0.0058
h(2) = h(28) = -0.0116
h(3) = h(27) = -0.0173
h(4) = h(26) = -0.0231
h(5) = h(25) = -0.0277
h(6) = h(24) = -0.0329
h(7) = h(23) = -0.0371
h(8) = h(22) = -0.0414
h(9) = h(21) = -0.045
h(10) = h(20) = -0.0481
h(11) = h(19) = -0.0502
h(12) = h(18) = -0.0523
h(13) = h(17) = -0.0535
h(14) = h(16) = -0.0544
h(15) = 0.945
Filtro pasa-alto:

h(0) = h(30) = 0
h(1) = h(29) = 0.0058
h(2) = h(28) = 0.0116
h(3) = h(27) = 0.0173
h(4) = h(26) = 0.0231
h(5) = h(25) = 0.0277
h(6) = h(24) = 0.0329
h(7) = h(23) = 0.0371
h(8) = h(22) = 0.0414
h(9) = h(21) = 0.045
h(10) = h(20) = 0.0481
h(11) = h(19) = 0.0502
h(12) = h(18) = 0.0523
h(13) = h(17) = 0.0535
h(14) = h(16) = 0.0544
h(15) = 0.055

El resultado de la programacin ser parecida a la mostrada en
Fig.59.

Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 61


CORRELACIN: El concepto de correlacin se puede explicar
mejor usando un ejemplo.





1.




Fig.57
Fig.59
Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 62

Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 63



Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 64




Simulacin de Sistemas de: Control Automtico de Procesos, Procesamiento Digital de Seales; y Matemticas
H D C L Pg. 65

También podría gustarte