Sunteți pe pagina 1din 182

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA


Material Complementario MATLAB

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
PROGRAM A INGENIERIA ELECTRNICA

Material Complementario MATLAB


JUAN OLEGARIO MONROY VASQUEZ

SOGAMOSO
Enero 2015

1
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

INDICE DE CONTENIDO

UNIDAD 1. HERRAMIENTAS DE MATLAB 1

CAPITULO 1: ENTRADA/SALIDA Y FUNCIONES DE MATLAB 2

Leccin 1: Manejo de archivos 3

Leccin 2: Archivos *.m 6

Leccin 3: Grficas Bidimensionales. 9

Leccin 4: Grficas Tridimensionales 12

Leccin 5: Funciones. 15

CAPITULO 2: TOOLBOX DE MATLAB 18

Leccin 6: Introduccin a los Toolbox de Matlab. 19

Leccin 7: Toolbox de Comunicaciones. 23

Leccin 8: Simulacin de un Sistema de Comunicaciones 37

Leccin 9: Toolbox de Sistemas de Control. 43

Leccin 10: Simulacin de un sistema de control 75

CAPITULO 3: SIMULINK. CONCEPTOS BASICOS 80

Leccin 11: Caractersticas 80

Leccin 12: Entorno de trabajo en Simulink 82

Leccin 13: Modelos 86

Leccin 14: Subsistemas. 93

Leccin 15: Subsistemas condicionados en su ejecucin. 96

2
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

ACTIVIDAD DE AUTOEVALUACIN UNIDAD 1 107

FUENTES DOCUMENTALES UNIDAD 1 108

UNIDAD 2. SIMULINK 111

CAPITULO 1: MODELAR CON SIMULINK 113

Leccin 1. Modelar Ecuaciones 113

Leccin 2: Modelar con Control de Flujo Condicional 118

Leccin 3: Modelar con control de flujo Iterativo. 123

Leccin 4: Ejemplos de Modelado. 127

Leccin 5: Consejos para la Construccin de Modelos. 132

CAPITULO 2. NAVEGAR POR LOS MODELOS 132

Leccin 6: Explorar, Buscar y Navegar por los Modelos. 133

Leccin 7: Ejecutar la Simulacin del modelo. 139

Leccin 8: Importar y Exportar Datos. 142

Leccin 9: Establecer la Configuracin de la Simulacin. 147

Leccin 10: Resultados de la Simulacin. 148

CAPTULO 3 BLOQUES, SEALES Y FUNCIONES S 152

Leccin 11: Bloques y Seales. 152

Leccin 12: Tipos de datos 158

Leccin 13: Funciones S 159

Leccin 14: Usar Funciones S en los modelos 160

Leccin 15: Como trabaja una funcin S y como se escribe en MATLAB 163

3
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

ACTIVIDAD DE AUTOEVALUACIN UNIDAD 2 165

FUENTES DOCUMENTALES UNIDAD 2 166

4
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

LISTADO DE TABLAS

Tabla 1. Funciones bsicas para crear grficas en 2D. 9

Tabla 2. Funciones para modificacin de las grficas. 10

Tabla 3. Otras Funciones graficas bidimensionales. 11

Tabla 4. Otras Funciones grficas tridimensionales 14

Tabla 5. Tipos de modulacin analgica que soporta el toolbox. 27

Tabla 6. Sintaxis de los distintos Tipos de modulacin analgica que soporta el


toolbox. 28

Tabla 7. Tipos de modulacin digital que soporta el toolbox. 29

Tabla 8. Sintaxis de los distintos Tipos de modulacin digital que soporta el


toolbox. 30

Tabla 9. Tipos de filtros 37

Tabla 10. Comandos empleados para Modelar sistemas de control. 44

Tabla 11. Sintaxis y ejemplos de comandos empleados para Modelar sistemas


de control. 44

Tabla 12. Sintaxis y ejemplos de comandos empleados para interconectar


modelos. 56

Tabla 13. Sintaxis y ejemplos de comandos empleados para el anlisis de


sistemas de control. 64

Tabla 14. Sintaxis y ejemplos de comandos empleados para el anlisis de la


respuesta en frecuencia de sistemas de control. 68

5
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Tabla 15. Parmetros de un Motor de Corriente Continua 76

Tabla 16. Relacin entre sentencias en C y bloques de SIMULINK I 118

Tabla 17. Relacin entre sentencias en C y bloques de SIMULINK II. 123

Tabla 18. Bloques virtuales. 153

Tabla 19. Libreras y bloques de SIMULINK de uso comn. 157

Tabla 20. Tipo de datos soportados por SIMULINK. 159

6
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

LISTADO DE GRFICOS Y FIGURAS

Figura 1. Editor de Archivos *.m. 7

Figura 2. Funcin complejo.m en el editor de Archivos de Matlab 8

Figura 3. Ejecucin del script complejo.m 8

Figura 4. Ejecucin del comando plotyy() 9

Figura 5. Grafica de la funcin Seno. 10

Figura 6. Utilizacin del comando subplot. 11

Figura 7. Grfica de una hlice. 12

Figura 8. Grafica de la superficie con el comando mesh. 13

Figura 9. Grafica de la superficie con el comando surf. 14

Figura 10. Escritura de la Funcin raices2.m 17

Figura 11. Uso de la Funcin raices2.m. 17

Figura 12. Esquema general de los toolboxes. 20

Figura 13. Utilizacin de imread y imshow del Toolbox Procesamiento de


Imagenes. 21

Figura 14. Ventana Figure Matlab. Imagen a color 21

Figura 15. Utilizacin de rg2gray del Toolbox Procesamiento de Imagenes. 22

Figura 16. Ventana Figure Matlab . Imagen en escala de grises. 22

Figura 17. Modulacin y demodulacin por amplitud. 29

7
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 18. Diagrama de dispersin. 34

Figura 19. Primeros 40 datos binarios. 38

Figura 20. Primeros 10 Smbolos 39

Figura 21. Respuesta al impulso del sistema. 40

Figura 22. Patrn de ojo de la seal filtrada 41

Figura 23. Seal recibida antes y despus del filtrado. 42

Figura 24. Interconexin en paralelo de dos modelos LTI. Adicin y


sustraccin 53

Figura 25. Interconexin en serie 54

Figura 26. Modelo compuesto. 56

Figura 27. Ejemplo de interconexin de sistemas 58

Figura 28. Interconexin de un sistema en paralelo 61

Figura 29. Interconexin de un sistema en serie 62

Figura 30. Interconexin de un sistema con retroalimentacin negativa 62

Figura 31. Diagrama generalizado de un sistema retroalimentado 63

Figura 32. Respuesta al impulso del sistema. 66

Figura 33. Respuesta al sistema al escaln unitario 68

Figura 34. Diagrama de bode del sistema. 70

Figura 35. Diagrama del sistema con una el rango de frecuencia ampliado. 70

Figura 36. Comparacin de los diagramas de Bodes continuo y discretos 71

8
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 37. Diagrama de Nyquist del sistema 72

Figura 38. Lazos de retroalimentacin 73

Figura 39. Diagrama del lugar geomtrico de las races del sistema 75

Figura 40. Esquema del circuito elctrico y diagrama mecnico rotacional 75

Figura 41. Acceso a SIMULINK. 83

Figura 42. Pantalla inicial de SIMULINK 83

Figura 43. Ventana de Insercin de bloques y simulacin, Editor de Modelos.


84

Figura 44. Ventana de dialogo para realizar los reportes. 85

Figura 45. Creando un nuevo modelo. 86

Figura 46. Diagrama de bloques del ejemplo 87

Figura 47. Navegador de libreras 88

Figura 48. Bloques organizados dentro del editor de modelo 89

Figura 49. Puerto de entrada y de salida. 89

Figura 50. Conexin de los bloques. 89

Figura 51. Ramificacin de una conexin. 90

Figura 52. Cuadro de dilogo para la configuracin de los parmetros de


simulacin 91

Figura 53. Inicio y/o detencin de la Simulacin 91

Figura 54. Respuesta de la simulacin. 92

Figura 55. Anotaciones o comentarios. 93

9
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 56. Ejemplo del subsistema. 94

Figura 57. Seleccin de bloques 95

Figura 58. Seal de habilitacin de un subsistema. 96

Figura 59. Ventana de dilogo para el ajuste de las salidas. 97

Figura 60. Ventana de dilogo para el ajuste de estados. 98

Figura 61. Apagado de la seal de control. 99

Figura 62. Modelo de un subsistema habilitado. 100

Figura 63. Indicador del funcionamiento de cada bloque. 100

Figura 64. Nivel de seal. 101

Figura 65. Subsistema activado por disparo. 102

Figura 66. Ventana de dilogo para la seleccin del disparo. 102

Figura 67. Subsistema de ascenso, descenso o ambos. 103

Figura 68. Mostrar el puerto de salida. 103

Figura 69. Diagrama de flujo de un subsistema disparado y habilitado. 104

Figura 70. Smbolo del subsistema habilitado y disparado. 105

Figura 71. Ejemplo de un subsistema disparado y habilitado. 105

Figura 72. Rectificador de onda completa 106

Figura 73. Respuesta del ejemplo. 106

Figura 74. Bloques del ejemplo de conversin de unidades. 114

Figura 75. Bloques conectados. 114

10
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 76. Diagrama de bloques de la ecuacin diferencial. 115

Figura 77. Visualizacin de la respuesta de la ecuacin diferencial. 116

Figura 78. Modelo del ejemplo como funcin de transferencia. 117

Figura 79. Diagnstico de un lazo invlido 118

Figura 80. Implementacin de la sentencia si-sino en SIMULINK. 119

Figura 81. Utilizacin de If- Else 121

Figura 82. Diagrama del subsistema If Action 121

Figura 83. Implementacin de la sentencia Switch en SIMULINK. 122

Figura 84. Implementacin de la sentencia While en SIMULINK 123

Figura 85. Implementacin de la sentencia For en SIMULINK. 125

Figura 86. Factorial de un nmero en Matlab. 126

Figura 87. Programacin de un For en Simulink 127

Figura 88. Simulacin de un sistema de orden 1. 128

Figura 89. Sistema Mecnico. 129

Figura 90. Simulacin Sistema Mecnico. 130

Figura 91. Circuito RLC serie 130

Figura 92. Simulacin sistema RLC serie 131

Figura 93. Editor de modelo. 133

Figura 94. rbol de jerarqua. 134

Figura 95. Panel de contenido. 135

11
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 96. Barra de men principal. 135

Figura 97. Barra de bsqueda. 136

Figura 98. Controles de la barra de bsqueda. 136

Figura 99. El buscador. 137

Figura 100. Opciones de filtrado. 137

Figura 101. Panel de bsqueda avanzado. 138

Figura 102. Navegador de modelo. 139

Figura 103. Localizacin del botn de inicio 141

Figura 104. Localizacin del botn de parada, pausa y la barra de progreso de


la simulacin. 141

Figura 105. Modelo con dos entradas. 144

Figura 106. Explorador de modelo para el ajuste de la configuracin. 148

Figura 107. Modelo para observar el uso del Scope. 149

Figura 108. Modelo para observar el uso de las variables de retorno. 149

Figura 109. Modelo para observar el uso del bloque Workspace. 150

Figura 110. Visor de diagnstico de la simulacin. 151

Figura 111. Bloque que genera el error. 152

Figura 112. Ventana de dilogo de propiedades del bloque. 154

Figura 113. Ventana de dilogo de anotaciones del bloque. 155

Figura 114. Bloque mostrando sus propiedades. 156

12
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 115. Ventana de dilogo de llamados del bloque. 156

Figura 116. Relacin entre un bloque de funcin S, su ventana de dilogo y el


archivo fuente que define el comportamiento del bloque. 161

Figura 117. Parmetros de la S- funcin 162

Figura 118. Esquema de la relacin Matemtica de los bloques 163

Figura 119. Como SIMULINK ejecuta una simulacin. 164

13
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

UNIDAD 1. HERRAMIENTAS DE MATLAB

INTRODUCCIN

En la primera Unidad se presenta las herramientas de Matlab, que es el principal


de los paquetes software objeto del curso, en donde el estudiante se familiarizar
con el entorno interactivo del programa as como con los comandos, toolbox y
funciones, conociendo las caractersticas tcnicas, operativas y ventajas de
empleo de dicho software.

JUSTIFICACION

En electrnica es de gran relevancia esta temtica puesto que los lenguajes de


alto nivel forman parte de las herramientas diarias de trabajo tanto de estudiantes
como de profesionales y tcnicos en el rea. Estos tipos de software son
empleados en infinidad de aplicaciones que requieren el manejo de complejos
modelos matemticos o en su defecto de operaciones iterativas que en un
momento dado pueden servir de apoyo en el diseo, simulacin y anlisis tanto de
circuitos anlogos como digitales as como en el modelado de sistemas de control,
de telecomunicaciones, de audio, etc.

INTENCIONALIDADES FORMATIVAS

Propsitos

Se pretende desglosar el manejo general de Matlab desde el punto de vista de las


herramientas avanzadas para desarrollar habilidades que le permitan al estudiante
identificar y utilizar los aplicativos en el desarrollo de soluciones ptimas a la hora
de abordar los problemas y actividades propuestos, al tiempo que se contribuye a
generar esquemas mentales en el estudiante con los que podr abordar por su
propia cuenta tanto el diseo y desarrollo de soluciones a problemticas
planteadas como el aprendizaje de otras herramientas software.

1
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Objetivos

Que el estudiante ample complemente y profundice en las caractersticas


operativas, tcnicas, los beneficios del aplicativo Matlab, desde el punto de vista
de las herramientas de entrada/salida y manejo de toolbox, para que as puedan
emplear y diferenciar las ventajas operativas que ofrecen los paquetes software de
anlisis numrico sobre el desarrollo manual.

Competencias

El estudiante conoce las caractersticas y posibilidades que le brindan las


herramientas E/S y los toolbox de Matlab, adems conoce los procedimientos
sistemticos para interactuar con stos y dar soluciones a partir de su
implementacin en problemas electrnicos.

Metas de aprendizaje

El estudiante aprender de forma individual las temticas del mdulo del curso
para que as pueda aplicar lo aprendido en cada tema mediante ejercicios y
actividades tanto individuales como grupales en las que se desarrollen pequeos
programas o aplicaciones en donde el estudiante se valga de toda la informacin
disponible, de su espritu investigativo y del trabajo en grupo para buscar la
manera de generar las soluciones ms ptimas y funcionales ante las
problemticas planteadas.

Denominacin de Captulos

Captulo 1. Entrada/Salida y funciones de Matlab


Captulo 2. Toolbox de Matlab
Captulo 3. Simulink Conceptos Bsicos

CAPITULO 1: ENTRADA/SALIDA Y FUNCIONES DE MATLAB

Introduccin. MATLAB es una poderosa herramienta de programacin que


permite realizar diversas aplicaciones, con la ventaja de poseer un lenguaje
sencillo e intuitivo y una gran cantidad de comando que simplifica la forma de

2
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

escribirlos, MATLAB dispone de funciones de lectura/escritura anlogas, similares


a las del lenguaje C que facilitan la importacin/exportacin de los datos.

Leccin 1: Manejo de archivos

La introduccin de datos en MATLAB puede hacerse de la siguiente manera:

Cargando un archivo externo (comando Load)


Creando una secuencia de entrada en el editor de comandos (Editor de
archivos .m).
Ejecutando alguna funcin desde la ventana de comandos.
Desde la ventana de espacio de trabajo (workspace) directamente.

Abriendo un archivo. En ciertas ocasiones es necesario escribir programas que


necesitan operar con datos que residen en otros archivos o escribir los resultados
de las operaciones de los programas hechos en MATLAB.

Para poder abrir un archivo es necesario verificar su existencia. El comando para


abrir un archivo es fopen, este comando posee varios argumentos, los principales
son el nombre del archivo y la forma en el que MATLAB interactuar con ste. El
comando retorna un valor entero mayor a 2 que es el nmero de identificacin del
archivo, este ser usado para escribir y/o leer del archivo. Los tipos de interaccin
con el archivo son:

r: si se desea abrir un archivo slo para leer.


w: si se desea abrir un archivo slo para escribir.
r+: si se desea abrir un archivo para leer y escribir.
a: si se desea aadir la salida del programa a un archivo. En el caso de
que no exista MATLAB crear el archivo. Si el archivo existe MATLAB
aadir la salida del programa al contenido del archivo.

Se pueden obtener todas las opciones dadas por este comando, digitando en la
ventana de comandos help fopen

Estructura del comando:

Variable = fopen (nombre_del_archivo)

3
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Ejemplo:

Abrir un archivo que se llama prueba.dat, que existe y reside en el directorio de


archivos que se est trabajando y se desea escribir sobre este, entonces la
estructura quedara.

>>Identificador = fopen (prueba.dat, w)


MATLAB retorna el valor que identifica el archivo
Identificador = 3

Leyendo desde un archivo. Una vez abierto el archivo, para leerlo se utiliza el
comando fscanf. Este comando tiene tres argumentos, el primero es el
identificador que ha sido obtenido del comando fopen. El segundo es el formato
del dato en el cual est escrito en el archivo y el tercero es opcional que es el
nmero de datos que desean ser ledos.

Ejemplos de la especificacin de formatos:

%d: Lee los datos como enteros. Si se usa esta sentencia de formato este
leer hasta encontrar el punto decimal.
%f: Lee los nmeros a la derecha del punto decimal.
%s: lee los datos de una cadena de caracteres. Ignorando los espacios en
blanco y los caracteres de control
%c: lee los datos de una cadena de caracteres, sin embargo los espacios
en blanco y los caracteres de control son preservados.

Estructura del comando

>>Variable = fscanf (identificador, especificacin de formatos)

Ejemplo:

Se posee un archivo llamado datos.txt (archivo creado en un editor de texto) que


contiene los nmeros del 1 al 10. En donde se asume que el archivo est
nombrado correctamente y se encuentra en el directorio en el que se est
trabajando.

4
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

datos.txt :
1 2 3 4 5 6 7 8 9 10

>> Identificador = fopen (datos.txt, r)

Identificador =
3

>> a = fscanf(identificador, %d)

a=
1
2
3
4
5
6
7
8
9
10

Si se utilizara otro especificador de formatos, la repuesta de MATLAB sera:

>> a = fscanf(identificador, %s)

a=
12345678910

Escribiendo a un archivo. Para poder escribir sobre un archivo debe estar


abierto primero. El comando para realizar esta funcin es fprintf, el formato para su
ejecucin es la siguiente:

fprintf(identificador de archivo, formato, variable)

El identificador de archivo es el valor retornado por el comando fopen. El formato


especifica como se desea que sea escrito el valor y la variable es el nombre donde
se tiene guardado el dato.

5
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Por ejemplo si se escribe

A=5
>>fprintf(identificador, %d, A)

En el archivo que se especfico se escribir el valor 5, como un entero debido que


ese fue el formato que se le especific.

Importar y exportar datos desde otras aplicaciones. Es posible traer datos


desde otras aplicaciones como por ejemplo desde EXCEL o desde un editor de
texto, se puede hacer de diferentes formas:

se puede utilizar Copiar y Pegar para copiar datos de la aplicacin original


y depositarlos entre los corchetes de una matriz o vector, en una lnea de
comandos de MATLAB.

Se puede crear un fichero *.m con un editor de textos.

Es posible leer un flat file escrito con caracteres ASCII. Un flat file es un
fichero con filas de longitud constante separadas con Intro, y varios datos
por fila separados por espacios en blanco. Estos ficheros pueden ser ledos
desde MATLAB con el comando load. Si se ejecuta load datos.txt el
contenido del archivo se deposita en una matriz con el nombre datos.

El comando textread permite leer datos de cualquier tipo de un fichero


siempre que estn convenientemente separados.

Los comandos xlsread y xlswrite permiten leer y escribir un archivo de


Excel respectivamente.

Los comandos cvsread y cvswrite permiten leer y escribir un archivo que


contiene nicamente datos numricos y que estn separados por comas.

Leccin 2: Archivos *.m

Son archivos que contienen instrucciones escritas; existen dos tipos de archivos
*.m. los archivos de funcin que reciben argumentos de entrada para proporcionar
uno o varios datos de salida y los archivos *.m de escritura (script) en los cuales

6
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

se ejecutan una serie de sentencias de MATLAB. Un script es una secuencia de


comandos que se pueden ejecutar a menudo, se guardan en archivos de
extensin *.m para no tener que escribirlos de nuevo. Un script puede llamar a
otros ficheros script para ejecutar sus comandos.

El editor es la ventana donde se escriben este tipo de archivos y permite al


programador o al diseador escribir los archivos en texto ASCII con la extensin
*.m (aunque pueden ser creados con cualquier otro editor de textos ASCII), estos
contienen el conjunto de comandos o la definicin de funciones creadas por el
usuario. La importancia de los archivos m-files, radica en que al ser llamados
desde la ventanas de comandos se ejecutan los comandos escritos de manera
secuencial, siempre y cuando se encuentren en una de las carpetas de trabajo del
Matlab. Este editor no solo permite escribir los cdigos, sino, que tambin permite
depurarlos, es decir, ejecutarlos paso a paso para verificar si contienen errores.
(Ver Figura 1).

Figura 1. Editor de Archivos *.m.

Fuente: Captura de Matlab versin trial (2008).

A continuacin se muestra la escritura de un archivo script que calcula la magnitud


y el ngulo de un nmero complejo. Se escriben las instrucciones en el editor, se
guarda el archivo como complejo.m, y se llama desde la ventana de trabajo en
matlab.

7
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 2. Funcin complejo.m en el editor de Archivos de Matlab

Fuente: Captura de Matlab versin trial (2008).

Por ejemplo para calcular la magnitud y el ngulo del Numero complejo Z=2+3j, se
asigna a la variable a el valor de 2 y a la variable b el valor de 3, y se llama el
script complejo, lo cual automticamente arroja el resultado en las variables m y
ang.

Figura 3. Ejecucin del script complejo.m

Fuente: Captura de Matlab versin trial (2008).

8
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Leccin 3: Grficas Bidimensionales.

Las grficas en 2D de MATLAB estn orientadas a la representacin grfica de


vectores y matrices. Para realizar todas las operaciones grficas este programa
utiliza un tipo especial de ventanas. Algunos comandos abren una nueva ventana
mientras que otros realizan operaciones sobre una ventana abierta con
anterioridad.

MATLAB posee cinco funciones bsicas para crear grficos bidimensionales, los
cuales se diferencian en el valor de las escalas que son desplegadas en los ejes
de las abscisas y de las ordenadas. Las funciones se pueden observar en la
siguiente tabla.

Tabla 1. Funciones bsicas para crear grficas en 2D.

Comando Descripcin
plot() Crea un grfico a partir de vectores y matrices, con escalas lineales sobre
ambos ejes
plotyy () Dibuja dos funciones sobre una misma ventana grfica con escalas
lineales independientes en el eje de las ordenadas una a la derecha y otra
a la izquierda de la figura. Figura 4
loglog() Genera grficos con escalas logartmicas en ambos ejes
semilogx () Crea grficos con una escala logartmica en el eje de las abscisas y lineal
en el de las ordenadas
semilogy () Genera grficos con una escala lineal en el eje de las abscisas y
logartmica en el de las ordenadas
Polar() Crea un grafico en coordenadas polares
Fuente: Armando Portela (2008)

Figura 4. Ejecucin del comando plotyy()


200 0.8

150 0.6

100 0.4

50 0.2

0 0

-50 -0.2

-100 -0.4

-150 -0.6

-200 -0.8
0 2 4 6 8 10 12 14 16 18 20

Fuente: Captura de Matlab versin trial (2008).

9
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Existen otras funciones utilizadas para modificar las grficas generadas


aadindole ttulos a las grficas y a los ejes, etc. Estos comandos son:

Tabla 2. Funciones para modificacin de las grficas.


Comando Descripcin
title(ttulo) Le coloca ttulo al grfico
xlabel(ejeX) Le proporciona un ttulo al eje de las abscisas. Con xlabel off
desaparece.
xlabel(ejeY) Le proporciona un ttulo al eje de las ordenadas. Con ylabel off
desaparece.
text(x,y,texto) Introduce texto en lugar establecido por las coordenadas x e y, si estos
son vectores, el texto se repetir cada par de elementos .
gtext(texto) Introduce el texto en la posicin en el que el puntero del ratn se
encuentre en la grfica y se haga clic
grid() Activa la introduccin de una cuadrcula sobre la grfica. Con el
comando grid off este se desactiva.
Fuente: Armando Portela (2008)

Ejemplo: Graficar la funcin seno, en el intervalo de -10 a 10, colocndole un


ttulo y una marquilla, y activndole la funcin de cuadrcula (grid) (Figura 5).
>> x=[-10: 0.1:10];
>> y=sin(x);
>> plot(x,y)
>> grid
>> gtext('Grfica de seno')
>> title('Seno de x')

Figura 5. Grafica de la funcin Seno.


Seno de x
1

0.8

0.6

0.4

0.2

-0.2

-0.4
Grfica de seno
-0.6

-0.8

-1
-10 -8 -6 -4 -2 0 2 4 6 8 10

Fuente: Captura de Matlab versin trial (2008).

10
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

El comando subplot permite dividir una ventana grfica en m particiones


horizontales y n verticales, con el propsito de representar mltiples grficos en
ella. Cada una de estas subventanas tiene sus propios ejes y conservan algunas
caractersticas comunes con las otras subventanas. La forma general de este
comando es: subplot(m,n,i), donde m y n son el nmero de subdivisiones en filas
y columnas, e i es la subdivisin que se convierte en activa. Las subdivisiones se
numeran consecutivamente empezando por las de la primera fila, siguiendo por
las de la segunda, etc. Por ejemplo, la secuencia de comandos que se observa en
la figura 6 genera cuatro grficos en la misma ventana

Figura 6. Utilizacin del comando subplot.

Fuente: Captura de Matlab versin Trial (2008).

Otras funciones grficas bidimensionales son mencionadas en la tabla 3.

Tabla 3. Otras Funciones graficas bidimensionales.

Comando Descripcin
bar() Crea diagramas de barras
barh() Realiza diagramas de barras horizontales
bar3() Realiza diagramas de barras con aspecto 3-D
bar3h() Crea diagramas de barras horizontales con aspecto 3-D
pie() Genera grficos con forma de tarta
pie3() Genera grficos con forma de tarta y aspecto 3-D
area() similar plot(), pero rellenando en ordenadas de 0 a y
errorbar() representa sobre una grfica mediante barras valores de errores
compass() Dibuja los elementos de un vector complejo como un conjunto de vectores
partiendo de un origen comn
Fuente: Armando Portela (2008)

11
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Leccin 4: Grficas Tridimensionales

MATLAB tiene varias posibilidades para realizar grficas tridimensionales. Una de


las maneras de realizar esto es la utilizacin del comando plot3, que es la analoga
de la funcin plot en los grficos bidimensionales, con la diferencia que con este
comando es necesario definir tres vectores, una para cada eje, en vez de dos.

La estructura de este comando es la siguiente:

plot3 (vector_3, vector_2, vector_1);

Un ejemplo de este comando es la de graficar una hlice. (ver Figura 7).

>> X = [-2:0.01:2]; % Define el primer vector


>> plot3 (cos(2*pi*X), sin(2*pi*X), X); % En esta lnea se definen los otros 2
vectores y se grafica la funcin.
>> grid

Figura 7. Grfica de una hlice.

-1

-2

-3
1
0.5 1
0 0.5
0
-0.5 -0.5
-1 -1

Fuente: Captura de Matlab versin trial (2008).

12
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Para dibujar superficies en un espacio tridimensional hay dos comandos bsicos:


mesh que grafica la estructura en forma de alambres (transparente), y surf que
genera las superficies opacas. Por ejemplo se grafica la silla de montar definida
por la funcin z=x2 - y2. (Ver Figura 8).

>> [X,Y] = meshgrid(-2:.1:2, -2:.1:2); %este comando convierte los vectores


en matrices para poder realizar la grfica
>> Z = X.2 - Y.2;
>> mesh(X, Y, Z)

Figura 8. Grafica de la superficie con el comando mesh.

-1

-2

-3

-4
2
1.5
1 2
0.5 1.5
1
0 0.5
-0.5 0
-1 -0.5
-1
-1.5
-1.5
-2 -2

Fuente: Captura de Matlab versin trial (2008).

La diferencia de esta con la grfica (ver Figura 9.) anterior radica en el comando
que se utiliz en la ltima lnea del cdigo anterior, se cambi mesh por surf.

13
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 9. Grafica de la superficie con el comando surf.

-1

-2

-3

-4
2
1.5
1 2
0.5 1.5
1
0 0.5
-0.5 0
-1 -0.5
-1
-1.5
-1.5
-2 -2

Fuente: Captura de Matlab versin trial (2008).

Otras funciones de grficas tridimensionales son relacionadas en la tabla 4

Tabla 4. Otras Funciones grficas tridimensionales

Comando Descripcin
trisurf Similar a surf, dibuja una superficie 3-D a partir de los valores de una
funcin en una malla de tringulos.
meshz mesh con plano de referencia en el valor mnimo y una especie de
cortina en los bordes del dominio de la funcin
trimesh Similar a mesh, dibuja una superficie 3-D a partir de los valores de una
funcin en una malla de tringulos.
surfl Utilizada para controlar la iluminacin determinando la posicin e
intensidad de un foco de luz.
Light Crea un foco de luz en los ejes actuales capaz de actuar sobre
superficies 3-D. Se le deben pasar como argumentos el color, el estilo
(luz local o en el infinito) y la posicin.
colorbar Adiciona el mapa de colores activo a la figura, redimensionando los
ejes para hacerle un lugar. se puede colocar horizontal o verticalmente.
sphere Dibuja una esfera 3-D de radio unidad.
Cylinder Dibuja una superficie cilndrica de radio 1 y altura 1, con 20 facetas
laterales.

