You are on page 1of 253

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD

ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA


ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIERA
PROGRAMA INGENIERIA ELECTRNICA

208008 CAD AVANZADO PARA ELECTRNICA


JUAN OLEGARIO MONROY VASQUEZ
(Director Nacional)

FABIAN BOLIVAR MARIN


(Acreditador)

SOGAMOSO
Enero 2010

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

ThisworkislicensedunderaCreativeCommonsAttributionNoDerivs2.5License.

CURSO: CAD PARA ELECTRNICA


@Copyright Universidad Nacional Abierta y a Distancia
ISBN
2010
Vicerrectora de Medios y Mediaciones

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO


El presente mdulo fue diseado en el ao 2008 por el Ing. Electrnico Armando
Portela Duarte, integrante de la Fundacin Internacional Para La Investigacin de
la Cultura y la Participacin.
El presente mdulo ha tenido una actualizacin, desarrollada en Julio de 2009 por
los Ingenieros Juan Olegario Monroy Vsquez y Sandra Isabel Vargas Lpez,
tutores de la UNAD en el CEAD Sogamoso. El Ingeniero Monroy se desempea
actualmente como director del curso a nivel Nacional.
En este mismo ao el Ing. Oscar Donaldo Rodrguez, tutor del CEAD Pereira,
apoy el proceso de revisin de estilo del mdulo y dio aportes disciplinares,
didcticos y pedaggicos en el proceso de acreditacin de material didctico
desarrollado en Julio de 2009.

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

INTRODUCCIN
CAD Avanzado para Electrnica es un curso metodolgico de 3 crditos
enmarcados en un campo de formacin disciplinario, cuya intencionalidad es la de
formar las bases tericas y prcticas en el estudiante para que ste pueda
implementar y ejecutar algoritmos en diferentes software de procesamiento
numrico y de herramientas grficas, mediante el uso de lenguajes de alto nivel.
Esta temtica es de gran importancia tanto para el estudio como para la vida
profesional del individuo puesto que brinda herramientas con las cuales puede
contar a la hora de realizar complejos anlisis y operaciones numricas,
simulaciones en el tiempo de modelos matemticos de sistemas reales
obteniendo informacin valiosa como datos estadsticos o grficos que pueden
representar infinidad de variables durante determinados procesos de diseo o
investigacin cientfica.
Para tal efecto el curso cosiste en 3 unidades didcticas, 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.
En la Segunda Unidad se presentan de forma general las herramientas avanzadas
para aplicaciones especficas del Matlab, en especial se analiza el entorno grfico
o SIMULINK, herramienta potente al momento de hacer simulacin de modelos
de sistemas.
Finaliza con el estudio del Labview, que es un entorno interactivo que emplea un
lenguaje de programacin muy novedoso conocido como programacin grfica o
programacin G altamente empleado en aplicaciones de adquisicin de datos,
instrumentacin virtual y control industrial.
Los contenidos del curso sern presentados al estudiante empleando documentos
digitales que podrn descargarse de la plataforma Moodle para que este se
familiarice y profundice sus conocimientos al respecto durante el tiempo de estudio
independiente, esto se complementa con el correspondiente acompaamiento

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

tutorial en foros y sesiones de Chat predefinidas, la evaluacin del curso se


realizar a partir de la gua de actividades en donde el estudiante tambin entrar
a interactuar con sus compaeros en grupos para la realizacin de ciertas
actividades, dejando evidenciar la importancia de la participacin activa de cada
uno de los estudiantes en las diferentes actividades propuestas, de igual forma al
final de cada unida se plantea un ejercicio de autoevaluacin que busca identificar
puntos crticos donde es necesario hacer refuerzos o ampliar las consultas.
CAD Avanzado para electrnica sienta pues las bases primordiales en el
estudiante para que aplique sus conocimientos matemticos as como en sistemas
informticos para la programacin de diferentes algoritmos y aplicaciones
especficas que simplificarn ampliamente su trabajo en infinidad de aplicaciones
donde se requiera el anlisis numrico y modelado de sistemas.

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

INDICE DE CONTENIDO

UNIDAD 1. HERRAMIENTAS DE MATLAB

CAPITULO 1: ENTRADA/SALIDA Y FUNCIONES DE MATLAB

Leccin 1: Manejo de archivos

Leccin 2: Archivos *.m

Leccin 3: Grficas Bidimensionales.

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

152

BLOQUES, SEALES Y FUNCIONES S

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

ACTIVIDAD DE AUTOEVALUACIN UNIDAD 2

165

FUENTES DOCUMENTALES UNIDAD 2

166

UNIDAD 3.

170

LABVIEW

CAPITULO 1. CONCEPTOS BASICOS DE LABVIEW

172

Leccin 1: Caractersticas y Aplicaciones

172

Leccin 2: Entorno de Trabajo. Panel Frontal.

174

Leccin 3: Entorno de Trabajo. Diagrama de Bloques.

185

Leccin 4: Ejecutar y Depurar un Instrumento Virtual.

191

Leccin 5: Ejemplos.

195

CAPITULO 2. PROGRAMACION ESTRUCTURADA.

204

Leccin 6: Estructuras Case y Sequence.

204

Leccin 7: Estructuras Iterativas For, While.

208

Leccin 8: Estructura Formula Node.

212

Leccin 9: Variables Locales y Globales.

214

Leccin 10: Sub VIs

216

CAPITULO 3. APLICACIONES EN LABVIEW

222

Leccin 11: Filtrado de seales.

222

Leccin 12: Anlisis Espectral

224

Leccin 13: Generacin de Tablas en Labview para presentacin de datos.

225

Leccin 14: Manipulacin de puertos.

226

Leccin 15: Leer y escribir archivos desde Labview.

227

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

ACTIVIDAD DE AUTOEVALUACIN UNIDAD 3

230

FUENTES DOCUMENTALES UNIDAD 3

231

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

LISTADO DE TABLAS
Tabla 1. Funciones bsicas para crear grficas en 2D.

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

10

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

11

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

LISTADO DE GRFICOS Y FIGURAS


Figura 1. Editor de Archivos *.m.

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

Figura 3. Ejecucin del script complejo.m

Figura 4. Ejecucin del comando plotyy()

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

12

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

13

71

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

14

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
15

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
16

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

17

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

Figura 120. Pantalla inicial de LabVIEW.

175

Figura 121. Ventanas del Instrumento Virtual, a) Diagrama de Bloques, b)


Panel Frontal.
175

Figura 122. Paleta de Controles.

177

Figura 123. Controles e indicadores Numricos.

178

Figura 124. Controles e indicadores deslizables.

178

Figura 125. Controles e indicadores giratorios.

179

Figura 126. Controles e indicadores de tiempo.

179

Figura 127. Paleta de los controles e indicadores booleanos.

180

Figura 128. Paleta de Cadena de Caracteres.

181

Figura 129. Paleta de Arrays, Matrix and Cluster.

182

Figura 130. Paleta de List & Table.

183

Figura 131. Terminal cono de una perilla

186

Figura 132. Segmento Curva y Unin.

188

Figura 133. Ejecucin de dos bloques simultneamente.

190

18

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 134. Botn de correr (run)

192

Figura 135. Botn de correr (run) mientras se ejecute la simulacin

192

Figura 136. Botn de correr continuamente (run continuously)

192

Figura 137. Botn de correr roto

193

Figura 138. Botn de Ejecucin iluminada (Highligth Execution)

194

Figura 139. Botn de Ejecucin de un paso a la vez (single stepping)

194

Figura 140. Subpaleta Numeric

196

Figura 141. Subpaleta Modern>>String & Path

196

Figura 142. Panel de control con los elementos escogidos

197

Figura 143. Controles e indicadores numricos

198

Figura 144. Subpaleta de Functions>>Mathematics

198

Figura 145. Diagrama de bloques conectado.

199

Figura 146. Instrumento Virtual Funcionando

199

Figura 147. Panel frontal tanque.vi

200

Figura 148. Diagrama de bloques tanque.vi

200

Figura 149. Conexiones en el Diagrama de Bloques tanque.vi

201

Figura 150. Ubicacin de la Funcin Simulate Signal.

202

Figura 151. Aspecto Final del Panel Frontal. Generacin de Seales Seno y
Coseno.
203
Figura 152. Aspecto final Diagrama de Bloques. Generacin de Seales Seno
y Coseno
203

19

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 153. Estructura Case

205

Figura 154. Ejemplo de la Estructura Case. Panel Frontal.

205

Figura 155. Ejemplo de la Estructura Case. Diagrama de Bloques.

206

Figura 156. Esquema general estructura Sequence.

207

Figura 157. Panel frontal. Estructura Sequence.

207

Figura 158. Diagrama de Bloques. Estructura Sequence.

208

Figura 159. Estructura General de un For.

209

Figura 160. Panel Frontal. Ejemplo Estructura For

210

Figura 161. Diagrama de Bloques. Ejemplo Estructura For.

210

Figura 162. Forma General de la Estructura While.

211

Figura 163. Panel Frontal. Ejemplo de un While.

211

Figura 164. Diagrama de Bloques. Ejemplo de un while.

212

Figura 165. Definicin de Variables en Formula Node

213

Figura 166. Panel Frontal. Ejemplo Formula Node.

213

Figura 167. Diagrama de Bloques Ejemplo Formula Node.

214

Figura 168. Menu Variables globales.

216

Figura 169. Crear icono en un subVI.

217

Figura 170. Panel Frontal Ejemplo de un SubVI.

217

Figura 171. Diagrama de Bloques Ejemplo de un subVi.

218

Figura 172. Creacin del subVI en la paleta Edit

218

20

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 173. Icono que representa al subVI.

219

Figura 174. Icono del subVi seleccionando show conector.

219

Figura 175. Icono del subVI con adicin de variables entrada/salida.

220

Figura 176. Llamando un SubVI.

220

Figura 177. Icono del subVI en el Diagrama de Bloques.

221

Figura 178. Utilizacin de un SubVI, Panel Frontal

221

Figura 179. Utilizacin de un SubVI, Diagrama de bloques.

222

Figura 180. Panel Frontal Ejemplo extraer el seno.vi

223

Figura 181. Diagrama de bloques Ejemplo extraer el seno.vi

223

Figura 182. Diagrama de bloques. Clculo de Transformada rpida de


Fourier.

224

Figura 183. Diagrama de bloques. Clculo de Transformada rpida de


Fourier.

225

Figura 184. Panel Frontal. Generacin de Tablas.

225

Figura 185. Diagrama de Bloques. Generacin de Tablas.

226

Figura 186. Panel Frontal. Envio de datos al puerto paralelo.

226

Figura 187. Diagrama de Bloques. Envio de datos al puerto paralelo.

227

Figura 188. Paleta Opciones Leer/escribir archivos

227

Figura 189. Men Programing/ Report Generation

228

Figura 190. Uso de Report Generation.

229

21

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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.

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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)

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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.

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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.

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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.

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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).

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
plot()
plotyy ()
loglog()
semilogx ()
semilogy ()
Polar()

Descripcin
Crea un grfico a partir de vectores y matrices, con escalas lineales sobre
ambos ejes
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
Genera grficos con escalas logartmicas en ambos ejes
Crea grficos con una escala logartmica en el eje de las abscisas y lineal
en el de las ordenadas
Genera grficos con una escala lineal en el eje de las abscisas y
logartmica en el de las ordenadas
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

-50

-0.2

-100

-0.4

-150

-0.6

-200

10

Fuente: Captura de Matlab versin trial (2008).

12

14

16

18

-0.8
20

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
title(ttulo)
xlabel(ejeX)
xlabel(ejeY)
text(x,y,texto)
gtext(texto)
grid()

Descripcin
Le coloca ttulo al grfico
Le proporciona un ttulo al eje de las abscisas. Con xlabel off
desaparece.
Le proporciona un ttulo al eje de las ordenadas. Con ylabel off
desaparece.
Introduce texto en lugar establecido por las coordenadas x e y, si estos
son vectores, el texto se repetir cada par de elementos .
Introduce el texto en la posicin en el que el puntero del ratn se
encuentre en la grfica y se haga clic
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
-0.2
-0.4

Grfica de seno

-0.6
-0.8
-1
-10

-8

-6

-4

-2

Fuente: Captura de Matlab versin trial (2008).

10

10

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
bar()
barh()
bar3()
bar3h()
pie()
pie3()
area()
errorbar()
compass()

Descripcin
Crea diagramas de barras
Realiza diagramas de barras horizontales
Realiza diagramas de barras con aspecto 3-D
Crea diagramas de barras horizontales con aspecto 3-D
Genera grficos con forma de tarta
Genera grficos con forma de tarta y aspecto 3-D
similar plot(), pero rellenando en ordenadas de 0 a y
representa sobre una grfica mediante barras valores de errores
Dibuja los elementos de un vector complejo como un conjunto de vectores
partiendo de un origen comn

Fuente: Armando Portela (2008)

11

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Leccin 4: Grficas Tridimensionales


MATLAB posee 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.

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

1
0.5

-0.5

-0.5
-1

-1

Fuente: Captura de Matlab versin trial (2008).

12

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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.

