UNAD, ingeneiria de telecomuicaciones, electronica, electrica,
matlab,simulink,
bloques,señales,funciones,
labview,
TOOLBOX DE MATLAB,
procesamiento de imagenes MATLAB,
Procesamiento de Señales MATLAB,
e imread y imshow del Toolbox Procesamiento de
Imagenes,
Tipos de modulación digital que soporta el
toolbox
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Cad avanzado para electrónica julio 2009 v2
1. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
PROGRAMA INGENIERIA ELECTRÓNICA
208008 – CAD AVANZADO PARA ELECTRÓNICA
JUAN OLEGARIO MONROY VASQUEZ
(Director Nacional)
OSCAR DONALDO RODRIGUEZ
(Acreditador)
SOGAMOSO
Julio de 2009
1
3. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO
El presente módulo fue diseñado en el año 2008 por el Ing. Electrónico Armando
Portela Duarte, integrante de la Fundación Internacional Para La Investigación de
la Cultura y la Participación.
El presente módulo ha tenido una actualización, desarrollada en Julio de 2009 por
los Ingenieros Juan Olegario Monroy Vásquez y Sandra Isabel Vargas López,
tutores de la UNAD en el CEAD Sogamoso. El Ingeniero Monroy se desempeña
actualmente como director del curso a nivel Nacional.
En este mismo año el Ing. Oscar Donaldo Rodríguez, tutor del CEAD Pereira,
apoyó el proceso de revisión de estilo del módulo y dio aportes disciplinares,
didácticos y pedagógicos en el proceso de acreditación de material didáctico
desarrollado en Julio de 2009.
3
4. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
INTRODUCCIÓN
CAD Avanzado para Electrónica es un curso metodológico de 3 créditos
enmarcados en un campo de formación disciplinario, cuya intencionalidad es la de
formar las bases teóricas y prácticas en el estudiante para que éste pueda
implementar y ejecutar algoritmos en diferentes software de procesamiento
numérico y de herramientas gráficas, mediante el uso de lenguajes de alto nivel.
Esta temática 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 análisis y operaciones numéricas,
simulaciones en el tiempo de modelos matemáticos de sistemas reales
obteniendo información valiosa como datos estadísticos o gráficos que pueden
representar infinidad de variables durante determinados procesos de diseño o
investigación científica.
Para tal efecto el curso cosiste en 3 unidades didácticas, 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
características técnicas, operativas y ventajas de empleo de dicho software.
En la Segunda Unidad se presentan de forma general las herramientas avanzadas
para aplicaciones específicas del Matlab, en especial se analiza el entorno gráfico
o SIMULINK, herramienta potente al momento de hacer simulación de modelos
de sistemas.
Finaliza con el estudio del Labview, que es un entorno interactivo que emplea un
lenguaje de programación muy novedoso conocido como programación gráfica o
programación G altamente empleado en aplicaciones de adquisición de datos,
instrumentación virtual y control industrial.
Los contenidos del curso serán presentados al estudiante empleando documentos
digitales que podrán 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 acompañamiento
4
5. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
tutorial en foros y sesiones de Chat predefinidas, la evaluación del curso se
realizará a partir de la guía de actividades en donde el estudiante también entrará
a interactuar con sus compañeros en grupos para la realización de ciertas
actividades, dejando evidenciar la importancia de la participación 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 autoevaluación que busca identificar
puntos criticos donde es necesario hacer refuerzos o ampliar las consultas.
CAD Avanzado para electrónica sienta pues las bases primordiales en el
estudiante para que aplique sus conocimientos matemáticos así como en sistemas
informáticos para la programación de diferentes algoritmos y aplicaciones
específicas que simplificarán ampliamente su trabajo en infinidad de aplicaciones
donde se requiera el análisis numérico y modelado de sistemas.
5
6. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
INDICE DE CONTENIDO
UNIDAD 1. HERRAMIENTAS DE MATLAB 1
CAPITULO 1: ENTRADA/SALIDA Y FUNCIONES DE MATLAB 2
Lección 1: Manejo de archivos 3
Lección 2: Archivos *.m 6
Lección 3: Gráficas Bidimensionales. 9
Lección 4: Gráficas Tridimensionales 12
Lección 5: Funciones. 15
CAPITULO 2: TOOLBOX DE MATLAB 18
Lección 6: Introducción a los Toolbox de Matlab. 19
Lección 7: Toolbox de Comunicaciones. 23
Lección 8: Simulación de un Sistema de Comunicaciones 37
Lección 9: Toolbox de Sistemas de Control. 43
Lección 10: Simulación de un sistema de control 75
CAPITULO 3: SIMULINK. CONCEPTOS BASICOS 80
Lección 11: Características 80
Lección 12: Entorno de trabajo en Simulink 82
Lección 13: Modelos 86
Lección 14: Subsistemas. 93
Lección 15: Subsistemas condicionados en su ejecución. 96
6
7. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
ACTIVIDAD DE AUTOEVALUACIÓN UNIDAD 1 107
FUENTES DOCUMENTALES UNIDAD 1 108
UNIDAD 2. SIMULINK 111
CAPITULO 1: MODELAR CON SIMULINK 113
Lección 1. Modelar Ecuaciones 113
Lección 2: Modelar con Control de Flujo Condicional 118
Lección 3: Modelar con control de flujo Iterativo. 123
Lección 4: Ejemplos de Modelado. 127
Lección 5: Consejos para la Construcción de Modelos. 132
CAPITULO 2. NAVEGAR POR LOS MODELOS 132
Lección 6: Explorar, Buscar y Navegar por los Modelos. 133
Lección 7: Ejecutar la Simulación del modelo. 139
Lección 8: Importar y Exportar Datos. 142
Lección 9: Establecer la Configuración de la Simulación. 147
Lección 10: Resultados de la Simulación. 148
CAPÍTULO 3 BLOQUES, SEÑALES Y FUNCIONES S 152
Lección 11: Bloques y Señales. 152
Lección 12: Tipos de datos 158
Lección 13: Funciones S 159
Lección 14: Usar Funciones S en los modelos 160
Lección 15: Como trabaja una función S y como se escribe en MATLAB 163
7
8. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
ACTIVIDAD DE AUTOEVALUACIÓN UNIDAD 2 165
FUENTES DOCUMENTALES UNIDAD 2 166
UNIDAD 3. LABVIEW 170
CAPITULO 1. CONCEPTOS BASICOS DE LABVIEW 172
Lección 1: Características y Aplicaciones 172
Lección 2: Entorno de Trabajo. Panel Frontal. 174
Lección 3: Entorno de Trabajo. Diagrama de Bloques. 185
Lección 4: Ejecutar y Depurar un Instrumento Virtual. 191
Lección 5: Ejemplos. 195
CAPITULO 2. PROGRAMACION ESTRUCTURADA. 204
Lección 6: Estructuras Case y Sequence. 204
Lección 7: Estructuras Iterativas For, While. 208
Lección 8: Estructura Formula Node. 212
Lección 9: Variables Locales y Globales. 214
Lección 10: Sub VIs 216
CAPITULO 3. APLICACIONES EN LABVIEW 222
Lección 11: Filtrado de señales. 222
Lección 12: Análisis Espectral 224
Lección 13: Generación de Tablas en Labview para presentación de datos. 225
Lección 14: Manipulación de puertos. 226
Lección 15: Leer y escribir archivos desde Labview. 227
8
10. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
LISTADO DE TABLAS
Tabla 1. Funciones básicas para crear gráficas en 2D. 9
Tabla 2. Funciones para modificación de las gráficas. 10
Tabla 3. Otras Funciones graficas bidimensionales. 11
Tabla 4. Otras Funciones gráficas tridimensionales 14
Tabla 5. Tipos de modulación analógica que soporta el toolbox. 27
Tabla 6. Sintaxis de los distintos Tipos de modulación analógica que soporta el
toolbox. 28
Tabla 7. Tipos de modulación digital que soporta el toolbox. 29
Tabla 8. Sintaxis de los distintos Tipos de modulación 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 análisis de
sistemas de control. 64
Tabla 14. Sintaxis y ejemplos de comandos empleados para el análisis de la
respuesta en frecuencia de sistemas de control. 68
10
11. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Tabla 15. Parámetros de un Motor de Corriente Continua 76
Tabla 16. Relación entre sentencias en C y bloques de SIMULINK I 118
Tabla 17. Relación entre sentencias en C y bloques de SIMULINK II. 123
Tabla 18. Bloques virtuales. 153
Tabla 19. Librerías y bloques de SIMULINK de uso común. 157
Tabla 20. Tipo de datos soportados por SIMULINK. 159
11
12. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
LISTADO DE GRÁFICOS Y FIGURAS
Figura 1. Editor de Archivos *.m. 7
Figura 2. Función complejo.m en el editor de Archivos de Matlab 8
Figura 3. Ejecución del script complejo.m 8
Figura 4. Ejecución del comando plotyy() 9
Figura 5. Grafica de la función Seno. 10
Figura 6. Utilización del comando subplot. 11
Figura 7. Gráfica de una hélice. 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 Función raices2.m 17
Figura 11. Uso de la Función raices2.m. 17
Figura 12. Esquema general de los toolboxes. 20
Figura 13. Utilización de imread y imshow del Toolbox Procesamiento de
Imagenes. 21
Figura 14. Ventana Figure Matlab. Imagen a color 21
Figura 15. Utilización de rg2gray del Toolbox Procesamiento de Imagenes. 22
Figura 16. Ventana Figure Matlab . Imagen en escala de grises. 22
Figura 17. Modulación y demodulación por amplitud. 29
12
13. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Figura 18. Diagrama de dispersión. 34
Figura 19. Primeros 40 datos binarios. 38
Figura 20. Primeros 10 Símbolos 39
Figura 21. Respuesta al impulso del sistema. 40
Figura 22. Patrón de ojo de la señal filtrada 41
Figura 23. Señal recibida antes y después del filtrado. 42
Figura 24. Interconexión en paralelo de dos modelos LTI. Adición y
sustracción 53
Figura 25. Interconexión en serie 54
Figura 26. Modelo compuesto. 56
Figura 27. Ejemplo de interconexión de sistemas 58
Figura 28. Interconexión de un sistema en paralelo 61
Figura 29. Interconexión de un sistema en serie 62
Figura 30. Interconexión de un sistema con retroalimentación 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 escalón 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. Comparación de los diagramas de Bodes continuo y discretos 71
13
14. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Figura 37. Diagrama de Nyquist del sistema 72
Figura 38. Lazos de retroalimentación 73
Figura 39. Diagrama del lugar geométrico de las raíces del sistema 75
Figura 40. Esquema del circuito eléctrico y diagrama mecánico rotacional 75
Figura 41. Acceso a SIMULINK. 83
Figura 42. Pantalla inicial de SIMULINK 83
Figura 43. Ventana de Inserción de bloques y simulación, 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 librerías 88
Figura 48. Bloques organizados dentro del editor de modelo 89
Figura 49. Puerto de entrada y de salida. 89
Figura 50. Conexión de los bloques. 89
Figura 51. Ramificación de una conexión. 90
Figura 52. Cuadro de diálogo para la configuración de los parámetros de
simulación 91
Figura 53. Inicio y/o detención de la Simulación 91
Figura 54. Respuesta de la simulación. 92
Figura 55. Anotaciones o comentarios. 93
14
15. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Figura 56. Ejemplo del subsistema. 94
Figura 57. Selección de bloques 95
Figura 58. Señal de habilitación de un subsistema. 96
Figura 59. Ventana de diálogo para el ajuste de las salidas. 97
Figura 60. Ventana de diálogo para el ajuste de estados. 98
Figura 61. Apagado de la señal de control. 99
Figura 62. Modelo de un subsistema habilitado. 100
Figura 63. Indicador del funcionamiento de cada bloque. 100
Figura 64. Nivel de señal. 101
Figura 65. Subsistema activado por disparo. 102
Figura 66. Ventana de diálogo para la selección 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. Símbolo 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 conversión de unidades. 114
Figura 75. Bloques conectados. 114
15
16. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Figura 76. Diagrama de bloques de la ecuación diferencial. 115
Figura 77. Visualización de la respuesta de la ecuación diferencial. 116
Figura 78. Modelo del ejemplo como función de transferencia. 117
Figura 79. Diagnóstico de un lazo inválido 118
Figura 80. Implementación de la sentencia si-sino en SIMULINK. 119
Figura 81. Utilización de If- Else 121
Figura 82. Diagrama del subsistema If – Action 121
Figura 83. Implementación de la sentencia Switch en SIMULINK. 122
Figura 84. Implementación de la sentencia While en SIMULINK 123
Figura 85. Implementación de la sentencia For en SIMULINK. 125
Figura 86. Factorial de un número en Matlab. 126
Figura 87. Programación de un For en Simulink 127
Figura 88. Simulación de un sistema de orden 1. 128
Figura 89. Sistema Mecánico. 129
Figura 90. Simulación Sistema Mecánico. 130
Figura 91. Circuito RLC serie 130
Figura 92. Simulación sistema RLC serie 131
Figura 93. Editor de modelo. 133
Figura 94. Árbol de jerarquía. 134
Figura 95. Panel de contenido. 135
16
17. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Figura 96. Barra de menú principal. 135
Figura 97. Barra de búsqueda. 136
Figura 98. Controles de la barra de búsqueda. 136
Figura 99. El buscador. 137
Figura 100. Opciones de filtrado. 137
Figura 101. Panel de búsqueda avanzado. 138
Figura 102. Navegador de modelo. 139
Figura 103. Localización del botón de inicio 141
Figura 104. Localización del botón de parada, pausa y la barra de progreso de
la simulación. 141
Figura 105. Modelo con dos entradas. 144
Figura 106. Explorador de modelo para el ajuste de la configuración. 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 diagnóstico de la simulación. 151
Figura 111. Bloque que genera el error. 152
Figura 112. Ventana de diálogo de propiedades del bloque. 154
Figura 113. Ventana de diálogo de anotaciones del bloque. 155
Figura 114. Bloque mostrando sus propiedades. 156
17
18. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Figura 115. Ventana de diálogo de llamados del bloque. 156
Figura 116. Relación entre un bloque de función S, su ventana de diálogo y el
archivo fuente que define el comportamiento del bloque. 161
Figura 117. Parámetros de la S- función 162
Figura 118. Esquema de la relación Matemática de los bloques 163
Figura 119. Como SIMULINK ejecuta una simulación. 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 Numéricos. 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 Unión. 188
Figura 133. Ejecución de dos bloques simultáneamente. 190
18
19. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Figura 134. Botón de correr (run) 192
Figura 135. Botón de correr (run) mientras se ejecute la simulación 192
Figura 136. Botón de correr continuamente (run continuously) 192
Figura 137. Botón de correr roto 193
Figura 138. Botón de Ejecución iluminada (Highligth Execution) 194
Figura 139. Botón de Ejecución 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 numéricos 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. Ubicación de la Función Simulate Signal. 202
Figura 151. Aspecto Final del Panel Frontal. Generación de Señales Seno y
Coseno. 203
Figura 152. Aspecto final Diagrama de Bloques. Generación de Señales Seno
y Coseno 203
19
20. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
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. Definición 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. Creación del subVI en la paleta Edit 218
20
21. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Figura 173. Icono que representa al subVI. 219
Figura 174. Icono del subVi seleccionando show conector. 219
Figura 175. Icono del subVI con adición de variables entrada/salida. 220
Figura 176. Llamando un SubVI. 220
Figura 177. Icono del subVI en el Diagrama de Bloques. 221
Figura 178. Utilización de un SubVI, Panel Frontal 221
Figura 179. Utilización 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. Cálculo de Transformada rápida de
Fourier. 224
Figura 183. Diagrama de bloques. Cálculo de Transformada rápida de
Fourier. 225
Figura 184. Panel Frontal. Generación de Tablas. 225
Figura 185. Diagrama de Bloques. Generación 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
22. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
UNIDAD 1. HERRAMIENTAS DE MATLAB
INTRODUCCIÓN
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 características técnicas, operativas y ventajas de
empleo de dicho software.
JUSTIFICACION
En electrónica es de gran relevancia esta temática puesto que los lenguajes de
alto nivel forman parte de las herramientas diarias de trabajo tanto de estudiantes
como de profesionales y técnicos en el área. Estos tipos de software son
empleados en infinidad de aplicaciones que requieren el manejo de complejos
modelos matemáticos o en su defecto de operaciones iterativas que en un
momento dado pueden servir de apoyo en el diseño, simulación y análisis tanto de
circuitos análogos como digitales así como en el modelado de sistemas de control,
de telecomunicaciones, de audio, etc.
INTENCIONALIDADES FORMATIVAS
Propósitos
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 diseño y desarrollo de soluciones a problemáticas
planteadas como el aprendizaje de otras herramientas software.
1
23. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Objetivos
Que el estudiante amplíe complemente y profundice en las características
operativas, técnicas, 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
análisis numérico sobre el desarrollo manual.
Competencias
El estudiante conoce las características y posibilidades que le brindan las
herramientas E/S y los toolbox de Matlab, además conoce los procedimientos
sistemáticos para interactuar con éstos y dar soluciones a partir de sus
implementación en problemas electrónicos.
Metas de aprendizaje
El estudiante aprenderá de forma individual las temáticas del módulo 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 pequeños
programas o aplicaciones en donde el estudiante se valga de toda la información
disponible, de su espíritu investigativo y del trabajo en grupo para buscar la
manera de generar las soluciones más óptimas y funcionales ante las
problemáticas planteadas.
Denominación de Capítulos
Capítulo 1. Entrada/Salida y funciones de Matlab
Capítulo 2. Toolbox de Matlab
Capítulo 3. Simulink Conceptos Básicos
CAPITULO 1: ENTRADA/SALIDA Y FUNCIONES DE MATLAB
Introducción. MATLAB es una poderosa herramienta de programación que
permite realizar diversas aplicaciones, con la ventaja de poseer un lenguaje
sencillo e intuitivo y una gran cantidad de comando que simplifica la forma de
2
24. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
escribirlos, MATLAB dispone de funciones de lectura/escritura análogas, similares
a las del lenguaje C que facilitan la importación/exportación de los datos.
Lección 1: Manejo de archivos
La introducción 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 función 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 número de identificación del
archivo, este será usado para escribir y/o leer del archivo. Los tipos de interacción
con el archivo son:
• ‘r’: si se desea abrir un archivo sólo para leer.
• ‘w’: si se desea abrir un archivo sólo para escribir.
• ‘r+’: si se desea abrir un archivo para leer y escribir.
• ‘a’: si se desea añadir la salida del programa a un archivo. En el caso de
que no exista MATLAB creará el archivo. Si el archivo existe MATLAB
añadirá la salida del programa al contenido del archivo.
Se pueden obtener todas las opciones dadas por este comando, digitando en la
ventana de comandos help fopen
Estructura del comando:
Variable = fopen (‘nombre_del_archivo’)
3
25. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
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 quedaría.
>>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
número de datos que desean ser leídos.
Ejemplos de la especificación 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 números 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, ‘especificación de formatos’)
Ejemplo:
Se posee un archivo llamado datos.txt (archivo creado en un editor de texto) que
contiene los números del 1 al 10. En donde se asume que el archivo está
nombrado correctamente y se encuentra en el directorio en el que se está
trabajando.
4
26. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
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 sería:
>> 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 función es fprintf, el formato para su
ejecución es la siguiente:
fprintf(identificador de archivo, formato, variable)
El identificador de archivo es el valor retornado por el comando fopen. El formato
especifica como se desea que sea escrito el valor y la variable es el nombre donde
se tiene guardado el dato.
5
27. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Por ejemplo si se escribe
A=5
>>fprintf(identificador, ‘%d’, A)
En el archivo que se específico 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 aplicación original
y depositarlos entre los corchetes de una matriz o vector, en una línea 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 leídos
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 estén 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 numéricos y que esten separados por comas.
Lección 2: Archivos *.m
Son archivos que contienen instrucciones escritas; existen dos tipos de archivos
*.m. los archivos de función que reciben argumentos de entrada para proporcionar
uno o varios datos de salida y los archivos *.m de escritura (script) en los cuales
6
28. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
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
extensión *.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 diseñador escribir los archivos en texto ASCII con la extensión
*.m (aunque pueden ser creados con cualquier otro editor de textos ASCII), estos
contienen el conjunto de comandos o la definición 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 códigos, sino, que también 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 versión trial (2008).
A continuación se muestra la escritura de un archivo script que calcula la magnitud
y el ángulo de un número complejo. Se escriben las instrucciones en el editor, se
guarda el archivo como complejo.m, y se llama desde la ventana de trabajo en
matlab.
7
29. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Figura 2. Función complejo.m en el editor de Archivos de Matlab
Fuente: Captura de Matlab versión 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 automáticamente arroja el resultado en las variables m y
ang.
Figura 3. Ejecución del script complejo.m
Fuente: Captura de Matlab versión trial (2008).
8
30. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Lección 3: Gráficas Bidimensionales.
Las gráficas en 2D de MATLAB están orientadas a la representación gráfica de
vectores y matrices. Para realizar todas las operaciones gráficas 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 básicas para crear gráficos 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 básicas para crear gráficas en 2D.
Comando Descripción
plot() Crea un gráfico a partir de vectores y matrices, con escalas lineales sobre
ambos ejes
plotyy () Dibuja dos funciones sobre una misma ventana gráfica con escalas
lineales independientes en el eje de las ordenadas una a la derecha y otra
a la izquierda de la figura. Figura 4
loglog() Genera gráficos con escalas logarítmicas en ambos ejes
semilogx () Crea gráficos con una escala logarítmica en el eje de las abscisas y lineal
en el de las ordenadas
semilogx () Genera gráficos con una escala lineal en el eje de las abscisas y
logarítmica en el de las ordenadas
Polar() Crea un grafico en coordenadas polares
Fuente: Armando Portela (2008)
Figura 4. Ejecución del comando plotyy()
200 0.8
150 0.6
100 0.4
50 0.2
0 0
-50 -0.2
-100 -0.4
-150 -0.6
-200 -0.8
0 2 4 6 8 10 12 14 16 18 20
Fuente: Captura de Matlab versión trial (2008).
9
31. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Existen otras funciones utilizadas para modificar las gráficas generadas
añadiéndole títulos a las gráficas y a los ejes, etc. Estos comandos son:
Tabla 2. Funciones para modificación de las gráficas.
Comando Descripción
title(‘título’) Le coloca título al gráfico
xlabel(‘ejeX’) Le proporciona un título al eje de las abscisas. Con xlabel off
desaparece.
xlabel(‘ejeY’) Le proporciona un título al eje de las ordenadas. Con ylabel off
desaparece.
text(x,y,’texto’) Introduce ‘texto’ en lugar establecido por las coordenadas x e y, si estos
son vectores, el texto se repetirá cada par de elementos .
gtext(‘’texto) Introduce el texto en la posición en el que el puntero del ratón se
encuentre en la gráfica y se haga clic
grid() Activa la introducción de una cuadrícula sobre la gráfica. Con el
comando grid off este se desactiva.
Fuente: Armando Portela (2008)
Ejemplo: Graficar la función seno, en el intervalo de -10 a 10, colocándole un
título y una marquilla, y activándole la función de cuadrícula (grid) (Figura 5).
>> x=[-10: 0.1:10];
>> y=sin(x);
>> plot(x,y)
>> grid
>> gtext('Gráfica de seno')
>> title('Seno de x')
Figura 5. Grafica de la función Seno.
Seno de x
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
Gráfica de seno
-0.6
-0.8
-1
-10 -8 -6 -4 -2 0 2 4 6 8 10
Fuente: Captura de Matlab versión trial (2008).
10
32. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
El comando subplot permite dividir una ventana gráfica en m particiones
horizontales y n verticales, con el propósito de representar múltiples gráficos en
ella. Cada una de estas subventanas tiene sus propios ejes y conservan algunas
características comunes con las otras subventanas. La forma general de este
comando es: subplot(m,n,i), donde m y n son el número de subdivisiones en filas
y columnas, e i es la subdivisión 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 gráficos en la misma ventana
Figura 6. Utilización del comando subplot.
Fuente: Captura de Matlab versión Trial (2008).
Otras funciones gráficas bidimensionales son mencionadas en la tabla 3.
Tabla 3. Otras Funciones graficas bidimensionales.
Comando Descripción
bar() Crea diagramas de barras
barh() Realiza diagramas de barras horizontales
bar3() Realiza diagramas de barras con aspecto 3-D
bar3h() Crea diagramas de barras horizontales con aspecto 3-D
pie() Genera gráficos con forma de “tarta”
pie3() Genera gráficos con forma de “tarta” y aspecto 3-D
area() similar plot(), pero rellenando en ordenadas de 0 a y
errorbar() representa sobre una gráfica –mediante barras– valores de errores
compass() Dibuja los elementos de un vector complejo como un conjunto de vectores
partiendo de un origen común
Fuente: Armando Portela (2008)
11
33. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Lección 4: Gráficas Tridimensionales
MATLAB posee varias posibilidades para realizar gráficas tridimensionales. Una
de las maneras de realizar esto es la utilización del comando plot3, que es la
analogía de la función plot en los gráficos 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 hélice. (ver Figura 7).
>> X = [-2:0.01:2]; % Define el primer vector
>> plot3 (cos(2*pi*X), sin(2*pi*X), X); % En esta línea se definen los otros 2
vectores y se grafica la función.
>> grid
Figura 7. Gráfica de una hélice.
3
2
1
0
-1
-2
-3
1
0.5 1
0 0.5
0
-0.5 -0.5
-1 -1
Fuente: Captura de Matlab versión trial (2008).
12
34. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Para dibujar superficies en un espacio tridimensional hay dos comandos básicos:
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 función ‘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 gráfica
>> 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
1 2
0.5 1.5
1
0 0.5
-0.5 0
-1 -0.5
-1
-1.5
-1.5
-2 -2
Fuente: Captura de Matlab versión trial (2008).
La diferencia de esta con la gráfica (ver Figura 9.) anterior radica en el comando
que se utilizó en la última línea del código anterior, se cambió mesh por surf.
13
35. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Figura 9. Grafica de la superficie con el comando surf.
4
3
2
1
0
-1
-2
-3
-4
2
1.5
1 2
0.5 1.5
1
0 0.5
-0.5 0
-1 -0.5
-1
-1.5
-1.5
-2 -2
Fuente: Captura de Matlab versión trial (2008).
Otras funciones de gráficas tridimensionales son relacionadas en la tabla 4
Tabla 4. Otras Funciones gráficas tridimensionales
Comando Descripción
trisurf Similar a surf, dibuja una superficie 3-D a partir de los valores de una
función en una malla de triángulos.
meshz mesh con plano de referencia en el valor mínimo y una especie de
“cortina” en los bordes del dominio de la función
trimesh Similar a mesh, dibuja una superficie 3-D a partir de los valores de una
función en una malla de triángulos.
surfl Utilizada para controlar la iluminación determinando la posición e
intensidad de un foco de luz.
Light Crea un foco de luz en los ejes actuales capaz de actuar sobre
superficies 3-D. Se le deben pasar como argumentos el color, el estilo
(luz local o en el infinito) y la posición.
colorbar Adiciona el mapa de colores activo a la figura, redimensionando los
ejes para hacerle un lugar. se puede colocar horizontal o verticalmente.
sphere Dibuja una esfera 3-D de radio unidad.
Cylinder Dibuja una superficie cilíndrica de radio 1 y altura 1, con 20 facetas
laterales.
Fuente: Armando Portela (2008)
14
36. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Lección 5: Funciones.
Las funciones de MATLAB se asemejan a las funciones matemáticas, en la
medida en que representan una regla que modifica una variable de entrada
transformándola en una variable de salida. La función 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 están 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 código escritas y guardadas de una forma determinada en archivos con
extensión *.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 cómo debe ser creada y posteriormente empleada una
función.
Reglas para escribir funciones. Para elaborar funciones, se debe generar un
nuevo archivo de texto con un nombre adecuado para reconocer la función, el
archivo debe tener la extensión *.m, para que MATLAB lo reconozca.
La creación de funciones en MATLAB presenta algunas diferencias respecto de la
elaboración de programas. La más relevante es la siguiente:
Una función incluye en la primera línea del archivo una cabecera donde se
especifica su nombre, cuáles y cuántos argumentos tiene, y cuáles y cuántos
valores retorna. Dicha cabecera se identifica, además, 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 función de nombre producto, que tiene dos
argumentos (x e y) y devuelve un valor en la variable a.
15
37. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
La primera línea es llamada línea de definición de función, donde se le
proporciona el nombre, el número y el orden de los argumentos de entradas y
salidas. Siguiendo la línea de definición de función, se debe realizar comentarios
anteponiéndoles el símbolo porcentual (%). Esas líneas son llamadas texto de
ayuda y son mostradas en respuesta del comando help seguido del nombre de la
función. Las siguientes líneas constituyen el cuerpo de la función; 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
símbolo de porcentaje), todas las sentencias deben culminarse con un punto y
coma (;) para suprimir la salida de cada comando. Estos archivos pueden tener
múltiples entradas y múltiples salidas.
El cuerpo de la función contiene las sentencias que sean necesarias para calcular
los valores que la función va a retornar. Para calcular dichos valores se utilizarán
tanto los argumentos de la función 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 función (es decir, no toman valores desde el espacio
de trabajo de MATLAB), y por tanto deberán ser inicializadas en ésta.
Además hay que tener en cuenta que las funciones nunca modifican las variables
o argumentos de entrada, a no ser que se incluyan también como valores de
retorno. Si el usuario las modifica dentro de la función, automáticamente 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 función que calcule las raíces de un polinomio de orden dos,
ingresando los coeficientes a,b,c correspondientes al polinomio ax2+bx+c=0.
Se escribe la función 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 función, el argumento y el valor de retorno. Se guarda la función
en el directorio de trabajo de matlab y se procede a llamarla desde la ventana de
trabajo del programa.
16
38. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Figura 10. Escritura de la Función raices2.m
Fuente: Captura de Matlab versión trial (2008)..
Una vez creada la función, 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 cálculo de las raíces del polinomio x2+2x+3=0, mediante el
llamado de la función raíces2.m e ingresando los parámetros de entrada a, b, c,
que en este caso corresponden a los números 1,2,3.
Figura 11. Uso de la Función raices2.m.
Fuente: Captura de Matlab versión trial (2008)..
17
39. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Funciones de MATLAB. MATLAB contiene una gran cantidad de funciones las
categorías incluyen:
• Elfun: Estos son las funciones matemáticas elementales, incluyen las
funciones trigonométricas, logarítmicas y exponenciales, funciones para la
manipulación de los números complejos, funciones modulares y funciones
para el redondeo de números.
• Specfun: son comandos de funciones matemáticas más especializadas
como funciones de Bessel, gamma y otras tantas usadas en el tratamiento
analítico de sistemas. También incluye funciones para la creación de
factores primos, otras para chequear que un número sea primo, funciones
para encontrar el mínimo común múltiplo y el máximo común divisor y
funciones para la conversión de coordenadas.
• Matfun: Estas son las funciones de las matrices.
• Datafun: son las funciones utilizadas en los análisis de datos, pueden
determinar el valor máximo o mínimo dentro de una serie de números,
incluyen funciones usadas en análisis estadísticos. Existen funciones para
simular filtros y manipulación de archivos de sonido.
• Polyfun: Incluye funciones de interpolación para análisis geométrico, para
derivar y multiplicar polinomios. También incluye funciones para encontrar
las raíces de los polinomios.
• Funfun: son un grupo de funciones que resuelven ecuaciones diferenciales.
También incluye funciones usadas para la integración numérica y funciones
gráficas.
• 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
Introducción. Matlab posee librerías especializadas que agrupan un determinado
número de funciones que poseen características similares y tienen aplicaciones
específicas. A estas librerías se les denomina Toolbox, que traduce literalmente
caja de herramientas, gracias a estas ‘cajas de herramientas’ especializadas, se
evita la escritura de códigos extensos y poco eficientes.
18
40. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Lección 6: Introducción a los Toolbox de Matlab.
Los Toolbox o cajas de herramientas son una colección especializada de archivos
.m diseñada para trabajar problemas específicos en ciertas áreas de Ingeniería,
como Sistemas de Comunicaciones, Procesamiento de Señales, Redes
neuronales, análisis Financiero entre otras.
Algunos de los Toolbox de Matlab son:
• Procesamiento de Señales
• Matematica Simbolica
• Logica Difusa
• Redes neuronales
• Procesamiento de Imágenes
• Comunicaciones
• Ecuaciones Derivadas parciales
• Sistemas de Control
• Identificación de sistemas
• Optimización
• Diseño de filtros
• Bioinformatica
• Estadistica
• Analisis Financiero
Características. Entre las características que poseen los toolbox se tiene:
• Son grupos de comandos con características similares.
• Ayudan a simplificar los cálculos de ciertas aplicaciones.
• Facilitan la escritura de algoritmos.
Esquema general de los Toolbox. Como se ha dicho los toolbox son librerías
especializadas, los comandos ahí presentes se encuentran organizadas por orden
alfabético y por categorías, para observar la organización 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 organización (Figura 12), aunque existen ítems
comunes para todos que son:
19
41. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
• Getting started (Inicio): Realizan una breve descripción 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 categorías): Se observan
los comandos organizados en categorías particulares de cada toolbox.
• Functions – Alphabetical List (Funciones – Lista alfabética): Los comandos
están organizados alfabéticamente.
• Releases Notes (Notas relacionadas o de actualización): Muestra todas las
notas relacionadas con el toolbox y todas las actualizaciones que existentes
para este.
• Printable Documentation (Información imprimible) (PDF): Este es un
hipervínculo donde se muestra la información del toolbox en un formato de
documento portable.
• Product Page (Pagina del producto): Este es un hipervínculo que dirige al
usuario a la página de Mathworks, referente al toolbox.
Figura 12. Esquema general de los toolboxes.
Fuente: Captura de Matlab versión trial (2008)..
Ejemplo. Con ayuda del Toolbox de procesamiento de Imágenes tomar una
fotografía 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 través de
los comandos imread y imshow se lee, se guarda en la variable imagen1 y se
muestra la imagen en la ventana Figure.
20
42. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Figura 13. Utilización de imread y imshow del Toolbox Procesamiento de
Imagenes.
Fuente: Captura de Matlab versión trial (2008)..
Figura 14. Ventana Figure Matlab. Imagen a color
Fuente: Captura de Matlab versión 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
43. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Figura 15. Utilización de rg2gray del Toolbox Procesamiento de Imagenes.
Fuente: Captura de Matlab versión 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 versión 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
44. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Lección 7: Toolbox de Comunicaciones.
El toolbox de comunicaciones es una extensión de MATLAB, con funciones,
comandos gráficos e interfaces empleadas para explorar, diseñar, analizar y
simular algoritmos con las diferentes etapas de un sistema de comunicación. Las
características esenciales de este toolbox son:
• Contiene funciones para diseñar las capas físicas de un enlace de
comunicación, incluyendo codificación de fuente, codificación de canal,
modulación, modelos de canal y ecualización.
• Comando de graficación para la visualización de las señales de
comunicación.
• Interfaces graficas de usuario para comparar la tasa de error de bit de
cualquier sistema con una amplia variedad de resultados analíticos
probados.
• Datos del tipo Galois para la construcción de algoritmos de comunicación.
Nociones Básicas del toolbox. Este toolbox implementa una variedad de
comandos relacionados con las comunicaciones. Muchas de las funciones realizan
cálculos asociados a un componente particular de un sistema de comunicaciones,
como demoduladores o ecualizadores. Otras funciones que están enfocadas en el
diseño y el análisis de diferentes sistemas.
Categorías de los comandos de los toolbox. Las funciones y comandos se
encuentran organizadas por categorías, estas son:
• Fuentes de señal: Comandos que crean fuentes de señales aleatorias.
• Evaluación del desempeño: Analiza y visualiza la respuesta de un sistema, al
ruido inherente al mundo real y a los componentes de dicho sistema. El
desempeño es evaluado mediante el uso de gráficas y así determinar si
cumple con los requerimientos.
• BER Tool: Comandos utilizados para medir la tasa de error de bit.
• Codificación de fuente: También conocido como cuantización o formateo de
señal, es la forma de reducir la redundancia de los datos o prepararla para su
posterior procesamiento. La conversión de datos análogo/digital y la
compresión de datos son formas de codificación de fuente.
• Modulación/Demodulación: Comandos para modular/demodular las señales
tanto analógica como digital.
23
45. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
• Codificación del control de error: Son técnicas que detectan y posiblemente
corrigen errores cuando son transmitidos en un sistema de comunicación
digital. Para conseguir esto, el codificador no solo transmite los símbolos del
mensaje si no que también transmite símbolos redundantes, el decodificador
usa los símbolos redundantes para detectar y posiblemente corregir los
errores.
• Filtrado: Comandos que sirven para la selección de señales dentro de
cualquier rango de frecuencias.
• Interleaving (Entrelazador o entramador): Este permuta los símbolos de
acuerdo a un mapeo, y el desentramado utiliza el mapeo inverso para
recuperar la secuencia original de símbolos. El entramado y el desentramado
son útiles para reducir los errores causados por ráfagas en un sistema de
comunicaciones.
• Canales: Los canales de comunicaciones introducen, ruido desvanecimiento,
interferencias y otras distorsiones a las señales que son transmitidas por estos.
La simulación de un sistema de comunicación involucra el modelado de un
canal basado en descripciones matemáticas del canal. Los diversos medios de
transmisión tienen diferentes propiedades y son modelados con características
diferentes.
• Ecualizadores: los canales dispersivos en función del tiempo pueden causar
interferencia inter-simbólica (ISI), por ejemplo en un ambiente dispersivo multi-
trayecto, el receptor observa versiones retrasadas de los símbolos
transmitidos, los cuales pueden interferir con los otros símbolos transmitidos.
Un ecualizador intenta mitigar el ISI y así incrementar el desempeño del
receptor.
• Campos computacionales de Galois: Es un campo algebraico que tiene un
número finito de miembros. Los campos de Gaolis tienen 2m miembros que son
utilizados para el control de codificación de error y son denotados GF(2m).
Fuentes de Señales. Cada sistema de comunicaciones contiene una o más
fuentes de señal, se puede usar este toolbox para generar señales aleatorias, lo
cual es muy útil cuando se necesita simular ruido, errores o fuentes de señal. Las
secciones son las siguientes:
• Ruido blanco gausiano: Esta función (wgn) genera matrices usando una
distribución 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
46. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
La estructura de este comando es las 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)
• Símbolos aleatorios: (randsrc) Este comando crea matrices aleatorias,
independientes del alfabeto que el usuario especifique pero con una
distribución que este proporciona. Por ejemplo, crear una matriz 5 X 4, con
valores comprendidos entre 2, 4 y 6
>> A = randsrc(5,4,[2,4,6])
A=
2 2 2 4
4 2 6 6
6 4 4 4
2 2 6 2
2 2 4 6
Donde la estructura de este comando sería 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
47. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
• Enteros aleatorios (randint): Genera matrices aleatorias de valores enteros de
un rango que es proporcionado por el usuario, un caso especial de este
comando es crear matrices binarias. Por ejemplo crear una matriz 6 X 5, en el
que sus elementos sean valores enteros entre 1 y 10.
A = randint (6,5,[1,10])
A=
9 8 4 9 9
1 5 6 6 7
7 4 2 5 4
4 2 7 9 3
9 2 4 9 4
6 7 9 7 6
• Patrones aleatorios para el error de bit (randerr): crea matrices en las cuales
los elementos son unos y ceros, con una probabilidad ya dada. Estas funciones
son utilizadas para medir la taza de error de bit.
• Modulación y Demodulación.
En la mayoría de los medios de comunicación, solo un rango de frecuencias está
disponible para la transmisión. Una forma de comunicar un mensaje cuya señal
no se encuentre en el rango de frecuencias disponibles, es modificando la
frecuencia hasta alcanzar una que este en concordancia con el sistema de
comunicación, esta modificación de la frecuencia es lo que se llama modulación y
el volver la señal a un estado muy cercano al original se llama demodulación.
MATLAB posee herramientas que permiten hacer tanto modulación analógica
como digital.
Dada una técnica de modulación, existes dos formas para simularlo, bandabase y
pasabanda. La simulación bandabase también conocida el método equivalente
pasabaja requiere menos cálculos computacionales. En esteToolbox la simulación
bandabase es utilizada para la modulación digital mientras que para la modulación
analógica se utiliza la simulación pasabanda.
Los métodos disponibles que contiene este Toolbox para realizar la modulación de
un sistema de comunicación dependen del tipo de señal de entrada al sistema ya
26
48. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
sea análogo o digital. La siguiente tabla muestra las técnicas que soporta el
toolbox:
Tabla 5. Tipos de modulación analógica que soporta el toolbox.
Comando para la Comando para la
Método de modulación analógica Acrónimo
modulación demodulación
Modulación de amplitud (con supresión o
AM ammod amdemod
transmisión de portadora)
Modulación de frecuencia FM fmmod fmdemod
Modulación de fase PM pmmod pmdemod
Modulacion de amplitud de banda simple SSB ssbmod ssbdemod
Fuente: Armando Portela (2008)
Argumentos necesarios para realizar la modulación/demodulación analógica
comunes para todos los tipos:
x: mensaje a modular
y: mensaje modulado
Fc: Frecuencia de la señal portadora (Hz)
Fs: Frecuencia de muestreo (Hz)
Ini_phase: fase inicial en la señal modulada (radianes)
27
49. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Tabla 6. Sintaxis de los distintos Tipos de modulación analógica que soporta el
toolbox.
Sintaxis del comando de
Modulación Sintaxis del comando de demodulación
modulación
y = ammod(x,Fc,Fs) z = amdemod(y,Fc,Fs)
y = ammod(x,Fc,Fs,ini_phase) z = amdemod(y,Fc,Fs,ini_phase)
y= z = amdemod(y,Fc,Fs,ini_phase,carramp)
ammod(x,Fc,Fs,ini_phase,carramp) z=amdemod(y,Fc,Fs,ini_phase,carramp,n
AM • carramp: amplitud de la portadora um,den)
• carramp: amplitud de la portadora
• num, den: establecen el numerador y
el denominador del filtro pasabajas
usado en la demodulación(radianes)
y= fmmod(x,Fc,Fs,freqdev)
z = fmdemod(y,Fc,Fs,freqdev)
y = fmmod(x,Fc,Fs,freqdev,ini_phase
z = fmdemod(y,Fc,Fs,freqdev,ini_phase)
• freqdev: es la constante
FM • freqdev: es la constante desviación de
desviación de frecuencia (Hz) de
frecuencia (Hz) de la señal modulada.
la señal modulada.
y = pmmod(x,Fc,Fs,phasedev) z = pmmod(y,Fc,Fs,phasedev)
y = pmmod(x,Fc,Fs,phasedev,ini_phase) z = pmmod(y,Fc,Fs,phasedev,ini_phase)
• phasedev: es la constante • phasedev: es la constante desviación
PM
desviación de fase (radianes) de la de fase (radianes) de la señal
señal modulada. modulada.
y = ssbmod(x,Fc,Fs) z = ssbdemod(y,Fc,Fs)
y = ssbmod(x,Fc,Fs,ini_phase) z = ssbdemod(y,Fc,Fs,ini_phase)
z = ssbdemod(y,Fc,Fs,ini_phase,num,den)
SSB y = ssbmod(x,fc,fs,ini_phase,'upper')
• num, den: establecen el numerador y
• ‘upper’: Lado escogido para el denominador del filtro pasabajas
realizar la modulación usado en la demodulación(radianes)
Ejemplo: Modular y demodular una señal con el método de modulación 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); % Representación de la señal
y = ammod(x,Fc,Fs); % Modulación de x para producir y
yruidoso = awgn(y,15,'measured'); %Transmisión a través de un canal
ruidoso
[num,den] = butter(10,Fc*2/Fs); % Definición del filtro pasabajas
z = amdemod(yruidoso,Fc,Fs,0,0,num,den); % Demodulación.
figure;
subplot(3,1,1); plot(t,x); % Dibuja la señal de entrada(Superior).
28
50. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
subplot(3,1,2); plot(t,yruidoso)% % Dibuja la señal modulada y
transmitida(Medio).
subplot(3,1,3); plot(t,z); % Dibuja la señal demodulada(Inferior).
Figura 17. Modulación y demodulación por amplitud.
1
0
-1
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
2
0
-2
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
2
0
-2
0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.1
Fuente: Captura de Matlab versión trial (2008)..
Tabla 7. Tipos de modulación digital que soporta el toolbox.
Comando para la Comando para la
Método de modulación digital Acrónimo
modulación demodulación
Modulación por desplazamiento diferencial
DPSK dpskmod dpskdemod
de fase
Modulación por desplazamiento de
FSK fskmod fskdemod
frecuencia
Modulación por desplazamiento mínimo MSK mskmod mskdemod
Modulación por desplazamiento en
OQPSK oqpskmod oqpskdemod
cuadratura compensada
Modulación por desplazamiento de fase PSK pskmod pskdemod
Modulación por amplitud de pulso PAM pammod pamdemod
Modulación por amplitud en cuadratura QAM qammod qamdemod
Fuente: Armando Portela (2008)
29
51. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
CONTENIDO DIDÁCTICO DEL CURSO: 208008 – CAD AVANZADO PARA ELECTRÓNICA
Tabla 8. Sintaxis de los distintos Tipos de modulación digital que soporta el
toolbox.
Sintaxis del comando de
Modulac Sintaxis del comando de modulación
demodulación
y = dpskmod(x,M) z = dpskdemod(y,M)
y = dpskmod(x,M,phaserot) z = dpskdemod(y,M,phaserot)
y = dpskmod(x,M,phaserot,symbol_order) z = dpskdemod(y,M,phaserot,symbol_order)
• x: mensaje que consiste de enteros entre 0 • y: mensaje modulado
y M – 1, si este fuera una matriz con • M: es el tamaño del alfabeto y debe
múltiple columnas y filas MATLAB ser entero.
procesa las columnas
independientemente.
• phaserot: especifica la rotación de
• M: es el tamaño del alfabeto y debe ser fases en radianes. En este caso el
entero. desplazamiento de fase total por
DPSK símbolo es la suma del valor
• phaserot: especifica la rotación de fases
en radianes. En este caso el asignado en este argumento, más la
desplazamiento de fase total por símbolo fase generada por la modulación
es la suma del valor asignado en este diferencial.
argumento, más la fase generada por la • symbol_order: especifica como la
modulación diferencial. función asignará las palabras
• symbol_order: especifica como la función binarias correspondientes a los
asignará las palabras binarias
enteros.
correspondientes a los enteros.
y = fskmod(x,M,freq_sep,nsamp) z = fskdemod(y,M,freq_sep,nsamp)
y = fskmod(x,M,freq_sep,nsamp,Fs) z = fskdemod(y,M,freq_sep,nsamp,Fs)
y = z =
fskmod(x,M,freq_sep,nsamp,Fs,phase_co fskdemod(y,M,freq_sep,nsamp,Fs,symbo
nt) l_order)
y = • y: mensaje modulado
fskmod(x,M,freq_sep,nsamp,Fs,phase_cont,sy • freq_sep: es la separación deseada entre
mbol_order) dos frecuencias sucesivas.
• x: mensaje que consiste de enteros entre 0 • nsamp: Es el número de muestras por
y M – 1, si este fuera una matriz con símbolo en la señal modulada y debe ser
múltiple columnas y filas MATLAB un numero positivo y mucho más grande
procesa las columnas que 1.
independientemente. • Por el teorema de muestreo de Nyquist ,
• M: es el tamaño del alfabeto y debe ser el valor de freq_sep y M deben satisfacer
entero en potencias de 2. la condición de (M-1)*freq_sep <=Fs.
• freq_sep: es la separación deseada entre • symbol_order: especifica como la función
FSK dos frecuencias sucesivas. asignará las palabras binarias
• nsamp: Es el número de muestras por correspondientes a los enteros
símbolo en la señal modulada y debe ser
un numero positivo y mucho más grande
que 1.
• Por el teorema de muestreo de Nyquist , el
valor de freq_sep y M deben satisfacer la
condición 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 través de los
límites de los símbolos. ’discont’ obliga
una discontinuidad en la fase, por defecto
es ‘cont’.
symbol_order: especifica como la función
asignará las palabras binarias
correspondientes a los enteros
30