Fuente: Armando Portela (2008)

14
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Leccin 5: Funciones.

Las funciones de MATLAB se asemejan a las funciones matemticas, en la


medida en que representan una regla que modifica una variable de entrada
transformndola en una variable de salida. La funcin en matlab es un llamado a
conjunto de comandos, donde se le proporciona un dato de entrada y esta
proporciona un resultado de salida.

En muchas ocasiones es necesario definir nuevas funciones o emplear funciones


ya existentes para anexarlas a los programas que se estn desarrollando en un
momento dado, las funciones en Matlab son una herramienta muy til en casos en
los que se requiere realizar operaciones repetitivas y que son aplicables a
diferentes programas o a diferentes partes del mismo programa, se trata de piezas
de cdigo escritas y guardadas de una forma determinada en archivos con
extensin *.m que pueden ser llamados por un programador para ejecutar tareas
determinadas y as puedan ser usada en diversas ocasiones. Por tal motivo se
hace necesario entender cmo debe ser creada y posteriormente empleada una
funcin.

Reglas para escribir funciones. Para elaborar funciones, se debe generar un


nuevo archivo de texto con un nombre adecuado para reconocer la funcin, el
archivo debe tener la extensin *.m, para que MATLAB lo reconozca.

La creacin de funciones en MATLAB presenta algunas diferencias respecto de la


elaboracin de programas. La ms relevante es la siguiente:

Una funcin incluye en la primera lnea del archivo una cabecera donde se
especifica su nombre, cules y cuntos argumentos tiene, y cules y cuntos
valores retorna. Dicha cabecera se identifica, adems, por la palabra function, tal
y como se muestra en el siguiente ejemplo:

function a=producto(x,y)

Como se puede apreciar, se define una funcin de nombre producto, que tiene dos
argumentos (x e y) y devuelve un valor en la variable a.

15
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

La primera lnea es llamada lnea de definicin de funcin, donde se le


proporciona el nombre, el nmero y el orden de los argumentos de entradas y
salidas. Siguiendo la lnea de definicin de funcin, se debe realizar comentarios
anteponindoles el smbolo porcentual (%). Esas lneas son llamadas texto de
ayuda y son mostradas en respuesta del comando help seguido del nombre de la
funcin. Las siguientes lneas constituyen el cuerpo de la funcin; estas contienen
las sentencias de MATLAB que calculan el valor de las funciones. Adicionalmente
se pueden realizar comentarios acerca de cada sentencia (sin olvidar anteponer el
smbolo de porcentaje), todas las sentencias deben culminarse con un punto y
coma (;) para suprimir la salida de cada comando. Estos archivos pueden tener
mltiples entradas y mltiples salidas.

El cuerpo de la funcin contiene las sentencias que sean necesarias para calcular
los valores que la funcin va a retornar. Para calcular dichos valores se utilizarn
tanto los argumentos de la funcin como todas aquellas otras variables auxiliares
que sean precisas. Hay que tener en cuenta que las variables que no sean
argumentos son locales a la funcin (es decir, no toman valores desde el espacio
de trabajo de MATLAB), y por tanto debern ser inicializadas en sta.

Adems hay que tener en cuenta que las funciones nunca modifican las variables
o argumentos de entrada, a no ser que se incluyan tambin como valores de
retorno. Si el usuario las modifica dentro de la funcin, automticamente el Matlab
saca copias de esas variables (se modifican las copias, no las variables
originales). Lo que significa que para MATLAB los argumentos de las funciones
siempre son valores y no variables.

Ejemplo: Crear una funcin que calcule las races de un polinomio de orden dos,
ingresando los coeficientes a,b,c correspondientes al polinomio ax2+bx+c=0.

Se escribe la funcin en el editor de matlab como se muestra en la figura 10,


teniendo en cuenta la cabecera, es decir iniciando con la palabra function, seguida
del nombre de la funcin, el argumento y el valor de retorno. Se guarda la funcin
en el directorio de trabajo de matlab y se procede a llamarla desde la ventana de
trabajo del programa.

16
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 10. Escritura de la Funcin raices2.m

Fuente: Captura de Matlab versin trial (2008)..

Una vez creada la funcin, esta se puede utilizar en la ventana de comandos


digitando el nombre de la misma y asignando los valores de entrada. En la figura
11 se observa el clculo de las races del polinomio x2+2x+3=0, mediante el
llamado de la funcin races2.m e ingresando los parmetros de entrada a, b, c,
que en este caso corresponden a los nmeros 1,2,3.

Figura 11. Uso de la Funcin raices2.m.

Fuente: Captura de Matlab versin trial (2008)..

17
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Funciones de MATLAB. MATLAB contiene una gran cantidad de funciones las


categoras incluyen:

Elfun: Estos son las funciones matemticas elementales, incluyen las


funciones trigonomtricas, logartmicas y exponenciales, funciones para la
manipulacin de los nmeros complejos, funciones modulares y funciones
para el redondeo de nmeros.
Specfun: son comandos de funciones matemticas ms especializadas
como funciones de Bessel, gamma y otras tantas usadas en el tratamiento
analtico de sistemas. Tambin incluye funciones para la creacin de
factores primos, otras para chequear que un nmero sea primo, funciones
para encontrar el mnimo comn mltiplo y el mximo comn divisor y
funciones para la conversin de coordenadas.
Matfun: Estas son las funciones de las matrices.
Datafun: son las funciones utilizadas en los anlisis de datos, pueden
determinar el valor mximo o mnimo dentro de una serie de nmeros,
incluyen funciones usadas en anlisis estadsticos. Existen funciones para
simular filtros y manipulacin de archivos de sonido.
Polyfun: Incluye funciones de interpolacin para anlisis geomtrico, para
derivar y multiplicar polinomios. Tambin incluye funciones para encontrar
las races de los polinomios.
Funfun: son un grupo de funciones que resuelven ecuaciones diferenciales.
Tambin incluye funciones usadas para la integracin numrica y funciones
grficas.
Strfun: incluye funciones que son usadas para manipular una cadena de
caracteres.
Iofun: Son funciones usadas para la entrada y salida de datos. Existen
funciones para el posicionamiento y renombramiento de archivos.
Timefun: contiene funciones que retornan flujo de datos y funciones de
calendario y reloj.

CAPITULO 2: TOOLBOX DE MATLAB

Introduccin. Matlab posee libreras especializadas que agrupan un determinado


nmero de funciones que poseen caractersticas similares y tienen aplicaciones
especficas. A estas libreras se les denomina Toolbox, que traduce literalmente
caja de herramientas, gracias a estas cajas de herramientas especializadas, se
evita la escritura de cdigos extensos y poco eficientes.

18
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Leccin 6: Introduccin a los Toolbox de Matlab.

Los Toolbox o cajas de herramientas son una coleccin especializada de archivos


.m diseada para trabajar problemas especficos en ciertas reas de Ingeniera,
como Sistemas de Comunicaciones, Procesamiento de Seales, Redes
neuronales, anlisis Financiero entre otras.

Algunos de los Toolbox de Matlab son:

Procesamiento de Seales
Matemtica Simblica
Lgica Difusa
Redes neuronales
Procesamiento de Imgenes
Comunicaciones
Ecuaciones Derivadas parciales
Sistemas de Control
Identificacin de sistemas
Optimizacin
Diseo de filtros
Bioinformtica
Estadstica
Anlisis Financiero

Caractersticas. Entre las caractersticas que poseen los toolbox se tiene:

Son grupos de comandos con caractersticas similares.


Ayudan a simplificar los clculos de ciertas aplicaciones.
Facilitan la escritura de algoritmos.

Esquema general de los Toolbox. Como se ha dicho los toolbox son libreras
especializadas, los comandos ah presentes se encuentran organizadas por orden
alfabtico y por categoras, para observar la organizacin de estos, se debe remitir
a la ayuda que ofrece MATLAB desde su ventana de ayuda y de acuerdo al
toolbox escogido as ser la organizacin (Figura 12), aunque existen tems
comunes para todos que son:

19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Getting started (Inicio): Realizan una breve descripcin del tema del cual
est hecho el toolbox.
Examples (Ejemplo): Muestran ejemplos donde se aplican los comandos
ah presentes.
Functions - Categorical List (Funciones Lista de categoras): Se observan
los comandos organizados en categoras particulares de cada toolbox.
Functions Alphabetical List (Funciones Lista alfabtica): Los comandos
estn organizados alfabticamente.
Releases Notes (Notas relacionadas o de actualizacin): Muestra todas las
notas relacionadas con el toolbox y todas las actualizaciones que existentes
para este.
Printable Documentation (Informacin imprimible) (PDF): Este es un
hipervnculo donde se muestra la informacin del toolbox en un formato de
documento portable.
Product Page (Pagina del producto): Este es un hipervnculo que dirige al
usuario a la pgina de Mathworks, referente al toolbox.

Figura 12. Esquema general de los toolboxes.

Fuente: Captura de Matlab versin trial (2008).

Ejemplo. Con ayuda del Toolbox de procesamiento de Imgenes tomar una


fotografa a color, convertirla a escala de grises y generar un nuevo archivo con la
imagen modificada.

La imagen que se desea modificar debe estar en el directorio de trabajo de matlab,


en este caso se trabaja con la imagen denominada ricardocarro.jpg, a travs de
los comandos imread y imshow se lee, se guarda en la variable imagen1 y se
muestra la imagen en la ventana Figure.

20
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 13. Uso de imread e imshow del Toolbox Procesamiento de Imgenes.

Fuente: Captura de Matlab versin trial (2008).

Figura 14. Ventana Figure Matlab. Imagen a color

Fuente: Captura de Matlab versin trial (2008)..

Con el comando rgb2gray se convierte la Imagen a escala de grises y el resultado


se guarda en la variable b, como se muestra en la figura 15.

21
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 15. Utilizacin de rg2gray del Toolbox Procesamiento de Imgenes.

Fuente: Captura de Matlab versin trial (2008).

En la figura 16 se observa la imagen convertida a escala de grises.

Figura 16. Ventana Figure Matlab. Imagen en escala de grises.

Fuente: Captura de Matlab versin trial (2008).

Mediante el comando imwrite se genera un archivo denominado ricardogris.jpg


con la imagen en escala de grises.
imwrite(b,'ricardogris','jpg')

22
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Leccin 7: Toolbox de Comunicaciones.

El toolbox de comunicaciones es una extensin de MATLAB, con funciones,


comandos grficos e interfaces empleadas para explorar, disear, analizar y
simular algoritmos con las diferentes etapas de un sistema de comunicacin. Las
caractersticas esenciales de este toolbox son:

Contiene funciones para disear las capas fsicas de un enlace de


comunicacin, incluyendo codificacin de fuente, codificacin de canal,
modulacin, modelos de canal y ecualizacin.
Comando de graficacin para la visualizacin de las seales de
comunicacin.
Interfaces graficas de usuario para comparar la tasa de error de bit de
cualquier sistema con una amplia variedad de resultados analticos
probados.
Datos del tipo Galois para la construccin de algoritmos de comunicacin.

Nociones Bsicas del toolbox. Este toolbox implementa una variedad de


comandos relacionados con las comunicaciones. Muchas de las funciones realizan
clculos asociados a un componente particular de un sistema de comunicaciones,
como demoduladores o ecualizadores. Otras funciones que estn enfocadas en el
diseo y el anlisis de diferentes sistemas.

Categoras de los comandos de los toolbox. Las funciones y comandos se


encuentran organizadas por categoras, estas son:

Fuentes de seal: Comandos que crean fuentes de seales aleatorias.


Evaluacin del desempeo: Analiza y visualiza la respuesta de un sistema, al
ruido inherente al mundo real y a los componentes de dicho sistema. El
desempeo es evaluado mediante el uso de grficas y as determinar si
cumple con los requerimientos.
BER Tool: Comandos utilizados para medir la tasa de error de bit.
Codificacin de fuente: Tambin conocido como cuantizacin o formateo de
seal, es la forma de reducir la redundancia de los datos o prepararla para su
posterior procesamiento. La conversin de datos anlogo/digital y la
compresin de datos son formas de codificacin de fuente.
Modulacin/Demodulacin: Comandos para modular/demodular las seales
tanto analgica como digital.

23
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Codificacin del control de error: Son tcnicas que detectan y posiblemente


corrigen errores cuando son transmitidos en un sistema de comunicacin
digital. Para conseguir esto, el codificador no solo transmite los smbolos del
mensaje si no que tambin transmite smbolos redundantes, el decodificador
usa los smbolos redundantes para detectar y posiblemente corregir los
errores.
Filtrado: Comandos que sirven para la seleccin de seales dentro de
cualquier rango de frecuencias.
Interleaving (Entrelazador o entramador): Este permuta los smbolos de
acuerdo a un mapeo, y el desentramado utiliza el mapeo inverso para
recuperar la secuencia original de smbolos. El entramado y el desentramado
son tiles para reducir los errores causados por rfagas en un sistema de
comunicaciones.
Canales: Los canales de comunicaciones introducen, ruido desvanecimiento,
interferencias y otras distorsiones a las seales que son transmitidas por estos.
La simulacin de un sistema de comunicacin involucra el modelado de un
canal basado en descripciones matemticas del canal. Los diversos medios de
transmisin tienen diferentes propiedades y son modelados con caractersticas
diferentes.
Ecualizadores: los canales dispersivos en funcin del tiempo pueden causar
interferencia inter-simblica (ISI), por ejemplo en un ambiente dispersivo multi-
trayecto, el receptor observa versiones retrasadas de los smbolos
transmitidos, los cuales pueden interferir con los otros smbolos transmitidos.
Un ecualizador intenta mitigar el ISI y as incrementar el desempeo del
receptor.
Campos computacionales de Galois: Es un campo algebraico que tiene un
nmero finito de miembros. Los campos de Gaolis tienen 2m miembros que son
utilizados para el control de codificacin de error y son denotados GF(2m).

Fuentes de Seales. Cada sistema de comunicaciones contiene una o ms


fuentes de seal, se puede usar este toolbox para generar seales aleatorias, lo
cual es muy til cuando se necesita simular ruido, errores o fuentes de seal. Las
secciones son las siguientes:

Ruido blanco gausiano: Esta funcin (wgn) genera matrices usando una
distribucin de ruido blanco gausiano donde se puede especificar la potencia y
generar ruido tanto en valores reales como complejos y la potencia puede
especificarse en unidades de dBW, dBm o lineales.

24
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

La estructura de este comando es la siguiente:

>> Y = wgn(M,N,P)

genera una matriz M x N de ruido blanco gausiano y P especifica la


potencia del ruido en dBW

Como ejemplo de este comando se puede generar un vector columna de


una longitud de 70 conteniendo valores reales de ruido blanco gausiano
el cual posee una potencia de 2 dBW. Cuando no se especifica el valor
de la carga el comando lo asume como de 1 Ohm.

>> y1 = wgn (70, 1,2)

Smbolos aleatorios: (randsrc) Este comando crea matrices aleatorias,


independientes del alfabeto que el usuario especifique pero con una
distribucin que este proporciona. Por ejemplo, crear una matriz 5 X 4, con
valores comprendidos entre 2, 4 y 6

>> A = randsrc(5,4,[2,4,6])

A=

2 2 2 4
4 2 6 6
6 4 4 4
2 2 6 2
2 2 4 6

Donde la estructura de este comando sera la siguiente;

Variable = randsrc (M,N, Alfabeto)

este comando crea una matriz aleatoria M x N con los elementos del
alfabeto que se especific.

25
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Enteros aleatorios (randint): Genera matrices aleatorias de valores enteros de


un rango que es proporcionado por el usuario, un caso especial de este
comando es crear matrices binarias. Por ejemplo crear una matriz 6 X 5, en el
que sus elementos sean valores enteros entre 1 y 10.

A = randint (6,5,[1,10])

A=

9 8 4 9 9
1 5 6 6 7
7 4 2 5 4
4 2 7 9 3
9 2 4 9 4
6 7 9 7 6

Patrones aleatorios para el error de bit (randerr): crea matrices en las cuales
los elementos son unos y ceros, con una probabilidad ya dada. Estas funciones
son utilizadas para medir la taza de error de bit.
Modulacin y Demodulacin.

En la mayora de los medios de comunicacin, solo un rango de frecuencias est


disponible para la transmisin. Una forma de comunicar un mensaje cuya seal
no se encuentre en el rango de frecuencias disponibles, es modificando la
frecuencia hasta alcanzar una que este en concordancia con el sistema de
comunicacin, esta modificacin de la frecuencia es lo que se llama modulacin y
el volver la seal a un estado muy cercano al original se llama demodulacin.
MATLAB posee herramientas que permiten hacer tanto modulacin analgica
como digital.

Dada una tcnica de modulacin, existes dos formas para simularlo, bandabase y
pasabanda. La simulacin bandabase tambin conocida el mtodo equivalente
pasabaja requiere menos clculos computacionales. En esteToolbox la simulacin
bandabase es utilizada para la modulacin digital mientras que para la modulacin
analgica se utiliza la simulacin pasabanda.

Los mtodos disponibles que contiene este Toolbox para realizar la modulacin de
un sistema de comunicacin dependen del tipo de seal de entrada al sistema ya

26
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

sea anlogo o digital. La siguiente tabla muestra las tcnicas que soporta el
toolbox:

Tabla 5. Tipos de modulacin analgica que soporta el toolbox.

Comando para la Comando para la


Mtodo de modulacin analgica Acrnimo
modulacin demodulacin
Modulacin de amplitud (con supresin o
AM ammod amdemod
transmisin de portadora)
Modulacin de frecuencia FM fmmod fmdemod
Modulacin de fase PM pmmod pmdemod
Modulacion de amplitud de banda simple SSB ssbmod ssbdemod

Fuente: Armando Portela (2008)

Argumentos necesarios para realizar la modulacin/demodulacin analgica


comunes para todos los tipos:

x: mensaje a modular

y: mensaje modulado

Fc: Frecuencia de la seal portadora (Hz)

Fs: Frecuencia de muestreo (Hz)

Ini_phase: fase inicial en la seal modulada (radianes)

27
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Tabla 6. Sintaxis de los distintos Tipos de modulacin analgica que soporta el


toolbox.

Sintaxis del comando de