4
3
2
1
0
-1
-2
-3
-4
2
1.5
2

1
1.5

0.5

0.5
-0.5

0
-0.5

-1

-1

-1.5
-2

-1.5
-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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

4
3
2
1
0
-1
-2
-3
-4
2
1.5
2

1
1.5

0.5

0.5
-0.5

0
-0.5

-1

-1

-1.5
-2

-1.5
-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
trisurf
meshz
trimesh
surfl
Light
colorbar
sphere
Cylinder

Descripcin
Similar a surf, dibuja una superficie 3-D a partir de los valores de una
funcin en una malla de tringulos.
mesh con plano de referencia en el valor mnimo y una especie de
cortina en los bordes del dominio de la funcin
Similar a mesh, dibuja una superficie 3-D a partir de los valores de una
funcin en una malla de tringulos.
Utilizada para controlar la iluminacin determinando la posicin e
intensidad de un foco de luz.
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.
Adiciona el mapa de colores activo a la figura, redimensionando los
ejes para hacerle un lugar. se puede colocar horizontal o verticalmente.
Dibuja una esfera 3-D de radio unidad.
Dibuja una superficie cilndrica de radio 1 y altura 1, con 20 facetas
laterales.

Fuente: Armando Portela (2008)

14

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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 multitrayecto, 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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
4
6
2
2

2
2
4
2
2

2
6
4
6
4

4
6
4
2
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
1
7
4
9
6

8
5
4
2
2
7

4
6
2
7
4
9

9
6
5
9
9
7

9
7
4
3
4
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

sea anlogo o digital. La siguiente tabla muestra las tcnicas que soporta el
toolbox:
Tabla 5. Tipos de modulacin analgica que soporta el toolbox.

Mtodo de modulacin analgica


Modulacin de amplitud (con supresin o
transmisin de portadora)
Modulacin de frecuencia
Modulacin de fase
Modulacion de amplitud de banda simple

Acrnimo

Comando para la
modulacin

Comando para la
demodulacin

AM

ammod

amdemod

FM
PM
SSB

fmmod
pmmod
ssbmod

fmdemod
pmdemod
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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


toolbox.
Modulacin

AM

FM

Sintaxis del comando de


modulacin
y = ammod(x,Fc,Fs)
y = ammod(x,Fc,Fs,ini_phase)
y=
ammod(x,Fc,Fs,ini_phase,carramp)
carramp: amplitud de la portadora

y= fmmod(x,Fc,Fs,freqdev)
y = fmmod(x,Fc,Fs,freqdev,ini_phase
freqdev: es la constante
desviacin de frecuencia (Hz) de
la seal modulada.
y = pmmod(x,Fc,Fs,phasedev)
y = pmmod(x,Fc,Fs,phasedev,ini_phase)

PM

SSB

phasedev: es la constante
desviacin de fase (radianes) de la
seal modulada.

y = ssbmod(x,Fc,Fs)
y = ssbmod(x,Fc,Fs,ini_phase)
y = ssbmod(x,fc,fs,ini_phase,'upper')
upper: Lado escogido para
realizar la modulacin

Sintaxis del comando de demodulacin


z = amdemod(y,Fc,Fs)
z = amdemod(y,Fc,Fs,ini_phase)
z = amdemod(y,Fc,Fs,ini_phase,carramp)
z=amdemod(y,Fc,Fs,ini_phase,carramp,n
um,den)
carramp: amplitud de la portadora
num, den: establecen el numerador y
el denominador del filtro pasabajas
usado en la demodulacin(radianes)
z = fmdemod(y,Fc,Fs,freqdev)
z = fmdemod(y,Fc,Fs,freqdev,ini_phase)
freqdev: es la constante desviacin de
frecuencia (Hz) de la seal modulada.
z = pmmod(y,Fc,Fs,phasedev)
z = pmmod(y,Fc,Fs,phasedev,ini_phase)
phasedev: es la constante desviacin
de fase (radianes) de la seal
modulada.
z = ssbdemod(y,Fc,Fs)
z = ssbdemod(y,Fc,Fs,ini_phase)
z = ssbdemod(y,Fc,Fs,ini_phase,num,den)
num, den: establecen el numerador y

el denominador del filtro pasabajas


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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
-1

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

2
0
-2
2
0
-2

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


Tabla 7. Tipos de modulacin digital que soporta el toolbox.
Mtodo de modulacin digital
Modulacin por desplazamiento diferencial
de fase
Modulacin por desplazamiento de
frecuencia
Modulacin por desplazamiento mnimo
Modulacin por desplazamiento en
cuadratura compensada
Modulacin por desplazamiento de fase
Modulacin por amplitud de pulso
Modulacin por amplitud en cuadratura

Acrnimo

Comando para la
modulacin

Comando para la
demodulacin

DPSK

dpskmod

dpskdemod

FSK

fskmod

fskdemod

MSK

mskmod

mskdemod

OQPSK

oqpskmod

oqpskdemod

PSK
PAM
QAM

pskmod
pammod
qammod

pskdemod
pamdemod
qamdemod

Fuente: Armando Portela (2008)

29

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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


toolbox.
Modulac

Sintaxis del comando de modulacin


y = dpskmod(x,M)
y = dpskmod(x,M,phaserot)

DPSK

FSK

Sintaxis del comando de


demodulacin
z = dpskdemod(y,M)
z = dpskdemod(y,M,phaserot)

y = dpskmod(x,M,phaserot,symbol_order)

x: mensaje que consiste de enteros entre 0


y M 1, si este fuera una matriz con
mltiple columnas y filas
MATLAB
procesa
las
columnas
independientemente.

M: es el tamao del alfabeto y debe ser


entero.

phaserot: especifica la rotacin de fases


en
radianes.
En
este
caso
el
desplazamiento de fase total por smbolo
es la suma del valor asignado en este
argumento, ms la fase generada por la
modulacin diferencial.

symbol_order: especifica como la funcin


asignar
las
palabras
binarias
correspondientes a los enteros.

z = dpskdemod(y,M,phaserot,symbol_order)

y = fskmod(x,M,freq_sep,nsamp)
y = fskmod(x,M,freq_sep,nsamp,Fs)
y
=
fskmod(x,M,freq_sep,nsamp,Fs,phase_co
nt)

z = fskdemod(y,M,freq_sep,nsamp)
z = fskdemod(y,M,freq_sep,nsamp,Fs)
z
=
fskdemod(y,M,freq_sep,nsamp,Fs,symbo
l_order)

y
=
fskmod(x,M,freq_sep,nsamp,Fs,phase_cont,sy
mbol_order)

x: mensaje que consiste de enteros entre 0


y M 1, si este fuera una matriz con
mltiple columnas y filas
MATLAB
procesa
las
columnas
independientemente.

M: es el tamao del alfabeto y debe ser


entero en potencias de 2.

freq_sep: es la separacin deseada entre


dos frecuencias sucesivas.

nsamp: Es el nmero de muestras por


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

y: mensaje modulado
M: es el tamao del alfabeto y debe
ser entero.
phaserot: especifica la rotacin de
fases en radianes. En este caso el
desplazamiento de fase total por
smbolo es la suma del valor
asignado en este argumento, ms la
fase generada por la modulacin
diferencial.
symbol_order: especifica como la
funcin
asignar
las
palabras
binarias correspondientes a los
enteros.

y: mensaje modulado
freq_sep: es la separacin deseada entre
dos frecuencias sucesivas.
nsamp: Es el nmero de muestras por
smbolo en la seal modulada y debe ser
un numero 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.
symbol_order: especifica como la funcin
asignar
las
palabras
binarias
correspondientes a los enteros

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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


toolbox. (Continuacin)
Modulac

Sintaxis del comando de modulacin


y = mskmod(x,nsamp)
y = mskmod(x,nsamp,dataenc)
y = mskmod(x,nsamp,dataenc,ini_phase)
[y,phaseout] = mskmod(...)*

x: mensaje que consiste de 0s y 1s, si este


fuera una matriz con mltiple columnas y
filas
MATLAB procesa las columnas
independientemente.
nsamp: denota el nmero de muestras por
smbolo en la seal modulada y debe ser
un numero positivo.
dataenc: especfica el mtodo de
codificacin de los datos para la MSK, diff
para la codificacin diferencial y nondiff
para codificacin no diferencial.
Ini_phase: Especifica la fase inicial del
modulador MSK, este es un vector
columna el cual su longitud es el nmero
de canales y el cual sus valores son
mltiplos enteros de de pi/2. Para evitar el
anulamiento se del valor de dataenc se
debe ajustar a un valor especfico.

Esta lnea retorna el valor final de la fase


de y. esto es til para mantener la
continuidad cuando se est modulando
una trama de bits futura, con una
codificacin diferencial MSK.
phaseout:
tiene
las
mismas
dimensiones que ini_phase y asume
los valores de 0, pi/2, pi y 3*pi/2

y: mensaje modulado, si este fuera una


matriz con mltiple columnas y filas
MATLAB
procesa
las
columnas
independientemente.
nsamp: denota el nmero de muestras
por smbolo en la seal modulada y debe
ser un nmero positivo.
dataenc: especfica el mtodo de
codificacin de los datos para la MSK,
diff para la codificacin diferencial y
nondiff para codificacin no diferencial.
Ini_phase: Especifica la fase inicial del
modulador MSK, este es un vector
columna el cual su longitud es el nmero
de canales y el cual sus valores son
mltiplos enteros de de pi/2. Para evitar
el anulamiento se del valor de dataenc
se debe ajustar a un valor especfico.
Ini_state: Especifica el estado inicial del
demodulador, contiene la mitad del
smbolo de la seal recibida previamente

y = oqpskmod(x)
y = oqpskmod(x,ini_phase)

x: el mensaje debe consistir valores


enteros comprendidos entre 0 y 3, si este
fuera una matriz con mltiple columnas y
filas
MATLAB procesa las columnas
independientemente.

Ini_phase: Determina la compensacin de


fase de la seal modulada en radianes.

* 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.
z = oqpskdemod(y)
z = oqpskdemod(y,ini_phase)

MSK

OQPSK

Sintaxis del comando de demodulacin


z = mskdemod(y,nsamp)
z = mskdemod(y,nsamp,dataenc)
z
=
mskdemod(y,nsamp,dataenc,ini_phase)
z
=
mskdemod(y,nsamp,dataenc,ini_phase,in
i_state)
[z,phaseout] = mskdemod(...)*
[z,phaseout,stateout] = mskdemod()
El valor inicial de la fase es 0

31

y: el mensaje modulado, si este fuera una


matriz con mltiple columnas y filas
MATLAB
procesa
las
columnas
independientemente.

Ini_phase: Determina la compensacin


de fase de la seal modulada en
radianes.

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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


toolbox.
Modulac

Sintaxis del comando de modulacin


y = pskmod(x,M)
y = pskmod(x,M,ini_phase)
y = pskmod(x,M,ini_phase,symbol_order)

PSK

x: mensaje que consiste de enteros entre 0


y M 1, si este fuera una matriz con
mltiple columnas y filas
MATLAB
procesa
las
columnas
independientemente.
M: es el tamao del alfabeto y debe ser
entero en potencias de 2.

Symbol_order: especifica como la funcin


asignar
las
palabras
binarias
correspondientes a los enteros.

Ini_phase: Determina la fase inicial


de la modulacin en radianes.

Symbol_order: especifica como la funcin


asignar
las
palabras
binarias
correspondientes a los enteros.

x: mensaje que consiste de enteros entre 0


y M 1, si este fuera una matriz con
mltiple columnas y filas
MATLAB
procesa
las
columnas
independientemente.
M: es el tamao del alfabeto y debe ser
entero en potencias de 2.

z = pamdemod(y,M)
z = pamdemod(y,M,ini_phase)
z
=
pamdemod(y,M,ini_phase,symbol_order)

Ini_phase: Determina la fase inicial de


la modulacin en radianes.

Symbol_order: especifica como la funcin


asignar
las
palabras
binarias
correspondientes a los enteros.

y = qammod(x,M)
y = qammod(x,M,ini_phase)
y = qammod(x,M,ini_phase,symbol_order)
x: mensaje que consiste de enteros entre 0
y M 1, si este fuera una matriz con
mltiple columnas y filas
MATLAB
procesa
las
columnas
independientemente.
M: es el tamao del alfabeto y debe ser
entero en potencias de 2.

Symbol_order: especifica como la funcin


asignar
las
palabras
binarias
correspondientes a los enteros.

32

y: mensaje modulado, si este fuera una


matriz con mltiple columnas y filas
MATLAB
procesa
las
columnas
independientemente.
M: es el tamao del alfabeto y debe ser
entero en potencias de 2.

Ini_phase: Determina la fase inicial


de la modulacin en radianes.
Symbol_order: especifica como la funcin
asignar
las
palabras
binarias
correspondientes a los enteros

z = qamdemod(y,M)
z = qamdemod(y,M,ini_phase)
z
=
qamdemod(y,M,ini_phase,symbol_order)

Ini_phase: Determina la fase inicial de


la modulacin en radianes.

Fuente: Armando Portela (2008)

y: mensaje modulado, si este fuera una


matriz con mltiple columnas y filas
MATLAB
procesa
las
columnas
independientemente.
M: es el tamao del alfabeto y debe ser
entero en potencias de 2.

Ini_phase: Determina la fase inicial de


la modulacin en radianes.

QAM

y = pammod(x,M)
y = pammod(x,M,ini_phase)
y = pammod(x,M,ini_phase,symbol_order)

PAM

Sintaxis del comando de demodulacin


z = pskdemod(y,M)
z = pskdemod(y,M,ini_phase)
z
=
pskdemod(y,M,ini_phase,symbol_order)

y: mensaje modulado, si este fuera una


matriz con mltiple columnas y filas
MATLAB
procesa
las
columnas
independientemente.
M: es el tamao del alfabeto y debe ser
entero en potencias de 2.

Ini_phase: Determina la fase inicial


de la modulacin en radianes.
Symbol_order: especifica como la funcin
asignar
las
palabras
binarias
correspondientes a los enteros

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 18. Diagrama de dispersin.

Scatter plot
6
4

Quadrature

2
0
-2
-4
-6
-6

-4

-2

0
2
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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 se hace 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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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 truncado


< 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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
con respuesta al impulso finito FIR
con respuesta al impulso infinito IIR
de coseno alzado FIR de raz cuadrada.
de coseno alzado IIR de raz cuadrada.

Valor de Type_flag
default o fir/normal
iir o iir/normal
sqrt o fir/sqrt
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

%%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

Valor Binario

0.7
0.6
0.5
0.4
0.3
0.2
0.1
0

10

15

20
Indice de Bit

25

30

35

40

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

%% 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

Valor entero

10

0
1

5
6
Indices de Smbolos

10

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 21. Respuesta al impulso del sistema.


Impulse Response
0.6

0.5

Amplitude

0.4

0.3

0.2

0.1

-0.1

10

15

20
n (samples)

25

30

35

40

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 22. Patrn de ojo de la seal filtrada


Eye Diagram for In-Phase Signal
3

Amplitude

2
1
0
-1
-2
-3
-0.5

0
Time

0.5

Eye Diagram for Quadrature Signal


3

Amplitude

2
1
0
-1
-2
-3
-0.5

0
Time

0.5

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 23. Seal recibida antes y despus del filtrado.


Seal Recibida, Antes y despus del filtrado
5
Antes del filtrado
Despues del filtrado

4
3

Quadrature

2
1
0
-1
-2
-3
-4
-5
-5

0
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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 multipleinput/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
Funcin de transferencia
Ganancia de polos y ceros
Modelo de variable de estado
Respuesta en frecuencia

Comando
tf
zpk
ss
frd

Fuente: Armando Portela (2008)


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

SISO
una funcin de transferencia est definida por
:

h( s ) =

n( s )

d ( s)

Est caracterizada por un numerador n(s) y


un denominador
d(s) ambos polinomios
estn en funcin de la variable de Laplace
(s). Existen dos formas de especificar una
funcin de transferencia:
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

MIMO
Las funciones de transferencias MIMO son
arreglos
bidimensionales
de
funciones
elementales SISO, por lo que existen diversas
formas para especificar estos modelos
incluyendo:
Conectando modelos SISO en cascada.
Usando el comando tf con arreglos de
matrices modulares.
Considerando la matriz de transferencia
racional.

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA
estn
ordenados
en
potencias
descendentes de s. la variable resultante
h es un objeto TF conteniendo los datos
del numerador y del denominador. Por
ejemplo para crear la funcin de
transferencia:

h( s ) = 2
s + 3s + 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.
1. Definiendo la variable s como un
modelo especial de TF
s = tf ( s );
2. Ingresando la funcin de transferencia
como una expresin racional en
trminos de s.
Por ejemplo una vez definida la variable
se escribe la funcin de transferencia de
la siguiente forma:
H=s/(s^2+3*s+7).
la

Se puede especificar H(s) por la concatenacin


deentradasSISO:

o su equivalente
s= tf('s')
h11 = (s-1)/(s+1);
h21 = (s+2)/(s^2+4*s+5);

MATLAB retorna:
Transfer function:
s
------------------s^2 + 3 s + 7

Esto reporta
transferencia.

s 1
s +1
s+2

+ 4s + 5

h11 = tf([1 -1],[1 1]);


h21 = tf([1 2],[1 4 5]);

Se escribe:
h = tf ([1 0] , [1 , 3 , 7])

H (s) =
2
s

misma

funcin

de

Esta sintaxis imita la matriz de concatenacin


estndar y tiende a ser ms fcil y legible para
sistemas MIMO con muchas entradas y/o
salidas. Alternativamente para definir una
funcin de transferencia MIMO, usando tf, se
necesitan 2 arreglos modulares (N, D), para
representar el conjunto de polinomios,
respectivamente. Por ejemplo la matriz de
transferencia racional H(s), los dos arreglos
(N,D) contienen los vectores filas que
representan los polinomios de entrada

s 1
s +1
D ( s ) = 2
N (s) =

s + 2
s + 4 s + 5
Se puede especificar esta funcin
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)

de

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA
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


forma:

h( s ) = k

( s z1 )...( s z m )

( s p1 )...( s p n )

Donde k es un valor escalar real o complejo


(ganancia) y z1 zn y p1... pn son valores
reales o pares de complejos conjugados de
los polos y ceros de la funcin de
transferencia h(s). Este modelos esta
cercanamente
relacionado
con
la
representacin de los modelos por funcin de
transferencia: los ceros son las races del
numerador y los polos las races del
denominador.
Existen dos formas para representar los
modelos de ganancias, polos y ceros.
Usando el comando zpk.
La sintaxis de este comando es:
h = zpk(z,p,k)
Donde z y p son los vectores de polos y
ceros y k es la ganancia. Esto produce un
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)

Como una expresin racional en funcin


de la variable de laplace S
1. Definiendo la variable s como un
modelo especial de ZPK
s = zpk ( s );
2. Ingresando la funcin de transferencia
como una expresin racional en
trminos de s.
Por ejemplo ya definido s con zpk

Tambin se pude utilizar el comando zpk para


especificar modelos ZPK MIMO. La sintaxis
para crear un modelo p por m es la siguiente.
H = zpk (Z , P , K)
Donde
Z es el arreglo de ceros p por m
(Z{i,j}=ceros de Hij(s))
P es el arreglo de polos p por m
(P{i,j}=polos de Hij(s))
Z es el arreglo de ganancias p por m
(K{i,j}=ganancia de Hij(s)).
Por ejemplo se escribe lo siguiente
Z= {[],-5;[1-i 1+i] []};
P = {0,[-1 -1];[1 2 3],[]};
K = [-1 3;2 0];
H = zpk(Z,P,K)

MATLAB retorna:
Zero/pole/gain from input 1 to output...
-1
#1: -s

MATLAB retorna:
Zero/pole/gain:
-2 s
-------------------(s-2) (s^2 - 2s + 2

Como en el modelo de funcin de transferencia


se puede crear un sistema MIMO concatenando
sistemas SISO como entradas.

46

2 (s^2 - 2s + 2)
#2: ----------------(s-1) (s-2) (s-3)
Zero/pole/gain from input 2 to output...
3 (s+5)
#1: ------(s+1)^2
#2: 0

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA
H = -2s/((s - 2)*(s^2 + 2*s + 2));
Esto genera
transferencia

la

misma

Donde se ha creado el modelo de dos entradas


y dos salidas.

funcin

de

s
H ( s) =
2
2( s 2 s + 2)
( s 1)( s 2)( s 3)

3( s + 5)
( s + 1) 2

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
+ 5 = 3I
2
dt
dt

47

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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


x = d
dt

1
0
A=

5 2

0
B=
3

C = [0

1]

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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 wi t

Sea de salida

yi (t )

Funcin de transferencia G(w)

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

Aqu

wi

es

la

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

y1

sys1
+

y2

sys2
+

sys

sys1

u
y1
+

sys2

_
y2

sys

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

0
,
A2

B1
B ,
2

[C1

C 2 ] ,

D1 + D2

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

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
0

B1C 2
,
A2

B1 D2
B ,
2

[C1

D1C 2 ] ,

D1 D2

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Tabla 12. Sintaxis y ejemplos de comandos empleados para interconectar


modelos.
Operador de
interconexin
[,]
[;]
append

Descripcin
Concatena los modelos horizontalmente
Concatena los modelos verticalmente
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.

L
0
0
H 1 (s)
0
H 2 (s) 0
M

M
M
O
0

L
0 H N ( s)
0
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
x1 = 1
x 0
2

0 x1 B1
+
A2 x 2 0

0 y1

B2 y 2

y1 C1
y = 0
2

0 x1 D1
+
C 2 x 2 0

0 u1

D2 u 2

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


tipo. Las matrices regulares tambin son representadas como ganancias

56

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA
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

x1
x2

u1
1.00000
0

u2
0
0

y1
y2
y3

x1
x2
1.00000
0
0
0
0
3.00000

b=
u3
0
2.00000

c=

d=
y1
y2
y3

u1
0
0
0

u2
u3
0
0
10.00000
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA
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
-1.6943
0

x3
x4
0
0
17.779
0
3.2138
0
0
-2

x1
x2
x3
x4

uc
4
0
0
0

u1
0
-0.5112
-0.002
0

u2
?
0
0
0.5362
0
-1.847
0
0
1.4142

?
y1
y2
?

x1
2.5
0
0
0

x2
0
-3.2897
-13.501
0

x3
x4
0
0
2.4544
0
18.075
0
0
-1.4142

?
y1
y2
?

uc
0
0
0
0

u1
0
-0.5476
-0.6459
0

u2
?
0
0
-0.141
0
0.2958 0
0
2

b=

c=

d=

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA
MATLAB retorna:
a=
x1
x1
-5
x2
0.84223
x3
-2.9012
x4
0.65708

x2
x3
x4
0
0
0
0.076636
5.6007
0.47644
-33.029
45.164
-1.6411
-11.996
16.06
-1.6283

b=
x1
x2
x3
x4

uc
4
0
0
0

u1
0
-0.076001
-1.5011
-0.57391

y1
y2

x1
-0.22148
0.46463

y1
y2

uc
0
0

c=
x2
x3
x4
-5.6818
5.6568 -0.12529
-8.4826
11.356
0.26283

d=

Parallel

u1
-0.66204
-0.40582

Continuous-time system
Cabe notar que las entradas y salidas son como se buscaba.
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 29. Interconexin de un sistema en serie

Fuente: Armando Portela (2008).

feedback

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.
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA
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);
sysc = d2c(sysd);

% Ts = Periodo de muestreo en segundos

63

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
impulse

Sintaxis
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 multientrada 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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA
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 x 1 1 u
1
1
x1 =
x + 0 2 u
0
x 0.7814
2
2
2
x
y = [1.9691 6.4493] 1
x2
Usandolossiguientescomandos:
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 32. Respuesta al impulso del sistema.


Impulse Response
From: In(1)

From: In(2)

12
10
8

Amplitude

6
4
2
0
-2
-4
-6

10

15

20 0

10

15

20

Time (sec)

step

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


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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA
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 x 1 1 u
1
1
x1 =

x 2 0 2 u 2
0
x 0.7814

2
x
y = [1.9691 6.4493] 1
x2

Usandolossiguientescomandos:
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 33. Respuesta al sistema al escaln unitario


Step Response
From: In(1)

From: In(2)

12
10
8

Amplitude

6
4
2
0
-2
-4
0

10

15

20 0

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
Bode

Sintaxis
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA
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:

H (s) =

Digitando los siguientes comandos:


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

69

s 2 + 0.1s + 7.5

s 4 + 0.12 s 3 + 9 s 2

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 34. Diagrama de bode del sistema.


Bode Diagram
0

Magnitude(dB)

-10

-20

-30

Phase(deg)

-40
-45

-90

-135

-180

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

Magnitude(dB)

20
0
-20
-40
-60

Phase(deg)

-80
-45

-90

-135

-180

-1

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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


Bode Diagram
40

Magnitude (dB)

20
0
-20
-40
-60

Phase (deg)

-80
0

-90

-180

-270

-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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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 :

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

2 s 2 + 5s + 1

s 2 + 2s + 3

MATLAB retorna:

Figura 37. Diagrama de Nyquist del sistema


Nyquist Diagram
2

1.5

Imaginary Axis

0.5

-0.5

-1

-1.5

-2
-1

-0.5

0.5

1
Real Axis

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

72

1.5

2.5

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Si sys tiene la funcin de transferencia:


h( s ) =

n( 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:

H ( s) =

2 s 2 + 5s + 1

s 2 + 2s + 3

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


rlocus(h)
MATLAB retorna;

74

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 39. Diagrama del lugar geomtrico de las races del sistema
Root Locus
1.5

Imaginary Axis

0.5

-0.5

-1

-1.5
-2.5

-2

-1.5

-1

-0.5

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Para el modelo del motor se consideraron los parmetros dados en la Tabla 15.
Tabla 15. Parmetros de un Motor de Corriente Continua
Parmetro
Momento de inercia del sistema

Smbolo
J

Coeficiente de friccin
Constante de fuerza electromotriz
(FEM)
Resistencia de armadura
Entrada: fuente de tensin
Posicin del eje

b
K=Ke=Kt
R
V

Valor
kgm 2
0.01 2
s
0.1Nms
Nm
0.01
A
1
0. 5 H

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

d J
=
dt i K

L

K
0
J + 1 v (8)

R
i 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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

%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:

KP +

KI
K s2 + KD s + KI
(9)
+ KD s = D
s
s

78

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

%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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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)
Fuente: Captura de Matlab versin trial (2008).