Modulacin Sintaxis del comando de demodulacin
modulacin
y = ammod(x,Fc,Fs) z = amdemod(y,Fc,Fs)
y = ammod(x,Fc,Fs,ini_phase) z = amdemod(y,Fc,Fs,ini_phase)
y= z = amdemod(y,Fc,Fs,ini_phase,carramp)
ammod(x,Fc,Fs,ini_phase,carramp) z=amdemod(y,Fc,Fs,ini_phase,carramp,n
AM carramp: amplitud de la portadora um,den)
carramp: amplitud de la portadora
num, den: establecen el numerador y
el denominador del filtro pasabajas
usado en la demodulacin(radianes)
y= fmmod(x,Fc,Fs,freqdev)
z = fmdemod(y,Fc,Fs,freqdev)
y = fmmod(x,Fc,Fs,freqdev,ini_phase
z = fmdemod(y,Fc,Fs,freqdev,ini_phase)
freqdev: es la constante
FM freqdev: es la constante desviacin de
desviacin de frecuencia (Hz) de
frecuencia (Hz) de la seal modulada.
la seal modulada.

y = pmmod(x,Fc,Fs,phasedev) z = pmmod(y,Fc,Fs,phasedev)
y = pmmod(x,Fc,Fs,phasedev,ini_phase) z = pmmod(y,Fc,Fs,phasedev,ini_phase)
phasedev: es la constante phasedev: es la constante desviacin
PM
desviacin de fase (radianes) de la de fase (radianes) de la seal
seal modulada. modulada.

y = ssbmod(x,Fc,Fs) z = ssbdemod(y,Fc,Fs)
y = ssbmod(x,Fc,Fs,ini_phase) z = ssbdemod(y,Fc,Fs,ini_phase)
z = ssbdemod(y,Fc,Fs,ini_phase,num,den)
SSB y = ssbmod(x,fc,fs,ini_phase,'upper')
num, den: establecen el numerador y
upper: Lado escogido para el denominador del filtro pasabajas
realizar la modulacin usado en la demodulacin(radianes)

Ejemplo: Modular y demodular una seal con el mtodo de modulacin por


amplitud.

>> Fs = 8000; % Tasa de muestreo 8000 muestras por segundo.


Fc = 300; % Frecuencia de la portadora en Hz
t = [0:.1*Fs]'/Fs; % Tiempos de muestreo para 0.1 segundos
x = sin(20*pi*t); % Representacin de la seal
y = ammod(x,Fc,Fs); % Modulacin de x para producir y
yruidoso = awgn(y,15,'measured'); %Transmisin a travs de un canal
ruidoso
[num,den] = butter(10,Fc*2/Fs); % Definicin del filtro pasabajas
z = amdemod(yruidoso,Fc,Fs,0,0,num,den); % Demodulacin.
figure;
subplot(3,1,1); plot(t,x); % Dibuja la seal de entrada(Superior).

28
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

subplot(3,1,2); plot(t,yruidoso)% % Dibuja la seal modulada y


transmitida(Medio).
subplot(3,1,3); plot(t,z); % Dibuja la seal demodulada(Inferior).

Figura 17. Modulacin y demodulacin por amplitud.

-1
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
2

-2
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
2

-2
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
Fuente: Captura de Matlab versin trial (2008)..

Tabla 7. Tipos de modulacin digital que soporta el toolbox.


Comando para la Comando para la
Mtodo de modulacin digital Acrnimo
modulacin demodulacin
Modulacin por desplazamiento diferencial
DPSK dpskmod dpskdemod
de fase
Modulacin por desplazamiento de
FSK fskmod fskdemod
frecuencia
Modulacin por desplazamiento mnimo MSK mskmod mskdemod
Modulacin por desplazamiento en
OQPSK oqpskmod oqpskdemod
cuadratura compensada
Modulacin por desplazamiento de fase PSK pskmod pskdemod
Modulacin por amplitud de pulso PAM pammod pamdemod
Modulacin por amplitud en cuadratura QAM qammod qamdemod
Fuente: Armando Portela (2008)

29
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Tabla 8. Sintaxis de los distintos Tipos de modulacin digital que soporta el


toolbox.
Sintaxis del comando de
Modulac Sintaxis del comando de modulacin
demodulacin
y = dpskmod(x,M) z = dpskdemod(y,M)
y = dpskmod(x,M,phaserot) z = dpskdemod(y,M,phaserot)
y = dpskmod(x,M,phaserot,symbol_order) z = dpskdemod(y,M,phaserot,symbol_order)
x: mensaje que consiste de enteros entre 0 y: mensaje modulado
y M 1, si este fuera una matriz con M: es el tamao del alfabeto y debe
mltiple columnas y filas MATLAB ser entero.
procesa las columnas
independientemente.
phaserot: especifica la rotacin de
M: es el tamao del alfabeto y debe ser fases en radianes. En este caso el
entero. desplazamiento de fase total por
DPSK smbolo es la suma del valor
phaserot: especifica la rotacin de fases
en radianes. En este caso el asignado en este argumento, ms la
desplazamiento de fase total por smbolo fase generada por la modulacin
es la suma del valor asignado en este diferencial.
argumento, ms la fase generada por la symbol_order: especifica como la
modulacin diferencial. funcin asignar las palabras
symbol_order: especifica como la funcin binarias correspondientes a los
asignar las palabras binarias
enteros.
correspondientes a los enteros.

y = fskmod(x,M,freq_sep,nsamp) z = fskdemod(y,M,freq_sep,nsamp)
y = fskmod(x,M,freq_sep,nsamp,Fs) z = fskdemod(y,M,freq_sep,nsamp,Fs)
y = z =
fskmod(x,M,freq_sep,nsamp,Fs,phase_co fskdemod(y,M,freq_sep,nsamp,Fs,symbo
nt) l_order)
y = y: mensaje modulado
fskmod(x,M,freq_sep,nsamp,Fs,phase_cont,sy freq_sep: es la separacin deseada entre
mbol_order) dos frecuencias sucesivas.
x: mensaje que consiste de enteros entre 0 nsamp: Es el nmero de muestras por
y M 1, si este fuera una matriz con smbolo en la seal modulada y debe ser
mltiple columnas y filas MATLAB un numero positivo y mucho ms grande
procesa las columnas que 1.
independientemente. Por el teorema de muestreo de Nyquist ,
M: es el tamao del alfabeto y debe ser el valor de freq_sep y M deben satisfacer
entero en potencias de 2. la condicin de (M-1)*freq_sep <=Fs.
freq_sep: es la separacin deseada entre symbol_order: especifica como la funcin
FSK dos frecuencias sucesivas. asignar las palabras binarias
nsamp: Es el nmero de muestras por correspondientes a los enteros
smbolo en la seal modulada y debe ser
un nmero positivo y mucho ms grande
que 1.
Por el teorema de muestreo de Nyquist , el
valor de freq_sep y M deben satisfacer la
condicin de (M-1)*freq_sep <=Fs.
phase_cont: Establece la continuidad de
fase. Cuando se ajusta a cont se forza
una continuidad de fase a travs de los
lmites de los smbolos. discont obliga
una discontinuidad en la fase, por defecto
es cont.
symbol_order: especifica como la funcin
asignar las palabras binarias
correspondientes a los enteros

30
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Tabla 8. Sintaxis de los distintos Tipos de modulacin digital que soporta el


toolbox. (Continuacin)

Modulac Sintaxis del comando de modulacin Sintaxis del comando de demodulacin


y = mskmod(x,nsamp) z = mskdemod(y,nsamp)
y = mskmod(x,nsamp,dataenc) z = mskdemod(y,nsamp,dataenc)
y = mskmod(x,nsamp,dataenc,ini_phase) z =
[y,phaseout] = mskmod(...)* mskdemod(y,nsamp,dataenc,ini_phase)
x: mensaje que consiste de 0s y 1s, si este z =
fuera una matriz con mltiple columnas y mskdemod(y,nsamp,dataenc,ini_phase,in
filas MATLAB procesa las columnas i_state)
independientemente. [z,phaseout] = mskdemod(...)*
nsamp: denota el nmero de muestras por [z,phaseout,stateout] = mskdemod()
smbolo en la seal modulada y debe ser
El valor inicial de la fase es 0
un numero positivo.
y: mensaje modulado, si este fuera una
dataenc: especfica el mtodo de
matriz con mltiple columnas y filas
codificacin de los datos para la MSK, diff
MATLAB procesa las columnas
para la codificacin diferencial y nondiff
independientemente.
para codificacin no diferencial.
nsamp: denota el nmero de muestras
Ini_phase: Especifica la fase inicial del
por smbolo en la seal modulada y debe
modulador MSK, este es un vector
ser un nmero positivo.
columna el cual su longitud es el nmero
dataenc: especfica el mtodo de
de canales y el cual sus valores son
codificacin de los datos para la MSK,
mltiplos enteros de de pi/2. Para evitar el
diff para la codificacin diferencial y
anulamiento se del valor de dataenc se
nondiff para codificacin no diferencial.
debe ajustar a un valor especfico.
Esta lnea retorna el valor final de la fase Ini_phase: Especifica la fase inicial del
modulador MSK, este es un vector
de y. esto es til para mantener la columna el cual su longitud es el nmero
continuidad cuando se est modulando de canales y el cual sus valores son
una trama de bits futura, con una mltiplos enteros de de pi/2. Para evitar
codificacin diferencial MSK. el anulamiento se del valor de dataenc
phaseout: tiene las mismas se debe ajustar a un valor especfico.
dimensiones que ini_phase y asume Ini_state: Especifica el estado inicial del
los valores de 0, pi/2, pi y 3*pi/2 demodulador, contiene la mitad del
smbolo de la seal recibida previamente
MSK * Esta lnea retorna el valor final de la
fase de y. esto es til para demodular
una seal futura.
phaseout: tiene las mismas
dimensiones que ini_phase y asume
los valores de 0, pi/2, pi y 3*pi/2.
Stateout: retorna el valor final de
nsamp de (y), el cual es til para la
demodulacin del primer smbolo de
una seal futura. Tiene las mismas
dimensiones de ini_state.
y = oqpskmod(x) z = oqpskdemod(y)
y = oqpskmod(x,ini_phase) z = oqpskdemod(y,ini_phase)
x: el mensaje debe consistir valores y: el mensaje modulado, si este fuera una
enteros comprendidos entre 0 y 3, si este matriz con mltiple columnas y filas
OQPSK fuera una matriz con mltiple columnas y MATLAB procesa las columnas
filas MATLAB procesa las columnas independientemente.
independientemente. Ini_phase: Determina la compensacin
Ini_phase: Determina la compensacin de de fase de la seal modulada en
fase de la seal modulada en radianes. radianes.

31
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Tabla 8. Sintaxis de los distintos Tipos de modulacin digital que soporta el


toolbox.
Modulac Sintaxis del comando de modulacin Sintaxis del comando de demodulacin
y = pskmod(x,M) z = pskdemod(y,M)
y = pskmod(x,M,ini_phase) z = pskdemod(y,M,ini_phase)
y = pskmod(x,M,ini_phase,symbol_order) z =
x: mensaje que consiste de enteros entre 0 pskdemod(y,M,ini_phase,symbol_order)
y M 1, si este fuera una matriz con y: mensaje modulado, si este fuera una
mltiple columnas y filas MATLAB matriz con mltiple columnas y filas
procesa las columnas MATLAB procesa las columnas
independientemente. independientemente.
PSK M: es el tamao del alfabeto y debe ser M: es el tamao del alfabeto y debe ser
entero en potencias de 2. entero en potencias de 2.
Ini_phase: Determina la fase inicial de Ini_phase: Determina la fase inicial
la modulacin en radianes. de la modulacin en radianes.
Symbol_order: especifica como la funcin Symbol_order: especifica como la funcin
asignar las palabras binarias asignar las palabras binarias
correspondientes a los enteros. correspondientes a los enteros.

y = pammod(x,M) z = pamdemod(y,M)
y = pammod(x,M,ini_phase) z = pamdemod(y,M,ini_phase)
y = pammod(x,M,ini_phase,symbol_order) z =
x: mensaje que consiste de enteros entre 0 pamdemod(y,M,ini_phase,symbol_order)
y M 1, si este fuera una matriz con y: mensaje modulado, si este fuera una
mltiple columnas y filas MATLAB matriz con mltiple columnas y filas
procesa las columnas MATLAB procesa las columnas
independientemente. independientemente.
PAM M: es el tamao del alfabeto y debe ser M: es el tamao del alfabeto y debe ser
entero en potencias de 2. entero en potencias de 2.
Ini_phase: Determina la fase inicial de Ini_phase: Determina la fase inicial
la modulacin en radianes. de la modulacin en radianes.
Symbol_order: especifica como la funcin Symbol_order: especifica como la funcin
asignar las palabras binarias asignar las palabras binarias
correspondientes a los enteros. correspondientes a los enteros

y = qammod(x,M) z = qamdemod(y,M)
y = qammod(x,M,ini_phase) z = qamdemod(y,M,ini_phase)
y = qammod(x,M,ini_phase,symbol_order) z =
x: mensaje que consiste de enteros entre 0 qamdemod(y,M,ini_phase,symbol_order)
y M 1, si este fuera una matriz con y: mensaje modulado, si este fuera una
mltiple columnas y filas MATLAB matriz con mltiple columnas y filas
procesa las columnas MATLAB procesa las columnas
independientemente. independientemente.
QAM M: es el tamao del alfabeto y debe ser M: es el tamao del alfabeto y debe ser
entero en potencias de 2. entero en potencias de 2.
Ini_phase: Determina la fase inicial de Ini_phase: Determina la fase inicial
la modulacin en radianes. de la modulacin en radianes.
Symbol_order: especifica como la funcin Symbol_order: especifica como la funcin
asignar las palabras binarias asignar las palabras binarias
correspondientes a los enteros. correspondientes a los enteros

Fuente: Armando Portela (2008)

32
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Ejemplo de un sistema de Modulacin y demodulacin digital: Modular una seal


aleatoria con la tcnica de QAM, transmitirla a travs de un canal ruidoso,
recuperar la seal y medir la tasa de error de smbolo:

%Se crea una seal aleatoria


M = 32; % Tamao del alfabeto de smbolos
x = randint(5000,1,M); % Mensaje seal aleatoria

% Usar Modulacin 32-QAM.


y = qammod(x,M);

% Transmisin de los datos a travs de un canal AWGN


yruidoso = awgn(y,15,'measured');

% Se crea el diagrama de dispersin de los datos ruidosos


scatterplot(yruidoso);

% Demodular para recuperar el mensaje.


z = qamdemod(ynoisy,M);

% Verifica la tasa de error de smbolo.


[num,rt]= symerr(x,z) %
%num: es el nmero de smbolos errados
%rt: Es la relacin entre los smbolos errados y los datos transmitidos

33
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 18. Diagrama de dispersin.


Scatter plot

2
Quadrature

-2

-4

-6

-6 -4 -2 0 2 4 6
In-Phase
Fuente: Captura de Matlab versin trial (2008)..

Este es el resultado de la medicin de tasa de error de smbolos, los resultados


pueden variar en cada simulacin debido la aleatoriedad de la fuente, y del ruido.
num =

601

rt =

0.1202

34
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Filtrado. En los sistemas de comunicacin es necesario eliminar o atenuar las


seales que no sean convenientes para el sistema y maximizar las que si lo
hagan, por lo que es necesario filtrar las seales, esta tarea puede llevarse a cabo
filtrando las seales de forma analgica o digital dependiendo de la aplicacin.
MATLAB ofrece un toolbox especfico solo para el filtrado de seales.

Aunque existen una gran cantidad de filtros, en el toolbox de comunicaciones solo


se mencionaran los filtros de la transformada de Hilbert y coseno alzado, muchos
de los otros tipos de filtros es encuentran en el toolbox de procesamiento de
seales.

Filtros con la transformada de Hilbert. Para disear filtros de la transformada de


Hilbert es necesario utilizar el comando hilbiir y este comando brinda como
respuesta:

Un diagrama de la respuesta del filtro al impulso.


Una caracterizacin cuantitativa del filtro utilizando un modelo de funcin de
transferencia o modelo de variables de estado.

La estructura del comando es la siguiente:

hilbiir
hilbiir(ts)
hilbiir(ts,dly)
hilbiir(ts,dly,bandwidth)
hilbiir(ts,dly,bandwidth,tol)

Cada una produce un diagrama de la respuesta al impulso del filtro que la funcin
hilbiir disea, como tambin la respuesta al impulso del correspondiente filtro ideal
de la Transformada de Hilbert.

Hilbiir dibuja la respuesta impulso de un filtro digital de cuarto orden de la


transformada de Hilbert, con un retraso de grupo de 1 segundo. La muestra es de
2/7 segundos. En este diseo en particular, el ndice de tolerancia es de 0.05. El
diagrama tambin muestra la respuesta de un filtro ideal de la transformada de
Hilbert con retraso de grupo de 1 segundo.

35
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

hilbiir(ts) dibuja la respuesta impulso de un filtro digital de cuarto orden de la


transformada de Hilbert con un tiempo de muestreo de ts segundos y un retraso
de grupo de ts*7/2. El ndice de tolerancia es de 0.05. El diagrama tambin
muestra la respuesta de un filtro ideal de la transformada de Hilbert con un tiempo
de muestreo de ts segundos y un retraso de grupo de ts*7/2 segundo.

hilbiir(ts,dly), es igual a la sintaxis descrita anteriormente, excepto que el retraso


de grupo del filtro es dly , para el filtro ideal y para el filtro que el comando hilbiir
disea.

hilbiir(ts,dly,bandwidth), es igual a la sintaxis descrita anteriormente, excepto


que se especifica el ancho de banda (bandwidth) supuesto de la seal de entrada
y el diseo del filtro debe usar el compensador para la seal de entrada.

hilbiir(ts,dly,bandwidth,tol), es igual a la sintaxis descrita anteriormente, excepto


que tol es el ndice de tolerancia. Si tol<1, entonces el orden del filtro est
determinado por:

valor singular t runcado


tol
valor singular mximo

Si tol > 1, entonces el orden del filtro es tol.

Filtros de coseno alzado. La importancia del filtro de coseno alzado radica en


que reduce al mnimo la Interferencia entre Smbolos (ISI). La funcin rcosine
disea (pero no aplica los filtros) filtros de los siguientes filtros:

Filtro de coseno alzado con respuesta al impulso finito FIR.


Filtro de coseno alzado con respuesta al impulso infinito IIR.
Filtro de coseno alzado FIR de raz cuadrada.
Filtro de coseno alzado IIR de raz cuadrada.

La sintaxis de este comando es la siguiente.

num = rcosine(Fd,Fs)
[num,den] = rcosine(Fd,Fs,type_flag)
[num,den] = rcosine(Fd,Fs,type_flag,r)
[num,den] = rcosine(Fd,Fs,type_flag,r,delay)
[num,den] = rcosine(Fd,Fs,type_flag,r,delay,tol)

36
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

num = rcosine(Fd,Fs): disea un filtro de coseno alzado de respuesta finita al


impulso (FIR) y retorna su funcion de transferencia. La seal de entrada digital
tiene una frecuencia de muestreo Fd. La frecuencia de muestreo para el filtro es
Fs. La relacion Fs/Fd debe ser un entero positivo ms grande que 1. El factor de
rolloff del filtro por defecto es 5. El retraso de grupo, el cual es el tiempo entre la
entrada del filtro y la respuesta del filtro al impulso. Equivalente el retraso de grupo
es de 3/Fd.

[num,den] = rcosine(Fd,Fs,type_flag,r): disea un filtro de coseno alzado usando


como directiva la cadena de variable type_flag. Los tipos de filtro estn en la tabla
9

Tabla 9. Tipos de filtros

Tipo de filtro Valor de Type_flag


con respuesta al impulso finito FIR default o fir/normal
con respuesta al impulso infinito IIR iir o iir/normal
de coseno alzado FIR de raz cuadrada. sqrt o fir/sqrt
de coseno alzado IIR de raz cuadrada. iir/sqrt
Fuente: Armano Portelo (2008)

El valor por defecto de la tolerancia en el diseo de en un filtro IIR es de 0.01

[num,den] = rcosine(Fd,Fs,type_flag,r): Con esta sintaxis se especifica el factor de


rolloff, que es un valor real entre [0, 1].

[num,den] = rcosine(Fd,Fs,type_flag,r,delay): especifica el retraso de grupo del


filtro, medido en entradas muestreadas. El retraso (delay), es un entero positivo. El
retraso real del diseo del filtro est dado por delay/Fd segundos.

[num,den] = rcosine(Fd,Fs,type_flag,r,delay,tol): Especifica la tolerancia en el


diseo del filtro IIR. El diseo del filtro FIR no necesita este argumento.

Leccin 8: Simulacin de un Sistema de Comunicaciones

La siguiente secuencia de comandos en Matlab muestra la Simulacin de un


sistema de Comunicaciones Digitales. Primero se definen los parmetros bsicos
y la fuente de seal con los que se va a trabajar, posteriormente se aplica
modulacin de tipo 16QAM, se filtra la seal y por ltimo se procede al proceso de
Demodulacin.

37
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

%%SISTEMA DE COMUNICACIN COMPLETO


%% Tomado del toolbox de comunicaciones de MATLAB (Editado)
% Definicin de los parmetros.
M = 16; % Tamao de la constelacin
k = log2(M); % Nmero de Bits por smbolo
n = 3e4; % Nmero de bits a procesar.
nsamp = 1; % Tasa de Sobremuestreo

%% Fuente de Seal
% Crear una trama de datos binarios como un vector columna
x = randint(n,1); % Trama de datos binarios aleatorios.

%%Preparar los datos para que sean modulados


% Grafica los primeros 40 bits
stem(x(1:40),'filled');
title('Bits Aleatorios');
xlabel('Indice de Bit'); ylabel('Valor Binario');

Figura 19. Primeros 40 datos binarios.


Bits Aleatorios
1

0.9

0.8

0.7

0.6
Valor Binario

0.5

0.4

0.3

0.2

0.1

0
0 5 10 15 20 25 30 35 40
Indice de Bit

Fuente: Captura de Matlab versin trial (2008)..

%% Mapeo de Bit a Smbolo


% Transforma los bits en x en k-bits smbolos
xsym = bi2de(reshape(x,k,length(x)/k).','left-msb');
%Modifica Forma Matriz

38
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

%% Diagrama de Smbolos
% Dibuja los primeros 10 smbolo
figure; % Crea una nueva ventana de figure
stem(xsym(1:10));
title('Smbolos Aleatorios');
xlabel('ndices de Smbolos'); ylabel('Valor entero');

Figura 20. Primeros 10 Smbolos


Smbolos Aleatorios
14

12

10
Valor entero

0
1 2 3 4 5 6 7 8 9 10
Indices de Smbolos

Fuente: Captura de Matlab versin trial (2008)..

%DEFINICIN DEL FILTRO DE COSENO ALZADO


nsamp = 4; % Modificacin de la tasa de muestreo para el
filtro
% Definicin del filtro
% Se definen los parmetros relacionados con el filtro
filtorder = 40; % Orden del filtro
delay = filtorder/(nsamp*2); % Retraso de grupo
%(# de entradas muestreadas)
rolloff = 0.25; % Factor de Rolloff del filtro

% Crea un filtro coseno de raz cuadrada


rrcfilter = rcosine(1,nsamp,'fir/sqrt',rolloff,delay);

% Dibuja la respuesta al impulso


figure; impz(rrcfilter,1)

39
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 21. Respuesta al impulso del sistema.


Impulse Response
0.6

0.5

0.4
Amplitude

0.3

0.2

0.1

-0.1
0 5 10 15 20 25 30 35 40
n (samples)

Fuente: Captura de Matlab versin trial (2008)..

%% Modulacin
% Modular 16 QAM
y = qammod(xsym,M);

%% Seal Transmitida
% Muetreo elevado y aplicacin del filtro de coseno alzado de raz
cuadrada
ytx = y;
ytx = rcosflt(y,1,nsamp,'filter',rrcfilter);

% Crea el patrn de ojo de la seal filtrada


eyediagram(ytx(1:2000),nsamp*2);

40
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 22. Patrn de ojo de la seal filtrada


Eye Diagram for In-Phase Signal
3

Amplitude
0

-1

-2

-3
-0.5 0 0.5
Time

Eye Diagram for Quadrature Signal


3

1
Amplitude

-1

-2

-3
-0.5 0 0.5
Time

Fuente: Captura de Matlab versin trial (2008)..

%% Canal
% Enva la seal sobre un canal AWGN.
EbNo = 10; % In dB
snr = EbNo + 10*log10(k) - 10*log10(nsamp);
ynoisy = awgn(ytx,snr,'measured');

%%Seal recibida
% Seal filtrada recibida usando un filtro de coseno alzado de
raz cuadrada
yrx = ynoisy;
yrx = rcosflt(ynoisy,1,nsamp,'Fs/filter',rrcfilter);
yrx = downsample(yrx,nsamp); % Baja de muestreo.
yrx = yrx(2*delay+1:end-2*delay); % Cuenta del retraso.
% Diagrama de dispersin
% Crea un diagrama de dispersin de la seal antes y despus
de ser filtrada
h = scatterplot(sqrt(nsamp)*ynoisy(1:nsamp*5e3),nsamp,0,'g.');
hold on;
scatterplot(yrx(1:5e3),1,0,'kx',h);
title('Seal Recibida, Antes y despus del filtrado');
legend('Antes del filtrado','Despues del filtrado');
axis([-5 5 -5 5]); % Ajusta el rango de la axisas

41
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 23. Seal recibida antes y despus del filtrado.

Seal Recibida, Antes y despus del filtrado


5
Antes del filtrado
4 Despues del filtrado

1
Quadrature

-1

-2

-3

-4

-5
-5 0 5
In-Phase
Fuente: Captura de Matlab versin trial (2008)..

% Demodulacin
% Demodular la seal usando 16-QAM
zsym = qamdemod(yrx,M);

% Mapeo de smbolo a bit


% Deshace el mapeo de bit a smbolo hecho anteriormente
z = de2bi(zsym,'left-msb'); % Convierte los enteros a bits
% Comvierte a z de una matriz a un vector
z = reshape(z.',prod(size(z)),1);

%% Clculo del BER


% Compara x y z para obtener el nmero de errores y la tasa de
error de bit
[number_of_errors,bit_error_rate] = biterr(x,z)

Respuesta de MATLAB para el clculo del BER


number_of_errors =

75
bit_error_rate =
0.0025

42
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Leccin 9: Toolbox de Sistemas de Control.

Es una herramienta donde se agrupan los comandos que son utilizados para una
aplicacin en especfico que simplifica la escritura de los algoritmos.

Nociones Bsicas del toolbox. MATLAB posee una gran cantidad de funciones
matemtica tiles para los sistemas de control. Este producto es una coleccin de
algoritmos escritos mayormente como archivos *.m que implementan sistemas de
control sencillos, tcnicas de anlisis y de modelado. Los sistemas de control
pueden ser modelados como funciones de transferencias, ganancias, polos y
ceros o variables de estado, permitiendo el uso de tcnicas de control clsico y
moderno. Se puede trabajar sistemas con variables de tiempo continuo y discreto.
Las respuestas en el tiempo, en la frecuencia y el root locus pueden ser
computadas y graficadas. Otras funciones permiten la ubicacin de polos, control
ptimo y estimaciones. Por ltimo permite la posibilidad de crear archivos *.m para
una aplicacin particular.

Categoras del Toolbox de Control. MATLAB posee una gran librera para la
creacin y la manipulacin de modelos, tanto de control analgico como digital. Se
encuentra organizada de la siguiente manera:

Modelos LTI: Introduce al usuario en los conceptos claves sobre la


representacin de sistemas LTI (Sistemas lineales invariantes en el tiempo),
incluyendo objetos LTI, reglas de precedencia para operaciones y una
analoga entre sistemas LTI y matrices. Tambin contiene comandos
bsicos para ser usados sobre los objetos LTI.
Operaciones en los modelos LTI: Realiza operaciones bsicas de las
matrices como adicin, multiplicacin o concatenacin en los modelos LTI.
Tambin se maneja mtodos de discretizacin.
Herramientas para el Anlisis de modelos: Muestra las funciones que
caracterizan a los modelos, tales como pares de entrada/salida, anlisis de
modelos dinmicos, como localizacin de polos y ceros y la transformacin
de sistemas en variables de estado en modelos de representaciones
cannicas.
Arreglos de Modelos LTI: Describe el arreglo de LTIs, el cual puede ser
utilizado para reunir un conjunto de modelos LTIs en una sola variable de
MATLAB. Se puede utilizar esta nica variable para manipular o analizar
todos los modelos aqu reunidos.

43
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Modelando Sistemas LTI. Tpicamente los ingenieros de control comienzan por


desarrollar una descripcin matemtica del sistema dinmico que se desea
controlar, el sistema que se quiere controlar se llama planta. El toolbox de control
ofrece una extensiva librera de herramientas para manipular y analizar los
modelos LTI. Soporta sistemas de tiempo continuo y discreto. Estos sistemas
pueden ser modelados como single-input/single-output (SISO) o multiple-
input/multiple-output (MIMO).

Para crear modelos LTI existen una serie de funciones que sirven para generar los
parmetros de diferentes tcnicas de modelado entre las que se tiene: funciones
de transferencia, ganancias de polos y ceros, variables de estado, respuesta en
frecuencia entre otros. Estas funciones toman los datos del modelo como entrada
y producen objetos TF, ZPK, SS o FRD y stos son almacenados en una variable
simple de MATLAB.

Tabla 10. Comandos empleados para Modelar sistemas de control.

Modelo Comando
Funcin de transferencia tf
Ganancia de polos y ceros zpk
Modelo de variable de estado ss
Respuesta en frecuencia frd

Fuente: Armando Portela (2008)

Tabla 11. Sintaxis y ejemplos de comandos empleados para Modelar sistemas de


control.

Modelo SISO MIMO


tf una funcin de transferencia est definida por Las funciones de transferencias MIMO son
: arreglos bidimensionales de funciones
n( s ) elementales SISO, por lo que existen diversas
h( s ) formas para especificar estos modelos
d ( s) incluyendo:
Est caracterizada por un numerador n(s) y Conectando modelos SISO en cascada.
un denominador d(s) ambos polinomios Usando el comando tf con arreglos de
estn en funcin de la variable de Laplace matrices modulares.
(s). Existen dos formas de especificar una Considerando la matriz de transferencia
funcin de transferencia: racional.
Usando el comando tf.
h = tf(num,den); donde num y den son
vectores filas que contiene los
coeficientes de los polinomios n(s) y
d(s), respectivamente. Estos polinomios

44
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

estn ordenados en potencias s 1


descendentes de s. la variable resultante s 1
H ( s)
s2
h es un objeto TF conteniendo los datos
del numerador y del denominador. Por 2
ejemplo para crear la funcin de s 4s 5
transferencia:
Se puede especificar H(s) por la concatenacin
s
h( s ) 2 de entradas SISO:
s 3s 7 h11 = tf([1 -1],[1 1]);
Se escribe: h21 = tf([1 2],[1 4 5]);
h = tf ([1 0] , [1 , 3 , 7])
o su equivalente
MATLAB retorna: s= tf('s')
Transfer function: h11 = (s-1)/(s+1);
s h21 = (s+2)/(s^2+4*s+5);
-------------------
s^2 + 3 s + 7 La sintaxis para crear la concatenacin de las
funciones es la siguiente:
H= [h11; h21]
Como una expresin racional en funcin
de la variable de Laplace. Esta sintaxis imita la matriz de concatenacin
1. Definiendo la variable s como un estndar y tiende a ser ms fcil y legible para
modelo especial de TF sistemas MIMO con muchas entradas y/o
s = tf ( s ); salidas. Alternativamente para definir una
2. Ingresando la funcin de transferencia funcin de transferencia MIMO, usando tf, se
como una expresin racional en necesitan 2 arreglos modulares (N, D), para
trminos de s. representar el conjunto de polinomios,
Por ejemplo una vez definida la variable respectivamente. Por ejemplo la matriz de
se escribe la funcin de transferencia de transferencia racional H(s), los dos arreglos
la siguiente forma: (N,D) contienen los vectores filas que
H=s/(s^2+3*s+7). representan los polinomios de entrada
s 1 s 1
Esto reporta la misma funcin de N (s) D( s ) 2
transferencia. s 2 s 4s 5
Se puede especificar esta funcin de
transferencia MIMO digitando
N = {[1 -1];[1 2]}; % arreglo para N(s)
D = {[1 1];[1 4 5]}; % arreglo para D(s)
H = tf(N,D)

Y MATLAB retorna:
Transfer function from input to output...
s-1
#1: -----
s+1

s+2
#2: -------------
s^2 + 4 s + 5
Cabe notar que N y D tiene las mismas
dimensiones que H.
Cuando se necesiten nicamente ganancias se
puede usar tf con nicamente un argumento
para especificar ganancias simples o ganancias

45
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

de matrices como objetos TF. Por ejemplo:


G = tf([1 0;2 1])

Produce la matriz de ganancia:


1 0
G
2 1

zpk Los modelos de tiempo continuo tienen la Como en el modelo de funcin de transferencia
forma: se puede crear un sistema MIMO concatenando
( s z1 )...(s z m ) sistemas SISO como entradas.
h( s ) k
( s p1 )...(s p n ) Tambin se pude utilizar el comando zpk para
Donde k es un valor escalar real o complejo especificar modelos ZPK MIMO. La sintaxis
(ganancia) y z1 zn y p1... pn son valores para crear un modelo p por m es la siguiente.
reales o pares de complejos conjugados de
los polos y ceros de la funcin de H = zpk (Z , P , K)
transferencia h(s). Este modelos esta Donde
cercanamente relacionado con la Z es el arreglo de ceros p por m
representacin de los modelos por funcin de (Z{i,j}=ceros de Hij(s))
transferencia: los ceros son las races del P es el arreglo de polos p por m
numerador y los polos las races del (P{i,j}=polos de Hij(s))
denominador. Z es el arreglo de ganancias p por m
Existen dos formas para representar los (K{i,j}=ganancia de Hij(s)).
modelos de ganancias, polos y ceros.
Usando el comando zpk. Por ejemplo se escribe lo siguiente
La sintaxis de este comando es: Z= {[],-5;[1-i 1+i] []};
h = zpk(z,p,k) P = {0,[-1 -1];[1 2 3],[]};
Donde z y p son los vectores de polos y K = [-1 3;2 0];
ceros y k es la ganancia. Esto produce un H = zpk(Z,P,K)
objeto ZPK donde h encapsula los datos
z, p y k. Por ejemplo si se escribe:
h = zpk(0, [1-i 1+i 2], -2)

MATLAB retorna:
MATLAB retorna: Zero/pole/gain from input 1 to output...
Zero/pole/gain: -1
-2 s #1: --
-------------------- s
(s-2) (s^2 - 2s + 2

Como una expresin racional en funcin 2 (s^2 - 2s + 2)


de la variable de laplace S #2: -----------------
(s-1) (s-2) (s-3)
1. Definiendo la variable s como un
modelo especial de ZPK Zero/pole/gain from input 2 to output...
s = zpk ( s ); 3 (s+5)
2. Ingresando la funcin de transferencia #1: -------
como una expresin racional en (s+1)^2
trminos de s.
Por ejemplo ya definido s con zpk #2: 0

46
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

H = -2s/((s - 2)*(s^2 + 2*s + 2)); Donde se ha creado el modelo de dos entradas


y dos salidas.
Esto genera la misma funcin de 1 3( s 5)

( s 1) 2
transferencia
s
H ( s)
2( s 2 s 2)
2
0
( s 1)( s 2)( s 3)

Fuente: Armando Portela (2008).

El modelo de Variable de estado depende de ecuaciones lineales de diferencia o


diferenciales los modelos de tiempo continuo tienen la forma:

dx
Ax Bu
dt
y Cx Du

Donde x es el vector de estado y u e y son los vectores de entrada y salida, estas


ecuaciones pueden surgir de la fsica, de la identificacin de las variables de
estado o por realizacin de los sistemas de funcin de transferencia. Se usa el
comando ss, para crear el modelo de funcin de transferencia

sys = ss (A,B,C,D)
A es una matriz Nx por Nx de valores reales o complejos
B es una matriz Nx por Nu de valores reales o complejos
C es una matriz Ny por Nx de valores reales o complejos
D es una matriz Ny por Nu de valores reales o complejos

Esto produce un objeto SS sys que almacena las matrices de variables de estado
A, B, C, D, para modelos con una matriz de ceros (D) se puede usar D=0, es un
atajo para crear una matriz de ceros de dimensiones adecuadas. Ejemplo
considere el siguiente modelo de un motor elctrico:

d 2 d
2
2 5 3I
dt dt

47
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Donde es el desplazamiento angular del roto e I la corriente manejadora. La


relacin entre la entrada de corriente u = I y la velocidad angular y=d/dt est
descrita por las ecuaciones de variables de estado:

dx
Ax Bu
dt
y Cx

Donde
0 1 0
x d A B C 0 1
dt 5 2 3

El modelo especificado se escribe en MATLAB de la siguiente forma:


sys = ss([0 1;-5 -2],[0;3],[0 1],0)

Y el programa retorna

a=
x1 x2
x1 0 1
x2 -5 -2

b=
u1
x1 0
x2 3

c=
x1 x2
y1 0 1

d=
u1
y1 0

48
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Los modelos de respuesta en frecuencia (FRD), en algunas ocasiones solo tienen


los datos de la frecuencia muestreada, en lugar de una funcin de transferencia o
un modelo de variable de estado para el sistema que se desea analizar o
controlar.

Por ejemplo: se supone la funcin de respuesta en frecuencia, para el sistema


SISO que se desea modelar es G(w), adems que se realiza un experimento para
evaluar G(w) a un conjunto fijo de frecuencias w1, w2, , wn. se puede manejar el
sistema con una secuencia de sinusoides para cada frecuencia, como se describe
a continuacin:

Seal de entrada sin sin wit

Sea de salida yi (t )

Funcin de transferencia G(w)

Aqu wi es la frecuencia de entrada de cada sinusoide, i=1,n y


G ( w) G ( w) exp( jG ( w)) . La respuesta de la salida en estado estable de este
sistema satisface yi (t ) G ( wi ) sin( wi t G ( wi )); i=1,n.

El objeto de un modelo de respuesta en frecuencia, se puede tratar como un


modelo LTI, y manipularlo de la misma manera que se manipulan los objetos TF,
SS Y ZPK de los modelos.

La sintaxis bsica para crear un modelo FRD SISO es:

sys = frd(response,frequencies,units)

Donde:

Frequencies: Es un vector real de longitud Nf


Response: Es un vector de longitud Nf de valores de respuesta de
frecuencia compleja para esas frecuencias.
Units: Es una cadena opcional para las unidades de la frecuencia: rad/s
(defecto) o Hz.

49
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Por ejemplo el archivo MAT (MAT-file) LTIexamples.mat contiene un vector de


frecuencia freq, y un vector de datos de respuesta de frecuencias complejas
respG. Para cargar estos datos en el dominio de la frecuencia y construir un
modelo FRD se escribe:

load LTIexamples
sys = frd(respG,freq)

MATLAB retorna de la siguiente manera:


From input 1 to:

Frequency(rad/s) output 1
---------------- --------
1 -0.812505-0.000312i
2 -0.175077-0.001596i
3 -0.092593-0.462963i
4 -0.075781-0.001625i
5 -0.043735-0.000390i

La sintaxis para crear un modelo MIMO FRD, es la misma que para un modelo
SISO, excepto que la respuesta es un arreglo multidimensional p por m- por Nf,
donde p es el nmero de salidas, m es el nmero de entradas y Nf es el nmero
de puntos de datos de frecuencias (la duracin de la frecuencia).

La creacin de modelos en tiempo discreto es muy parecida a la creacin de


modelos de tiempo continuo, excepto que hay que definir un periodo de muestreo
o tiempo de muestreo para estos. El valor de este tiempo debe ser un escalar y
expresado en segundos, aunque puede utilizarse el valor de -1 para dejar el
tiempo de muestreo sin especificar.

Para determinar modelos LTI en tiempo discreto con los comandos tf, zpk, ss o frd,
simplemente se aade el tiempo de muestreo deseado Ts de la lista de los
argumentos de entrada.

sys1 = tf(num,den,Ts)
sys2 = zpk(z,p,k,Ts)
sys3 = ss(a,b,c,d,Ts)
sys4 = frd(response,frequency,Ts)

50
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Por ejemplo se escribe:

h = tf([1 -1],[1 -0.5],0.1)

Y el programa retorna:

Transfer function:
z-1
-------
z - 0.5

Sampling time: 0.1

Operaciones en los modelos LTI. Con los modelos LTI se pueden realizar las
operaciones bsicas de las matrices, como multiplicacin, adicin o
concatenacin. Como estas operaciones utilizan las mismas sintaxis que son
empleadas para operaciones con matrices, pero adaptadas para ser aplicadas a
sistemas o modelos LTI.

Las operaciones y los comandos como el de la retroalimentacin opera sobre ms


de un sistema a la vez, si eso modelos LTI son representados como diferentes
tipos de objetos (Por ejemplo la primera operacin es sobre un objeto TF y el
segundo sobre un objeto SS), entonces no es obvio que tipo de modelo sera el
resultante (TF o SS). Esta serie de conflictos se resuelven con la regla de
precedencia. Los objetos TF, ZPK, SS y FRD, estn organizados por una jerarqua
de precedencia.

FRD > SS > ZPK > TF

Entonces ZPK toma precedencia sobre TF, SS toma precedencia sobre TF y ZPK
y as sucesivamente. Cualquier operacin que involucre dos o mas modelos LTI
produce:

Un objeto FRD si por lo menos uno de los objetos del sistema es FRD
Un objeto SS, sin ningn objeto FRD est presente y por lo menos un
objete SS est en el sistema.
Un objeto ZPK, sin ningn objeto FRD o SS est presente y por lo menos
un objete ZPK est en el sistema.
Un objeto TF nicamente si todos los objetos son TF

51
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Las operaciones sobre los sistemas de diferente tipo trabajan de la siguiente


manera: el tipo resultante est determinado por la regla de precedencia y todos los
operandos son convertidos a la forma adecuada y luego se realizan las
operaciones.

Para reemplazar la supremaca de la regla de precedencia y forzar el resultado de


la operacin se puede:

Convertir todos los operandos antes de ejecutar la operacin.


Convertir el resultado despus de ejecutar la operacin.

Otra cuestin es la regla de herencia, que es, que las propiedades de los
operandos pasan sus propiedades al resultado de la operacin. Si bien la herencia
hace parte dependiente del funcionamiento. Existen algunas reglas generales:

En las operaciones donde se combinan modelos LTI de tiempo discreto,


todos los modelos deben tener el mismo tiempo de muestreo o sin
especificar (-1). El modelo resultante hereda el tiempo de muestreo.
La mayora de las operaciones ignora las propiedades de las Notas y los
datos de usuario.
En general, cuando dos modelos LTI sys1 y sys2 son combinados usando
las operaciones como +, * , [,] , [;], append y feedback. El modelo resultante
hereda los nombres de I/O y los grupos de I/O. sin embargo los conflictos
entre nombres y grupos no son heredados.
Un modelo resultante de operaciones sobre TF o ZPK hereda las
propiedades de su variable los conflictos son resueltos de acuerdo a las
siguientes reglas:
o Para modelos continuos p tiene precedencia sobre s
o Para modelos discreto z^-1 tiene precedencia sobre q y z,
mientras que q tiene precedencia sobre z.

Las operaciones de aritmticas pueden ser aplicadas en los modelos LTI, de la


siguiente manera:

Adicin y sustraccin: Sumar modelos LTI es equivalente a conectarlos en


paralelo. Por ejemplo:

sys = sys1 + sys2

La representacin de la interconexin en paralelo es la siguiente:

52
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 24. Interconexin en paralelo de dos modelos LTI. Adicin y sustraccin

y1
sys1
+
u

y2 y
sys2
+

sys sys1
u
y1

+ y

sys2 _
sys y2

Fuente: Armando Portela (2008)

Si sys1 y sys2 son dos modelos de variables de estado con A1, B1, C1, D1, y A2,
2, C2, y D2, el resultado sera:

A1 0 B1
0 C1 C2 , D1 D2
A2 B ,
,
2

Tambin soporta la suma escalar y se comporta de la siguiente manera: si


sys1 es MIMO y sys2 es SISO, sys1 + sys2 produce un sistema con las
dimensiones de sys.

El comando para conectar los sistemas en paralelo es:


parallel(sys1,sys2)

53
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Multiplicacin. La multiplicacin de dos modelos LTI es conectarlos en serie.


Especficamente

sys = sys1 * sys2

MATLAB retorna un modelo LTI sys conectado en serie como se muestra:

Figura 25. Interconexin en serie

u v y
sys1 sys2

Fuente: Armando Portela (2008)

El comando para conectar en serie los sistemas es:

series(sys1, sys2)

Si sys1 y sys2 son dos modelos de variables de estado con A1, B1, C1, D1, y A2,
2, C2, y D2, el resultado sera:

A1 B1C 2 B1 D2
0 C1 D1C2 ,
A2 B ,
, D1 D2
2

Inversin y operaciones relacionadas. La inversin de modelos LTI , invierte la


relacin entre entradas y salidas

y Hu u H 1 y

Esta operacin es definida nicamente para sistemas cuadrados, est


determinada por:

inv(sys)

54
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

El modelo inverso resultante es del mismo tipo que sys. Las operaciones
relacionadas incluyen:

o Divisin izquierda sys1\sys2, lo cual es equivalente inv(sys1)*sys2


o Divisin derecha sys1/sys2, lo cual es equivalente sys1*inv(sys2)

Para el modelo de variable de estado sys con datos A,B,C,D, inv(sys) est
definida solamente cuando D es una matriz cuadrada invertible, en cuyo caso
los datos de variables de estado son:

A BD 1C , BD 1 , D 1C , D 1

Transposicin. Se puede transponer un sistema LTI usando: sys.

Esta es una operacin literal con los siguientes efectos:

o Para los modelos TF (con argumentos de entrada, num y den), los


arreglos num y den son transpuestos.

o Para los modelos ZPK (con argumentos de entrada z, p, k), los


arreglos z, p, y k son transpuestos.

o Para modelos SS (con datos A, B, C, D), la transposicin produce un


modelo de variable de estado AT, BT, CT, DT.

o Para modelos FRD (con una respuesta de frecuencia compleja la


matriz respuesta (response)), la matriz de datos de respuesta en
frecuencia de cada frecuencia es transpuesta.

El toolbox de control provee un nmero de funciones que ayudan a modelar y


construir procesos. Eso incluye las funciones para la interconexin de modelos,
estas funciones son tiles para modelos de lazo abierto y cerrado.

55
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Tabla 12. Sintaxis y ejemplos de comandos empleados para interconectar


modelos.

Operador de
Descripcin
interconexin
[,] Concatena los modelos horizontalmente
[;] Concatena los modelos verticalmente
append Agrega modelos en una configuracin de bloque diagonal, la sintaxis de este
comando es la siguiente:
sys=append(sys1, sys2,,sysN).
Aade las entradas y salida de los modelos LTI sys1,,sysN, para formar un
modelo aumentado, como se describe a continuacin

Figura 26. Modelo compuesto.

Fuente: Armando Portela (2008).

Para un sistema con unas funciones de transferencia H1(s),,HN(s), el sistema


resultante tiene una diagonal en su funcin de transferencia.
H 1 (s) 0 0
0 H 2 ( s) 0

0

0 0 H N ( s)
Para un modelo de variable de estado sys1 y sys2 con datos (A1, B1, C1, D1) y (A2,
B2, C2, D2), append(sys1,sys2), produce el siguiente modelo de variable de
estado.

A 0 x1 B1 0 y1
x1 1
x 0 A2 x 2 0 B2 y 2
2
y1 C1 0 x1 D1 0 u1
y 0
C 2 x 2 0 D2 u 2
2

Los argumentos de entrada sys1,..,sysN, pueden ser modelos LTI de cualquier


tipo. Las matrices regulares tambin son representadas como ganancias

56
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

estticas, pero deben tener por lo menos un objeto de tipo LTI. Todos los modelos
deben ser continuos o todos discreto con el mismo tiempo de muestreo. Cuando
los modelos son de diferente tipo, el tipo est determinado por la reglas de
precedencia. No existe el lmite de entradas. Ejemplo:

Los comandos:
sys1 = tf(1,[1 0])
sys2 = ss(1,2,3,4)
sys = append(sys1,10,sys2)

Producen el modelo de variables de estado:


sys

a=
x1 x2
x1 0 0
x2 0 1.00000

b=
u1 u2 u3
x1 1.00000 0 0
x2 0 0 2.00000
c=
x1 x2
y1 1.00000 0
y2 0 0
y3 0 3.00000

d=
u1 u2 u3
y1 0 0 0
y2 0 10.00000 0
y3 0 0 4.00000

Continuous-time system.

connect Deriva el modelo de variables de estado a partir de la descripcin del diagrama de


bloques. La sintaxis del comando es la siguiente:

sysc = connect(sys, Q, inputs, outputs )

Los sistemas dinmicos complejos se dan a menudo como diagrama de bloques.


Para sistemas de complejidad moderada puede ser bastante difcil encontrar un
modelo de variable de estado requerido para analizar y disear las herramientas
para usarlo. Comenzando con la descripcin del diagrama de bloque se puede
usar append y connect, para construir un modelo de variable de estado para el
sistema.

Primero se emplea:

sys=append(sys1, sys2,,sysN)

Para especificar cada bloque sysj en el diagrama y la formar un bloque diagonal,

57
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

ajenas al modelo LTI del sistema.

Luego se emplea:

sysc=connect(sys, Q, inputs, outputs)

Para conectar los bloques juntos y derivar en el modelo de variable de estado


para la interconexin total. Los argumentos Q, inputs, outputs tiene el siguiente
propsito:
La matriz Q indica como estn conectados los bloques en el diagrama. Tiene
una fila por cada entrada de sys, donde el primer elemento de cada fila es el
nmero de la entrada. Los subsecuentes elementos de cada fila, indica
donde el bloque de entrada tiene sus entradas sumadas; los elementos
negativos indican entradas negativas en el punto de unin.
Dado sys y Q se calcula un modelo de variables de estado para la
interconexin con las mismas entradas y salidas que sys (que es la
concatenacin de todos los bloques entrada y salida). Los ndices de los
vectores de entrada y salida indican cual de las entradas y salidas son
externas al diagrama de bloques.

La funcin connect no soporta retrasos.

Ejemplo:

Figura 27. Ejemplo de interconexin de sistemas

Fuente: Armando Portela (2008).

Dada las matrices del modelo de variable de estado sys2


A = [ -9.0201 17.7791
-1.6943 3.2138 ];
B = [ -.5112 .5362
-.002 -1.8470];
C = [ -3.2897 2.4544
-13.5009 18.0745];
D = [-.5476 -.1410
-.6459 .2958 ];
Se definen los trs bloques como modelos LTI individuales
sys1 = tf(10,[1 5],'inputname','uc')
sys2 = ss(A,B,C,D,'inputname',{'u1' 'u2'},'outputname',{'y1' 'y2'})

58
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

sys3 = zpk(-1,-2,2)
A continuacin se aaden los bloques para formar el bloque no interconectado.
sys = append(sys1,sys2,sys3)
Esto produce el modelo de bloques diagonal:

sys

a=
x1 x2 x3 x4
x1 -5 0 0 0
x2 0 -9.0201 17.779 0
x3 0 -1.6943 3.2138 0
x4 0 0 0 -2
b=
uc u1 u2 ?
x1 4 0 0 0
x2 0 -0.5112 0.5362 0
x3 0 -0.002 -1.847 0
x4 0 0 0 1.4142

c=
x1 x2 x3 x4
? 2.5 0 0 0
y1 0 -3.2897 2.4544 0
y2 0 -13.501 18.075 0
? 0 0 0 -1.4142
d=
uc u1 u2 ?
? 0 0 0 0
y1 0 -0.5476 -0.141 0
y2 0 -0.6459 0.2958 0
? 0 0 0 2

Continuous-time system.
Hay que notar que el orden de las entradas y las salidas es la misma como el
orden de los bloques que se escogi, las entradas y salidas son denotadas por b.
Para producir l diagramas de bloques total de sys especifica las interconexiones y
las entradas y salidas externas. Se necesita conectar las salidas 1 y 4 en la
entrada 3 (u2) y la salida 3 (y2) en la entrada 4. La matriz de interconexin Q es:
Q= [3 1 -4
4 3 0];
Hay que notar en la segunda fila de Q tiene ceros. El diagrama de bloques tiene
dos entradas externas uc y u1 (entradas 1 y 2 de sys) y dos salidas externas y1 y
y2 (salidas 2 y 3 de sys). De acuerdo ha esto el arreglo de entradas y salidas es:
inputs = [1 2];
outputs = [2 3];
Se obtiene el modelo de variables de estado interconectado, escribiendo:
sysc = connect(sys,Q,inputs,outputs)

59
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

MATLAB retorna:
a=
x1 x2 x3 x4
x1 -5 0 0 0
x2 0.84223 0.076636 5.6007 0.47644
x3 -2.9012 -33.029 45.164 -1.6411
x4 0.65708 -11.996 16.06 -1.6283

b=
uc u1
x1 4 0
x2 0 -0.076001
x3 0 -1.5011
x4 0 -0.57391

c=
x1 x2 x3 x4
y1 -0.22148 -5.6818 5.6568 -0.12529
y2 0.46463 -8.4826 11.356 0.26283

d=
uc u1
y1 0 -0.66204
y2 0 -0.40582

Continuous-time system
Cabe notar que las entradas y salidas son como se buscaba.
Parallel Conecta dos modelos LTI, la sintaxis de este comando es:

sys = parallel(sys1,sys2)
sys = parallel(sys1,sys2,inp1,inp2,out1,out2)
Esta funcin acepta cualquier tipo de modelo LTI. Los dos sistemas deben ser
continuos o discretos con el mismo tiempo de muestreo. Las ganancias estticas
y neutrales pueden ser especificadas como matrices regulares.

sys = parallel(sys1,sys2)

Es equivalente a hacer la suma directa entre los dos sistemas como se explic
con anterioridad.

sys = parallel(sys1,sys2,inp1,inp2,out1,out2)

La conexin del sistema se describe a continuacin:

60
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 28. Interconexin de un sistema en paralelo

Fuente: Armando Portela (2008).

Es la forma ms general de la interconexin en paralelo. Los ndices de los


vectores inp1 e inp2 especifican cual entrada u1 de sys1 y cual entrada u2 de
sys2 estn conectadas. Similarmente los ndices de los vectores out1 y out2
especifican cual de las salidas y1 de sys1 y cul de las salidas y2 de sys2 estn
sumadas. El modelo resultante sys tiene [v1 ; u ;v2] como entradas y [z1; y ;
z2]como salidas.

series Conecta dos modelos LTI, en serie la sintaxis de este comando es la siguiente:

sys = series(sys1,sys2)
sys = series(sys1,sys2,outputs1,inputs2)

Esta funcin acepta cualquier tipo de modelo LTI. Los dos sistemas deben ser
continuos o discretos con el mismo tiempo de muestreo. Las ganancias estticas
y neutrales pueden ser especificadas como matrices regulares.

sys = series(sys1,sys2)

Esto es equivalente a multiplicar los sistemas directamente, y esta se comento


con anterioridad.

sys = series(sys1,sys2,outputs1,inputs2),

Es la forma ms general de la conexin en serie. Esta conexin esta descrita en


la siguiente figura:

61
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 29. Interconexin de un sistema en serie

Fuente: Armando Portela (2008).

El ndice de los vectores outputs1 y outputs2 indica cual salida de y1 de sys1 y


cual entrada u2 de sys2 deben ser conectadas. El modelo resultante sys tiene u
como entrada e y como salida.
feedback Conecta dos sistemas LTI retroalimentados, la sintaxis de este comando es la
siguiente:

sys = feedback(sys1,sys2)
sys = feedback(sys1,sys2,sign)
sys = feedback(sys1,sys2,feedin,feedout,sign)

El primer comando retorna un sistema LTI sys con retroalimentacin negativa

Figura 30. Interconexin de un sistema con retroalimentacin


negativa

Fuente: Armando Portela (2008).

El modelo de lazo cerrado sys tiene u como vector de entrada e y como vector de
salida. Los modelos LTI sys1 y sys2 deben ser continuos o ambos discreto con el
mismo tiempo de muestreo. Las reglas de precedencia determinan el tipo de
modelo resultante.

Para aplicar retroalimentacin negativa, se usa la sintaxis

sys = feedback(sys1,sys2,+1)

62
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Por defecto el commando feedback asume una retroalimentacin negativa lo que


es equivalente a sys = feedback(sys1,sys2,-1).
Finalmente

sys = feedback(sys1,sys2,feedin,feedout,sign)

Calcula un modelo de lazo cerrado para la forma ms general de un lazo cerrado.

Figura 31. Diagrama generalizado de un sistema retroalimentado

Fuente: Armando Portela (2008).

El vector feedin contiene los ndices del vector de entrada de sys1 y especifica
cuales entradas u estn involucradas en lazo de retroalimentacin. Similarmente
feedout especifica cuales salidas y de sys1 son usadas para la retroalimentacin.
El modelo resultante tiene las mismas entradas y salidas como sys1 (con el
mismo orden). La retroalimentacin negativa es aplicada por defecto. Para aplicar
una retroalimentacin positiva se utilizara la siguiente sintaxis:
sys = feedback(sys1,sys2,feedin,feedout,+1)

Fuente: Armando Portela (2008).

Se pueden realizar conversiones entre sistemas continuos y discretos, con el uso


de un solo comando (c2d o d2c). Este (c2c) discretiza modelos de tiempo continuo
TF, ZPK, SS. Inversamente, d2c convierte modelos de tiempo discreto TF, ZPK,
SS. La sintaxis de los comandos de estos comandos son:

sysd = c2d(sysc,Ts); % Ts = Periodo de muestreo en segundos


sysc = d2c(sysd);

63
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

La conversin de tiempo discreto a continuo utiliza un retenedor de orden cero


ZOH, por defecto.

Herramientas para el anlisis de sistemas de control. Estas herramientas


pueden usarse para determinar las caractersticas como el nmero de pares de
entrada/salida, el tiempo de muestreo si el sistema es discreto. Esta lista de
comandos funciona con cualquier modelo de sistema LTI. Los anlisis pueden ser
hechos en el dominio del tiempo o en el dominio de la frecuencia. Los comandos
para el anlisis en el dominio del tiempo son los siguientes:

Tabla 13. Sintaxis y ejemplos de comandos empleados para el anlisis de


sistemas de control.

Comando Sintaxis
impulse Calcula la respuesta del modelo LTI al impulso. La sintaxis de este comando es la siguiente:

impulse(sys)
impulse(sys,t)
impulse(sys1,sys2,...,sysN)
impulse(sys1,sys2,...,sysN,t)
impulse(sys1,'PlotStyle1',...,sysN,'PlotStyleN')
[y,t,x] = impulse(sys)

La respuesta al impulso, es la respuesta del sistema a una entrada delta de Dirac (t), para
sistemas de tiempo continuo y al pulso unitario en t=0 para los de tiempo discreto. El estado
inicial de cero est supuesto para los sistemas de variables de estado. Cuando este comando es
utilizado sin los argumentos del lado izquierdo de la asignacin, esta funcin dibuja la respuesta
al impulso en pantalla.

impulse(sys): Grafica la respuesta impulso de un modelo arbitrario LTI sys. Este modelo
puede ser continuo o discreto, y SISO o MIMO. La respuesta al impulso de un sistema multi-
entrada es la coleccin de las respuestas impulsos para cada canal de entrada. La duracin
de la simulacin est determinada automticamente para mostrar el comportamiento
transiente de la respuesta.
impulse(sys,t):ajusta los lmites de la simulacin. Se puede especificar el tiempo final t=Tfinal
(en segundos) o un vector de muestras de tiempos equiespaciadas. De la forma: t =
0:dt:Tfinal.
Para tiempos discretos el espaciamiento dt debe coincidir con el periodo de muetreo. Para
sistemas continuos, dt se convierte en el tiempo muestreado del modelo de simulacin
discretizado, para asegurarse que se escoja un dt lo suficientemente pequeo para capturar
el fenmeno del transiente.
Para dibujar la respuesta al impulso de muchos modelos LTI, en una sola figura se usa:
impulse(sys1,sys2,...,sysN)
impulse(sys1,sys2,...,sysN,t)

64
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Cuando son utilizados los argumentos del lado izquierdo del lado de la asignacin

y,t] = impulse(sys)

[y,t,x] = impulse(sys)

y = impulse(sys,t)

(Esto es utilizado nicamente para los modelos de variables de estado), estos retornan la
respuesta de salida y , el vector de tiempo t usada para la simulacin, y las trayectorias de
estado x. No realiza ningn esquema. Para sistemas de una sola entrada, y tiene muchas
filas como muestras de tiempo (longitud t), y tantas columnas como salidas. En el caso de de
un modelo multi-entradas, la respuesta de cada canal de entrada son apilados en la tercera
dimensin de y, las dimensiones de y son:

(Longitud de t ) X (nmero de salidas) X (nmero de entradas)

Ejemplo:

Dibujar la respuesta al impulso del modelo de variable de estado de segundo orden.

0.5572 0.7814 x1 1 1 u1
x1 x 0 2 u
x 0.7814 0 2 2
2
x
y 1.9691 6.4493 1
x2
Usando los siguientes comandos:

a= [-0.5572 -0.7814;0.7814 0];

b = [1 -1;0 2];

c = [1.9691 6.4493];

sys = ss(a,b,c,0);

impulse(sys).

MATLAB retorna:

65
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 32. Respuesta al impulso del sistema.

Impulse Response
From: In(1) From: In(2)
12

10

4
Amplitude

-2

-4

-6
0 5 10 15 20 0 5 10 15 20
Time (sec)

Fuente: Captura de Matlab versin trial (2008)..


step Calcula la respuesta de los modelos LTI al escaln unitario. La sintaxis del comando es la
siguiente:

step(sys)
step(sys,t)
step(sys1,sys2,...,sysN)
step(sys1,sys2,...,sysN,t)
[y,t,x] = step(sys)

El estado inicial de cero est supuesto para los sistemas de variables de estado. Cuando este
comando es utilizado sin los argumentos del lado izquierdo de la asignacin, esta funcin dibuja
la respuesta al escaln en pantalla.

step(sys): Grafica la respuesta escaln de un modelo arbitrario LTI sys. Este modelo puede
ser continuo o discreto, y SISO o MIMO. La respuesta al impulso de un sistema multi-entrada
es la coleccin de las respuestas escaln para cada canal de entrada. La duracin de la
simulacin est determinada automticamente para mostrar el comportamiento transiente de
la respuesta.
step(sys,t):ajusta los lmites de la simulacin. Se puede especificar el tiempo final t=Tfinal (en
segundos) o un vector de muestras de tiempos equiespaciadas. De la forma: t = 0:dt:Tfinal.
Para tiempos discretos el espaciamiento dt debe coincidir con el periodo de muetreo. Para
sistemas continuos, dt se convierte en el tiempo muestreado del modelo de simulacin
discretizado, para asegurarse que se escoja un dt lo suficientemente pequeo para capturar
el fenmeno del transiente.
Para dibujar la respuesta al impulso de muchos modelos LTI, en una sola figura se usa:

66
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

step(sys1,sys2,...,sysN)
step(sys1,sys2,...,sysN,t)

Cuando son utilizados los argumentos del lado izquierdo del lado de la asignacin

y,t] = impulse(sys)

[y,t,x] = impulse(sys)

y = impulse(sys,t)

(Esto es utilizado nicamente para los modelos de variables de estado), estos retornan la
respuesta de salida y , el vector de tiempo t usada para la simulacin, y la trayectoria de
estado x. No realiza ningn esquema. Para sistemas de una sola entrada, y tiene muchas
filas como muestras de tiempo (longitud t), y tantas columnas como salidas. En el caso de de
un modelo multi-entradas, la respuesta de cada canal de entrada son apilados en la tercera
dimensin de y, las dimensiones de y son:
(Longitud de t ) X (nmero de salidas) X (nmero de entradas)

Ejemplo:

Dibujar la respuesta al escaln unitario del modelo de variable de estado de segundo orden.

0.5572 0.7814 x1 1 1 u1
x1 x 0 2 u
x 0.7814 0 2 2
2
x
y 1.9691 6.4493 1
x2

Usando los siguientes comandos:

a= [-0.5572 -0.7814;0.7814 0];

b = [1 -1;0 2];

c = [1.9691 6.4493];

sys = ss(a,b,c,0);

step(sys).

MATLAB retorna:

67
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 33. Respuesta al sistema al escaln unitario

Step Response
From: In(1) From: In(2)
12

10

6
Amplitude

-2

-4

0 5 10 15 20 0 5 10 15 20
Time (sec)

Fuente: Captura de Matlab versin trial (2008)..

Fuente: Armando Portela (2008).

Para el anlisis de sistemas a nivel de respuesta en frecuencia tenemos los


siguientes comandos:

Tabla 14. Sintaxis y ejemplos de comandos empleados para el anlisis de la


respuesta en frecuencia de sistemas de control.

Comando Sintaxis
Bode Calcula la magnitud y la fase de la respuesta en frecuencia de los modelos LTI. Cuando no son
utilizados los argumentos del lado izquierdo de la asignacin el comando produce un diagrama
de Bode en la pantalla. La magnitud es dibujada en decibeles (dB) y la fase en grados. El

clculo de los decibeles como: 20 log 10 H j donde H j es la respuesta del modelo en
frecuencia. Este diagrama es utilizado para analizar las propiedades de los sistemas como el
margen de ganancia, margen de fase, ganancia en DC, ancho de banda, rechazo a las
interferencias y estabilidad. La sintaxis de este comando es la siguiente:

68
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

bode(sys)
bode(sys,w)
bode(sys1,sys2,...,sysN)
bode(sys1,sys2,...,sysN,w)
[mag,phase,w] = bode(sys)

bode(sys): Dibuja la respuesta de Bode de cualquier modelo LTI (sys). este modelo puede
ser continuo o discreto, SISO o MIMO en este caso produce un arreglo de diagramas de
Bode, cada diagrama es mostrado de acuerdo a la entrada del sistema. El rango de
frecuencia est determinado automticamente por el sistema de polos y ceros.

bode(sys,w): se especifica explcitamente el rango de frecuencias o los puntos de


frecuencias que sern usados para el diagrama. Para enfocarlo en un rango de frecuencias
particular [wmin, wmax], se asigna w=(wmin,wmax). Para usar puntos de frecuencias
particulares se ajusta el vector w a las frecuencias deseadas. Se usa logspace, para
generar vectores de frecuencia logartmicamente espaciados. todas las frecuencia deben
ser dadas en radian/sec.

bode(sys1,sys2,...,sysN,w ) o bode(sys1,sys2,...,sysN,w): Dibuja la respuesta de varios


modelos LTI en una sola figura. Todos los sistemas deben tener el mismo nmero de
entradas y de salidas pero puede ser una combinacin de modelos continuos y discretos.
Esta sintaxis es til para comparar la respuesta de mltiples sistemas.

Cuando son invocados los argumentos del lado izquierdo de la asignacin:

[mag,phase,w] = bode(sys)

[mag,phase] = bode(sys,w)

Retorna la magnitud y la fase (en grados) de la respuesta en frecuencia a las frecuencias


w(rad/sec). Las salida mag y phase son arreglos tridimensionales con la frecuencia como su
ultima dimensin, se puede hacer la conversin de la magnitud a dB se hace de la siguiente
forma: magdb = 20*log10(mag).

Ejemplo:

Dibujar el diagrama de Bode para el siguiente sistema SISO continuo:

s 2 0.1s 7.5
H (s)
s 4 0.12 s 3 9s 2

Digitando los siguientes comandos:

g= tf([1 0.1 7.5],[1 0.12 9 0 0]);

bode(g)

69
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 34. Diagrama de bode del sistema.

Bode Diagram
0

-10

Magnitude (dB)
-20

-30

-40
-45
Phase (deg)

-90

-135

-180
0 1
10 10
Frequency (rad/sec)

Fuente: Captura de Matlab versin trial (2008)..

Para dibujar la frecuencia en un rango ms amplio de 0.1 a 100 rad/sec se digita:


bode(g,{0.1 , 100})
MATLAB retorna

Figura 35. Diagrama del sistema con una el rango de frecuencia ampliado.

Bode Diagram
40

20
Magnitude (dB)

-20

-40

-60

-80
-45
Phase (deg)

-90

-135

-180
-1 0 1 2
10 10 10 10
Frequency (rad/sec)

Fuente: Captura de Matlab versin trial (2008)..

Si se desea discretizar con un retenedor de orden cero y un tiempo de muestreo de Ts=0.5


segundos, y compararlo con el sistema continuo se digita:

gd = c2d(g,0.5)
bode(g,'r',gd,'b--')

70
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 36. Comparacin de los diagramas de Bodes continuo y discretos

Bode Diagram
40

20

Magnitude (dB)
0

-20

-40

-60

-80
0
Phase (deg)

-90

-180

-270
-1 0 1
10 10 10
Frequency (rad/sec)

Fuente: Captura de Matlab versin trial (2008)..

Nyquist Calcula la frecuencia de Nyquist de los modelos LTI, es la frecuencia de muestreo necesaria
para discretizar un modelo continuo. Nyquist: calcula la respuesta frecuencial de Nyquist del
modelo LTI. Cuando no son utilizados los argumentos del lado izquierdo de la asignacin el
comando produce un diagrama de Nyquist en la pantalla. Este diagrama es utilizado para
analizar las propiedades de los sistemas como el margen de ganancia, margen de fase, y
estabilidad, la sintaxis de este comando es la siguiente:

nyquist(sys)
nyquist(sys,w)
nyquist(sys1,sys2,...,sysN)
nyquist(sys1,sys2,...,sysN,w)
[re,im,w] = nyquist(sys)
[re,im] = nyquist(sys,w)

nyquist(sys): Dibuja la respuesta de Nyquist de cualquier modelo LTI (sys). este modelo
puede ser continuo o discreto, SISO o MIMO en este caso produce un arreglo de diagramas
de Nyquist, cada diagrama es mostrado de acuerdo a la entrada del sistema. El rango de
frecuencia est determinado automticamente por el sistema de polos y ceros.
nyquist(sys,w): se especifica explcitamente el rango de frecuencias o los puntos de
frecuencias que sern usados para el diagrama. Para enfocarlo en un rango de frecuencias
particular [wmin, wmax], se asigna w=(wmin,wmax). Para usar puntos de frecuencias
particulares se ajusta el vector w a las frecuencias deseadas. Se usa logspace, para
generar vectores de frecuencia logartmicamente espaciados. todas las frecuencia deben
ser dadas en radian/sec.

71
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

nyquist(sys1,sys2,...,sysN,w ) o bode(sys1,sys2,...,sysN,w): Dibuja la respuesta de varios


modelos LTI en una sola figura. Todos los sistemas deben tener el mismo nmero de
entradas y de salidas pero puede ser una combinacin de modelos continuos y discretos.
Esta sintaxis es til para comparar la respuesta de mltiples sistemas.

Cuando son invocados los argumentos del lado izquierdo de la asignacin:

[re,im,w] = nyquist(sys)
[re,im] = nyquist(sys,w)

Retorna la parte real e imaginaria de la respuesta en frecuencia a las frecuencias w(rad/sec).


Las salida re y im son arreglos tridimensionales.

Ejemplo:
Dibujar el diagrama de Nyquist para el siguiente sistema :

2 s 2 5s 1
H ( s)
s 2 2s 3
Digitando los siguientes comandos:
H = tf([2 5 1],[1 2 3])
nyquist (H)

MATLAB retorna:

Figura 37. Diagrama de Nyquist del sistema

Nyquist Diagram
2

1.5

0.5
Imaginary Axis

-0.5

-1

-1.5

-2
-1 -0.5 0 0.5 1 1.5 2 2.5 3
Real Axis

Fuente: Captura de Matlab versin trial (2008)..

72
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

El lugar geomtrico de las races de Evans (quin en 1948 propuso algunas reglas
para esbozar el grfico) es realizado por el comando rlocus en un modelo SISO de
lazo abierto. El lugar geomtrico de las races brinda las trayectorias de lazo
cerrado como funcin de la ganancia de la trayectoria de retroalimentacin k
(asumiendo una retroalimentacin negativa). Este grfico es usado para estudiar
los efectos de la variacin de las ganancias en la retroalimentacin en la
localizacin de los polos en un lazo cerrado. A su vez esos lugares proporcionan
una informacin indirecta de las respuestas en el tiempo y en la frecuencia. La
sintaxis de este comando es:

rlocus(sys)
rlocus(sys,k)
rlocus(sys1,sys2,...)
[r,k] = rlocus(sys)
r = rlocus(sys,k)

rlocus(sys): calcula y grafica el lugar geomtrico de las races del modelo SISO de
lazo abierto sys. esta funcin puede ser aplicada a los siguientes lazos de
retroalimentacin negativo, ajustando las caractersticas del modelo sys
apropiadamente.

Figura 38. Lazos de retroalimentacin

Fuente: Armando Portela (2008).

73
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Si sys tiene la funcin de transferencia:

n( s )
h( s )
d ( s)

Los polos del lazo cerrados son las races de:

d ( s ) kn( s ) 0

El comando selecciona un conjunto de valores de k, para producir un diagrama


suavizado. Alternativamente rlocus(sys,k), donde los valores de k son
especificados por el usuario para diagramar el lugar geomtrico de las races.

rlocus(sys1,sys2,...), diagrama el lugar geomtrico de las races de mltiples


modelos LTI, en un solo diagrama.

Cuando son invocados los argumentos del lado izquierdo de la asignacin:

[r,k] = rlocus(sys)
r = rlocus(sys,k)

Retorna el vector k de las ganancias seleccionadas y los lugares de las races


complejas r para esas ganancias.

Ejemplo: Diagrame el lugar geomtrico de las races para el siguiente sistema:

2 s 2 5s 1
H ( s)
s 2 2s 3

h = tf([2 5 1],[1 2 3]);


rlocus(h)

MATLAB retorna;

74
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 39. Diagrama del lugar geomtrico de las races del sistema

Root Locus
1.5

0.5
Imaginary Axis

-0.5

-1

-1.5
-2.5 -2 -1.5 -1 -0.5 0
Real Axis
Fuente: Captura de Matlab versin trial (2008)..

Leccin 10: Simulacin de un sistema de control

Modelado de un motor de corriente de continua.

Figura 40. Esquema del circuito elctrico y diagrama mecnico rotacional

Fuente: Armando Portela (2008).

75
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Para el modelo del motor se consideraron los parmetros dados en la Tabla 15.

Tabla 15. Parmetros de un Motor de Corriente Continua

Parmetro Smbolo Valor


Momento de inercia del sistema J kgm2
0.01 2
s
Coeficiente de friccin b 0.1Nms
Constante de fuerza electromotriz K=Ke=Kt Nm
0.01
(FEM) A
Resistencia de armadura R 1
Entrada: fuente de tensin V 0.5H
Posicin del eje

Fuente: Armando Portela (2008).

Se suponen rotor y ejes rgidos,

El torque (T) se relaciona con la corriente de armadura y la fem (e) con la


velocidad de rotacin, segn las siguientes ecuaciones:


T K t i (1) e K e (2)

Con base en las leyes de Newton y en las leyes de Kirchoff, resultan las siguientes
ecuaciones diferenciales que describen al sistema dinmico.

J b K i (3)

L i R i V K (4)

Aplicando la transformada de Laplace y haciendo cero las condiciones iniciales,


las expresiones quedan de la siguiente manera

s ( J s b) ( s ) K i (5)
( L s R) I ( s ) V K s ( s ) (6)

76
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Igualando las ecuaciones 5 y 6 y despejando se obtiene:


K
(7)
V ( J s b) ( L s R ) K 2

Que es la funcin de transferencia del sistema.

El modelo de variables de estado es el siguiente:

b K
d J 0

J 1 v (8)
dt i K R
i L
L L

Cdigo en MATLAB:
%%MOTOR DE CORRIENTE CONTINUA CC
%Definicin de los parmetros
J=0.01;
b=0.1;
K=0.01;
R=1;
L=0.5;

%Creacin de la funcin de transferencia


num=K;
den=[(J*L) ((J*R)+(L*b)) ((b*R)+K^2)];
sys=tf(num,den)

%Respuesta al impulso en lazo abierto:


impulse(sys)
title('Respuesta al impulso en lazo abierto');
grid;
xlabel('Tiempo');
ylabel('Amplitud');

%Respuesta al escaln en lazo abierto


figure;
step(sys)
title('Respuesta al escaln en lazo abierto');
grid;
xlabel('Tiempo');
ylabel('Amplitud');

77
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

%Variables de estado
A=[-b/J K/J
-K/L -R/L];
B=[0
1/L];
C=[1 0];
D=0;
sysss=ss(A,B,C,D)

%Respuesta al impulso en lazo abierto:


figure;
impulse(sysss)
title('Respuesta al impulso en lazo abierto');
grid;
xlabel('Tiempo');
ylabel('Amplitud');

%Respuesta al escaln en lazo abierto


figure;
step(sysss)
title('Respuesta al escaln en lazo abierto');
grid;
xlabel('Tiempo');
ylabel('Amplitud');

Siendo el mismo sistema descrito de formas diferentes, las respuestas son


iguales.

El sistema de lazo cerrado debe cumplir con las siguientes condiciones:

Tiempo de establecimiento de 2seg


Sobreimpulso menor que el 5%
Error de estado estacionario 1%

Para disear el controlador PID se debe recordar la funcin de transferencia de


este controlador, la cual es:

KI K s2 KD s KI
KP KD s D (9)
s s

78
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Se debe encontrar los valores de las constantes del controlador que hagan cumplir
las condiciones mencionadas anteriormente. Que en este caso son: Kp=100,
Ki=200, Kd=10, con este cdigo se pueden hacer pruebas para el controlador.

%Funcin de transferencia del controlador PID


input('Ingrese el valor de la parte proporcional ');
Kp=ans;
input('Ingrese el valor de la parte integral ');
Ki=ans;
input('Ingrese el valor de la parte derivativa ');
Kd=ans;
numc=[Kd, Kp, Ki];
denc=[1 0];
%Se determina la funcin del sistema retroalimentado
numa=conv(num,numc);
dena=conv(den,denc);
[numac,denac]=cloop(numa,dena);
figure;
step(numac,denac)

El lugar geomtrico de las races, es utilizado para controlar el sistema, realizando


una compensacin esto se logra agregando polos y ceros, con tal de que el
sistema en lazo cerrado, se comporte como se desea. Para conseguir esta
compensacin se agrega un compensador por atraso de fase, cuya funcin de
transferencia es:

s 1
(10)
s 0.01

%Utilizando el lugar geomtrico de las races con un compensador


por atraso de fase.
figure;
rlocus(num,den)%LGR en lazo abierto
z1=1;
p1=0.01;
numa = [1 z1];
dena = [1 p1];
numb=conv(num,numa);
denb=conv(den,dena);
figure;
rlocus(numb,denb)
sgrid(.8,0)
title('LGR con un compensador por atraso de fase')

79
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

%Permite ver la respuesta del lazo cerrado con el compensador por


%atraso de fase
input('Ingrese el valor de la ganancia '); %Permite ingresar
el valor de la ganancia desde la lnea de comandos
k=ans;
[numc,denc]=cloop(k*numb,denb,-1);
figure;
step(numc,denc)
title('Respuesta escaln con un compensador')

CAPITULO 3: SIMULINK. CONCEPTOS BASICOS

Introduccin. SIMULINK es un paquete software utilizado para modelar simular y


analizar sistemas dinmicos, soporta tanto sistemas lineales como no lineales,
pueden ser modelados de forma continua, discreta o una mezcla de ambos. Uno
de los objetivos de este programa es brindar herramientas grficas que a
diferencia de la programacin normal se basa en la unin de diferentes bloques
funcionales para realizar modelado y simulacin de sistemas.

Leccin 11: Caractersticas

SIMULINK es un entorno de simulacin multi-dominio basado en modelos para


sistemas dinmicos y embebidos. Proporciona un entorno grfico interactivo y
ajustable con un conjunto de libreras de bloques que le permiten, disear, simular,
implementar y probar una variedad de sistemas variables en el tiempo, incluyendo
comunicaciones, control, procesamiento de seales, procesamiento de vdeo, y
procesamiento de imgenes.

SIMULINK sta integrado con MATLAB, proporcionando acceso inmediato a una


amplia gama de herramientas que le permiten desarrollar algoritmos, analizar y
visualizar simulaciones, crear scripts de procesamiento por lotes, personalizar el
entorno de modelado, definir seales, parmetros y datos de prueba.

Con este programa se puede ir ms all de los modelos lineales ideales, para
explorar modelos no lineales, ms reales, teniendo en cuenta diferentes factores
como friccin, resistencia del aire, detenciones bruscas, entre otros que describen
mejor los fenmenos del mundo real. SIMULINK convierte un PC en un laboratorio
para el modelado y anlisis de sistemas que en la realidad simplemente no sera
posible y/o prctico.

80
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Las caractersticas fundamentales que definen a este entorno de simulacin son


las siguientes:

Gran cantidad de libreras de bloques que pueden ampliarse.


Editor grfico interactivo para el ensamble y manejo de diagramas de
bloques.
Habilidad para manejar diseos complejos segmentando los modelos en
jerarquas de componentes.
Explorador de modelos para navegar, crear, configurar y buscar todas las
seales, propiedades y cdigo generado asociado con un modelo.
Posee interfaces de programacin de aplicaciones (APIs), que permiten
conectarse con otros programas de simulacin.
Posee bloques de funcin con MATLAB embebido, para ser usadas en
sistemas de esta caracterstica.
Modos de simulacin (normal, acelerado o rpidamente acelerado), para
correr simulaciones interpretativamente o compiladas.
Depurador grfico para examinar resultados de las simulaciones y
diagnosticar la ejecucin y comportamientos inesperados.
Acceso total a MATLAB, para analizar y visualizar resultados, ajustar el
entorno de modelado, y definir seales, parmetros y datos de pruebas.
Anlisis de modelos y herramientas de diagnstico para asegurar la
consistencia del modelo e identificacin de errores.

Las aplicaciones de SIMULINK son similares a las de MATLAB, por lo que a


continuacin se describirn las ms importantes.

Diseo de sistemas de control: Para el diseo de sistemas embebidos


(empotrados), esta herramienta es utilizada para la creacin de modelos, muy
empleados en diferentes reas como la industria aeroespacial, procesos de
control, equipos industriales, etc.

Procesamiento de seal y telecomunicaciones: El diseo basado en simulacin de


modelos, permite un desarrollo de aplicaciones ms rpido y econmico, la
simulacin dinmica elimina la necesidad de prototipos fsicos. Un mtodo de
pruebas integrado ayuda a corregir los errores, y mejorar la calidad de los diseos.

Procesamiento de imagen: Este entorno posee herramientas para el


procesamiento de imgenes y video, adems proporciona a los ingenieros,

81
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

cientficos, investigadores una interfaz intuitiva y flexible para resolver complejos


problemas de procesamiento de imgenes.

SIMULINK ofrece a los usuarios una gran librera de ayuda que contiene
explicaciones del uso de los comandos, los parmetros necesarios para su
correcta utilizacin y una serie de ejemplos que ilustran de una manera didctica
la utilizacin de los diferentes bloques.

Leccin 12: Entorno de trabajo en Simulink

SIMULINK est diseado para que el usuario pueda empezar su estudio


implementando aplicaciones sencillas de prueba con fines didcticos, se puede
partir construyendo nuevos modelos fcilmente, o bien adoptar un modelo ya
existente y aadirle diferentes caractersticas, aprovechando el hecho de que se
puede tener acceso a todas las herramientas del MATLAB.

El SIMULINK proporciona una interfaz grfica de usuario (GUI), para la


construccin de modelos como diagramas de bloques, brindando un entorno
grfico de simulacin en el que solo es necesario arrastrar los diferentes bloques
funcionales sobre una plantilla, estos bloques prediseados poseen parmetros
que pueden ser modificados de acuerdo con las caractersticas que el usuario
necesita para su simulacin, luego dichos bloques son interconectados creando un
flujo de informacin a travs de las conexiones.

Iniciando el SIMULINK. Podra considerarse al SIMULINK como un toolbox de


MATLAB, en el que se puede programar grficamente. El acceso a esta
herramienta se hace de la siguiente manera:

Iniciar MATLAB.

Escriba en la ventana de comando SIMULINK o hacer clic en el icono de


SIMULINK de la barra de herramientas. Figura 41.

Aparece en pantalla el men de librera de bloques. Figura 41

Dentro de esta pantalla se puede escoger un nuevo modelo o un modelo


preestablecido y/o los bloques a usar. Figura 41.

82
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Se inicia con un nuevo modelo de SIMULINK, haciendo clic sobre nuevo en la


pantalla inicial, haciendo clic sobre file en la barra de mens, luego sobre new y
por ltimo sobre New model o presionado ctrl+n simultneamente con esto
aparecer la ventana de insercin de bloques y simulacin. Ver Figura 42.

Figura 41. Acceso a SIMULINK.

Fuente: Captura de Matlab versin trial (2008).l.

Figura 42. Pantalla inicial de SIMULINK

Fuente: Captura de Matlab versin trial (2008).

83
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 43. Ventana de Insercin de bloques y simulacin, Editor de Modelos.

Fuente: Captura de Matlab versin trial (2008).l.

Abriendo un modelo. Para editar un diagrama de un modelo existente se debe


abrir dicho modelo, para esto se puede realizar lo siguiente:

Hacer clic sobre el smbolo de abrir, en la barra de herramientas de la


pantalla inicial de SIMULINK o sobre este mismo smbolo en el editor de
modelos.
Escriba en la ventana de comandos de MATLAB el nombre del archivo
sin la extensin (*.mdl), se aclara que el archivo debe estar en la carpeta
de trabajo de matlab.

Editor de Modelo. Cuando se abre un modelo o una librera SIMULINK despliega


la ventana de Editor de Modelo, que consta de las siguientes partes:

Barra de Mens: Esta contiene los comandos para crear, editar, ver y
simular modelos. Dichos comandos son aplicados a los modelos que se
encuentren desplegados dentro del editor.

Barra de Herramientas: permite ejecutar al usuario los comandos de


SIMULINK usados con ms frecuencia con solo un clic del ratn. Cuando
se desee conocer el propsito del botn que este en esta barra solo es
necesario colocar el cursor sobre este y as se mostrar automticamente
su funcin.

84
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Canvas: Este es el lienzo donde se despliega el modelo que ha sido creado


o llamado (abierto). El ratn y el teclado son utilizados para crear, conectar,
seleccionar, mover y editar bloques.

Barra de estado: Cuando una simulacin est corriendo. Esta barra


despliega el estado de la simulacin, incluyendo el tiempo actual de la
simulacin

Guardando un modelo. Se puede guardar un modelo escogiendo entre Save


(guardar) y Save as (guardar como) de la barras de mens. SIMULINK guarda el
modelo generando un tipo especial de archivo llamado model file (archivo modelo)
con una extensin *.mdl, que contiene al diagrama de bloques y sus propiedades.
Si se est guardando el archivo por primera vez se debe usar el comando Save y
asignarle un nombre y una localizacin al archivo, si ya ha sido guardada este
comando reemplazar el contenido del archivo. El comando Save as es usado
para guardar el archivo con un nuevo nombre y localizacin y tambin usarlo para
guardar el archivo en versiones anteriores de SIMULINK.

Generando un reporte del modelo. Un reporte del modelo es un documento


HTML, que describe el contenido y la estructura del modelo. El reporte incluye el
diagrama de bloques del modelo y sus sub-sistemas y las caractersticas de los
parmetros de los bloques. Para generar el reporte de un modelo actual se
selecciona en la barra de mens Print details (imprimir detalles) y aparece la
siguiente pantalla de dilogo:

Figura 44. Ventana de dialogo para realizar los reportes.

Fuente: Captura de Matlab versin trial (2008).l.

85
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Se selecciona el tipo de reporte en la ventana de dialogo, print (imprimir);


SIMULINK genera el reporte HTML y es mostrado en un navegador ordinario.

Leccin 13: Modelos

En las siguientes secciones se describir como crear, configurar y correr un


modelo. Un modelo en SIMULINK es una representacin de un modelo
matemtico de un sistema dinmico cualquiera pero como se ha mencionado esto
se realiza empleando diagramas de bloques, el modelo matemtico se encuentra
descrito por un conjunto de ecuaciones que pueden ser del tipo algebraicas,
diferenciales o de diferencias.

Crear un nuevo modelo. Para crear un nuevo modelo se presiona el botn


nuevo Modelo (figura 41) en la barra de herramientas de la pantalla inicial de
SIMULINK y luego aparecer la pantalla de edicin de modelo.

Figura 45. Creando un nuevo modelo.

Fuente: Captura de Matlab versin trial (2008).l.

Aadir Bloques. Para crear cualquier modelo en SIMULINK se deben arrastrar


los bloques que sean necesarios para el diseo del diagrama. El siguiente
ejemplo servir como gua para la construccin de modelos, en este se emplearn
muchos de los comandos y acciones necesarias para este fin. El modelo
propuesto tiene la funcin de integrar una onda seno se anexa un dispositivo de
visualizacin para poder observar la respuesta. El diagrama de bloques del
modelo es el siguiente:

86
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 46. Diagrama de bloques del ejemplo

Fuente: Captura de Matlab versin trial (2008).l.

Para crear este modelo, se necesitan copiar los bloques de las siguientes libreras
de bloques:

Source library (Librera de fuentes): El bloque de la onda seno

Sinks library (Librera de sumideros): El bloque de visualizacin de la


respuesta.

Continuous library (Librera de bloques en tiempo continuo): El bloque


integrador.

Signal Routing Library (Librera de enrutamiento de seal): El bloque Mux

Se copia el bloque de la onda seno de la librera de fuentes, usando el navegador


de libreras, esto se logra expandiendo el rbol de opciones de la librera
SIMULINK (figura 47), y luego se dirige a la librera de fuentes y finalmente se
selecciona el bloque de la onda seno.

87
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 47. Navegador de libreras

Fuente: Captura de Matlab versin trial (2008).l.

Ahora se selecciona y se arrastra este bloque desde el navegador de libreras al


editor de modelo. Otra forma de copiar este bloque es abriendo la ventana de
librera de fuentes, esto se logra haciendo clic con el botn derecho del ratn
sobre sources (fuentes) y luego sobre el botn de Open library (Abrir librera).
Luego se selecciona y se arrastra este bloque desde la ventana de libreras y se
arrastra en el editor de modelo.

De manera similar se copian los dems elementos del ejemplo buscndolos en


sus respectivas libreras en el navegador de libreras, arrastrndolos desde sus
libreras hasta el editor de modelos, luego de tener todos los elementos se
acomodan dentro de esta ventana usando las teclas de direccionamiento del
teclado o con el ratn. Una vez se han organizado los bloques, el modelo debe
lucir de la siguiente manera:

88
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 48. Bloques organizados dentro del editor de modelo

Fuente: Captura de Matlab versin trial (2008).

Cabe anotar que dependiendo de la funcionalidad del bloque, este posee puertos
de entrada o salida en uno o ms de sus costados representados por smbolos >,
si la punta de este smbolo se encuentra dirigida hacia el bloque, quiere decir que
es de entrada, caso contrario se trata de un puerto de salida. (Figura 45)

Figura 49. Puerto de entrada y de salida.

Fuente: Captura de Matlab versin trial (2008).

Conectando los Bloques. Ahora se conectarn los bloques para poder completar
el modelo. Se conecta la salida del bloque de la onda seno en la entrada superior
del bloque de multiplexacin (mux), para tal efecto se posiciona el puntero del
ratn sobre el puerto de salida del bloque de la onda seno, el puntero cambia de
forma automticamente al ubicarse inmediatamente arriba de los puertos
indicando que al hacer clic la conexin ser realizada adecuadamente (ver figura
50).

Figura 50. Conexin de los bloques.

(a) (b)
Fuente: Captura de Matlab versin trial (2008).

89
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Ahora con el botn izquierdo del ratn sostenido se debe dirigir desde el puerto de
salida hasta el puerto superior de entrada del bloque de multiplexacin, el cursor
cambia nuevamente de forma a una cruz doble al acercarse al segundo bloque, se
debe soltar el botn y los bloques quedarn conectados.

En la figura 51 se observa que la mayora de las conexiones van de un puerto de


salida de un bloque hasta un puerto de entrada de otro. Existe una lnea que se
ramifica, sta conecta la salida de la onda seno con el bloque integrador a la vez
que conecta tambin con una de las entradas del multiplexor, es decir, que la
misma seal llega a dos bloques distintos.

Para poder realizar esto se realizan los siguientes pasos: se ubica el cursor sobre
la conexin ya hecha y se selecciona el punto donde se desea realizar la unin.
Seguidamente se presiona la tecla ctrl (o el botn derecho del ratn). Presionando
el botn izquierdo del ratn se arrastra el puntero hasta el puerto de entrada o
sobre el bloque mismo, entonces se suelta el botn del ratn, SIMULINK dibujar
la lnea de conexin comenzando desde el punto que se escogi hasta el puerto
de entrada del bloque.

Figura 51. Ramificacin de una conexin.

(a) (b)

(c)

Fuente: Captura de Matlab versin trial (2008).

Para finalizar el ejemplo se deben realizar las dems conexiones completando el


diagrama de bloque.

90
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Configurando el modelo. Para realizar la simulacin se debe configurar


SIMULINK. Lo primero que debe realizarse es abrir la ventana de dilogos
Configuration Parameters (Configuracin de parmetros), esto se consigue
dirigindose a la opcin Simulation (simulacin) en la barra de mens del editor de
modelo. En el cuadro de dialogo tiempo de simulacin, por lo pronto solo se
configura el tiempo de detencin de la simulacin a los 10 segundos.

Figura 52. Cuadro de dilogo para la configuracin de los parmetros de


simulacin

Fuente: Captura de Matlab versin trial (2008)

Corriendo el modelo. Finalmente se selecciona start (inicio) en Simulation


(Simulacin) en la barra de mens o en la barra de herramientas presionar el
icono de start simulation (iniciar simulacin)

Figura 53. Inicio y/o detencin de la Simulacin

Fuente: Captura de Matlab versin trial (2008)

91
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

La simulacin se detiene cuando se alcanza el tiempo de parada especificada en


la ventana de dilogos de configuracin de parmetros o cuando es detenida por
el usuario haciendo uso del botn de parada en la barra de herramientas o
dirigindose a stop en el men simulation en la barra de mens. Para observar la
respuesta de la simulacin, se hace doble clic sobre el visualizador (Scope) (figura
54).

Figura 54. Respuesta de la simulacin.

Fuente: Captura de Matlab versin trial (2008)

Adicionando comentarios. Las anotaciones proveen informacin en forma de


texto acerca del modelo con el que se est trabajando. Se puede aadir un
comentario en cualquier rea que no est ocupada por el diagrama de bloque.

Para crear una anotacin en el modelo, se debe hacer un doble clic en un rea no
ocupada del diagrama de bloque, un pequeo rectngulo aparecer y el cursor
cambia a un punto de insercin, se escribe el comentario en este espacio, cada
lnea escrita es centrada dentro del rectngulo que rodea al comentario, luego de
finalizar la anotacin o comentario se puede arrastrar hasta una nueva ubicacin
dentro del modelo.

92
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 55. Anotaciones o comentarios.

Fuente: Captura de Matlab versin trial (2008)

Leccin 14: Subsistemas.

Cuando se incrementa el tamao y la complejidad del modelo, se pueden


simplificar los bloques en subsistemas, estos poseen las siguientes ventajas:

Reduce el nmero de bloques mostrados en la ventana de edicin de


modelos.
Permite la agrupacin de bloques funcionalmente relacionados.
Permite establecer un diagrama de bloques jerrquicos, donde el bloque del
subsistema est en una capa y los bloques que componen al subsistema
estn en otra capa.

Los subsistemas pueden ser creados de dos formas:

Aadiendo un bloque de subsistemas al modelo, para luego abrirlo y


adicionar en este los bloques que componen al subsistema en la ventana
de subsistema.

Aadir los bloques que componen el subsistema, luego agruparlos en un


subsistema.

93
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Creando subsistemas por adicin al bloque subsistemas. Para crear un


subsistema, antes de agregar los bloques que los contiene, se aade un bloque
subsistema al modelo que se est diseando, para tal efecto se debe copiar el
bloque de la librera Ports & Subsystems (Puertos y Subsistemas), al editor de
modelo.

Luego se debe abrir el bloque haciendo doble clic sobre este; SIMULINK abre el
subsistema en una ventana de edicin de modelo nueva. Una vez abierto, se
procede a ubicar y cablear los bloques que hagan parte del subsistema, es
importante incluir bloques o puertos de entrada y de salida, para representar las
correspondientes entradas y salidas del subsistema. Por ejemplo, el siguiente
esquema incluye un bloque de suma con sus correspondientes puertos de
entrada y salida del subsistema.

Figura 56. Ejemplo del subsistema.

Fuente: Captura de Matlab versin trial (2008)

Creando subsistemas por agrupacin de bloques existentes. Si se parte de un


determinado modelo del que se desea utilizar una parte o todos los bloques para
convertirlos en un subsistema, ste puede ser creado agrupando los bloques y
todas las lneas de conexin, que deban estar dentro del subsistema con una
ventana de seleccin, empleando el ratn, no se pueden especificar los bloques
que deban estar seleccionndolos individualmente o usando el comando Select All
(Seleccionar Todos).

La figura 57 muestra un modelo que representa un contador, los bloques de suma


y de retraso unitario son agrupados con sus respectivas conexiones, empleando
una ventana de seleccin, sta se realiza arrastrando el ratn mientras se
mantiene el clic Izquierdo presionado formando un rectngulo de un tamao
adecuado, cuando se libera el botn del ratn, los dos bloques y todas las lneas
de conexin, son seleccionados.

94
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 57. Seleccin de bloques

(a) (b)

(c)

Fuente: Captura de Matlab versin trial (2008)

En el men Edit (Editar) se escoge Create Subsystem (Crear Subsistema),


SIMULINK reemplaza lo bloques con un bloque de subsistema. La figura 57b
muestra el modelo despus de que se ha creado el subsistema con el comando
descrito, ste redimensiona el bloque y etiqueta los puertos del nuevo subsistema.
Si se abre el bloque del subsistema, SIMULINK muestra los bloques y conexiones
que lo conforman (figura 57c). Se aclara que SIMULINK agrega automticamente
los bloques de entrada y salida que representan la entrada y la salida del
subsistema.

Controlando el acceso a los subsistemas. SIMULINK le permite al usuario


controlar el acceso a los subsistemas que residen en la librera. Particularmente se
puede evitar que se vea o modifique el contenido de una librera del subsistema,
aunque permite al usuario su utilizacin.

Para controlar el acceso a la librera del subsistema, se debe abrir la ventana de


dialogo de los parmetros del subsistema y ajustar el parmetro Access
Parameter (Parmetro de Acceso) a ReadOnly (solo lectura) o NoReadoWrite (No
lectura o escritura). La primera opcin permite al usuario ver el contenido de la
librera de subsistemas y hace copias locales para prevenir que otro usuario
modifique la copia original. La segunda opcin evita que otro usuario vea el
contenido de la librera, realice copias o modifique los permisos de la librera de
subsistemas

95
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Leccin 15: Subsistemas condicionados en su ejecucin.

Un subsistema ejecutado condicionalmente, es el que su ejecucin depende de un


valor en una seal de entrada. La seal que controla si se ejecuta un subsistema
es llamada seal de control. Estos subsistemas son muy tiles cuando se est
construyendo un modelo complejo, en el cual el funcionamiento de ciertos
componentes depende de otros. SIMULINK soporta los siguientes tipos de
subsistemas ejecutados condicionalmente:

Subsistema habilitado

Subsistema disparado

Subsistema habilitado y disparado

Subsistema con control de flujo

Subsistema habilitado. Este tipo de subsistema es ejecutado mientras la seal


de control sea positiva. Su ejecucin se inicia cuando la seal cruza por cero (del
ciclo negativo al positivo) y contina su ejecucin siempre y cuando la seal se
mantenga positiva. El subsistema tiene una sola seal de control, la cual puede
ser de tipo o escalar o vector.

Si la entrada es escalar, el sistema se ejecuta si el valor de la seal de control es


mayor que cero. Si la entrada es un vector, el subsistema se ejecuta si aluno de
los elementos del vector es mayor que cero. Por ejemplo si la seal de control es
una onda seno, el subsistema estar alternando entre estar habilitado y
deshabilitado, como se muestra en la siguiente figura, si la direccin de la flecha
es ascendente se habilita y si es descendente se deshabilita.

Figura 58. Seal de habilitacin de un subsistema.

Fuente: Armando Portela (2008).

96
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

SIMULINK se basa en la pendiente en el cruce por cero para determinar cuando


estar habilitado. Si la seal cruza por cero y la pendiente es positiva el
subsistema se habilita y si existe el cruce por cero y la pendiente es negativa el
subsistema se deshabilita.

Para crear un subsistema de este tipo, se debe copiar el bloque Enable Block
(bloque habilitado) de la librera Ports & Subsystems (Puertos y subsistemas),
SIMULINK adiciona un smbolo de habilitado y un puerto de entrada de control en
el bloque del subsistema.

Ajuste de las salidas mientras el subsistema est deshabilitado.

Aunque un subsistema habilitado, no se ejecuta mientras est deshabilitado, la


seal de salida se encuentra disponible para otros bloques. Mientras el
subsistema est deshabilitado, se puede mantener la seal de salida en sus
valores previos o volver a sus valores iniciales.

Se debe abrir la ventana de dilogo para cada puerto de salida y seleccionar una
de las opciones del parmetro Output when disabled (salida cuando est
deshabilitado), como se muestra en la figura 59.

Figura 59. Ventana de dilogo para el ajuste de las salidas.

Fuente: Captura de Matlab versin trial (2008)

97
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Se escoge held (mantener) para conseguir que la salida mantenga su


valor ms reciente.

Se escoge reset (reiniciar) para que la salida vuelva a sus valores


iniciales. Se ajusta Initial output (salida inicial) a los valores iniciales de
la salida.

Ajuste de los estados cuando el sistema es habilitado. Cuando un subsistema


habilitado se ejecuta, se puede elegir si mantiene los estados a sus valores
previos o son fijados en sus condiciones iniciales. Para tal efecto se debe abrir la
ventana de dilogo del bloque habilitado y seleccionar una de las opciones para el
parmetro State when enabling (estado del subsistema cuando est habilitado),
como se muestra en la siguiente ventana de dilogo.

Figura 60. Ventana de dilogo para el ajuste de estados.

Fuente: Captura de Matlab versin trial (2008)

Se escoge held (mantener) para conseguir que se conserven los valores


ms recientes.

Se escoge reset (reiniciar) para revertir los estados a sus valores iniciales.

Extrayendo la seal de control. Es posible extraer la seal de control, esta es


una opcin de la ventana de dilogo del bloque habilitado (enable), que permite
extraer la seal habilitadora de control. Esta caracterstica permite apagar la seal
de control, esto puede ser til cuando la lgica del modelo cuando el subsistema
se encuentra deshabilitado depende de los valores contenidos en la seal de
control.

98
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 61. Apagado de la seal de control.

Fuente: Captura de Matlab versin trial (2008)

Los bloques en un subsistema habilitado, pueden contener cualquier bloque ya


sea continuo o discreto, los bloques discretos se ejecutan nicamente cuando el
subsistema es ejecutado y el tiempo de muestreo est sincronizado con el tiempo
de muestreo de la simulacin. El subsistema habilitado y el modelo deben usar un
reloj comn.

Por ejemplo en el sistema de la figura 58 se observa que contiene cuatro bloques


discretos y una seal de control. Los bloques discretos son:

1. Bloque A, el cual tiene un tiempo de muestreo de 0.25 segundos.

2. Bloque B, el cual tiene un tiempo de muestreo de 0.5 segundos.

3. Bloque C, el cual est en el subsistema habilitado y tiene un tiempo de


muestreo de 0.125 segundos.

4. Bloque D, el cual est en el subsistema habilitado y tiene un tiempo de


muestreo de 0.25 segundos.

La seal de control de habilitacin es generada por un bloque Generador de


pulsos, nombrado como signal E (seal E), el cual cambia de 0 a 1 a los 0.375
segundos y vuelve a cero a los 0.875segundos. La carta (Figura 59) muestra
cuando el bloque discreto es ejecutado.

99
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 62. Modelo de un subsistema habilitado.

Fuente: Captura de Matlab versin trial (2008)

Figura 63. Indicador del funcionamiento de cada bloque.

Fuente: Armando Portela (2008).

Los bloques A y B se ejecutan independientemente de la seal de control porque


no hacen parte del subsistema. Cuando la seal de control se convierte en
positiva, los bloques B y C se ejecutan a sus tasas de muestreo hasta que la seal
vuelva a cero. Cabe anotar que la seal del bloque C no se ejecuta a los 0.875
segundos cuando la seal de control cambia a cero.

Subsistema disparado. Existen subsistemas que son disparados, stos se


ejecutan cada vez que un disparo ocurre. Un disparo puede ocurrir en la subida o
la bajada de una seal de disparo, el cual puede ser continuo o discreto. Un
subsistema disparado tiene una sola entrada de control, llamada trigger Input

100
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

(seal de disparo), que determina el momento de la puesta en funcionamiento del


subsistema, se puede escoger entre tres tipos de eventos de disparo para forzar al
subsistema comenzar su ejecucin.

1. Disparos en flanco ascendente: se ejecuta el subsistema en el instante en


que la seal se va de un valor negativo o cero a un valor positivo (o cero si
el valor inicial es negativo).
2. Disparos en Flanco descendente: se ejecuta el subsistema en el instante en
que la seal disminuye o decrece de un valor positivo o cero a un valor
negativo (o cero si el valor inicial es positivo).
3. Ambos: el subsistema se ejecuta cuando la seal de disparo es de flanco
ascendente o descendente.

En el caso de sistemas discretos, una seal en ascenso o en descenso con


referencia en cero es considerada un evento de disparo nicamente si la seal
permanece en cero por ms de un ciclo precediendo a una elevacin o una cada.
Esto elimina los falsos disparos ocasionados por el muestreo de la seal de
control. Por ejemplo en la siguiente figura para un sistema discreto, no ocurre un
disparo ascendente en el paso 3 porque la seal solamente se ha mantenido un
solo paso antes de que la elevacin ocurra.

Figura 64. Nivel de seal.

Fuente: Armando Portela (2008).

Un ejemplo de un subsistema de disparo se ilustra en la siguiente figura, este es


disparado en el ciclo de ascenso de la seal cuadrada en la entrada de control,

101
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 65. Subsistema activado por disparo.

Fuente: Captura de Matlab versin trial (2008)

Para crear un subsistema de este tipo, se debe copiar el bloque de disparo


(Trigger Block) de la librera de Puertos y subsistemas (Ports &Subsystems) en un
subsistema, SIMULINK adiciona automticamente un smbolo de disparado y un
puerto de entrada de control en el bloque del subsistema. Para seleccionar el tipo
de disparo, En la ventana de dilogo se selecciona una de las opciones para el
parmetro Trigger type (tipo de disparo), como se muestra en la figura 66.

Figura 66. Ventana de dilogo para la seleccin del disparo.

Fuente: Captura de Matlab versin trial (2008)

SIMULINK utiliza diferentes smbolos de disparo en los bloques del subsistema


para indicar si el disparo es de flanco ascendente, descendente o ambos. La
siguiente figura muestra los distintos smbolos.

102
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 67. Subsistema de ascenso, descenso o ambos.

Fuente: Captura de Matlab versin trial (2008)

Salida y estados entre eventos de disparos. A diferencia de los subsistemas


habilitados, los sistemas disparados siempre mantienen sus salidas entre cada
evento de disparo, tambin este tipo de subsistemas no puede reiniciar sus
estados, cuando ocurre un evento de disparo y los estados de cualquier bloque
discreto son mantenidos entre eventos del mismo tipo.

Extrayendo la seal de control de disparo. Una opcin en la ventana de dilogo


del bloque de disparo, permite extraer la seal de control, para poder realizar esto
se habilita la opcin Show output port (mostrar puerto de salida)

Figura 68. Mostrar el puerto de salida.

Fuente: Captura de Matlab versin trial (2008)

103
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

El campo Output data type (tipo de dato de salida), le permite al usuario


especificar el tipo de dato a la seal de salida, como, auto (automtico), int
(entero) o double (doble). La opcin auto causa que el tipo de dato de la salida se
ajuste al del puerto al cual est conectada la seal de salida.

Todos los bloques en un subsistema disparado, deben haber heredado un tiempo


de muestreo (-1) o constante (inf). Esto se usa para asegurar que los bloques
utilizados dentro del subsistema de disparo solo sean activados cuando exista un
disparo. Este requerimiento significa que este tipo de sistemas no pueden incluir
bloques continuos, como por ejemplo un bloque integrador.

Subsistema Disparado y Habilitado. Este tercer tipo de subsistema se ejecuta


combinando ambos tipos de ejecucin condicional, es decir se trata de un
subsistema hibrido, habilitado y disparado. El diagrama de flujo de este
subsistema se presenta en la siguiente figura 65.

Figura 69. Diagrama de flujo de un subsistema disparado y habilitado.

Fuente: Armando Portela (2008)

Estos sistemas contienen ambos tipos de puertos el habilitado y el del disparado.


Cundo ocurre el evento de disparo; SIMULINK revisa el puerto de entrada de
habilitacin para evaluar la seal de control. Si su valor es ms grande que cero,
se ejecuta el subsistema. Si ambas seales son vectores el sistema se ejecuta al
menos si un elemento de cada vector es mayor que cero. Para crear un

104
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

subsistema de este tipo, se debe copiar los bloques de disparado (Trigger Block) y
de habilitado (Enable Block) de la librera de Puertos y subsistemas (Ports &
Subsystems) en un subsistema ya existente, SIMULINK adiciona el smbolo de
disparado y habilitado y los puertos de entrada de control en el bloque del
subsistema.

Figura 70. Smbolo del subsistema habilitado y disparado.

Fuente: Captura de Matlab versin trial (2008)

Los valores de los estados y de las salidas cuando el subsistema est


deshabilitado o rehabilitado, son ajustado como se describi en las secciones
anteriores. En la siguiente figura se muestra un ejemplo de un subsistema
habilitado y disparado.

Figura 71. Ejemplo de un subsistema disparado y habilitado.

Fuente: Captura de Matlab versin trial (2008)

105
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Se pueden crear subsistemas que se ejecuten alternadamente, para conseguir


esto se deben combinar subsistemas empleando el bloque Merge (mezclador), y
as conseguir un conjunto de subsistemas ejecutados alternadamente,
dependiendo del estado actual del modelo. La siguiente figura muestra un modelo
que usa dos subsistemas habilitados con el bloque mezclador, para as crear un
rectificador de onda completa.

Figura 72. Rectificador de onda completa

Fuente: Captura de Matlab versin trial (2008)

El bloque marcado con pos est habilitado cuando la onda AC es positiva,


permitiendo su paso sin ninguna modificacin. El bloque marcado neg se habilita
cuando la onda AC es negativa; e invierte la onda. El bloque Merge permite el
paso al multiplexor de la seal del bloque que est habilitado, el cual pasa la
salida al visualizador con la seal en su forma original, el visualizador muestra la
respuesta en pantalla.

Figura 73. Respuesta del ejemplo.

Fuente: Captura de Matlab versin trial (2008)

106
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

ACTIVIDAD DE AUTOEVALUACIN UNIDAD 1

Para autoevaluar la unidad se propone dos actividades:

Actividad 1

1. Tomese una fotografia a una resolucin 8x


2. Leer el archivo desde Matlab (recuerde que este debe estar almacenado en
el espacio de trabajo de Matlab)
3. Almacenar la foto en la matriz A
4. Convertirla en escala degrises
5. Guardar en un archivo la foto en esa escala de grises.

Actividad 2
1. Elija una ecuacin diferencial cualquiera
2. Obtenga la funcin de transferencia
3. Halle la respuesta del sistema ante un funcin impulso
4. Halle la respuesta del sistema ante un funcin escaln

107
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

FUENTES DOCUMENTALES UNIDAD 1

BIBLIOGRAFIA

Comunicaciones

Andrew Hopper. (1989). Diseo de redes locales. USA: Addison-Wesley.

Carlson (1997). Sistema de comunicacin. Colombia: McGraw Hill.

Stremler (1993). Introduccin a los sistemas de comunicacin. USA: Addison


Wesley.

Tanenbaum. (1997). Redes de computadoras (3ra Ed). Mexico: Prentice Hall.

Tomasi: (1996). Sistemas de comunicaciones electrnicas (2da Ed). Mexico:


Prentice.

Control

Bolton W. Ingenieria de Control (2da Edicin): Alfaomega

Franklin Gene. Control de Sistemas con Retroalimentacin: Iberoamericana.

Kuo Benjamin. Sistemas de control automtico. (7 Edicin): Prentice Hall.

Ogata katsuhiko. Ingenieria de control Moderna (4 edicin): Prentice Hall

Matlab

Etter Delores. Solucin de Problemas de Ingeniera con Matlab. (2da Edicin):


Prentice hall

Hahn Brian D. (2007). Essential Matlab for Engineers and Scientist. (Third
Edition). Elsevier.

Hunt Brian R. (2001), A guide to Matlab for beginners and experienced users.
Cambridge University: Press.

108
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

McMahon David. (2007). Matlab Demystified: McGraw-Hill.

Ogata Katsuhiko. Problemas de Ingeniera de control Utilizando Matlab: Prentice


Hall.

Sayood Khalid. (2007). Learning Programing Using Matlab. (First Edition): Morgan
& Claypool.

Sigmon Kermit, (2002). Matlab Primer. (Sixth Edition). Chapman & Hall/CRC:
Press.

SITIOS WEB

Matlab

Documentation for MathWorks Products.(2009). [en Lnea]. Recuperado el 19 de


julio de 2009, de http://www.mathworks.es/access/helpdesk/help/helpdesk.shtml

Indiana University. Matlab. (2009). [en Lnea]. Recuperado el 19 de julio de 2009,


de http://www.indiana.edu/~statmath/math/matlab/index.html

Introduccin a Matlab. (2001). [en Lnea]. Recuperado el 19 de julio de 2009, de


http://www.ing.unlp.edu.ar/controlm/archivos/electronica/doc/apuntes/matlab.pdf

Matlab Educational Sites. (2006). [en Linea]. Recuperado el 19 de Julio de 2009,


de http://www.ece.umaine.edu/mm/matweb.html

Minitutorial de Matlab. (2009). [en Lnea]. Recuperado el 19 de julio de 2009, de


http://www.desi.iteso.mx/sys/matlab/matlab.htm

The Mathworks. (2009). [en lnea]. Recuperado el 19 de julio de 2009, de


http://www.mathworks.es/

Tutorial de Matlab. (1997). [en Lnea]. Recuperado el 19 de julio de 2009, de


http://www.angelfire.com/la/hmolina/matlab1.html

Tutoriales de control con Matlab. (1996). [en Lnea]. Recuperado el 19 de julio de


2009, de http://ib.cnea.gov.ar/~control2/Links/Tutorial_Matlab_esp/index.html

Scilab

109
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Introduction to Scilab. (2009). [en Lnea]. Recuperado el 19 de julio, de


http://pauillac.inria.fr/cdrom/www/scilab/doc/intro/index.html

Scilab. (2009). [en Lnea]. Recuperado el 19 de julio de 2009, de


http://www.scilab.org/

Welcome to Scilan.in (). [en Lnea]. Recuperado el 19 de Julio de 2009, de


http://scilab.in/index.php?title=Main_Page

Descargas

Aprenda matlab 7.0. (2005). [en Lnea].Recuperado el 19 de julio de 2009, de


http://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab70/matlab70primero.pdf

Scilab 5.1.1. (20090. [en Lnea]. Recuperado el 19 de julio de 2009 de,


http://scilab.softonic.com/

TheMathWorks. (2009). [en Lnea]. Recuperado el 19 de julio de 2009, de


http://www.mathworks.com/products/matlab/

110
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

UNIDAD 2. SIMULINK

INTRODUCCIN

Simulink es una herramienta para el modelaje, anlisis y simulacin de una gran


variedad de sistemas fsicos y matemticos, incluyendo sistemas no lineales y
sistemas discretos. Simulink adiciona muchas caractersticas especficas a los
sistemas dinmicos, mientras conserva toda la funcionalidad de propsito general
de MatLab, de esta forma Simulink no es un programa separado de MatLab, sino
un anexo a l.
Para simplificar la definicin del modelo Simulink usa diferentes clases de
ventanas llamadas ventanas de diagramas de bloques. En estas ventanas se
puede crear y editar un modelo grficamente usando el mouse. Despus de definir
un modelo este puede ser analizado seleccionando una opcin desde los mens
de Simulink o entrando comandos desde la lnea de comandos de MatLab.

JUSTIFICACION

En electrnica es fundamental el estudio y anlisis de sistemas dinmicos lineales,


no lineales, continuos, discretos o hbridos; de igual forma es relevante el estudio y
anlisis de sistemas de control, principalmente en estos elementos radica la
importancia del estudio de herramientas que faciliten dichos estudios y anlisis,
de forma tal que se puedan poner a prueba sin que esto ocasiones efectos
secundario en el sistema, que no sobrepasan un escritorio de estudio.

INTENCIONALIDADES FORMATIVAS

Propsitos

Se pretende profundizar en el uso de la herramienta SIMULINK de Matlab, para


desarrollar habilidades que le permitan al estudiante identificar y utilizar los
aplicativos en el desarrollo de soluciones ptimas a la hora de abordar los
problemas y actividades propuestos, al tiempo que se contribuye a generar

111
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

esquemas mentales en el estudiante con los que podr abordar por su propia
cuenta tanto el diseo y desarrollo de soluciones a problemticas planteadas.

Objetivos

Que el estudiante ample complemente y profundice en las caractersticas


operativas, tcnicas, los beneficios del aplicativo Matlab, desde el punto de vista
del Simulink, para que as puedan emplear y aplicar dichos conocimiento en el
anlisis de sistemas de control y cualquier tipo de sistema dinmico.

Competencias

El estudiante conoce las caractersticas y posibilidades que le brinda SIMULINK


de Matlab, adems conoce los procedimientos sistemticos para interactuar con
stos y dar soluciones a partir de su implementacin en problemas electrnicos.

Metas de aprendizaje

El estudiante aprender de forma individual las temticas del mdulo del curso
para que as pueda aplicar lo aprendido en cada tema mediante ejercicios y
actividades tanto individuales como grupales en las que se desarrollen pequeos
programas o aplicaciones en donde el estudiante se valga de toda la informacin
disponible, de su espritu investigativo y del trabajo en grupo para buscar la
manera de generar las soluciones ms ptimas y funcionales ante las
problemticas planteadas.

Denominacin de Captulos

Captulo 1. Modelar con Simulink

Captulo 2. Navegar por los Modelos

Captulo 3. Bloques, seales y funciones

112
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

CAPITULO 1: MODELAR CON SIMULINK

Introduccin. Simulink es una herramienta que permite realizar fcilmente el


modelado de sistemas dinmicos, tiene dos fases: la definicin del modelo y el
anlisis del modelo. La definicin del modelo significa construir el modelo a partir
de elementos bsicos construidos previamente, tal como, integradores, bloques de
ganancia o controladores. El anlisis del modelo significa realizar la simulacin,
linealizacin y determinar el punto de equilibrio del modelo

Leccin 16. Modelar Ecuaciones

Para explicar de qu forma se modelan ecuaciones, se har uso de dos ejemplos:

En el primer ejemplo se realizar la conversin de grados Celsius a Fahrenheit, el


modelo de esta conversin est definido por la siguiente la ecuacin:

9
TF TC 32
5

Donde TF es la temperatura en grados Fahrenheit y TC la temperatura en grados


Celsius.

Primero se considerarn los bloques que son necesarios para construir el modelo:

1. Un bloque de rampa para la seal de entrada de temperatura de la librera


de fuentes (Sources Library).
2. Un bloque de constante, para definir el valor de la constante 32, tambin de
la librera de fuentes (Sources Library).
3. Un bloque de ganancia para multiplicar la seal de entrada por 9/5, de la
librera de matemticas (Math Library).
4. Un bloque de suma para sumar las dos cantidades, tambin de la librera
de matemticas (Math Library).
5. Un bloque visualizador (Scope) para mostrar la respuesta de librera de
sumideros (Sinks Library).

113
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Se organizan los bloques en la ventana de edicin de modelos. Y se asignan los


valores de las constantes y la ganancia, para tal efecto se hace doble clic sobre el
bloque correspondiente para as asignar el valor adecuado en la ventana de
dilogo desplegada, seguidamente se cierra dicha ventana.

Figura 74. Bloques del ejemplo de conversin de unidades.

Fuente: Captura de Matlab versin trial (2008)

Ahora se conectan los bloques

Figura 75. Bloques conectados.

Fuente: Captura de Matlab versin trial (2008)

El bloque rampa emula la entrada de temperatura en grados Celsius, se abre el


bloque y se cambia el parmetro de Initial Output (Salida inicial) a cero. El bloque
de ganancia multiplica la temperatura por una constante de 9/5 y el bloque
sumador le aade un valor de 32 al resultado y a la salida se obtiene el valor de la
temperatura en grados Fahrenheit. Para observar los resultados se abre el
visualizador y se inicia la simulacin.

El segundo ejemplo es el modelado de un sistema continuo basado en una


ecuacin diferencial:

114
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

x ' (t ) 2 x(t ) u(t )

Donde u(t) es una onda cuadrada con amplitud 1 y frecuencia de 1rad/sec. Se


emplea un bloque integrador que acta sobre la entrada x para producir x. Otros
bloques son necesarios en este modelo incluyendo un bloque de ganancia y uno
de suma. Para generar la onda cuadrada, se utiliza un bloque de generacin de
seales seleccionando la forma de onda cuadrada; se deben cambiar las unidades
por defecto a radians/sec y nuevamente el bloque de visualizacin.

En este modelo, la direccin inversa del bloque de ganancia inferior se logra


seleccionndolo y luego usar el comando Flip Block (voltear bloque) del men
Format (formato)

Figura 76. Diagrama de bloques de la ecuacin diferencial.

Fuente: Captura de Matlab versin trial (2008)

Un importante concepto en este modelo es lazo que incluye el bloque de suma, el


integrador y el de ganancia. En esta ecuacin, x es la salida del bloque integrador
y tambin es la entrada de los bloques que calculan x. Esta relacin es
implementada usando un lazo de retroalimentacin. El visualizador muestra el
valor de x.

115
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 77. Visualizacin de la respuesta de la ecuacin diferencial.

Fuente: Captura de Matlab versin trial (2008)

La ecuacin del ejemplo tambin puede ser expresada como una funcin de
transferencia, el modelo usa el bloque Transfer Fcn (Funcin de transferencia), el
cual acepta a u como entrada y x como salida, entonces el bloque a implementar
es x/u, si se sustituye sx por x y la ecuacin anterior se convierte en:

sx 2 x u

Despejando x

u
x
s2

x 1

u s2

El bloque de funcin de transferencia usa como parmetros los coeficientes del


numerador y denominador. En este caso el numerador es 1 y el denominador es
s+2. Ambos trminos son especificados como vectores de coeficientes de
potencias sucesivas decrecientes en el dominio de s.

En este caso el numerador es [1] (o simplemente 1) y el denominador es [1 2].

116
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 78. Modelo del ejemplo como funcin de transferencia.

Fuente: Captura de Matlab versin trial (2008)

Los resultados de esta simulacin son idnticos a los proporcionados por el


diagrama de bloques realizado previamente.

Evitando Lazos Invlidos. SIMULINK permite conectar directa o indirectamente


la salida de los bloques a las entradas de otros bloques, los lazos pueden ser muy
tiles, por ejemplo en los casos de modelado empleando ecuaciones diferenciales
como en el ejemplo anterior o en los modelos de control con lazos de
retroalimentacin. Sin embargo es posible crear lazos que no pueden ser
simulados. Los tipos comunes de lazos invlidos son:

Lazos que crean conexiones invlidas o intentan modificar los argumentos


de entrada y salida de una funcin llamada.

Subsistemas auto disparados y lazos que contienen subsistemas


disparados sin seal de disparo.

Lazos que contengan subsistemas que estn en funcionamiento.

Para detectar si el modelo diseado contiene lazos invlidos, seleccione el


comando Update diagram (actualizar diagrama) del men Edit (editar). Si el
modelo contiene lazos invlidos, SIMULINK ilumina el lazo y muestra un mensaje
de error en el Observador de diagnstico de simulacin (Simulation Diagnostic
Viewer).

117
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 79. Diagnstico de un lazo invlido

Fuente: Captura de Matlab versin trial (2008)

Leccin 17: Modelar con Control de Flujo Condicional

Los bloques de control de flujo son utilizados en SIMULINK para implementar las
sentencias de control de flujo que se usa en lenguaje C, estas sentencias son:

For (para)
If-else (si-sino)
Switch (interruptor)
While (incluye las sentencias while (mientras que) y do while (haga hasta))

Aunque todas las sentencias pueden ser implementadas en la librera Stateflow de


MATLAB, estos bloques proveen a los usuarios de SIMULINK de herramientas
para la implementacin de requerimientos de una lgica simple.

Se pueden realizar sentencias de control de flujo como las existentes en C,


usando subsistemas ordinarios y los siguientes bloques de la librera de
subsistemas.

Tabla 16. Relacin entre sentencias en C y bloques de SIMULINK I

Sentencia en C Bloque
If-else If , Action port (puerto de accin)
Switch Switch case Action port (puerto de accin)

118
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Sentencia if-else (si-sino) Para el Control de Flujo. El siguiente diagrama


describe una forma generalizada para la implementacin de esta sentencia en
SIMULINK

Figura 80. Implementacin de la sentencia si-sino en SIMULINK.

Fuente: Captura de Matlab versin trial (2008)

Para construir esta sentencia se debe hacer lo siguiente:

1. Se deben proporcionar las entradas de datos al bloque if para la


construccin de las condiciones if-else. Las entradas del bloque if son
ajustadas en la ventana de dilogo de propiedades. Internamente son
designadas como u1, u2,, un y son usadas para construir las condiciones
de salida.

2. Ajustar las condiciones if-else de los puertos de salida para el bloque if.
Los puertos de salida del bloque if tambin son ajustados en la ventana de
dilogo de propiedades. Se usan los valores de entrada u 1, u2,, un para
expresar las condiciones del campo if en la ventana de dilogo de las
sentencias if, elseif, else. Se pueden seleccionar mltiples condiciones
elseif al habilitar la condicin else.

3. Se deben conectar cada puerto de condicin a un subsistema. Cada puerto


de salida de condicin if, elseif, else del bloque if es conectado a un
subsistema para que sea ejecutado cuando la condicin de dicho puerto
sea cierta. Se crean esos subsistemas aadindole un bloque de Action
Port (Puerto de accin) al subsistema, esto crea un modulo de subsistema

119
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

con puerto llamado Action, donde se conecta la condicin del bloque if,
aunque tambin existe un bloque llamado If action subsystem en el que hay
que aadir el subsistema. Una vez conectado este se comporta como un
subsistema habilitado.

Todos los bloques en un subsistema Action controlados por un bloque if o switch


deben correr a la misma tasa de muestreo que el bloque de control.

Ejemplo: Se desea obtener un sistema cuya seal de salida sea controlada por
una seal de reloj, de tal manera que en el tiempo bajo de la seal de reloj, se
observe en la salida una seal senosoidal y en el tiempo alto de la seal de reloj
una seal diente de sierra .

Como se requiere una condicin para controlar la salida, lo ms conveniente es


utilizar un if-else. Se llevan los bloques necesarios al espacio de trabajo, teniendo
en cuenta que para aplicar un if- else se deben llevar dos bloques, el primero
donde se coloca la condicin (se encuentra en la librera Ports & Subsystems), y
el segundo donde se escriben como un subsistema los comandos a ejecutar en
caso de cumplir o no la condicin, (este bloque es denominado If Action
Subsystem), esto se puede apreciar en la figura 81.

Para acceder a la programacin de estos subsistemas basta con dar doble clic
sobre el bloque y aparecer una nueva ventana en la cual se colocan las
instrucciones.

120
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 81. Utilizacin de If- Else

Fuente: Captura de Matlab versin trial (2008)

En la figura 82 se observa los diagramas internos en cada uno de los subsistemas


If Action.

Figura 82. Diagrama del subsistema If Action

Fuente: Captura de Matlab versin trial (2008)

121
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Sentencia de Control de Flujo Switch. El siguiente diagrama describe una forma


generalizada para la implementacin de esta sentencia en SIMULINK

Figura 83. Implementacin de la sentencia Switch en SIMULINK.

Fuente: Captura de Matlab versin trial (2008)

Para construir esta sentencia se debe hacer lo siguiente:

1. Se deben proporcionar los datos de entrada al argumento de entrada del


bloque Switch case. La entrada a este bloque es el argumento de la
sentencia switch para el control de flujo. Este valor determina el caso
apropiado a ejecutar. Entradas de valores no enteros son truncados.

2. Se adicionan los casos al bloque Switch case basados en valores


numricos del argumento de entrada. Se pueden aadir casos al bloque
Switch case a travs de la ventana de dilogo de propiedades de este
bloque. Los casos deben ser sencillos o multi-evaluados, se puede aadir
opcionalmente un caso por defecto, el cual es verdadero si los dems
casos son falsos. Una vez aadidos los casos aparecen como salidas del
bloque Switch case.

3. Se deben conectar cada puerto de cada caso a un subsistema. Cada puerto


de salida del bloque switch case es conectado a un subsistema para que
sea ejecutado cuando la condicin de dicho puerto sea cierta. Se crean
esos subsistemas aadindole un bloque de Action Port (Puerto de accin)
al subsistema, esto crea un modulo de subsistema con puerto llamado
Action, donde se conecta la condicin del bloque if, aunque tambin existe

122
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

un bloque llamado If action subsystem en el que hay que aadir el


subsistema. Una vez conectado el subsistema este se comporta como un
subsistema habilitado.

Leccin 18: Modelar con control de flujo Iterativo.

Se pueden realizar sentencias de control de flujo como las empleadas en C,


usando subsistemas ordinarios y los siguientes bloques de la librera de
subsistemas.

Tabla 17. Relacin entre sentencias en C y bloques de SIMULINK II.

Sentencia en C Bloque
Do-while (haga hasta) While Iterator (mientras que)
For (para) For Iterator (para)
While (Mientras que) While Iterator (mientras que)

Fuente: Armando Portela (2008)

Sentencia de control de flujo While (Mientras que). El siguiente diagrama


describe una forma generalizada para la implementacin de esta sentencia en
SIMULINK

Figura 84. Implementacin de la sentencia While en SIMULINK

Fuente: Captura de Matlab versin trial (2008)

123
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

En SIMULINK una sentencia de control de flujo while cuando es ejecutada por el


bloque While Iterator, itera (ejecuta) el contenido del subsistema While.

Para construir esta sentencia se debe hacer lo siguiente:

1. Se coloca el bloque While Iterator en un subsistema husped, ste se


convierte automticamente en uno con control de flujo While como indica su
nueva etiqueta (while {}) y se comporta como un subsistema disparado.

2. Se proporcionan los datos de entrada para la condicin inicial en el puerto


de entrada de datos del bloque While Iterator. Este bloque requiere una
entrada de datos de condicin inicial (etiquetada como IC), para su primera
iteracin. Esta debe ser originada fuera del subsistema While. Si este valor
es diferente de cero la primera iteracin se ejecuta.

3. Se proveen los datos de entrada para los puertos de condicin del bloque
While Iterator. Las condiciones para las iteraciones restantes son pasadas
al puerto de entrada etiquetados con cond. La entrada a este puerto debe
ser generada dentro del subsistema While.

4. Ajustar la salida del valor de iteracin del bloque While Iterator, a travs de
la ventana de dilogos de las propiedades del bloque. El valor de iteracin
es 1 para la primera iteracin y es incrementada en 1 para las
subsecuentes iteraciones.

5. Cambiar el tipo de iteracin del bloque While iterator a do while (Haga


hasta) a travs de la ventana de dilogos de las propiedades del bloque. La
etiqueta del subsistema husped cambia a do{}while. Con una iteracin
de este tipo no se requiere de condicin inicial, porque todos los bloques en
el subsistema son ejecutados una vez el puerto de condicin (etiquetados
con cond) es comprobado.

Sentencia de Control de Flujo For (para). En SIMULINK una sentencia de


control de flujo for ejecutada por el bloque for Iterator, itera (ejecuta) el contenido
del subsistema. El siguiente diagrama describe una forma generalizada para la
implementacin de esta sentencia en SIMULINK

124
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 85. Implementacin de la sentencia For en SIMULINK.

Fuente: Captura de Matlab versin trial (2008)

Para construir esta sentencia se debe realizar lo siguiente:

1. LLevar un bloque subsistema For Iterator del navegador de librera, hacia el


modelo que se est construyendo.

2. Se puede ajustar el bloque For Iterator, para tomar como entrada el nmero
de iteraciones a ejecutar de forma externa o interna. A travs de la ventana
de dilogo de las propiedades del bloque se pueden ajustar si el puerto de
entrada etiquetado con N, es el que va a ser empleado para indicar el
nmero de iteraciones. la entrada a este puerto debe venir de forma externa
al subsistema.

3. Ajustar directamente en la ventana de dilogo de las propiedades del


bloque el nmero de iteraciones.

4. Ajustar la salida del valor de iteracin del bloque For Iterator, a travs de la
ventana de dilogos de las propiedades del bloque. El valor de iteracin es
1 para la primera iteracin y es incrementada en 1 para las subsecuentes
iteraciones.

125
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Ejemplo: Construir un programa que calcule el factorial de un nmero.

El factorial de un nmero es la multiplicacin del mismo por los nmeros que lo


preceden, por ejemplo el factorial de 4 conocido como 4! = 1*2*3*4=24. Se
implementa un for tal como se observa en la figura 86.

El bloque de la sentencia For lo encuentra en la librera Ports & Subsystems, y se


accede con doble clic sobre el mismo, aparece una nueva ventana donde se
colocan las instrucciones sobre las cuales debe actuar el ciclo. La programacin
de este se observa en la figura 87.

Figura 86. Factorial de un nmero en Matlab.

Fuente: Captura de Matlab versin trial (2008)

En este ejemplo hay que tener especial cuidado con el bloque 1/z, donde hay que
darle la condicin inicial como 1, ya que el valor por defecto es 0, y por tanto
calcula el factorial de 4 como 4! = 0*1*2*3*4= 0, dando un resultado errneo.

126
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 87. Programacin de un For en Simulink

Fuente: Captura de Matlab versin trial (2008)

Leccin 19: Ejemplos de Modelado.

Ejemplo 1. Simular la respuesta temporal del sistema de orden 1

2.84
G ( s ) , ante una seal de entrada escaln, rampa y senosoidal.
4.28 s 1

Se utiliza un mux para seleccionar la seal de entrada que se desea observar en


el osciloscopio, esta seleccin se hace mediante una constante que indica el
nmero de la seal de entrada que se aplica al sistema, como se observa en la
figura 88 en donde se esta aplicando al sistema la seal escaln.

127
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 88. Simulacin de un sistema de orden 1.

Fuente: Captura de Matlab versin trial (2008)

Ejemplo 2.

Dado el sistema mecnico de la figura 89, que est compuesto por una masa
M=5, unida a un muelle de constante elstica K=10, y con un rozamiento viscoso
B=2. La entrada al sistema es una fuerza externa f(t) es la entrada al sistema, y la
salida del mismo est dada por el desplazamiento x(t) de la masa es la salida.

La ecuacin diferencial que rige el comportamiento del sistema es:

d 2x dx
f (t ) M 2
B Kx (t )
dt dt

La simulacin en simulink se puede hacer de dos formas, la primera simulando la


ecuacin diferencial y la segunda determinando la Funcin de Transferencia del
sistema. En este ejemplo se toma la primera opcin.

128
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Se despeja la derivada de mayor orden de la ecuacin diferencial

dx d 2x
f (t ) B Kx (t ) M 2
dt dt

1
2
dx d x
* ( f (t ) B Kx (t )) 2
M dt dt

Figura 89. Sistema Mecnico.

Fuente: Ingeniera de Control Moderno. Katsuhiko Ogata 3 Edicin. Ed Prentice


Hall 1998.

En la figura 90 se muestra el diagrama de bloques que representa a la ecuacin


diferencial del sistema mecnico y la respuesta del sistema ante una seal
escaln.

La seal escaln representa una fuerza aplicada al sistema de amplitud constante,


y la seal de salida representa el desplazamiento x(t), que en principio es
oscilatorio y posteriormente se estabilizada alcanzando un valor final de
aproximadamente 0.1.

129
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 90. Simulacin Sistema Mecnico.

Fuente: Captura de Matlab versin trial (2008)

Ejemplo 3. Simular el comportamiento transitorio del voltaje en el Capacitor en un


circuito RLC serie, donde R=10 ohmios, L=0.1 Henrio y C= 10 uF, utilizar como
entrada una seal escaln unitario.

Figura 91. Circuito RLC serie

Fuente: Ingeniera de Control Moderno. Katsuhiko Ogata 3 Edicin. Ed Prentice


Hall 1998.

130
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

La ecuacin diferencial que representa al sistema es :

di 1
v (t ) R i (t ) L i (t )
dt C

Aplicando Transformada de Laplace a la ecuacin :

1
V ( s ) R I ( s ) LsI ( s ) I (s)
Cs

La funcin de Transferencia del sistema es:

Vo ( s ) 1
G ( s)
Vi ( s ) LCs RCs 1
2

La simulacin del sistema RLC serie se observa en la figura 92.

Figura 92. Simulacin sistema RLC serie

Fuente: Captura de Matlab versin trial (2008)

131
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Leccin 20: Consejos para la Construccin de Modelos.

Estos son una serie de consejos para la construccin de modelos y as evitar


errores en la simulacin.

Uso de memorias, en general a ms memoria mejor funcionamiento.


El uso de jerarquas, modelos ms complejos a menudo se benefician con
el uso de jerarquas de subsistemas en el modelo. Agrupar bloques
simplifican el modelo del nivel superior y as hacerlo ms fcil de leer y de
entender.
Creacin de modelos documentados y ordenados, un modelo bien
organizado y documentado, es ms fcil de leer y entender. Nombrar las
seales y anotaciones en los modelos, pueden ayudar a describir que est
sucediendo en el modelo.
Estrategias de modelado, si los modelos que se estn diseando tienden a
utilizar los mismos bloques, es ms fcil ahorrar bloques agrupndolos en
un modelo. Entonces cuando se construye un nuevo modelo, apenas abra
este modelo, copie los bloques comnmente usados de este modelo. Se
puede crear una librera de bloques colocndolos en un mismo sistema y
guardndolo. Se puede tener acceso al sistema digitando el nombre en la
ventana de comandos de MATLAB.
Generalmente, cuando se construye un modelo, es preferible disearlo en
papel, para luego construirlo usando SIMULINK, luego de esto se aaden
todos los bloques necesarios al modelo antes de conectarlos y con esto se
reduce el estar revisando entre las diferentes libreras.

CAPITULO 2. NAVEGAR POR LOS MODELOS

Introduccin. El entorno de SIMULINK permite acceso fcil a los modelos ya


existentes, a travs de ayudas como el explorador, el buscador y el navegador se
puede localizar un modelo, un bloque especifico o navegar por un modelo, lo cual
hace que el entorno grfico sea bastante amigable al usuario y hace que
SIMULINK sea la herramienta preferida de Matlab.

132
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Leccin 21: Explorar, Buscar y Navegar por los Modelos.

En las siguientes secciones se describirn las herramientas que ayudan a una


navegacin rpida en un modelo desde cualquier punto y encontrar y modificar
objetos en este.

El Explorador de Modelos. El explorador de modelo le permite una rpida


localizacin, visualizacin y modificacin de cualquier modelo en SIMULINK. Para
desplegar este modelo, selecciones Model Explorer (explorador de modelo) del
men View (ver) del editor de modelo (figura 86) o seleccione un objeto el
diagrama de bloques y seleccione Explore (explorar) desde su men de contexto
(haciendo clic derecho sobre el objeto) y el explorador de modelo aparece.

Figura 93. Editor de modelo.

Fuente: Captura de Matlab versin trial (2008)

El explorador de modelo incluye los siguientes componentes:

Panel de jerarquas: Este panel despliega una vista de estructura de rbol


de la jerarqua del modelo

133
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 94. rbol de jerarqua.

Fuente: Captura de Matlab versin trial (2008)

o Raz de SIMULINK (SIMULINK Root): El primer nodo representa la


raz de este rbol, al expandir este nodo se despliega el espacio de
trabajo de MATLAB (El espacio de trabajo de base de SIMULINK) y
cada modelo y librera cargada en la sesin actual.
o Espacio de trabajo de base (Base Workspace): Este nodo representa
el espacio de trabajo de MATLAB. Este espacio es la base para
dicho espacio en SIMULINK. Las variables definidas en este espacio
son visibles al abrir todos los modelos de SIMULINK.
o Preferencias de configuracin (Configuration preferences): Se
selecciona este nodo para desplegar la configuracin preferida para
los nuevos modelos en los paneles adyacentes.
o Nodo de modelos (Model Nodes): este representa los ajustes de la
configuracin, subsistemas de niveles superiores, referencia de
modelos, cartas de flujo de estados (stateflow charts).
o Desplegando el contenido de los nodos (Displaying node contents):
para desplegar el contenido de un objeto mostrado en el panel de
jerarquas en el panel adyacente de contenido (contents),
seleccionando el objeto. Para abrir un objeto grfico en una ventana
de edicin, hacer clic derecho con el ratn y se selecciona Open
(abrir).
o Expandiendo modelo de referencias (Expanding model references):
para hacer esto se abre el modelo referenciado, luego hacer clic

134
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

derecho con el ratn y se selecciona Open Model (abrir modelo). No


se puede editar el contenido de un modo de referencia, sin embargo,
para editar un modelo se debe expandir este nodo.

Panel de contenidos (contents pane): este panel muestra dos pestaas, la


pestaa de contents (contenido) de los objetos seleccionados en el panel
de Jerarqua de modelo, la pestaa de Search result (resultados de
bsqueda), muestra los resultados de la bsqueda.

Figura 95. Panel de contenido.

Fuente: Captura de Matlab versin trial (2008)

Panel de dilogo (Dialog pane): Muestra el dialogo del objeto seleccionado


en el panel de contenido
Barra de herramientas principal (Main toolbar): esta barra aparece en la
parte superior, debajo de la barra de mens de la ventana del explorador de
modelo.

Figura 96. Barra de men principal.

Fuente: Captura de Matlab versin trial (2008)

135
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Barra de bsqueda (Search bar): Esta barra permite, configurar e iniciar


bsquedas de los objetos seleccionados en el panel de jerarqua del
modelo, esta aparece en parte superior de la ventana de explorador de
modelo. Para mostrar u ocultar esta barra, comprobar o no el men de view
(vista) en la ventana del explorador.

Figura 97. Barra de bsqueda.

Fuente: Captura de Matlab versin trial (2008)

Esta barra contiene los siguientes controles:

Figura 98. Controles de la barra de bsqueda.

Fuente: Captura de Matlab versin trial (2008)

El Buscador (The finder). El buscador localiza bloques, seales, estados y otros


objetos en un modelo. Para desplegar el buscador, se selecciona Find (buscar) del
men Edit (editar), entonces la siguiente ventana aparece.

136
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 99. El buscador.

Fuente: Captura de Matlab versin trial (2008)

Se usan los paneles Filter options (opciones de filtrado) y Search criteria (criterios
de bsqueda), para especificar las caractersticas de los objetos que se desean
buscar. Luego si se tiene ms de sistema o subsistema abierto, se selecciona
alguno de estos para iniciar la bsqueda, esto se logra seleccionando de la lista
start in system (Iniciar en el sistema), finalmente se presiona el botn find (buscar).
SIMULINK busca en los modelos seleccionados los objetos que cumplen con los
criterios que se han especificado.

Opciones de Filtrado (Filter Options)

Este panel permite especificar los tipos de objetos para y donde buscar.

Figura 100. Opciones de filtrado.

Fuente: Captura de Matlab versin trial (2008)

137
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Lista de los tipos de objetos (Object type list). Muestra los tipos de objeto
que SIMULINK puede buscar.
Buscar dentro de subsistemas enmascarados (Look inside masked
subsystem). Seleccionando esta opcin, SIMULINK busca objetos dentro
de sistemas enmascarados.
Buscar dentro de sistemas relacionados (Look inside linked system).
Seleccionando esta opcin, SIMULINK busca objetos dentro de sistemas
relacionados con las libreras.

Criterios de Bsqueda (Search Criteria).

Este panel permite especificar los criterios que los objetos deben satisfacer la
peticin de bsqueda:

Bsicos. Permite buscar un objeto en el que su nombre coincida con una


cadena de texto. La cadena de texto se ingresa en el campo Find what
(Buscar que) de este panel.
Avanzado. Permite especificar un conjunto de caractersticas (hasta 7) que
los objetos deben cumplir para satisfacer la bsqueda.

Figura 101. Panel de bsqueda avanzado.

Fuente: Captura de Matlab versin trial (2008)

Para especificar una propiedad, ingrese su nombre en uno de los espacios en la


columna de propiedad (property) del panel de bsqueda avanzado o seleccione la
propiedad de la lista que puede ser desplegada. Luego se debe ingresar el valor
de la propiedad en la columna Valor (value).

138
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

El navegador del modelo. Este navegador proporciona las siguientes opciones:

Navegar en un modelo jerrquicamente.


Abre los sistemas en un modelo.
Determina los bloques contenidos en un modelo.

Para desplegar el navegador de modelo, se debe seleccionar Model Browser


Options > Model Browser (Opciones del navegador de modelo > Navegador de
modelo) del men view (vista) de SIMULINK.

Figura 102. Navegador de modelo.

Fuente: Captura de Matlab versin trial (2008)

La ventana se divide en dos paneles. El panel izquierdo muestra un navegador


con estructura de rbol, mostrando el diagrama de bloques que se encuentra en el
panel derecho.

Leccin 22: Ejecutar la Simulacin del modelo.

En los siguientes apartados se revisar los temas de cmo simular y ajustar las
caractersticas de la simulacin en SIMULINK.

139
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Nociones Bsicas de la Simulacin. Para simular un modelo simplemente, se


necesita hacer clic en el botn de start (iniciar), en el editor de modelos. Sin
embargo antes de iniciar la simulacin, se deben especificar ciertas opciones de la
simulacin, tales como el tiempo de inicio y detencin, y el tipo de solucionador
utilizado para resolver el modelo en cada base de tiempo de dicha simulacin. El
hecho de especificar las opciones de simulacin se conoce como configuracin del
modelo.

SIMULINK permite crear mltiples modelos de configuracin, llamar y modificar


ajustes de configuracin ya existentes. Una vez definido o seleccionado el ajuste
de configuracin que se ajuste a los requerimientos, se puede iniciar la simulacin.
Entonces SIMULINK corre la simulacin desde el tiempo de inicio y detencin
especificados. Mientras la simulacin est en curso, se pude interactuar con esta
de diversas maneras, detenerla o pausarla, y simular otros modelos. Si un error
ocurre dentro de la simulacin. Si un error ocurre durante la simulacin, SIMULINK
detiene la simulacin y lanza el observador de diagnstico, para ayudar a
determinar la causa del error.

Controlando la Ejecucin de la Simulacin.

La interfaz grfica de SIMULINK incluye un men de comandos y unos botones en


la barra de herramientas, que permite iniciar, pausar y culminar una simulacin.
Para ejecutar la simulacin de un modelo, se selecciona Start (iniciar), del men
simulation (simulacin), del editor de modelo.

Se puede utilizar un atajo por medio del teclado, utilizando la combinacin de las
teclas ctrl+T para iniciar la simulacin. Un error comn es iniciar la simulacin
mientras la ventana de la librera de bloques de SIMULINK est activa, se debe
asegurar que la ventana que est activa sea la del editor de modelo. SIMULINK
inicia la ejecucin del modelo en el tiempo que se especific en la ventana de
Configuracin de parmetros (Configuration Parameters), hasta alcanzar el tiempo
de detencin especificado en esta misma ventana.

140
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 103. Localizacin del botn de inicio

Fuente: Captura de Matlab versin trial (2008)

Mientras la simulacin este corriendo, una barra de progreso en la parte inferior de


la ventana de modelo muestra el nivel de progreso de la simulacin. Un comando
de stop (parada) remplaza el comando Start (iniciar), del men simulation
(simulacin), del editor de modelo. Un comando de Pause (pausa) en la barra de
herramientas reemplaza el botn de Start (iniciar).

Figura 104. Localizacin del botn de parada, pausa y la barra de progreso de la


simulacin.

Fuente: Captura de Matlab versin trial (2008)

141
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Se puede parar o pausar una simulacin, utilizando los botones de la barra de


herramientas, mientras est pausada la simulacin puede continuarse utilizando el
botn de iniciar.

Interactuando con una Simulacin en Curso.

Se pueden realizar ciertos tipos de operaciones interactivamente mientras una


simulacin se est ejecutando. Se puede:

o Modificar algunos parmetros de la configuracin, incluyendo el tiempo de


detencin y el mximo tamao del paso temporal.
o Hacer clic sobre una lnea de conexin para observar en una pantalla la seal
que est en ese momento.
o Modificar los parmetros de un bloque, mientras no se cambie:
o Nmero de estados, entradas y salidas.
o Tiempo de muestreo
o Nmero de cruces por cero.
o Longitud del vector de cualquier parmetro de cualquier bloque.
o Longitud del vector interno de trabajo de un bloque

Leccin 23: Importar y Exportar Datos.

SIMULINK permite importar seales de entrada y datos de estado inicial del


espacio de trabajo de MATLAB (workspace) y exportar seales de salida y datos
de estado al workspace. Esta capacidad permite usar funciones de MATLAB
estndares o hechas por el usuario para generar seales de entrada para la
simulacin de sistemas y graficar, analizar y otros post-procesos con las seales
de salidas de los modelos.

Importar Datos del Workspace de MATLAB. SIMULINK puede aplicar entradas


creadas en el espacio de trabajo de MATLAB (workspace) al modelo en los
puertos de entrada de un nivel superior durante la simulacin. Para llevar a cabo
esto se selecciona la ventana input (entrada) en el rea load from workspace
(cargando desde el espacio de trabajo) del panel Data Import/Export
(importar/exportar datos). Entonces se ingresa la especificacin de la entrada
externa en la ventana de edicin adyacente (edit box) y haciendo clic sobre Apply
(aplicar). Los datos pueden tomar cualquiera de las siguientes formas.

142
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Importar Arreglos de datos (Arrays): Este formato de importacin consiste


de matrices de valores reales (no complejos) del tipo doble. La primera
columna de la matriz debe ser un vector de tiempo valores ascendentes.
Las columnas restantes especifican los valores de entradas. En particular,
cada columna representa la seal de entrada para diferentes bloques de
importacin (en orden secuencial) y cada fila es el valor de entrada para el
correspondiente valor de tiempo. El nmero total de columnas de la matriz
de entrada debe ser igual a n+1, donde n es el nmero total de seales
ingresando al modelo por los puertos de entrada.

Usar una expresin temporal de MATLAB para importar datos: Se pueden


importar datos desde el espacio de trabajo de MATLAB usando una
expresin temporal. Para usar expresiones de tiempo, ingrese la expresin
como una cadena (incluido en apostrofes) en el campo input (entrada) del
panel Data Import/Export (importar/exportar datos). La expresin de tiempo
puede ser cualquiera expresin de MATLAB que evala un vector fila de
igual longitud que al nmero de seales ingresando al modelo por los
puertos de entrada.

Importar estructura de datos: SIMULINK puede leer datos del espacio de


trabajo en forma de estructura, el cual su nombre es especificado en el
campo de entrada (Input). Se puede importar estructuras que incluyan
nicamente datos de seal o ambos seal y datos de tiempo. Para tal
efecto se selecciona la opcin structure with time (estructura con tiempo)
opcin que se encuentra en la lista de Format (formato) en el panel Data
Import/Export (importar/exportar datos).

La estructura de datos tiene dos tipos de niveles: tiempo y seal. El campo


de tiempo contiene un vector columna con los tiempos de simulacin. El
campo de seales contiene un arreglo de subestructuras, cada una
corresponde a un puerto de entrada del modelo. Cada subestructura de
seal debe contener dos campos llamados values (valores) y dimensions
(dimensiones), respectivamente.

El campo de valores debe contener un arreglo de entradas para los


correspondientes puertos de entradas, donde cada entrada corresponde a
un punto temporal especificado por el campo del tiempo. El campo de las
dimensiones especifica las dimensiones de la entrada. Si cada entrada es
un escalar o un vector (arreglo de 1D) de valores, el campo de las
dimensiones debe ser un valor escalar que especifique el tamao del vector
(1 si es escalar). Si cada entrada es una matriz (arreglo de 2D), el campo
de las dimensiones debe ser un vector de dos elementos, donde el primero

143
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

especifica el nmero de filas y el segundo el nmero de columnas de la


matriz.

Si la entradas para un puerto es un escalar o un vector, el campo de valores


debe ser un arreglo de M x N, donde M es el nmero de puntos de tiempo
especificados por el campo de tiempo y N es la longitud de cada vector de
valor.

Por ejemplo el siguiente cdigo crea una estructura de entrada para cargar 11
muestras de tiempo de un vector de seal de 2 elementos, del tipo int8, a un
modelo con un solo puerto de entrada.

a.time = (0:0.1:1)';
c1 = int8([0:1:10]');
c2 = int8([0:10:100]');
a.signals(1).values = [c1 c2];
a.signals(1).dimensions = 2;

Para cargar esto a un puerto del modelo, se selecciona la opcin Input (entrada),
en el panel Data Import/Export (importar/exportar datos), e ingrese a (sin los
apostrofes) en el campo de entrada expression (expresin). Si la entrada de los
puertos son matrices, el campo de valores debe ser un arreglo M x N x T donde M
y N son las dimensiones de cada matriz de entrada y T es el nmero puntos de
tiempos. Por ejemplo suponiendo que se desean 51 muestras de tiempo de una
matriz de seal de 4x5 a los puertos de entrada del modelo, luego entonces el
correspondiente campo de dimensiones de la estructura del workspace debe ser
igual [4 5] y los arreglos del campo de valores deben ser 5x4x51. Como otro
ejemplo considere el siguiente modelo:

Figura 105. Modelo con dos entradas.

Fuente: Captura de Matlab versin trial (2008)

144
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Suponiendo que se desea una entrada de una onda seno para el primer puerto de
entrada y una onda coseno para el segundo, para hacer esto se define un vector
a, como sigue:

a.time = (0:0.1:1)';
a.signals(1).values = sin(a.time);
a.signals(1).dimensions = 1;
a.signals(2).values = cos(a.time);
a.signals(2).dimensions = 1;

Se debe seleccionar la ventana de entradas (input), para este modelo se ingresa a


en el campo de texto adyacente (adjacent text) y seleccione StructureWithTime
(Estructura con tiempo) como el formato de entrada y salida (I/O format)

Exportando Datos al Workspace de MATLAB. Se pueden seleccionar las


variables de retorno seleccionando Times (tiempos), states (estados) y/o Outputs
sealndolas en el rea Save to workspace (Guardar en el espacio de trabajo) del
panel de la ventana de dilogo, esto ocasiona que los valores antes mencionados,
tantos como se hayan escogido, sean almacenados en el espacio de trabajo.

Para asignar valores a las diferentes variables, se deben especificar esos nombres
de variables en los campos a la derecha de la ventana de comprobacin. Para
escribir ms de una variable, los nombres de esta deben ir separados por comas.
SIMULINK guarda los tiempos de simulacin en el vector especificado en el rea
Save to workspace (Guardando en el espacio de trabajo). Las opciones de
guardado (save options) habilitan el formato y restringen la cantidad de variable de
salidas posibles. Los formatos de salida son los siguientes:

Arreglos (Arrays): Si se selecciona esta opcin, SIMULINK guarda los


estados y las salidas del modelo en un arreglo para cada uno. La matriz de
estados tiene el nombre especificado en el rea Save to workspace
(Guardando en el espacio de trabajo) (por ejemplo xout). Cada fila de la
matriz de estado corresponde a un tiempo de muestra de los estados del
modelo. Cada columna a un elemento de un estado. Por ejemplo un modelo
tiene dos estados continuos, cada uno de los cuales es un vector de dos
elementos, entonces los primeros dos elementos de cada fila de la matriz
de estados contiene una muestra de tiempo del primer vector de estados.

Los ltimos dos elementos de cada fila contienen una muestra de tiempo
del segundo vector de estados. La matriz de salidas tiene el nombre

145
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

especificado en el rea Save to workspace (Guardando en el espacio de


trabajo)(por ejemplo yout), donde cada columna corresponde a un puerto de
salida del modelo , cada fila de la salidas a un tiempo especfico.

Se pueden guardar los datos de esta forma si y solo s todas las salidas y
los estados son valores escalares o vectores (o todas matrices para los
estados), son todos reales o todos complejos, y todos del mismo tipo.

Estructuras con tiempo (structure with time): Si se selecciona esta opcin,


SIMULINK guarda los estados y las salidas del modelo en estructuras
teniendo los nombre especificados en el rea Save to workspace
(Guardando en el espacio de trabajo) (por ejemplo xout y yout).

La estructura para guardar estas salidas tiene dos niveles: tiempo y


seales. El campo de tiempo contiene un vector con los tiempos de
simulacin. El campo de seales contiene un arreglo de las subestructuras
cada una de las cuales corresponde a cada uno de los puertos de salida.
Cada subestructura tiene cuatro campos: valores (values), dimensiones
(dimensions), etiqueta (label) y nombre del bloque (blockName).

El campo de valores contiene las salidas para el correspondiente puerto de


salida, si las salidas son escalares o vectores, el campo de valores es una
matriz en la cual las filas representan una salida a un tiempo especfico por
el correspondiente elemento del vector de tiempo. Si las salidas son
matrices (arreglos 2D), el campo de valores en un arreglo 3D de
dimensiones MxNxT donde MxN es la dimensin de la seal de salida y T
es el nmeros de muestras de salidas. El campo de dimensiones especifica
la dimensin de la seal de salida. El campo de etiqueta especifica la
etiqueta (nombre) de la seal conectada al puerto de salida o al tipo de
estado (continuo o discreto). El campo de nombre de bloque especifica el
nombre correspondiente al puerto de salida o el bloque con estados.

La estructura para guardar los estados es similar a la de salidas La


estructura para guardar estos estados tiene dos niveles: tiempo y seales.
El campo de tiempo contiene un vector con los tiempos de simulacin. El
campo de seales contiene un arreglo de las subestructuras cada una de
las cuales corresponde a un estado del modelo. Cada subestructura tiene
cuatro campos: valores (values), dimensiones (dimensions), etiqueta (label)
y nombre del bloque (blockName). El campo de valores contiene muestras
de tiempo de un estado del bloque especificados por el campo de nombre

146
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

de bloque. El campo de etiqueta para los bloques incorporados indica el tipo


de estado CSTATE (estado continuo) y DSTATE (estado discreto).

Las muestras de tiempo de un estado son guardadas en el campo de


valores como una matriz de valores. Cada fila representa una muestra de
tiempo. Cada elemento de una fila corresponde a un elemento del estado.
Si el estado es una matriz, esta es almacenada en el arreglo de valores en
orden de la columna principal. Por ejemplo un modelo que incluye una
matriz de estado de 2x2 y que SIMULINK registre 51 muestras del estado
durante la simulacin. El campo de valores para este estado debera
contener una matriz de 51x4 donde cada fila corresponde a una muestra de
tiempo del estado y donde los dos primeros elementos de cada fila
corresponden a la primera columna de la muestra y los dos ltimos
corresponde a la segunda columna de la muestra.

Leccin 24: Establecer la Configuracin de la Simulacin.

Esto es un conjunto de valores, para los parmetros de los modelos, como el tipo
de solucionador y el tiempo de inicio y detencin de la simulacin. Cada nuevo
modelo es creado con un conjunto de configuracin por defecto, llamado
configuracin, inicialmente especifica valores para los parmetros de los modelos.
Se pueden crear y modificar ajustes de configuracin y asociarlos con un modelo.
Los ajustes asociados a un modelo pueden cada uno especificar diversos valores
para cualquier parmetro del modelo dado.

Componentes del Ajuste de la Configuracin. Un ajuste de configuracin


abarca a grupos de parmetros relacionados llamados los componentes. Cada
elemento de la configuracin incluye los siguientes componentes:

Solucionador (solver).
Importar/Exportar datos (Data import/export)
Optimizacin
Diagnstico
Implementacin de hardware
Referenciar modelos.

El ajuste de Configuracin Activo. Solamente un ajuste de la configuracin


asociado a un modelo es activo en un momento dado. El ajuste activo determina

147
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

los valores actuales de los parmetros del modelo. El cambio del valor de un
parmetro en el explorador de modelo cambia el valor en el ajuste activo.
SIMULINK permite se cambie el ajuste activo en cualquier momento (excepto al
ejecutar el modelo). De esta manera, se puede configurar de nuevo rpidamente
un modelo para diversos propsitos, o aplicar los ajustes estndar de la
configuracin a los modelos nuevos.

Mostrando los Ajustes de la Configuracin. Para exhibir el ajuste de


configuracin asociado con un modelo, abriendo el explorador de modelo. El
ajuste de la configuracin asociado con el modelo aparece en un nodo con forma
de engranaje en el panel de jerarqua de modelo, en el explorador de modelo.

El panel de contenido del explorador de modelo muestra los componentes del


ajuste de la configuracin seleccionada. El panel de dialogo del explorador
muestra un dilogo para fijar los parmetros del grupo seleccionado.

Figura 106. Explorador de modelo para el ajuste de la configuracin.

Fuente: Captura de Matlab versin trial (2008)

Leccin 25: Resultados de la Simulacin.

En la presente seccin se explican las herramientas de SIMULINK empleadas


para analizar los resultados de la simulacin. Las trayectorias de de salida de
SIMULINK pueden ser graficadas usando uno de los tres siguientes mtodos.

148
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Alimentar un bloque de visualizacin (Scope) o de Graficas XY (XY Graph).


Escribir las salidas en variables de retorno y usar los comandos de
MATLAB para realizar las grficas.
Escribir las salidas usando los bloques de espacio de trabajo (workspace) y
usar los comandos de MATLAB para realizar las grficas.

Utilizando el Bloque de Visualizacin. Se puede mostrar la trayectoria de salida


con un bloque de visualizacin (Scope), durante la simulacin como est ilustrado
en el siguiente modelo.

Figura 107. Modelo para observar el uso del Scope.

Fuente: Captura de Matlab versin trial (2008)

La pantalla en el Scope muestra la trayectoria de salida. Este bloque habilita al


usuario para acercarse al rea de la grfica que sea del inters de este o guardar
los datos al workspace. El bloque XY Graph permite graficar una seal Vs otra.

Utilizando Variables de Retorno. Son usadas para retornar tiempo o historial de


salida, luego usando los comandos de MATLAB, estos datos pueden ser
graficados y/o almacenados en la trayectoria de salida.

Figura 108. Modelo para observar el uso de las variables de retorno.

Fuente: Captura de Matlab versin trial (2008)

149
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

El bloque etiquetado con Out es un puerto de salida de la librera Ports &


Subsystem.

Utilizando el bloque de Workspace. Este bloque puede ser empleado para


retornar las trayectorias de salida al espacio de trabajo de MATLAB. El siguiente
modelo ilustra su forma de uso.

Figura 109. Modelo para observar el uso del bloque Workspace.

Fuente: Captura de Matlab versin trial (2008)

Las variables y y t, aparecen en el espacio de trabajo (workspace), cuando la


simulacin se completa. Se puede almacenar el vector de tiempos para alimentar
el bloque clock (reloj) hacia el bloque de workspace.

Diagnosticando Errores de Simulacin. Si un error ocurre durante la simulacin,


SIMULINK detiene la simulacin, abre el subsistema que causa el error (si es
necesario) y muestra los errores en el visor de diagnstico de simulacin
(Simulation Diagnostic Viewer). A continuacin La siguiente seccin explica como
usar el visor de Diagnstico de Simulacin (Simulation Diagnostic Viewer) para
determinar la causa del error.

Este visor abarca un panel con el sumario de errores (Error Sumary) y un panel de
mensajes de error (Error Message).

150
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 110. Visor de diagnstico de la simulacin.

Fuente: Captura de Matlab versin trial (2008)

Panel de resumen de errores.

El panel superior muestra una lista de errores que causaron que la


simulacin de SIMULINK terminara. El panel muestra la siguiente
informacin por cada error.

o Mensaje (Message): Tipo de mensaje (por ejemplo, error de bloque,


advertencia, registro).
o Fuente (Source): Nombre del elemento del modelo (por ejemplo, un
bloque) que caus el error.
o Reportado por (Reported by): Componente que mostr el error (por
ejemplo: SIMULINK, Flujo de estados (stateflow)).
o Resumen (Summary): Mensaje de error, abreviado para que quepa
en la columna.

Se puede remover cualquiera de esas columnas de informacin para hacer ms


espacio para las otras. Para removerlas se selecciona la opcin vista (view) del
visor y se remueven las selecciones del tem correspondiente.

151
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Panel de mensaje de error (Error Message pane).

El panel inferior inicialmente tiene los contenidos del primer mensaje listado
en el panel superior. Se puede desplegar los dems contenidos de los
dems mensaje haciendo clic sobre cada uno de estos. Adicional a esto
SIMULINK abre (en caso de necesidad) el subsistema que contiene la
primera fuente del error y destaca la fuente

Figura 111. Bloque que genera el error.

Fuente: Captura de Matlab versin trial (2008)

CAPTULO 3 BLOQUES, SEALES Y FUNCIONES S

Introduccin. Los bloques, seales y las funciones s forman una parte primordial
de un modelo en SIMULINK en este captulo se desglosan con ms detalle sus
principales caractersticas funcionales y de configuracin.

Leccin 26: Bloques y Seales.

Bloques. Los bloques son los elementos de los cuales se construyen los modelos
de SIMULINK. Se puede modelar virtualmente cualquier sistema dinmico creando
y/o interconectando bloques ya existentes de forma adecuada para cada
aplicacin.

152
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Cuando se crean modelos, se debe tener en cuenta que los bloques de SIMULINK
se organizan en dos grandes categoras, los virtuales y los no virtuales. Los
bloques no virtuales tienen un papel activo en la simulacin de un sistema. Si se
aade o se remueve un bloque de este tipo se cambia el comportamiento del
modelo. Los bloques virtuales por el contrario no tienen un papel activo en la
simulacin, estos ayudan a organizar un modelo grficamente. Algunos bloques
son virtuales en algunas circunstancias y no virtuales en otras, son llamados
bloques virtuales condicionales. En la siguiente tabla se presenta una clasificacin
de los bloques virtuales.

Tabla 18. Bloques virtuales.

Nombre del Bloque Condicin bajo la cual el bloque es virtual


Bus selector Virtual si la entrada al bus es virtual
Demux Siempre virtual
Enable Virtual a menos que est conectado directamente a un
puerto de salida de un bloque.
From Siempre virtual
Goto Siempre virtual
Goto tag visibility Siempre virtual
Ground Siempre virtual
Import Virtual a menos que el bloque en el que est sea un
subsistema condicionalmente ejecutado y tenga conexin
directa al puerto de salida del bloque.
Mux Siempre virtual
Outport Virtual cuando el bloque en el que est sea un subsistema
(condicionado o no) y no reside en la raz (mximo nivel)
de la ventana de SIMULINK.
Selector Virtual excepto en el modo de Matriz
Signal specification Siempre virtual
Subsystem Virtual a menos que el bloque sea condicionalmente
ejecutado y la opcin del bloque treat as Atomic Unit
(tratarlo como unidad atmica.) est seleccionada.
Terminator Siempre virtual
Trigger Virtual cuando el puerto de salida no est presente

Fuente: Armando Portela (2008)

153
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Parmetros del Bloque.

Cada bloque de SIMULINK tiene un conjunto de atributos, llamados propiedades o


parmetros, que gobierna su apariencia y su comportamiento durante la
simulacin. Algunos tipos de atributos son comunes para todos los bloques, por
ejemplo todos los bloques tienen el atributo de nombre, otros atributos son
especficos a cada tipo de bloque como el bloque ganancia (Gain) que es el nico
que tiene el parmetro de ganancia. SIMULINK permite especificar los valores
para muchos de los atributos del bloque, permitiendo personalizar la apariencia y
comportamiento del bloque en el modelo que se est diseando. SIMULINK
proporciona los siguientes medios para especificar los parmetros del bloque:

o Men Format (formato).

o El men de formato del editor de modelo permite especificar


atributos del bloque seleccionado actualmente que son visibles en el
diagrama de bloques, tales como nombre y color.

o Ventana de dilogo Block Propierties (propiedades del bloque)


o Especifica varios atributos que son comunes en todos los bloques,
para mostrar esta ventana de dilogo, se selecciona el bloque en la
ventana de modelo, seguidamente se selecciona Block properties del
men Edit.

Figura 112. Ventana de dilogo de propiedades del bloque.

Fuente: Captura de Matlab versin trial (2008)

154
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

La ventana de dilogo contiene las siguientes pestaas:

o General pane (panel general): permite ajustar las siguientes


propiedades:

Description (Descripcin). Permite una breve descripcin para


el propsito del bloque.
Priority (Prioridad). Permite seleccionar la prioridad de
ejecucin de un bloque con respecto a los dems bloques del
modelo.
Tag (Etiqueta). Es el texto asignado en el parmetro Tag y
guardado con el modelo del bloque. Esta opcin permite crear
etiquetas propias del usuario especficas para un bloque.

o Panel de Block annotation (Anotaciones del bloque): Este panel


permite desplegar los valores de parmetros seleccionados de un
bloque en una anotacin que aparece debajo del icono del bloque.

Figura 113. Ventana de dilogo de anotaciones del bloque.

Fuente: Captura de Matlab versin trial (2008)

Se Ingresa el texto de la anotacin que aparece en el lado derecho


del panel. Ejemplo, se seleccionan las propiedades Name y priority, y
a continuacin SIMULINK muestra estas propiedades con sus
respectivos valores. Ejemplo:

155
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 114. Bloque mostrando sus propiedades.

Fuente: Captura de Matlab versin trial (2008)

o Panel Callbacks (llamados): Este panel permite especificar


implementaciones para el llamado de bloques. Para tal efecto se
selecciona el llamado en la lista de llamados del lado izquierdo del
panel. Entonces se ingresan los comandos de MATLAB que se
desean llamar en el campo del lado derecho.

Figura 115. Ventana de dilogo de llamados del bloque.

Fuente: Captura de Matlab versin trial (2008)

156
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

- Ventana de dilogo Block parameter (parmetros del bloque).


- Cada bloque tiene una ventana de dilogo que permite especificar valores
para los atributos que son especficos a ese tipo de bloque. Para mostrar
esta pantalla se debe hacer doble clic en el modelo o en la ventana de
libreras.
- Explorador de modelo.
- Este permite encontrar y ajustar rpidamente las propiedades de uno o ms
bloques, facilitando los cambios globales en un modelo, por ejemplo
cambiando la ganancia de todos los bloques en el modelo.
- El comando Set_param
- Habilita utilizar la programacin y escritura de los archivos M (M-files) para
especificar los atributos del bloque.

Librera de Bloques.

A continuacin se describirn las libreras bsicas de SIMULINK, con algunos de


sus componentes. Es tarea del estudiante revisar el resto de las muchsimas
opciones que presenta este paquete.

Tabla 19. Libreras y bloques de SIMULINK de uso comn.

Librera Bloque Funcin


Derivative (Derivada) Derivar la seal de entrada
Integra la seal de entrada, se le deben
Integrator (Integrador) proporcionar los parmetros de lmite
superior e inferior y la condicin inicial
Le proporciona al usuario la posibilidad de
Continuous (Continua): expresar una funcin de transferencia en
Transfer Fcn (Funcin
Bloques que pueden funcin de s. los parmetros son los
de transferencia)
representar funciones coeficientes que acompaan la variable
continas en el tiempo. en el numerador y el denominador.
Transoport Delay
La salida del bloque est retrasada con
(Retraso de
respecto a la seal de entrada
transporte)
Zero-Pole (Polos y Funcin de transferencia expresada en
ceros) valores de ganancias en estado estable
Math (Matemticas):
Bloque que realizan
Calcula el valor absoluto de la seal de
operaciones matemticas Abs
entrada.
con la seal o seales de
entrada
Aplica un valor de ganancia constante a
Gain (Ganancia)
la seal de entrada.

Fuente: Armando Portela (2008)

157
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Seales. SIMULINK define seales como las salidas de los sistemas dinmicos
representados por los bloques en un diagrama y por el diagrama en s mismo. Las
lneas en los diagramas de bloques representan relaciones matemticas entre las
seales definidas por el diagrama de bloque. Por ejemplo, una lnea que conecta
la salida del bloque A con la entrada del bloque B indica que la salida de la seal
de salida de B depende de la seal de salida generada en A.

Se puede pensar que las seales que viajan por las conexiones realizadas en un
diagrama de bloques, son seales de tipo elctrico como las que viajan en un
cable telefnico, aunque esta analoga es un poco engaosa porque sugiere que
el diagrama de bloque representa la conexin fsica de bloques lo cual no es
cierto. Las seales de SIMULINK son entidades matemticas no fsicas y las
lneas en un diagrama de bloque representan relaciones matemticas no fsicas
entre seales.

Leccin 27: Tipos de datos

Los tipos de datos se refieren a la forma en que una computadora representa los
nmeros en memoria. Un tipo de dato determina la cantidad de almacenamiento
asignada para un determinado nmero, el mtodo empleado para codificar el valor
del nmero como un patrn de digito binarios, y las operaciones disponibles para
manipular los distintos tipos. La mayora de las computadoras proveen las
opciones de tipos datos para representar nmeros, cada una con ventajas en
trminos de precisin, rango dinmico, rendimiento y uso de memoria.

Para proporcionarle al usuario la ventaja de poder emplear cualquier tipo de dato,


MATLAB permite especificar el tipo de variables a utilizar y SIMULINK hereda esta
capacidad para especificar el tipo de dato en las seales y los parmetros de los
bloques. Esta habilidad es particularmente til en los modelos de tiempo real. Por
ejemplo, permite que un modelo de SIMULINK especifique los tipos de datos
ptimos a utilizar para representar seales y parmetros de bloques en un cdigo
generado por la herramienta de generacin de cdigo automtica (Real-time
Workshop disponible de Mathworks), escoger el tipo de datos ms apropiado para
seales y bloques del modelo puede incrementar dramticamente el
funcionamiento y aminorar el tamao del cdigo generado por el modelo.

SIMULINK realiza una extensa comprobacin antes y durante la simulacin para


asegurar que el modelo utilice los tipos de datos correctos y as el cdigo
generado del modelo no se desbordar o se quedar bloqueado, produciendo

158
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

resultados indeseados. Los modelos de SIMULINK utilizan por defecto el tipo de


dato doble.

SIMULINK soporta la mayora de tipos de datos que el MATLAB soporta excepto


int64 y uint64. La siguiente tabla representa los datos soportados por SIMULINK.

Tabla 20. Tipo de datos soportados por SIMULINK.

Nombre Descripcin
Double Punto flotante de doble precisin
Single Punto flotante de precisin simple
Int8 Entero de 8 bits con signo
Uint8 Entero de 8 bits sin signo
Int16 Entero de 16 bits con signo
Uint16 Entero de 16 bits sin signo
Int32 Entero de 32 bits con signo
Uint32 Entero de 32 bits sin signo

Fuente: Armando Portela (2008)

Leccin 28: Funciones S

Una funcin S, es una descripcin en algn lenguaje computacional de un bloque


de SIMULINK. Estas pueden ser escritas en MATLAB, C, C++, ADA o FORTRAN,
dichas funciones son compiladas como archivos MEX (MEX-files), este tipo de
archivos son la manera para hacer el llamado de rutinas creadas en C o
FORTRAN directamente desde MATLAB como si fueran funciones propias o
creadas en este.

Las principales razones para escribir un archivo MEX son:

La habilidad de MATLAB para llamar cdigos de gran tamao escritos en C


y FORTRAN, as, no tener que reescribirlos de nuevo en MATLAB.
Velocidad; se pueden reescribir clculos que generan cuellos de botella
(como por ejemplo lazos for) como un archivo MEX para ganar en
eficiencia.

159
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Los archivos MEX, no son apropiados para todas las aplicaciones, dado que
MATLAB es un sistema de alta productividad el cual est especializado en eliminar
el consumo de tiempo. En general la mayora de la programacin debe ser
realizada en MATLAB, no se debe usar este tipo de archivos a menos que la
aplicacin lo requiera.

Una funcin de este tipo usa una sintaxis especial de llamado que habilita al
usuario para interactuar con los solucionadores de SIMULINK. Esta interaccin es
muy similar a la interaccin que toma lugar entre los solucionadores y el interior de
los bloques. La forma de una funcin S es muy verstil y puede ser del tipo
continuo, discreto o hbrido. Esta funcin permite al usuario aadir sus propios
bloques a los modelos diseados. Se pueden crear funciones S, en los lenguajes
de programacin antes mencionados, siguiendo una serie de reglas.

Leccin 29: Usar Funciones S en los modelos

Para incorporar una funcin S a un modelo, se debe arrastrar el bloque desde la


librera de SIMULINK definida por el usuario hacia el modelo. Luego se especifica
el nombre de la funcin S en el campo S-function name (Nombre de la funcin S),
como se ilustra en la siguiente figura. En este ejemplo, el modelo contiene dos
instancias de un bloque de funcin S. ambos bloques son referentes al mismo
archivo fuente (mysfun) el cual puede ser un archivo C-MEX o un archivo M. Si
ambos archivos tienen el mismo nombre, el C-MEX toma precedencia y es el
archivo que la funcin S usa.

160
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 116. Relacin entre un bloque de funcin S, su ventana de dilogo y el


archivo fuente que define el comportamiento del bloque.

Fuente: Captura de Matlab versin trial (2008)

Asignando Parmetros a las Funciones S. El campo S-function parameter


(parmetros de la funcin S) de los bloques funcin S, permite especificar los
valores de los parmetros que puedan ser asignados a la correspondiente funcin
S. se debe usar este campo conociendo los parmetros que dicha funcin requiere
(si no se conocen se puede consultar la documentacin del autor del bloque o su
cdigo fuente). Se deben ingresar los parmetros separados por coma, en el
orden que sean requeridos por la funcin. Los parmetros pueden ser constantes,
nombres de variables definidas en el espacio de trabajo, o expresiones de
MATLAB. El siguiente ejemplo ilustra el uso del campo de parmetros de la
funcin para ingresar los parmetros definidos por el usuario.

161
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 117. Parmetros de la S- funcin

Fuente: Captura de Matlab versin trial (2008)

El modelo en este ejemplo incorpora limintm, una muestra de una S-funcin de


ejemplo que incluye el SIMULINK. El cdigo fuente de esta funcin puede
encontrarse en toolbox/simulink/blocks. La funcin limintm acepta tres parmetros:
una banda inferior, una banda superior y una condicin inicial. Su salida es la
integral de la seal de entrada, esta integral est definida entre la banda inferior
(como lmite inferior) y la banda superior (como lmite superior). La ventana de
dilogo en este ejemplo especifica una banda inferior, superior y una condicin
inicial con valores de 2,3 y 2.5 respectivamente. El visualizador muestra la salida
resultante cuando su entrada es una onda seno de amplitud 1.

Cundo usar una funcin-S?. El uso ms habitual de una S-funcin es crear


bloques de SIMULINK a medida. Se pueden usar en una variedad de aplicaciones
incluyendo:

Aadir nuevos bloques de propsito general.


Aadir bloques que representen drivers de dispositivos de hardware.
Incorporar un cdigo fuente escrito en C.
Describir un sistema como un conjunto de ecuaciones matemticas.
Usar animaciones grficas

162
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Leccin 30: Como trabaja una funcin S y como se escribe en MATLAB

Para crear funciones S es necesario saber cmo trabaja. Para entender como
funciona es necesario saber como SIMULINK simula un modelo y para poder
lograr esto se requiere entender la matemtica de los bloques.

Matemtica de los bloques. Un bloque de SIMULINK consiste en un conjunto de


entradas, estados y salidas, donde las salidas estn en funcin de muestras de
tiempo, de las entradas y de los estados del bloque.

Figura 118. Esquema de la relacin Matemtica de los bloques

Fuente: Captura de Matlab versin trial (2008)

Las siguientes ecuaciones expresan la relacin matemtica entre las entradas, los
estados y las salidas.

y f 0 (t , x, u) (Salidas)

x f d (t , x, u) (Derivativo)
xd h 1 f u (t , x, u )
(Actualizado)

Etapas de la simulacin. La ejecucin de un modelo en SIMULINK es hecha en


etapas. Primero viene la etapa de inicializacin, en esta fase SIMULINK incorpora
la librera de los bloques, caminos de propagacin, tipos de datos y muestras de
tiempo, evala los parmetros de los bloques, determina el orden de ejecucin de
los bloques y asigna los espacios de memoria. Entonces SIMULINK ingresa en un
lazo de simulacin (simulation loop). En cada ciclo de la simulacin, SIMULINK
ejecuta todos los bloques de los modelos en el orden que fueron determinados
durante la inicializacin, para cada bloque se invoca funciones que calculan los
estados y salidas del bloque para el tiempo actual. Esto contina hasta que se
complete el tiempo de simulacin. La siguiente figura ilustra las etapas de la
simulacin.

163
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Figura 119. Como SIMULINK ejecuta una simulacin.

Fuente: Armando Portela (2008)

Escribir funciones S en MATLAB. SIMULINK provee una Interfaz de


Programacin de Aplicaciones (Application Programming Interface (API)), que
permite crear bloques en donde las propiedades y comportamiento de estos estn
definidos por programas realizados en MATLAB (M-files) llamados M-files S-
function. El nivel 2 de M-files S-function le permite al usuario crear bloques que
tengan todas las caractersticas y capacidades de los bloques de SIMULINK,
incluyendo mltiples puertos de entrada y de salida, la habilidad para permitir la
seales tanto en forma de vector como de matriz para cualquier tipo de datos
soportado por SIMULINK, seales reales o complejas y la habilidad para operar a
diferente tasas de muestreo.

164
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

ACTIVIDAD DE AUTOEVALUACIN UNIDAD 2

Para autoevaluar la unidad se propone dos actividades:

Actividad 1

Realice un modelo en simulink que permita visualizar en un display los nmero


que el usuario determine dentro de un rango definido por l, de igual forma l
debe poder determinar si los nmero los visualizar en orden ascendente
descendente con un intervalo x entre un nmero y otro

Actividad 2

Consulte la forma de generar un nmero aleatorio inferior a un lmite dado, y a


partir de sta consulta
Realice un modelo en Simulink que permita generar un nmero aleatorio y
dependiendo si el nmero es primo o no se encender un led rojo o verde, rojo
para primo y verde para no primo.

165
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

FUENTES DOCUMENTALES UNIDAD 2

BIBLIOGRAFIA

Modelamiento Matemtico

Allen Angel. (1992). lgebra intermedia. Mexico: Prentice Hall.

Ayres, Jr. (1991). Clculo diferencial e integral (3ra Ed). Espaa: McGraw Hill.

Granville. (1996). Clculo diferencial e integral. Mexico: Limusa.

Grossman (1996). lgebra lineal. Colombia: McGraw Hill.

Larson. (1994). Introduccin al Algebra Lineal. Mexico: Limusa.

Seales y Sistemas

Arnold. (1992). Sistema moderno de procesamiento de datos. Mexico: Limusa.

Irarrazaval. (1999). Anlisis de seales. Chile: McGraw Hill.

Papoulis (1986). Sistemas digitales y analgicos, transformadas en FOURIER,


estimacin espectral. Espaa: Marcombo.

Simulacin

Hilario Prez. (2000). Simulacin y electrnica analgica. Prcticas y problemas.


Colombia: Alfaomega.

Raczynski (1993). Simulacin por Computadoras. Mexico: Noriega.

Ross. (1999). Simulacin (2da Ed). Mexico: Prentice Hall.

Simulacin, Un enfoque practico. Coss. Limusa. 1992. Mexico

Stanley Wolf. (1980). Gua para mediciones electrnicas y practicas de laboratorio.


Mexico: Prentice Hall.

166
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Matlab

Etter Delores. Solucin de Problemas de Ingeniera con Matlab. (2da Edicin):


Prentice hall

Hahn Brian D. (2007). Essential Matlab for Engineers and Scientist. (Third
Edition). Elsevier.

Hunt Brian R. (2001), A guide to Matlab for beginners and experienced users.
Cambridge University: Press.

McMahon David. (2007). Matlab Demystified: McGraw-Hill.

Ogata Katsuhiko. Problemas de Ingeniera de control Utilizando Matlab: Prentice


Hall.

Sayood Khalid. (2007). Learning Programing Using Matlab. (First Edition): Morgan
& Claypool.

Sigmon Kermit, (2002). Matlab Primer. (Sixth Edition). Chapman & Hall/CRC:
Press.

SITIOS WEB

Matlab

Documentation for MathWorks Products.(2009). [en Lnea]. Recuperado el 19 de


julio de 2009, de http://www.mathworks.es/access/helpdesk/help/helpdesk.shtml

Indiana University. Matlab. (2009). [en Lnea]. Recuperado el 19 de julio de 2009,


de http://www.indiana.edu/~statmath/math/matlab/index.html

Introduccin a Matlab. (2001). [en Lnea]. Recuperado el 19 de julio de 2009, de


http://www.ing.unlp.edu.ar/controlm/archivos/electronica/doc/apuntes/matlab.pdf

Matlab Educational Sites. (2006). [en Linea]. Recuperado el 19 de Julio de 2009,


de http://www.ece.umaine.edu/mm/matweb.html

Minitutorial de Matlab. (2009). [en Lnea]. Recuperado el 19 de julio de 2009, de


http://www.desi.iteso.mx/sys/matlab/matlab.htm

The Mathworks. (2009). [en lnea]. Recuperado el 19 de julio de 2009, de


http://www.mathworks.es/

167
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Tutorial de Matlab. (1997). [en Lnea]. Recuperado el 19 de julio de 2009, de


http://www.angelfire.com/la/hmolina/matlab1.html

Tutoriales de control con Matlab. (1996). [en Lnea]. Recuperado el 19 de julio de


2009, de http://ib.cnea.gov.ar/~control2/Links/Tutorial_Matlab_esp/index.html

Scilab

Introduction to Scilab. (2009). [en Lnea]. Recuperado el 19 de julio, de


http://pauillac.inria.fr/cdrom/www/scilab/doc/intro/index.html

Scilab. (2009). [en Lnea]. Recuperado el 19 de julio de 2009, de


http://www.scilab.org/

Welcome to Scilan.in (). [en Lnea]. Recuperado el 19 de Julio de 2009, de


http://scilab.in/index.php?title=Main_Page

Programacin

Algoritmos. (1997). [en lnea]. Recuperado el 19 de julio de 2009 de,


http://www.monografias.com/trabajos15/algoritmos/algoritmos.shtml

Arquitectura de Ordenadores I. [en Lnea]. Recuperado el 19 de Julio de 2009, de


http://www-gist.det.uvigo.es/~martin/ao1/lec11.pdf

Conceptos de Lenguajes de Programacin. (2005). [en Lnea]. Recuperado el 19


de julio de 2009, de
http://www.mailxmail.com/curso/informatica/programacionestructurada/capitulo4.ht
m

Ensamblador Lenguaje de Bajo Nivel (2004). [en Lnea]. Recuperado el 19 de julio


de 2009, de http://mx.geocities.com/alfonsoaraujocardenas/ensamblador.html

Tcnicas de Diseo de Algoritmos. (2000). [en Lnea]. Recuperado el 19 de julio


de 2009, de http://www.lcc.uma.es/~av/Libro/indice.html

Descargas

Aprenda matlab 7.0. (2005). [en Lnea]. Recuperado el 19 de julio de 2009, de


http://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab70/matlab70primero.pdf

168
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
Material Complementario MATLAB

Scilab 5.1.1. (20090. [en Lnea]. Recuperado el 19 de julio de 2009 de,


http://scilab.softonic.com/

TheMathWorks. (2009). [en Lnea]. Recuperado el 19 de julio de 2009, de


http://www.mathworks.com/products/matlab/

169

S-ar putea să vă placă și