89

(b)

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

(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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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).
Edition). Elsevier.

Essential Matlab for Engineers and Scientist. (Third

Hunt Brian R. (2001), A guide to Matlab for beginners and experienced users.
Cambridge University: Press.

108

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
x=

u
s+2

x
1
=
u s+2

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
If-else
Switch

Bloque
If , Action port (puerto de accin)
Switch case Action port (puerto de accin)

118

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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 u1, 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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
Do-while (haga hasta)
For (para)
While (Mientras que)

Bloque
While Iterator (mientras que)
For Iterator (para)
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
G ( s )=

2.84
, ante una seal de entrada escaln, rampa y senosoidal.
4.28s + 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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Se despeja la derivada de mayor orden de la ecuacin diferencial

f (t ) B

dx
d 2x
Kx (t ) = M 2
dt
dt

dx
d 2x
1
Kx (t )) = 2
* ( f (t ) B
dt
dt
M
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

La ecuacin diferencial que representa al sistema es :

v(t ) = R i (t ) + L

di 1
+ i (t )
dt C

Aplicando Transformada de Laplace a la ecuacin :

V ( s ) = R I ( s ) + LsI ( s ) +

1
I ( s)
Cs

La funcin de Transferencia del sistema es:

G (s) =

Vo( s )
1
=
2
Vi ( s ) LCs + RCs + 1

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Nociones Bsicas de la Simulacin. Para simular un modelo simplemente, solo


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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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


Bus selector
Demux
Enable
From
Goto
Goto tag visibility
Ground
Import
Mux
Outport
Selector
Signal specification
Subsystem
Terminator
Trigger

Condicin bajo la cual el bloque es virtual


Virtual si la entrada al bus es virtual
Siempre virtual
Virtual a menos que est conectado directamente a un
puerto de salida de un bloque.
Siempre virtual
Siempre virtual
Siempre virtual
Siempre virtual
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.
Siempre virtual
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.
Virtual excepto en el modo de Matriz
Siempre virtual
Virtual a menos que el bloque sea condicionalmente
ejecutado y la opcin del bloque treat as Atomic Unit
(tratarlo como unidad atmica.) est seleccionada.
Siempre virtual
Virtual cuando el puerto de salida no est presente

Fuente: Armando Portela (2008)

153

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
Derivative (Derivada)
Integrator (Integrador)

Continuous (Continua):
Bloques que pueden
representar funciones
continas en el tiempo.

Transfer Fcn (Funcin


de transferencia)
Transoport Delay
(Retraso de
transporte)
Zero-Pole (Polos
ceros)

Math
(Matemticas):
Bloque
que
realizan
operaciones matemticas
con la seal o seales de
entrada

La salida del bloque est retrasada con


respecto a la seal de entrada
y

Funcin de transferencia expresada en


valores de ganancias en estado estable

Abs

Calcula el valor absoluto de la seal de


entrada.

Gain (Ganancia)

Aplica un valor de ganancia constante a


la seal de entrada.

Fuente: Armando Portela (2008)

Funcin
Derivar la seal de entrada
Integra la seal de entrada, se le deben
proporcionar los parmetros de lmite
superior e inferior y la condicin inicial
Le proporciona al usuario la posibilidad de
expresar una funcin de transferencia en
funcin de s. los parmetros son los
coeficientes que acompaan la variable
en el numerador y el denominador.

157

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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
Double
Single
Int8
Uint8
Int16
Uint16
Int32
Uint32

Descripcin
Punto flotante de doble precisin
Punto flotante de precisin simple
Entero de 8 bits con signo
Entero de 8 bits sin signo
Entero de 16 bits con signo
Entero de 16 bits sin signo
Entero de 32 bits con signo
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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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


Para crea s-funciones 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 )
x d h + 1 = f u (t , x , u )

(Derivativo)
(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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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 Sfunction. 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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Matlab
Etter Delores. Solucin de Problemas de Ingeniera con Matlab. (2da Edicin):
Prentice hall
Hahn Brian D. (2007).
Edition). Elsevier.

Essential Matlab for Engineers and Scientist. (Third

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

UNIDAD 3.

LABVIEW

Introduccin
Es una herramienta usada por cientficos e ingenieros para medir y automatizar el
universo que nos rodea
LABVIEW (Laboratory Virtual Instrument Engineering Workbench), es un lenguaje
y un entorno grfico de programacin que usa iconos en lugar lneas de comando
para crear aplicaciones. A diferencia de otros lenguajes donde las instrucciones
determinan el flujo de programa, en LabVIEW el flujo de datos a travs de los
nodos en el diagrama de bloques determina el orden de ejecucin de los
instrumentos virtuales VI (Virtual Instrument) y funciones. Los instrumentos
virtuales o VIs son los programas hechos en LabVIEW que imitan instrumentos
fsicos o paneles de control de muy diversos sistemas.
Esta herramienta fue desarrollada por National Instruments, su desarrollo
comenz en el ao de 1.983 y la primera versin fue lanzada en el ao de 1.986
LabVIEW para Macintosh y en 1.990 la segunda versin. La versin utilizada
como referencia para este curso es la 8.6.

Justificacin
LabVIEW es un lenguaje de programacin grfico diseado para ingenieros y
cientficos para desarrollar aplicaciones de pruebas, control y medidas. La
naturaleza intuitiva de la programacin grfica de LabVIEW lo hace fcil de usar
por educadores e investigadores para incorporar el software a varios cursos y
aplicaciones. Con LabVIEW, los educadores e investigadores pueden usar un
enfoque de diseo de sistemas grficos para disear, generar prototipos y
desplegar sistemas embebidos. Combina la potencia de la programacin grfica
con hardware para simplificar y acelerar drsticamente el desarrollo de diseos.
Por que usar Labview. (2009). [en lnea], recuperado el 20 de julio de2009, de
http://www.ni.com/academic/why_labview/esa/

170

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Intencionalidades Formativas

Propsitos
Conocer y utilizar Labview como una herramienta de diseo y puesta a prueba de
sistemas donde se requiere adquirir informacin, procesar, tomar decisiones a
partir de ciertos resultados, todo a partir del desglose del manejo general de
paquetes, adems desarrollar habilidades que le permitan al estudiante identificar
su potencial uso en el desarrollo de soluciones ptimas a problemas en el campo
de la ingeniera electrnica.

Objetivos
Que el estudiante ample complemente y profundice en las caractersticas
operativas, tcnicas, los beneficios de Labview para que as puedan realizar una
serie de actividades, tendientes a solucionar problemas de carcter electrnico,
identificables en el quehacer diario del campo ingenieril.

Competencias
El estudiante conoce las caractersticas y posibilidades que le brindan los software
analizados en el curso, adems conoce los procedimientos sistemticos para
interactuar con stos manejando los comandos bsicos, formas de representacin
de los datos y expresiones caractersticas. Sabe buscar en las ayudas de los
software los comandos especficos que sirvan para resolver una determinada
tarea as como para conocer la sintaxis adecuada a la hora de programar.
Puede depurar la programacin en la bsqueda de errores de programacin y
puntos del programa donde no se realiza lo que en realidad se requiere, sabe
ejecutar los programas realizados para asegurarse que cumplan los
requerimientos y resuelvan adecuadamente una problemtica dada. A su vez el
estudiante sabe documentar los programas realizados para posibles utilizaciones
posteriores o como referente para posible uso de otros.
Aplicando los conocimientos adquiridos el estudiante puede realizar algoritmos,
programas y funciones que sirvan para simular, analizar, modelar, generar
grficas, tablas de datos, estadsticas, procesado y filtrado de informacin, generar
sistemas de instrumentacin i/o adquisicin de datos empleando Matlab, Scilab
Simulink y Labview as como generar funciones o sub-funciones que le ayuden en

171

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

labores especificas, para las cuales no exista un comando definido que resuelva la
problemtica planteada y que dichas funciones puedan ser empleadas como
bloques constitutivos de una programa o aplicacin mayor.

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.
El estudiante aplicar una metodologa adecuada para el correcto diseo e
implementacin de algoritmos en la programacin y simulacin de soluciones a
problemas de ingeniera y modelado de sistemas.

CAPITULO 1. CONCEPTOS BASICOS DE LABVIEW


Introduccin. En este captulo se tratan los aspectos necesarios para
familiarizarse con el uso de LabVIEW, incluyendo las ventanas Panel y Diagram,
mens de LabVIEW y la ventana de jerarqua. Asimismo se presentan otros
aspectos necesarios como el uso de los modos edit y run, y un ejemplo donde se
crea, ejecuta y depura un Instrumento Virtual (VI).

Leccin 31: Caractersticas y Aplicaciones

Labview es un programa enfocado hacia la instrumentacin virtual, por lo que


cuenta con numerosas herramientas de presentacin, en grficas, botones,
indicadores y controles, los cuales son muy esquemticos y ofrecen mltiples
opciones de presentacin.
Cuenta con libreras especializadas para manejos de DAQ, Redes,
Comunicaciones, Anlisis Estadstico, Comunicacin con Bases de Datos. Como
se programa creando subrutinas en mdulos de bloques, se pueden usar otros

172

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

bloques creados anteriormente. Adems permite pasar las aplicaciones entre


diferentes plataformas como Macintosh y seguir funcionando.
LabVIEW se diferencia de otros lenguajes de programacin, ya que no se basa en
lneas de texto para crear el cdigo fuente del programa, sino en la programacin
grfica o lenguaje G para crear programas basados en diagramas de bloques.
LabVIEW posee extensas libreras de funciones y subrutinas. Adems de las
funciones bsicas de todo lenguaje de programacin, LabVIEW incluye libreras
especficas para la adquisicin de datos, control de instrumentacin VXI, GPIB y
comunicacin serie, anlisis presentacin y guardado de datos.
Los programas desarrollados mediante LabVIEW se denominan Instrumentos
Virtuales (VIs), porque su apariencia y funcionamiento imitan los de un instrumento
real. Sin embargo son anlogos a las funciones creadas con los lenguajes de
programacin convencionales. Los VIs tienen una parte interactiva con el usuario y
otra parte de cdigo fuente, y aceptan parmetros procedentes de otros VIs, a la
parte interactiva se le conoce como Panel Frontal y el cdigo fuente como
Diagrama de Bloques.
Algunas de las ventajas que se obtienen al utilizar Labview son:
Se reduce el tiempo de desarrollo de las aplicaciones al menos de 4 a 10
veces, ya que es muy intuitivo y fcil de aprender.
Dota de gran flexibilidad al sistema, permitiendo cambios y actualizaciones
tanto del hardware como del software.
Da la posibilidad a los usuarios de crear soluciones completas y complejas.
Con un nico sistema de desarrollo se integran las funciones de
adquisicin, anlisis y presentacin de datos.
El sistema est dotado de un compilador grfico para lograr la mxima
velocidad de ejecucin posible.
Tiene la posibilidad de incorporar aplicaciones escritas en otros lenguajes.

173

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Puede interactuar con otro software como por ejemplo llamar archivos
desde Excel o llamar rutinas desde Matlab.

Para el empleo de LabVIEW no se requiere gran experiencia en programacin, ya


que se emplean iconos y se apoya sobre smbolos grficos en lugar de lenguaje
escrito para construir las aplicaciones. Adems posee extensas libreras de
funciones y subrutinas. Adems de las funciones bsicas de todo lenguaje de
programacin.
Las aplicaciones de LabVIEW pueden ser: prueba de dispositivos electrnicos,
control de sistemas y maquinaria, monitoreo de condiciones en un ambiente
industrial, realizacin de prototipos de lgica en los dispositivos biomdicos, entre
una infinidad de otras aplicaciones. Labview permite para cada aplicacin hacer
mediciones fsicas, entradas, salidas, procesamiento de seal, toma de decisiones
complejas, registro de datos, generacin de reportes, comunicacin, etc.

Leccin 32: Entorno de Trabajo. Panel Frontal.


Al comenzar el programa, se despliega la pantalla inicial que permite acceder a la
informacin fundamental como Iniciar con LabVIEW (Getting started with
LabVIEW), la ayuda (LabVIEW Help), informacin y nuevas caractersticas,
adems de los conos correspondientes para generar nuevos VIs o abrir alguno
existente. Ver Figura 120.
Un instrumento virtual consta principalmente de dos componentes: un diagrama de
bloques (Figura 121 a), que es donde se desarrolla el cdigo grfico en forma de
diagrama de bloques, adems se cuenta con una interfaz de usuario que pude ser
personalizada con objetos como perillas (Figura 121 b), indicadores y botones
para formar el panel de control y/o monitoreo de los instrumentos virtuales.

174

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 120. Pantalla inicial de LabVIEW.

Fuente: Captura de Labview 8.6 Versin Trial 2009


Figura 121. Ventanas del Instrumento Virtual, a) Diagrama de Bloques, b) Panel
Frontal.

Fuente: Captura de Labview 8.6 Versin Trial 2009

175

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Las paletas, herramientas y mens de LabVIEW, son utilizados para construir el


panel frontal y el diagrama de bloques de los VIs, realizando conexiones entre los
diferentes elementos incluidos en tres paletas: la paleta de control, de funciones y
de herramientas.
Los instrumentos virtuales son entidades realizadas con el LabVIEW, en
apariencia y operacin imitan los instrumentos fsicos, como osciloscopios,
multmetros o paneles de control de cualquier tipo. Cada VI emplea funciones que
manipulan las entradas de una interfase con el usuario u otras fuentes como
sensores, tarjetas de adquisicin, puertos de comunicacin del PC, etc. Esta
informacin puede ser presentada por pantalla en forma numrica o grfica o
puede ser procesada internamente para obtener resultados especficos, tambin
se puede almacenar o transferir hacia otras computadoras.
Un instrumento virtual contiene los siguientes componentes:

Panel Frontal (Front Panel): Este se emplea como interfaz de usuario.

Diagrama de Bloques (Block diagram): Contiene el cdigo fuente grfico


que define la funcionalidad del VI.

conos y panel de conexiones (Icon and connector panel): Identifica la


interfase del VI con el fin de que ste pueda ser empleado en otro VI. Un VI
que es utilizado en el interior de otro VI se conoce como un subVI. Un subVI
es anlogo a una subrutina en un lenguaje de programacin basado en
lneas de cdigo.

Panel Frontal. El panel frontal se construye empleando controles e indicadores,


los cuales representan respectivamente entradas interactivas y elementos de
salida de un VI. Los controles pueden ser perillas, botones, diales que simulan
mecanismos de entrada y control, generalmente se emplean como fuente de datos
para el diagrama de bloques del VI. Los indicadores pueden ser grficos, LEDs
indicadores numricos, etc. que simulen mecanismos de salida y visualizacin,
stos presentan datos que el diagrama de bloques adquiere o genera.
Generalmente este panel es diseado antes que el diagrama de bloques.
Para desplegar la paleta de controles se selecciona en la barra de mens
View>>Controls Palette, y se escogen los indicadores, perillas, etc que estarn en
la ventana donde se construye el panel frontal (Figura 122). Los tipos de controles
e indicadores, incluyen:

176

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Numricos: barras deslizables, perillas, grficos, cartas.

Bolanos: Botones y switches, cadena de caracteres, arreglos, grupo de


opciones (Clusters), caja de listas (Listbox), rbol de controles.

Visualizadores numricos, Barras deslizables y de desplazamiento, perillas,


diales y cronmetros. Se usan los objetos numricos localizados en las paletas
Numeric y Classic Numeric, entre estos se pueden encontrar barras deslizables y
de desplazamiento, perillas, diales, y visualizadores numricos, tambin incluye
caja de colores para ajustar el color del indicador. Estos son utilizados para
ingresar y mostrar los datos numricos.
Figura 122. Paleta de Controles.

Fuente: Captura de Labview 8.6 Versin Trial 2009


Controles e Indicadores numricos. Es la forma ms simple para ingresar y
desplegar datos numricos, se pueden redimensionar estos objetos en el panel

177

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

frontal para poder tener una mayor cantidad de dgitos (Ver Figura 123). Por
defecto LabVIEW, muestra y almacena los nmeros como una calculadora, este
cambia automticamente a una notacin exponencial si el valor del nmero supera
los 6 dgitos. Para variar e valor por defecto de un indicador, se puede digitar
valores con el teclado o utilizar las flechas de incremento o decremento.
Figura 123. Controles e indicadores Numricos.

Fuente: Captura de Labview 8.6 Versin Trial 2009

Controles e indicadores deslizables (Slide) y de desplazamiento (Scroll).

Estos son indicadores numricos con una escala, pueden ser tanto verticales
como horizontales, un tanque o un termmetro. Los valores por defecto de estos
son variados haciendo clic y arrastrando hasta el nivel que se desea. Se puede
aadir ms de un indicador de desplazamiento haciendo clic derecho sobre el
indicador y seleccionar Add Slider. El tipo de dato de un control con mltiples
Slider es un grupo que contiene cada uno de los datos numricos.
Figura 124. Controles e indicadores deslizables.

Fuente: Captura de Labview 8.6 Versin Trial 2009

178

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Controles e indicadores giratorios (Rotary).

Estos incluyen botones, diales, medidores y contadores. Los objetos giratorios


funcionan de manera similar a los controles e indicadores deslizables, porque
dependiendo de su posicin representan valores numricos en una escala de
valores. Para cambiar el valor de los controles giratorios se hace clic sobre la
aguja y se arrastra hasta su nueva posicin. Se puede aadir ms de una aguja
(Neddle) haciendo clic derecho sobre el indicador y seleccionar Add Neddle. El
tipo de dato de un control con mltiples Neddles es un grupo que contiene cada
uno de los datos numricos.
Figura 125. Controles e indicadores giratorios.

Fuente: Captura de Labview 8.6 Versin Trial 2009

Cronmetros, controles e indicadores de tiempo.

Son utilizados para enviar y recibir valores de tiempo y el dato registrado en esos
instantes, este valor puede ser modificado haciendo clic sobre este cono.
Figura 126. Controles e indicadores de tiempo.

Fuente: Captura de Labview 8.6 Versin Trial 2009


Botones, interruptores y luces. Estos indicadores y controles se encuentran
localizados en las paletas Boolean y Classic Boolean y sirven para crear botones,

179

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

interruptores y luces. Estos son utilizados para el ingreso y despliegue de valores


booleanos (Verdadero/falso). Por ejemplo si se est monitoreando la temperatura
de un experimento, se puede colocar una luz de advertencia booleana en el panel
frontal para indicar cuando la temperatura excede este valor.
Los controles booleanos poseen seis tipos de accin mecnica que le permiten al
usuario personalizar esta clase de objetos para as crear panel frontales que en lo
posible se emulen al mximo el comportamiento fsico de los instrumentos.
Figura 127. Paleta de los controles e indicadores booleanos.

Fuente: Captura de Labview 8.6 Versin Trial 2009

180

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Controles de opcin (Radio Buttons).

Estos deben ser utilizados para brindar a los usuarios una lista de opciones, de las
cuales se puede escoger solo una por vez.
Cajas de entrada de textos (Text Entry boxes), Marquillas (Labels). Estos
indicadores y controles se encuentran localizados en las paletas String & Path y
Classic String & path son manejados con cadenas de caracteres, se emplean para
introducir cajas de entrada de texto, marquillas y para ingresar o retornar la
localizacin de un archivo o directorio.
Figura 128. Paleta de Cadena de Caracteres.

Fuente: Captura de Labview 8.6 Versin Trial 2009

Indicadores y controles de arreglos (Arrays), matrices (Matrix) y grupos


(Clusters). Se encuentran localizados en la paletas Array, Matrix & Cluster y
Classic Arrays, Matrix & Cluster (Figura 129). Un arreglo (Array) son datos del
mismo tipo. Un Cluster son datos de diferente tipo. Un grupo de matrices son filas
y columnas de datos complejos o escalares para realizar operaciones
matemticas, como por ejemplo las del algebra lineal.

181

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 129. Paleta de Arrays, Matrix and Cluster.

Fuente: Captura de Labview 8.6 Versin Trial 2009


Caja de listas (Listboxes), rbol de control y Tablas. Esta paleta est
localizada en List & Table y Classic List & Table

Caja de listas (Listboxes).

Estas pueden ser configuradas para aceptar una o mltiples selecciones. Se usan
las cajas de listas multi-columnas para desplegar ms informacin acerca de cada
opcin, como el tamao y el momento en que fue creado.

rbol de Controles (Tree Control).

Este es utilizado cuando se requiere brindar al usuario una lista jerrquica de


opciones de la cuales puede escoger. Cuando se organizan los elementos de esta
manera las opciones aparecen al hacer clic sobre el nodo, y se colapsan o
desaparecen si se vuelve a oprimir el nodo.

Tablas.

Se utilizan para crear tablas en el panel frontal.

182

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 130. Paleta de List & Table.

Fuente: Captura de Labview 8.6 Versin Trial 2009

Controles e indicadores para Nombres de entradas y salidas (I/O).


Esta paleta se encuentra en I/O y en Classic I/O, se utiliza para nombrar los
canales del DAQ (Sistema de adquisicin de datos), as como los recursos VISA y
nombres de la lgica IVI.

VISA: (Virtual Instrument Software Architecture) o en espaol: Arquitectura


Software del Instrumento Virtual, Se trata de una interfaz sencilla para
controlar una serie de dispositivos para adquisicin de seales.

IVI: (Interchangeable Virtual Instrument) en espaol: Instrumento Virtual


Intercambiable, Es un estndar de software para crear una interfaz comn
(API) para simular instrumentos de pruebas y medidas, que permite
configurar las entradas y las salidas de los VIs para comunicarlo con un
instrumento o un dispositivo DAQ.

Los nombres de las constantes estn localizados en la paleta de funciones


(Functions). Una constante es una terminal de datos en el diagrama de bloques
que suministra valores fijos, stos sern empleados por los dems elementos del
diagrama para realizar operaciones especificas.

183

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Control en la Forma de Onda (Waveform): Sirve para manipular los datos de los
elementos de un de forma de onda. Lleva el control de la forma de onda de los
datos, hora de inicio, y el delta t de una forma de onda.
Control de la Forma de Onda Digital: Es utilizado para manipular los elementos
individuales de una forma de onda digital.
Configurando los Objetos en el Panel Frontal. Se usa la caja de dialogo de
propiedades, para configurar como aparecern y se comportarn los controles e
indicadores, esto se logra haciendo clic con el botn derecho del mouse y llegar a
propiedades (Properties), mientras las simulacin este corriendo no puede
hacerse uso de esta opcin.
Mostrar u Ocultar Elementos Opcionales.
Los controles e indicadores del panel frontal tienen elementos opcionales que se
pueden mostrar u ocultarse, tales como, marquillas, leyendas y visualizadores
digitales.
Intercambiando Controles a Indicadores e Indicadores a Controles.
LabVIEW inicialmente configura los objetos en la paleta de controles (Controls)
como controles o indicadores basados en su uso tpico. Por ejemplo si se coloca
un interruptor de palanca (toggle switch) en el panel de control, este aparece como
un control porque por lo general es una entrada del mecanismo (fsico). Si se
coloca un LED este aparece como un indicador, porque usualmente es utilizado
como in dispositivo de salida.
Algunas paletas contienen un control y un indicador para el mismo tipo de objeto.
Por ejemplo, la paleta de numricos (Numeric) contiene un control y un indicador
numrico porque se pueden tener entradas numricas y salidas numricas. Se
puede cambiar un control a un indicador haciendo clic con el botn derecho sobre
el objeto y se selecciona cambiar a indicador (Change to Indicator) y se va a
cambiar un indicador a un control se repite el procedimiento anterior y se
selecciona cambiar a control (Change to Control).

184

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Reemplazar Objetos del Panel Frontal.


Se puede reemplazar un control o un indicador del panel frontal con uno diferente.
Para hacer esto se hace clic con el botn derecho del mouse y se selecciona
reemplazar (Replace) y aparecer temporalmente una paleta de control (Controls)
donde se escoge el indicador o control con el que se va a reemplazar.

Leccin 33: Entorno de Trabajo. Diagrama de Bloques.


Luego de estar construido el panel frontal, el cdigo del programa es aadido
usando representaciones grficas de funciones para controlar los objetos del panel
de control. El diagrama de bloques contiene este cdigo grfico, tambin llamado
como G-Code o cdigo de diagrama de bloques.

Objetos de los diagramas de bloques.


Los objetos en el diagrama de bloques incluyen terminales y nodos, y se conectan
por medio de cables (wires). El color y smbolo de cada terminal indica el tipo de
dato del correspondiente control o indicador. Las constantes son terminales que
suministran valores fijos en el diagrama de bloques
Terminales del diagrama de bloques.
Los objetos creados en el panel frontal aparecen como terminales en el diagrama
de bloques. Se puede hacer doble clic en la terminal del diagrama de bloque para
resaltar el correspondiente objeto del panel frontal. Las terminales son puertos de
entrada y salida que intercambian informacin entre el panel frontal y el diagrama
de bloques.
Los valores de los datos que son ingresados en el primero de estos ingresan al
segundo por las terminales de control. Durante la ejecucin, el flujo de datos de
salida de la terminal del indicador, sale del diagrama de bloques y reingresa al
panel frontal y aparece en los indicadores de este.
LabVIEW tiene terminales de control e indicacin, terminales de nodo, constantes
y terminales especializadas, para interconexin de las terminales se usan cables y

185

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

los datos fluyen de una terminal a otra. Para poder desplegarlas se hace clic con
el botn derecho y se selecciona Visible Items>>Terminals (Opciones
visibles>>Terminales) y se oculta se repitiendo el procedimiento.
Se pueden configurar los controles o indicadores del panel frontal para que
aparezcan como iconos o terminales del tipo de datos en el diagrama de bloques.
Por defecto son terminales iconos, por ejemplo una terminal cono de perilla, se
muestra como sigue (figura 131), representa a un control de perilla en el panel
frontal.
Figura 131. Terminal cono de una perilla

Fuente: Captura de Labview 8.6 Versin Trial 2009

Controles e Indicadores del Tipo Dato.


Un control e indicador del tipo dato incluye numrico de punto flotante, numrico
entero, marcas de tiempo, enumerados, booleanos, cadena de caracteres (string),
arreglos (arrays), grupos (clusters), dinmicos.

Valores Numricos Simblicos.


Un valor inesperado o indefinido invalida las operaciones subsiguientes a esta.
Las operaciones efectuadas en punto flotante retornan los dos siguientes valores
simblicos que indican un error en los clculos.

NaN (Not a Number): No es un nmero, por ejemplo el clculo de la raz


cuadrada de un nmero negativo el punto flotante.

Inf (Infinity): Infinito, representa que el valor calculado en punto flotante se


encuentra fuera el rango de operacin.

186

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Constantes.
Como se ha dicho con anterioridad las constantes son terminales que
proporcionan valores fijos en el diagrama de bloques. Las constantes universales
siempre son valores fijos como pi () e infinito (). Los valores constantes
definidos por el usuario se definen y editan antes de correr el VI, esto se consigue
haciendo clic derecho sobre el terminal y se selecciona Create>>Constants.
Nodos en el Diagrama de Bloques.
Los Nodos son objetos del diagrama de bloques que tienen entradas y/o salidas y
realizan las operaciones cuando se ejecuta un VI. Son anlogas a las
declaraciones (statements), operadores, funciones y subrutinas en la
programacin basada en texto. LabVIEW incluye los siguientes tipos de Nodos:

Funciones: Inmersas dentro de los elementos, comparables con un


operador, funcin o declaracin.

SubVI: Es un VI usado como un bloque dentro de otro VI, comparable con


la subrutinas.

Express VIs: Son SubVIs diseados para aadir tareas a medida.

Estructuras (Structures): Elementos de control de ejecucin, como ciclos


para (for), mientras que (While), estructuras diversas como, en caso de
(Case), secuenciales, temporales y eventuales.

Funciones.
Las funciones son lo elemento esenciales para el funcionamiento de LabVIEW, los
conos de las funciones se encuentran en la paleta de funciones (Functions) y
tienen un color amarillo plido y de fondo y negro en los bordes. Las funciones no
tienen panel frontal o diagrama de bloques pero si paneles de conexin, estos no
se pueden ni abrir ni editar

187

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Aadiendo terminales a la funcin.


Esta es una opcin que permite cambiar el nmero de terminales de algunas
funciones. Por ejemplo, para construir un arreglo con 10 elementos se deben tener
10 terminales. Se pueden aadir terminales a la funcin posicionando el puntero
de mouse sobre el borde y arrastrarlo arriba o abajo y eliminarlos repitiendo el
procedimiento, aunque no se pueden borrar terminales que estn cableadas por
lo que si se desea eliminar se debe primero borrar la conexin.

Conectar los Objetos en el Diagrama de Bloques.


La transferencia de datos en el diagrama de bloque se realiza a travs de cables
(wire). Cada cable tiene una sola fuente de datos pero pueden conectarse tantos
cables sobre el primero para as tener el mismo dato y procesarlo en diferentes
elementos de un diagrama.
Apariencia y Estructura de los Cables.
Los cables son de diferente color estilo y grosor dependiendo de que tipo de datos
estn fluyendo sobre este, de manera similar al color y smbolo de un terminal. Un
cable roto aparece como una lnea punteada con una X de color rojo en el medio,
esto ocurre por una diversidad de razones, como cuando se intentan conectar dos
objetos con datos incompatibles. Las flechas al lado de la X indican la direccin
del flujo de datos y el color el tipo de datos que fluye sobre este.
Figura 132. Segmento Curva y Unin.

Fuente: Captura de Labview 8.6 Versin Trial 2009

188

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Flujo de datos en el diagrama de bloques.


LabVIEW sigue un modelo de flujo de datos para el funcionamiento de los VIs. Un
nodo en el diagrama de bloques se ejecuta cuando recibe todas las entradas
requeridas, cuando esto sucede, se producen unos datos de salida y pasan al
siguiente nodo. El movimiento de datos a travs de los nodos determina el orden
de ejecucin de los VIs y funciones en el diagrama de bloques. Otros programas
que siguen el modelo de control de flujo son JAVA, Visual Basic, C++, aunque
estos son lenguajes de programacin basado en texto.
En el control de flujo, el orden secuencial de los elementos del programa
determina el orden de ejecucin. En LabVIEW, el flujo de datos est determinado
por el orden de los objetos en el diagrama de bloques por lo tanto, se pueden
crear diagramas de bloques que se hagan operaciones simultneas. Por ejemplo,
puede ejecutar simultneamente dos bucles para mostrar los resultados y sobre el
panel frontal, como se muestra en el siguiente diagrama de bloques.

189

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 133. Ejecucin de dos bloques simultneamente.

Fuente: Captura de Labview 8.6 Versin Trial 2009


Dependencia de los Datos.
La ejecucin del modelo de control de flujo depende de la instruccin, y la
ejecucin del flujo de datos es manejada por los datos o dependiente de los datos.
Un nodo que recibe datos de otro nodo siempre se ejecuta despus que el primero
ha terminado su ejecucin. Los nodos no conectados en el diagrama de bloques
se ejecutan en cualquier orden, pero se pueden controlar a travs del paso de
parmetros, mientras la dependencia de datos no exista. Se usa una estructura
secuencial para conseguir este objetivo mientras el paso de parmetros no est
disponible.

190

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Diseando un Diagrama de Bloques.


Estas son una serie de sugerencias para el diseo de diagrama de bloques:
Los objetos en el diagrama de bloques se organizan de izquierda a derecha
y de arriba hacia abajo, sin embargo la ubicacin no determina el orden de
ejecucin. Se debe evitar el cableado de derecha a izquierda para evitar
confusiones, haciendo se hace un diagrama organizado y fcil de entender.
Evitar crear un diagrama que ocupe ms de una o dos pantallas (Screen), si
un diagrama se vuelve grande y complejo, puede ser difcil de entender y
de depurar.
Si se decide reutilizar algunos componentes del diagrama en otros VIs o si
una seccin de dicho diagrama trabaja como un componente lgico, se
debe dividir en SubVIs que realicen tareas especficas, el uso de estos
ayuda a manejar cambios y depuraciones del diagrama rpidamente.
Utilice el manejo de errores de los VIs, las funciones y los parmetros para
la gestin de errores en el diagrama de bloques.
Evitar cablear bajo el borde de una estructura o traslapar objetos, porque
LabVIEW podra esconder algunos segmentos de un cable resultante.
Evite colocar objetos encima de los cables porque aparecera como si
existiese una conexin cuando no la hay.
Se deben usar las etiquetas para documentar el cdigo en el diagrama de
bloques.

Leccin 34: Ejecutar y Depurar un Instrumento Virtual.


Para poder hacer ejecutar un VI, se debe tener cableado todas las funciones,
subVIs y estructuras con los tipos correctos de datos desde y hacia los terminales
de los diferentes componentes. Algunos VIs producen datos o funcionan de una
forma inesperada, pero se puede hace uso de LabVIEW para identificar los
problemas ejecutando un VI paso a paso y analizando el flujo de datos a travs del
diagrama de bloques.

191

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Corriendo un VI.
Al correr un VI se ejecuta la operacin para la que fue diseado, se puede ejecutar
o correr el programa si en la barra de herramientas aparece una flecha de color
blanco slida, como lo muestra la siguiente figura (figura 134):
Figura 134. Botn de correr (run)

Fuente: Captura de Labview 8.6 Versin Trial 2009


Mientras la simulacin este corriendo el botn de la figura anterior cambia a una
flecha oscura tal y como se muestra a continuacin:
Figura 135. Botn de correr (run) mientras se ejecute la simulacin

Fuente: Captura de Labview 8.6 Versin Trial 2009


La simulacin se detiene cuando se completa el flujo de los datos, pero si se
presiona el botn de Corra continuamente (Run Continuously) (figura 136) la
simulacin se detendr cuando el usuario lo decida, es decir, manualmente.

Figura 136. Botn de correr continuamente (run continuously)

Fuente: Captura de Labview 8.6 Versin Trial 2009

192

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Si un VI no corre el botn de correr (figura 135) se muestra como una flecha rota
(figura 137). La razn es porque faltan conexiones o hay alguna que no es
adecuada, normalmente esto ocurre al intentar unir elementos de diferentes tipos,
o simplemente el VI es inejecutable. Si tiene completamente cableado el
diagrama de bloque y aun aparece el botn de esta forma es porque el VI est
daado.
Figura 137. Botn de correr roto

Fuente: Captura de Labview 8.6 Versin Trial 2009


Las advertencias que se generan en la simulacin de un VI no impiden la
ejecucin de este, estas estn diseadas para prevenir potenciales problemas.
Pero los errores si lo pueden hacer, as que es necesario hacer las correcciones
del caso si se desea correr el VI. Para encontrar las causas de que un VI est
daado se presiona el botn de correr (figura 137) o se selecciona en la barra de
mens View>>Error List, la ventana que aparece muestra la lista de los errores.
Para saber en qu bloque especficamente se encuentra el error, se hace doble
clic sobre la descripcin del error y el rea donde este se encuentra se ilumina ya
sea en el panel frontal o en el diagrama de bloques.
Las causas ms comunes de un VI daado son las siguientes:

El diagrama de bloques tiene un cable roto porque existe incompatibilidades


entre los datos que circulan por este.

Una terminal necesaria en el diagrama de bloques no cableada.

Un subVI est daado, o se edito el panel de conexiones despus de que


se ubic el cono en el diagrama de bloque del VI.

193

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Depurando un VI.
Existe una diversidad de tcnicas para identificar y corregir los problemas con un
VI o el flujo de datos en el diagrama de bloques a continuacin se muestran una
de ellas. Se puede ver una animacin de la ejecucin del diagrama de bloques
haciendo clic sobre el botn Ejecucin iluminada (Highligth Execution) (figura 138),
Figura 138. Botn de Ejecucin iluminada (Highligth Execution)

Fuente: Captura de Labview 8.6 Versin Trial 2009


Esta herramienta muestra el movimiento de los datos en el diagrama de bloques
de un nodo a otro usando burbujas que se mueven a travs de los cables. Se usa
esto junto con la herramienta de un paso a la vez (Single Stepping) (figura 139)
para observar como los valores de los datos fluyen de un nodo a otro dentro del
VI. (Esto reduce sustancialmente la velocidad de ejecucin del VI)
Figura 139. Botn de Ejecucin de un paso a la vez (single stepping)

Fuente: Captura de Labview 8.6 Versin Trial 2009

Manejo de Errores.
No importa que tan cuidadoso sea el diseador al crear un VI, no se puede
predecir los errores que se puedan encontrar. Sin un mecanismo para chequear
los errores, lo nico que se podra saber es que el VI no funciona apropiadamente.
El chequeo de errores es la herramienta que indica la razn y ubicacin de los
errores.

194

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Por defecto LabVIEW, maneja los errores suspendiendo la ejecucin e iluminando


el subVI o funciones donde a ocurrido el error, y mostrndolo en una caja de
dialogo.

Leccin 35: Ejemplos.

A continuacin se describe a detalle la creacin de un instrumento virtual


bastante sencillo, realiza la suma y la resta de dos nmeros, visualizando los
resultados.

Los pasos que describen la creacin de un VI son:


1. Abrir un nuevo instrumento virtual luego de haber iniciado LabView.
2. Se deben redimensionar las ventanas del panel de control y del diagrama
de bloques
3. En la ventana de panel de control en la ventana flotante de controles
(Controls) ir a la subpaleta Modern>>Numeric (figura 140),
Modern>>Boolean y Modern>>String & Path

195

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 140. Subpaleta Numeric

Fuente: Captura de Labview 8.6 Versin Trial 2009


Figura 141. Subpaleta Modern>>String & Path

Fuente: Captura de Labview 8.6 Versin Trial 2009

196

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

4. De estas paleta escoger y arrastrar un control numrico (Numeric Control),


un control de cadena de caracteres (String Control) y un botn de presin
(Push Button) segn corresponda.
Figura 142. Panel de control con los elementos escogidos

Fuente: Captura de Labview 8.6 Versin Trial 2009


Como es de esperarse los elementos que estn en el panel de control tiene
su cono correspondiente en el diagrama de bloques. Cabe destacar que
las terminales numricas de punto flotante (Floating point numeric) son
naranjas (los enteros son azules), las cadenas de caracteres son rosadas y
los valores booleanos son verdes.
5. Para cambiar el control numrico a indicador numrico se hace clic derecho
sobre el cono y sobre el men desplegado se escoge la opcin Change to
indicator (Cambiar a indicador). Ntese como cambia el cono en el panel
frontal (las flechas de arriba y abajo desaparecen), obsrvese tambin que
el cono del diagrama de bloques cambia (el borde es mucho ms delgado
en los indicadores). Se debe hacer este ejercicio en repetidas ocasiones
para que se puedan reconocer las diferencias.
6. En este ejercicio se borran los cono que no se van a necesitar String
Control y Push Button.
7. Nuevamente en el panel de control se escoge un control numrico y dos
indicadores numricos y se posicionan como muestra la figura 143.

197

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 143. Controles e indicadores numricos

Fuente: Captura de Labview 8.6 Versin Trial 2009


8. En la ventana del diagrama de bloques pueda que sea necesario
reposicionar alguna de las terminales. A continuacin en el men flotante
de funciones escoger matemticas (Functions>>Mathematics) y en esta
subpaleta escoger y arrastrar los conos de add (sumar) y substract (restar).
Figura 144. Utilizando la herramienta de cableado para conectar las
terminales debe quedar de la siguiente manera figura 143.
Figura 144. Subpaleta de Functions>>Mathematics

Fuente: Captura de Labview 8.6 Versin Trial 2009

198

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 145. Diagrama de bloques conectado.

Fuente: Captura de Labview 8.6 Versin Trial 2009


9. Por ltimo en la ventana del panel de control presionar el botn de arriba y
hacia abajo o digitar los nmeros y luego presionar el botn correr (Run)
para observar los resultados.
Figura 146. Instrumento Virtual Funcionando

Fuente: Captura de Labview 8.6 Versin Trial 2009

Realizar un VI que muestre grafica y numricamente el nivel de un tanque, el


cual es alimentado por una bomba. Adems debe poseer indicadores
luminosos para visualizar si el nivel del tanque esta dentro de un rango
permitido o si ha sobrepasado el nivel de alarma.

Como se explico anteriormente, se abre un nuevo archivo de trabajo y en el panel


frontal se colocan los instrumentos necesarios tales como controladores e
indicadores y en el diagrama de bloques se insertan las funciones matemticas o
lgicas que se requieran, tal como se observa en la figura 147 y 147.

199

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 147. Panel frontal tanque.vi

Fuente: Captura de Labview 8.6 Versin Trial 2009

Figura 148. Diagrama de bloques tanque.vi

Fuente: Captura de Labview 8.6 Versin Trial. 2009

200

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Se procede a realizar las conexiones y a verificar el funcionamiento del VI, como


se observa en la figura 149.
Figura 149. Conexiones en el Diagrama de Bloques tanque.vi

Fuente: Captura de Labview 8.6 Versin Trial. 2009.

Construir y graficar las seales seno y coseno, a las cuales se les pueda
controlar la amplitud, la frecuencia y el nivel DC.

Para generar las seales senosoidal y cosenosoidal se utiliza la funcin Simulate


Signal que se encuentra en la librera Signal Procesing/ Waveform Generation
(Ver Figura 150). Esta funcin permite el control de 4 Variables: Amplitud,
Frecuencia, Nivel DC y Fase.

201

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 150. Ubicacin de la Funcin Simulate Signal.

Fuente: Captura de Labview 8.6 Versin Trial 2009.


En el diagrama de bloques se colocan 6 controladores, los cuales servirn para
manipular las variables Amplitud, Frecuencia y Nivel DC de las seales
generadas. As mismo se inserta una Waveform Graph que se encuentra en la
librera Graph. El aspecto final del Diagrama de bloques puede apreciarse en la
Figura 151.

202

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 151. Aspecto Final del Panel Frontal. Generacin de Seales Seno y
Coseno.

Fuente: Captura de Labview 8.6 Versin Trial 2009.


La Figura 152 muestra la programacin en el diagrama de bloques.
Figura 152. Aspecto final Diagrama de Bloques. Generacin de Seales Seno y
Coseno

Fuente: Captura de Labview 8.6 Versin Trial 2009.

203

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

CAPITULO 2. PROGRAMACION ESTRUCTURADA.


Introduccin. Cuando se est programando, algunas veces es necesario
ejecutar un conjunto de sentencias varias veces, o que estas se repitan de
acuerdo a si se cumple una condicin o no. Para facilitar estas rutinas LabView
posee varias estructuras como son: Sequence, Case, For Loop, While Loop,
Event, Formula Node, Timed Estructure etc, algunas de ellas se explican en este
captulo.

Leccin 36: Estructuras Case y Sequence.

Estructura Case
Esta estructura posee varios subdiagramas, que se superponen de tal manera
que solamente uno es visible a la vez. En la parte superior del subdiagrama
aparece una pequea ventana que muestra el identificador del subdiagrama que
se est en pantalla. A ambos lados de este identificador aparecen unas flechas
que permiten pasar de un subdiagrama a otro. En este caso el identificador es un
valor que selecciona el subdiagrama que se debe ejecutar en cada momento.
La estructura Case tiene al menos dos subdiagramas (True y False). nicamente
se ejecutar el contenido de uno de ellos, dependiendo del valor de lo que se
conecte al selector. Se utiliza en situaciones en las que se presentan varias
alternativas a ejecutar.
En la figura 1513 se muestra una estructura Case, Consta de un selector ubicado
en la parte izquierda y unas ventanas de trabajo llamadas subdiagramas, donde
se insertan las instrucciones.
se encuentra el selector

204

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 153. Estructura Case

Fuente: Captura de Labview 8.6 Versin Trial 2009


Ejemplo: Realizar un programa que realice la integral y la derivada de una seal
triangular de acuerdo a un selector, y visualice la seal resultante.
Se usa una estructura case controlada por un botn selector, como se observa en
el panel frontal, figura 154.
Figura 154. Ejemplo de la Estructura Case. Panel Frontal.

Fuente: Captura de Labview 8.6 Versin Trial 2009


El diagrama de bloques se presenta en la figura 155.

205

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 155. Ejemplo de la Estructura Case. Diagrama de Bloques.

Fuente: Captura de Labview 8.6 Versin Trial 2009

Estructura Sequence
Este tipo de estructuras presenta varios subdiagramas, superpuestos de manera
similar a case se puede visualizar solamente una en pantalla. Tambin poseen un
identificador del subdiagrama mostrado en su parte superior, con posibilidad de
avanzar o retroceder a otros subdiagramas.
Esta estructura ejecuta los comandos en estricto orden. Primero ejecutar el
subdiagrama de la hoja (frame) n0, despus el de la n 1, y as sucesivamente.
Para adicionar una un frame o una hoja en la secuencia se pulsa el botn derecho
del mouse y se elige Add Frame after o Add Frame Before y para pasar datos de
una hoja a otra se pulsa el botn derecho del ratn sobre el borde de la estructura,
seleccionando la opcin Add sequence local, ver figura 156.

206

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 156. Esquema general estructura Sequence.

Fuente: Captura de Labview 8.6 Versin Trial 2009


Ejemplo: Realizar las siguientes operaciones de manera secuencial entre dos
nmeros aleatorios: suma, multiplicacin y divisin. Visualizarlas en un indicador
grfico.
Se inserta en el Panel Frontal tres indicadores para visualizar los resultados (Ver
figura 157).

Figura 157. Panel frontal. Estructura Sequence.

Fuente: Captura de Labview 8.6 Versin Trial 2009

207

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

En el diagrama de bloques se inserta la estructura, se adicionan dos hojas ms, y


en cada una de las hojas se hace la programacin de suma, multiplicacin y
divisin respectivamente, como se muestra en la siguiente figura.
Figura 158. Diagrama de Bloques. Estructura Sequence.

Fuente: Captura de Labview 8.6 Versin Trial 2009

Leccin 37: Estructuras Iterativas For, While.

Estructura For
Es el equivalente al bucle for en los lenguajes de programacin convencionales.
Ejecuta el cdigo dispuesto en su interior un nmero determinado de veces.

208

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Para pasar valores de una iteracin a otra se emplean los shift registers. Para
crear uno, se pulsa el botn derecho del ratn mientras ste se halla situado sobre
el borde del for, seleccionando la opcin Add Shift Register. El shift register consta
de dos terminales, situados en los bordes del bloque. El terminal izquierdo
almacena el valor obtenido en la iteracin anterior. El terminal derecho guarda el
dato correspondiente a la iteracin actual, por tanto.
Al colocar un For Loop en la ventana Diagram (Figura 159) se observan dos
terminales:
Figura 159. Estructura General de un For.

Fuente: Captura de Labview 8.6 Versin Trial 2009


1. Terminal contador: Contiene el nmero de veces que se ejecutar el
subdiagrama creado en el interior de la estructura. El valor del contador se fijar
externamente.
2. Terminal de iteracin: Indica el nmero de veces que se ha ejecutado la
estructura: Cero durante la primera iteracin, uno durante la segunda y as hasta
N-1.
Ambos terminales son accesibles desde el interior de la estructura, es decir, sus
valores podrn formar parte del subdiagrama pero no se pueden modificar.
Ejemplo. Crear un programa que genere 100 nmeros aleatorios y los grafique en
un plano xy.

209

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

En el Panel frontal se coloca una grafica tipo xy como en la figura 160, en el


Diagrama de bloques se coloca la estructura For y dentro de ella las instrucciones
Ver figura 161.
Figura 160. Panel Frontal. Ejemplo Estructura For

Fuente: Captura de Labview 8.6 Versin Trial 2009


Figura 161. Diagrama de Bloques. Ejemplo Estructura For.

Fuente: Captura de Labview 8.6 Versin Trial 2009

Estructura While.
Es el equivalente al bucle while empleado en los lenguajes de programacin
convencionales En la estructura While se ejecutan las instrucciones que esten
dentro del ciclo mientras que se cumpla una condicin. La forma general de While
se observa en la figura 162, tiene dos terminales:

210

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

1. Terminal Iteracin: indica el nmero de veces que se ha ejecutado la estructura.


2. Terminal Loop Condition: que es la terminal para controlar el fin del ciclo, este
puede seleccionarse de tal manera que el ciclo se termine cuando se cumpla una
condicin true o cuando no se cumpla false.
Figura 162. Forma General de la Estructura While.

Fuente: Captura de Labview 8.6 Versin Trial 2009


Con esta estructura tambin se pueden emplear los shift registers para tener
disponibles los datos obtenidos en iteraciones anteriores (es decir, para memorizar
valores obtenidos).
Ejemplo: Generar nmeros aletorios entre 0 y 5, hasta cuando el nmero
generado sea mayor que 3. Visualizar los nmeros aleatorios y el nmero de
iteraciones.
En el Panel frontal se colocan dos indicadores como se observa en la figura 163.
Figura 163. Panel Frontal. Ejemplo de un While.

Fuente: Captura de Labview 8.6 Versin Trial 2009

211

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

En la figura 164 se encuentra el diagrama de bloques, consta de la estructura


while, la programacin para generar y visualizar el nmero y la condicin para
parar el ciclo.
Figura 164. Diagrama de Bloques. Ejemplo de un while.

Fuente: Captura de Labview 8.6 Versin Trial 2009

Leccin 38: Estructura Formula Node.


Formula Node o Nodo de Formula es una funcin seimilar a las estructuras
anteriores, pero en lugar de contener un subdiagrama, tiene una o ms formulas
separadas por un punto y coma. Se encuentra en la librera Programing/
Estructures.
Formula Node se emplea para introducir en el diagrama de bloques frmulas de
un modo directo. Resulta de gran utilidad cuando la ecuacin tiene muchas
variables o es relativamente compleja. Por ejemplo, se desea implementar la
ecuacin:
y = 5x + 3
Para definir una frmula mediante esta estructura, se deben seguir los siguientes
pasos:

212

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

1. Definir las variables de entrada y las de salida. Para ello, se pulsa con el botn
derecho del ratn sobre el borde de la formula node. A continuacin se
seleccionar Add Input o Add Output, segn se trate de una entrada o una salida,
respectivamente. Aparecer un rectngulo, en el que se debe escribir el nombre
de la variable (se distingue entre maysculas y minsculas), tal como en la figura
165. Todas las variables que se empleen deben estar declaradas como entradas o
salidas.
Figura 165. Definicin de Variables en Formula Node

Fuente: Captura de Labview 8.6 Versin Trial 2009


2. Escribir la o las frmulas en el interior del recuadro (para ello se emplea la
labeling tool). Cada frmula debe finalizar con un ;. Ver figura 167.
En el Panel frontal se colocan indicadores para poder visualizar los resultados.
Figura 166. Panel Frontal. Ejemplo Formula Node.

Fuente: Captura de Labview 8.6 Versin Trial 2009

213

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 167. Diagrama de Bloques Ejemplo Formula Node.

Fuente: Captura de Labview 8.6 Versin Trial 2009

Leccin 39: Variables Locales y Globales.


Las variables son fundamentales en cualquier software de programacin, ya que
permiten almacenar la informacin necesaria para ejecutar otras instrucciones
En LabVIEW todos los controles introducidos en el Panel Frontal que generan un
terminal en la ventana Diagrama de Bloques son variables, identificabas por el
nombre asignado en la etiqueta. Pero si se quiere utilizar el valor de cierta
variable en otro subdiagrama o en otro Vi o, se desea guardar un resultado
intermedio, la forma ms sencilla de generar variables locales y/o globales
dependiendo de la aplicacin.

Variables Locales
En las variables locales los datos se almacenan en los controles o indicadores
existentes en el Panel Frontal de Vi creado; es por eso que estas variables no
sirven para intercambiar datos entre VI's. La principal utilidad de estas variables
es que una vez creada la variable local no importa que proceda de un indicador o
de un control, se puede utilizar en un mismo Diagrama mltiples veces.

214

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Las variables locales estn disponibles en el men Programing /Estructures.


Tienen el siguiente men:

Visible Items: Oculta o visualiza la identificacin de la variable.

Find: encuentra el control y la terminal del cual procede la variable local.

Change To Read Local o Change To Write Local: Permite escoger entre leer o
escribir en el control.

Select Item: Visualiza una lista con el nombre de todos los controles existentes
en el Panel Frontal y de ella se escoge el control al cual hace referencia la
variable local.

Description: Permite aadir comentarios.

Replace: Sustituye la variable local por cualquier otra funcin.

Variables Globales.
Las variables globales son un tipo especial de VI, que nicamente dispone de
Panel Frontal, en el cual se define el tipo de dato de la variable y el nombre de
identificacin imprescindible para despus referirse a ella.
Cuando se escoge la funcin Global del men Programing /Estructures se crea un
nuevo terminal en el Diagrama; este terminal corresponde a un VI que inicialmente
no contiene ninguna variable. Para insertarlas se pulsa dos veces en el terminal y
se abre el panel frontal. Una vez abierto, las variables se definen igual que
cualquier control o indicador de un VI normal. Se puede crear un Vi para cada
variable global o definirlas todas en el mismo. Una vez colocadas todas las
variables se graba el VI y se cierra. Estas variables constan con un men similar
al de las variables locales, ver figura 168

215

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 168. Men Variables globales.

Fuente: Captura de Labview 8.6 Versin Trial 2009.

Leccin 40: Sub VIs


Una de las ventajas de Labview es la de poder trabajar con aplicaciones que se
pueden ejecutar dentro de otras, a estas se les denomina SubVIs. Los SubVIs
tienen las mismas caractersticas y propiedades de un VI, solo reciben este
nombre porque son llamados desde un Vi superior.
Para crear un VI se debe crear un icono y un conector, el icono se crea dando clic
sobre el icono que se encuentra en la parte superior derecha de la ventana y con
clic derecho se escoge la opcin edit icon, ver figura 169, y para crear el conector
se debe hacer lo mismo pero solamente se activa en el panel frontal.

216

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 169. Crear icono en un subVI.

Fuente: Captura de Labview 8.6 Versin Trial 2009


Ejemplo: Crear un subVI que genere y visualice en la misma ventana
a. una seal senosoidal de amplitud y frecuencia modificable de acuerdo a valores
de entrada definidos por el usuario.
b. Una seal escalada en amplitud y frecuencia tomando como base la seal
creada anteriormente.
1. Se realiza la programacin como si se tratara de un VI normal, en la figura 170 y
170 se observan el panel frontal y el diagrama de bloques respectivamente.
Figura 170. Panel Frontal Ejemplo de un SubVI.

Fuente: Captura de Labview 8.6 Versin Trial 2009

217

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 171. Diagrama de Bloques Ejemplo de un subVi.

Fuente: Captura de Labview 8.6 Versin Trial 2009


2. Una vez creado el Vi, se selecciona la parte que se desea convertir a subVI, y
en la paleta Edit se elige crear subVI, como se observa en la figura 172,
automticamente la seleccin cambia a un icono, ver figura 173.

Figura 172. Creacin del subVI en la paleta Edit

Fuente: Captura de Labview 8.6 Versin Trial 2009

218

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 173. Icono que representa al subVI.

Fuente: Captura de Labview 8.6 Versin Trial 2009


En el panel frontal se da clic derecho sobre el icono de subVI, y se elige show
conector, este icono cambia de forma como se observa en la figura 174.

Figura 174. Icono del subVi seleccionando show conector.

Fuente: Captura de Labview 8.6 Versin Trial 2009


Aparece la herramienta de conexin para que se definan las variables de entrada
y salida del subVI, esto se hace dando clic sobre el icono del subVI e
inmediatamente despus sobre la variable de entrada. El icono del subvi cambia

219

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

colocando color en las casillas de acuerdo al nmero de variables de


entrada/salida.
Figura 175. Icono del subVI con adicin de variables entrada/salida.

Fuente: Captura de Labview 8.6 Versin Trial 2009


Por ltimo se guarda el subVI con la opcin Save o Save as en el men File.
Para utilizar el SubVI en un archivo debe llamarse desde la ventana Functions/
Select a VI del Diagram de bloques (Ver figura 176), y permite seleccionar la ruta
donde se encuentra guardado el SubVI.
Figura 176. Llamando un SubVI.

Fuente: Captura de Labview 8.6 Versin Trial 2009


Al seleccionar el SubVI, aparece en el diagrama de bloques el icono
correspondiente, con las respectivas terminales de entrada/salida para realizar las
conexiones a los indicadores y controladores.

220

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 177. Icono del subVI en el Diagrama de Bloques.

Fuente: Captura de Labview 8.6 Versin Trial 2009


En el panel frontal se insertan los controladores para manipular las variables de
entrada y el visualizador de la forma de onda (Ver figura 178). En el diagrama de
bloques se realizan las conexiones correspondientes ( Ver figura 179).
Figura 178. Utilizacin de un SubVI, Panel Frontal

Fuente: Captura de Labview 8.6 Versin Trial 2009

221

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 179. Utilizacin de un SubVI, Diagrama de bloques.

Fuente: Captura de Labview 8.6 Versin Trial 2009

CAPITULO 3. APLICACIONES EN LABVIEW


Introduccin. Las aplicaciones en Labview son extensas, desde nivel educativo
hasta nivel industrial, este software permite adquisicin y procesamiento de datos
que pueden ser tomados desde cualquier rea.
Sus aplicaciones pueden abarcar campos como el de la biologa, electrnica,
qumica, fsica, procesamiento de voz e imgenes, automatizacin industrial,
hasta la medicina.

Leccin 41: Filtrado de seales.


Labview posee herramientas para el anlisis y procesado de seales, tales como
generacin de formas de onda (seno, triangular, diente de sierra, aleatorias, ruidos
etc), filtrado, mezcladores, analizadores de espectros y otros.
Filtrado de seales: En la figura 180 y 181 se muestra un ejemplo donde se
mezcla una seal senosoidal con un ruido y posteriormente se utiliza una
herramienta de filtrado para obtener la seal original nuevamente. En el Panel
frontal se colocan dos visualizadores, uno para la seal con ruido y el otro para la
seal filtrada. En el diagrama de bloques se utilizan herramientas como Simulate
signal, filtering signal que se encuentran en la librera Procesing Signals.

222

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 180. Panel Frontal Ejemplo extraer el seno.vi

Fuente: Captura de Labview 8.6 Versin Trial. 2009


Figura 181. Diagrama de bloques Ejemplo extraer el seno.vi

Fuente: Captura de Labview 8.6 Versin Trial. 2009

223

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Leccin 42: Anlisis Espectral


En el VI mostrado en las figuras 182 y 183 se observa la utilizacin del clculo de
la Transformada Rpida de Fourier que permite a Labview realizar anlisis
espectral de una seal.
En el Panel Frontal existen dos ventanas grficas una para ver las seales en el
tiempo y la otra para ver su espectro, adems de un controlador para manipular
las frecuencias. En el diagrama de bloques se aprecia el uso de las herramientas
filtros pasa bajos, pasa altos, pasa banda y Medidas espectrales.
Figura 182. Diagrama de bloques. Clculo de Transformada rpida de Fourier.

Fuente: Captura de Labview 8.6 Versin Trial. 2009

224

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 183. Diagrama de bloques. Clculo de Transformada rpida de Fourier.

Fuente: Captura de Labview 8.6 Versin Trial. 2009

Leccin 43: Generacin de Tablas en Labview para presentacin de datos.


Las figuras 184 y 185 muestran como utilizar Labview para generar tablas, esta
herramienta permite obtener los datos fcilmente para almacenarlos de manera
ordenada.
En el Panel frontal se coloca una tabla la cual se encuentra en el men modern /
list & Table.
Figura 184. Panel Frontal. Generacin de Tablas.

Fuente: Captura de Labview 8.6 Versin Trial. 2009

225

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 185. Diagrama de Bloques. Generacin de Tablas.

Fuente: Captura de Labview 8.6 Versin Trial. 2009

Leccin 44: Manipulacin de puertos.


Labview permite importar y exportar datos a travs de los puertos del equipo, esta
herramienta se encuentra en Conectivity/ ports I/O y en Data Comunications/
Protocols. En las figuras 186 y 187 se muestran los diagramas de un ejemplo
sencillo para enviar datos hacia el puerto paralelo.

Figura 186. Panel Frontal. Envio de datos al puerto paralelo.

Fuente: Captura de Labview 8.6 Versin Trial. 2009

226

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

En el diagrama de bloques se observa un ciclo for que enva la iteracin hacia el


puerto paralelo, en este icono debe indicarse el nmero correspondiente a la
direccin del puerto y el dato.
Figura 187. Diagrama de Bloques. Envio de datos al puerto paralelo.

Fuente: Captura de Labview 8.6 Versin Trial. 2009

Leccin 45: Leer y escribir archivos desde Labview.


Labview presenta varias opciones para guardar o leer datos desde un archivo,
estas opciones se encuentran en el men programing / File I/O, como se muestra
en la figura 188.
Figura 188. Paleta Opciones Leer/escribir archivos

Fuente: Captura de Labview 8.6 Versin Trial. 2009

227

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

De igual manera si se tiene instaladas las herramientas de Generar reporte (ver


figura 189) se puede realizar fcilmente un reporte, el cual por defecto genera un
archivo de extensin lvm que se puede abrir desde cualquier editor de texto u hoja
de clculo.
Figura 189. Men Programing/ Report Generation

Fuente: Captura de Labview 8.6 Versin Trial. 2009


Para generar un reporte lvm en el diagrama de bloques se inserta la herramienta
Write to Measurement, esta permite escoger la ruta en la cual se va a guardar y el
nombre del archivo, si no se selecciona nada lo guarda por defecto en el directorio
Mis Documentos / Labview data con el nombre test.lvm. Esta aplicacin puede
observarse en la figura 190.
Este archivo test.lvm se puede abrir con una hoja de clculo como Excel o con un
procesador de texto.

228

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

Figura 190. Uso de Report Generation.

Fuente: Captura de Labview 8.6 Versin Trial. 2009

229

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

ACTIVIDAD DE AUTOEVALUACIN UNIDAD 3


Para autoevaluar la unidad se propone dos actividades:
Actividad 1
Realice un VI que permita controlar la velocidad y el tipo de secuencia de
encendido (entre dos opciones) de un conjunto de leds, a partir de un puerto
(paralelo serial)
Actividad 2
Realice un VI que controle el encendido y apagado de un semaforo, donde el
tiempo de la luz roja sea el doble de la verde y la amarilla la tercera parte de la
roja.

230

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

FUENTES DOCUMENTALES UNIDAD 3

BIBLIOGRAFIA

Labview
Antonio Manuel, Domingo Biel. Instrumentacin Virtual. Adquisicin, procesado y
anlisis de seales: alfaomega
Antonio Manuel Lazaro. Labview 6i. Programacin grfica para el control de
instrumentacin.
Travis Jeffrey. (2006). LabVIEW for Everyone: Graphical Programming Made Easy
and Fun (Third Edition): Prentice Hall.

SITIOS WEB

Labview
Labview for Dummies. (2009). [en Lnea]. Recuperado el 19 de Julio de 2009, de
thttp://www.iit.edu/~labview/Dummies.html
Learnlabview. (2009). [en Lnea]. Recuperado el 19 de julio de 2009, de
http://learnlabview.blogspot.com/
National Instruments. Labview. (2009). [en Lnea]. Recuperado el 19 de julio de
2009, http://www.ni.com/labview/
Tutorial in G. (2009). [en Lnea]. Recuperado el 19 de julio de 2009, de
http://www.cipce.rpi.edu/programs/remote_experiment/labview/
Tutoriales Labview. (2002). [en Lnea]. Recuperado el 19 de julio de 2009, de
http://perso.wanadoo.es/jovilve/tutoriales.html
Tutorial Series. (2009). [en Lnea]. Recuperado el 19 de julio de 2009, de
http://www.mech.uwa.edu.au/jpt/tutorial/ieindex.html

231

UNIVERSIDADNACIONALABIERTAYADISTANCIA UNAD
ESCUELADECIENCIASBSICASTECNOLOGAEINGENIERA
CONTENIDODIDCTICODELCURSO:208008CADAVANZADOPARAELECTRNICA

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 Algorimos. (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
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/

232

You might also like