Your SlideShare is downloading. ×
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Cad avanzado para electrónica julio 2009 v2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Cad avanzado para electrónica julio 2009 v2

1,382

Published on

UNAD, ingeneiria de telecomuicaciones, electronica, electrica, …

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

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,382
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
116
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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
  • 2. 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   This work is licensed under a Creative Commons Attribution‐NoDerivs 2.5 License.CURSO: CAD PARA ELECTRÓNICA@Copyright Universidad Nacional Abierta y a DistanciaISBN2009Vicerrectoría de Medios y Mediaciones  2
  • 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 VERSIONAMIENTOEl presente módulo fue diseñado en el año 2008 por el Ing. Electrónico ArmandoPortela Duarte, integrante de la Fundación Internacional Para La Investigación dela Cultura y la Participación.El presente módulo ha tenido una actualización, desarrollada en Julio de 2009 porlos 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ñaactualmente 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ácticodesarrollado 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ÓNCAD Avanzado para Electrónica es un curso metodológico de 3 créditosenmarcados en un campo de formación disciplinario, cuya intencionalidad es la deformar las bases teóricas y prácticas en el estudiante para que éste puedaimplementar y ejecutar algoritmos en diferentes software de procesamientonumé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 vidaprofesional del individuo puesto que brinda herramientas con las cuales puedecontar a la hora de realizar complejos análisis y operaciones numéricas,simulaciones en el tiempo de modelos matemáticos de sistemas realesobteniendo información valiosa como datos estadísticos o gráficos que puedenrepresentar infinidad de variables durante determinados procesos de diseño oinvestigación científica.Para tal efecto el curso cosiste en 3 unidades didácticas, en la Primera Unidad sepresenta las herramientas de Matlab, que es el principal de los paquetes softwareobjeto del curso, en donde el estudiante se familiarizará con el entorno interactivodel programa así como con los comandos, toolbox y funciones, conociendo lascaracterísticas técnicas, operativas y ventajas de empleo de dicho software.En la Segunda Unidad se presentan de forma general las herramientas avanzadaspara aplicaciones específicas del Matlab, en especial se analiza el entorno gráficoo SIMULINK, herramienta potente al momento de hacer simulación de modelosde sistemas.Finaliza con el estudio del Labview, que es un entorno interactivo que emplea unlenguaje de programación muy novedoso conocido como programación gráfica oprogramació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 documentosdigitales que podrán descargarse de la plataforma Moodle para que este sefamiliarice y profundice sus conocimientos al respecto durante el tiempo de estudioindependiente, 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 serealizará 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 ciertasactividades, dejando evidenciar la importancia de la participación activa de cadauno de los estudiantes en las diferentes actividades propuestas, de igual forma alfinal de cada unida se plantea un ejercicio de autoevaluación que busca identificarpuntos criticos donde es necesario hacer refuerzos o ampliar las consultas.CAD Avanzado para electrónica sienta pues las bases primordiales en elestudiante para que aplique sus conocimientos matemáticos así como en sistemasinformáticos para la programación de diferentes algoritmos y aplicacionesespecíficas que simplificarán ampliamente su trabajo en infinidad de aplicacionesdonde 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 CONTENIDOUNIDAD 1. HERRAMIENTAS DE MATLAB 1CAPITULO 1: ENTRADA/SALIDA Y FUNCIONES DE MATLAB 2Lección 1: Manejo de archivos 3Lección 2: Archivos *.m 6Lección 3: Gráficas Bidimensionales. 9Lección 4: Gráficas Tridimensionales 12Lección 5: Funciones. 15CAPITULO 2: TOOLBOX DE MATLAB 18Lección 6: Introducción a los Toolbox de Matlab. 19Lección 7: Toolbox de Comunicaciones. 23Lección 8: Simulación de un Sistema de Comunicaciones 37Lección 9: Toolbox de Sistemas de Control. 43Lección 10: Simulación de un sistema de control 75CAPITULO 3: SIMULINK. CONCEPTOS BASICOS 80Lección 11: Características 80Lección 12: Entorno de trabajo en Simulink 82Lección 13: Modelos 86Lección 14: Subsistemas. 93Lecció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 107FUENTES DOCUMENTALES UNIDAD 1 108UNIDAD 2. SIMULINK 111CAPITULO 1: MODELAR CON SIMULINK 113Lección 1. Modelar Ecuaciones 113Lección 2: Modelar con Control de Flujo Condicional 118Lección 3: Modelar con control de flujo Iterativo. 123Lección 4: Ejemplos de Modelado. 127Lección 5: Consejos para la Construcción de Modelos. 132CAPITULO 2. NAVEGAR POR LOS MODELOS 132Lección 6: Explorar, Buscar y Navegar por los Modelos. 133Lección 7: Ejecutar la Simulación del modelo. 139Lección 8: Importar y Exportar Datos. 142Lección 9: Establecer la Configuración de la Simulación. 147Lección 10: Resultados de la Simulación. 148CAPÍTULO 3 BLOQUES, SEÑALES Y FUNCIONES S 152Lección 11: Bloques y Señales. 152Lección 12: Tipos de datos 158Lección 13: Funciones S 159Lección 14: Usar Funciones S en los modelos 160Lecció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 165FUENTES DOCUMENTALES UNIDAD 2 166UNIDAD 3. LABVIEW 170CAPITULO 1. CONCEPTOS BASICOS DE LABVIEW 172Lección 1: Características y Aplicaciones 172Lección 2: Entorno de Trabajo. Panel Frontal. 174Lección 3: Entorno de Trabajo. Diagrama de Bloques. 185Lección 4: Ejecutar y Depurar un Instrumento Virtual. 191Lección 5: Ejemplos. 195CAPITULO 2. PROGRAMACION ESTRUCTURADA. 204Lección 6: Estructuras Case y Sequence. 204Lección 7: Estructuras Iterativas For, While. 208Lección 8: Estructura Formula Node. 212Lección 9: Variables Locales y Globales. 214Lección 10: Sub VIs 216CAPITULO 3. APLICACIONES EN LABVIEW 222Lección 11: Filtrado de señales. 222Lección 12: Análisis Espectral 224Lección 13: Generación de Tablas en Labview para presentación de datos. 225Lección 14: Manipulación de puertos. 226Lección 15: Leer y escribir archivos desde Labview. 227  8
  • 9. 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 3 230FUENTES DOCUMENTALES UNIDAD 3 231  9
  • 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 MATLABINTRODUCCIÓNEn la primera Unidad se presenta las herramientas de Matlab, que es el principalde los paquetes software objeto del curso, en donde el estudiante se familiarizarácon el entorno interactivo del programa así como con los comandos, toolbox yfunciones, conociendo las características técnicas, operativas y ventajas deempleo de dicho software.JUSTIFICACIONEn electrónica es de gran relevancia esta temática puesto que los lenguajes dealto nivel forman parte de las herramientas diarias de trabajo tanto de estudiantescomo de profesionales y técnicos en el área. Estos tipos de software sonempleados en infinidad de aplicaciones que requieren el manejo de complejosmodelos matemáticos o en su defecto de operaciones iterativas que en unmomento dado pueden servir de apoyo en el diseño, simulación y análisis tanto decircuitos análogos como digitales así como en el modelado de sistemas de control,de telecomunicaciones, de audio, etc.INTENCIONALIDADES FORMATIVASPropósitosSe pretende desglosar el manejo general de Matlab desde el punto de vista de lasherramientas avanzadas para desarrollar habilidades que le permitan al estudianteidentificar y utilizar los aplicativos en el desarrollo de soluciones óptimas a la horade abordar los problemas y actividades propuestos, al tiempo que se contribuye agenerar esquemas mentales en el estudiante con los que podrá abordar por supropia cuenta tanto el diseño y desarrollo de soluciones a problemáticasplanteadas 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 ObjetivosQue el estudiante amplíe complemente y profundice en las característicasoperativas, técnicas, los beneficios del aplicativo Matlab, desde el punto de vistade las herramientas de entrada/salida y manejo de toolbox, para que así puedanemplear y diferenciar las ventajas operativas que ofrecen los paquetes software deanálisis numérico sobre el desarrollo manual.CompetenciasEl estudiante conoce las características y posibilidades que le brindan lasherramientas E/S y los toolbox de Matlab, además conoce los procedimientossistemáticos para interactuar con éstos y dar soluciones a partir de susimplementación en problemas electrónicos.Metas de aprendizajeEl estudiante aprenderá de forma individual las temáticas del módulo del cursopara que así pueda aplicar lo aprendido en cada tema mediante ejercicios yactividades tanto individuales como grupales en las que se desarrollen pequeñosprogramas o aplicaciones en donde el estudiante se valga de toda la informacióndisponible, de su espíritu investigativo y del trabajo en grupo para buscar lamanera de generar las soluciones más óptimas y funcionales ante lasproblemáticas planteadas.Denominación de CapítulosCapítulo 1. Entrada/Salida y funciones de MatlabCapítulo 2. Toolbox de MatlabCapítulo 3. Simulink Conceptos Básicos CAPITULO 1: ENTRADA/SALIDA Y FUNCIONES DE MATLABIntroducción. MATLAB es una poderosa herramienta de programación quepermite realizar diversas aplicaciones, con la ventaja de poseer un lenguajesencillo 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, similaresa las del lenguaje C que facilitan la importación/exportación de los datos.Lección 1: Manejo de archivosLa 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 quenecesitan operar con datos que residen en otros archivos o escribir los resultadosde las operaciones de los programas hechos en MATLAB.Para poder abrir un archivo es necesario verificar su existencia. El comando paraabrir un archivo es fopen, este comando posee varios argumentos, los principalesson el nombre del archivo y la forma en el que MATLAB interactuará con éste. Elcomando retorna un valor entero mayor a 2 que es el número de identificación delarchivo, este será usado para escribir y/o leer del archivo. Los tipos de interaccióncon 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 laventana de comandos help fopenEstructura 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 dearchivos que se está trabajando y se desea escribir sobre este, entonces laestructura quedaría. >>Identificador = fopen (‘prueba.dat’, ‘w’) MATLAB retorna el valor que identifica el archivo Identificador = 3Leyendo desde un archivo. Una vez abierto el archivo, para leerlo se utiliza elcomando fscanf. Este comando tiene tres argumentos, el primero es elidentificador que ha sido obtenido del comando fopen. El segundo es el formatodel dato en el cual está escrito en el archivo y el tercero es opcional que es elnú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) quecontiene 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 10Si se utilizara otro especificador de formatos, la repuesta de MATLAB sería: >> a = fscanf(identificador, ‘%s’) a= 12345678910Escribiendo a un archivo. Para poder escribir sobre un archivo debe estarabierto primero. El comando para realizar esta función es fprintf, el formato para suejecución es la siguiente:fprintf(identificador de archivo, formato, variable)El identificador de archivo es el valor retornado por el comando fopen. El formatoespecifica como se desea que sea escrito el valor y la variable es el nombre dondese 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 escribeA=5 >>fprintf(identificador, ‘%d’, A)En el archivo que se específico se escribirá el valor 5, como un entero debido queese fue el formato que se le especificó.Importar y exportar datos desde otras aplicaciones. Es posible traer datosdesde otras aplicaciones como por ejemplo desde EXCEL o desde un editor detexto, 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 *.mSon archivos que contienen instrucciones escritas; existen dos tipos de archivos*.m. los archivos de función que reciben argumentos de entrada para proporcionaruno 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 decomandos que se pueden ejecutar a menudo, se guardan en archivos deextensión *.m para no tener que escribirlos de nuevo. Un script puede llamar aotros ficheros script para ejecutar sus comandos.El editor es la ventana donde se escriben este tipo de archivos y permite alprogramador 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), estoscontienen el conjunto de comandos o la definición de funciones creadas por elusuario. La importancia de los archivos m-files, radica en que al ser llamadosdesde la ventanas de comandos se ejecutan los comandos escritos de manerasecuencial, siempre y cuando se encuentren en una de las carpetas de trabajo delMatlab. Este editor no solo permite escribir los códigos, sino, que también permitedepurarlos, 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 magnitudy el ángulo de un número complejo. Se escriben las instrucciones en el editor, seguarda el archivo como complejo.m, y se llama desde la ventana de trabajo enmatlab.  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, seasigna a la variable a el valor de 2 y a la variable b el valor de 3, y se llama elscript complejo, lo cual automáticamente arroja el resultado en las variables m yang.Figura 3. Ejecución del script complejo.mFuente: 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 devectores y matrices. Para realizar todas las operaciones gráficas este programautiliza un tipo especial de ventanas. Algunos comandos abren una nueva ventanamientras que otros realizan operaciones sobre una ventana abierta conanterioridad.MATLAB posee cinco funciones básicas para crear gráficos bidimensionales, loscuales se diferencian en el valor de las escalas que son desplegadas en los ejesde las abscisas y de las ordenadas. Las funciones se pueden observar en lasiguiente 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 polaresFuente: 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 20Fuente: 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 generadasañ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 untí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 10Fuente: 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 particioneshorizontales y n verticales, con el propósito de representar múltiples gráficos enella. Cada una de estas subventanas tiene sus propios ejes y conservan algunascaracterísticas comunes con las otras subventanas. La forma general de estecomando es: subplot(m,n,i), donde m y n son el número de subdivisiones en filasy columnas, e i es la subdivisión que se convierte en activa. Las subdivisiones senumeran consecutivamente empezando por las de la primera fila, siguiendo porlas de la segunda, etc. Por ejemplo, la secuencia de comandos que se observa enla figura 6 genera cuatro gráficos en la misma ventanaFigura 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únFuente: 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 TridimensionalesMATLAB posee varias posibilidades para realizar gráficas tridimensionales. Unade las maneras de realizar esto es la utilización del comando plot3, que es laanalogía de la función plot en los gráficos bidimensionales, con la diferencia quecon este comando es necesario definir tres vectores, una para cada eje, en vez dedos.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 2vectores y se grafica la función.>> gridFigura 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 -1Fuente: 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 quegenera las superficies opacas. Por ejemplo se grafica la “silla de montar” definidapor 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 -2Fuente: Captura de Matlab versión trial (2008).La diferencia de esta con la gráfica (ver Figura 9.) anterior radica en el comandoque 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 -2Fuente: Captura de Matlab versión trial (2008).Otras funciones de gráficas tridimensionales son relacionadas en la tabla 4Tabla 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 lamedida en que representan una regla que modifica una variable de entradatransformándola en una variable de salida. La función en matlab es un llamado aconjunto de comandos, donde se le proporciona un dato de entrada y estaproporciona un resultado de salida.En muchas ocasiones es necesario definir nuevas funciones o emplear funcionesya existentes para anexarlas a los programas que se están desarrollando en unmomento dado, las funciones en Matlab son una herramienta muy útil en casos enlos que se requiere realizar operaciones repetitivas y que son aplicables adiferentes programas o a diferentes partes del mismo programa, se trata de piezasde código escritas y guardadas de una forma determinada en archivos conextensión *.m que pueden ser llamados por un programador para ejecutar tareasdeterminadas y así puedan ser usada en diversas ocasiones. Por tal motivo sehace necesario entender cómo debe ser creada y posteriormente empleada unafunción.Reglas para escribir funciones. Para elaborar funciones, se debe generar unnuevo archivo de texto con un nombre adecuado para reconocer la función, elarchivo debe tener la extensión *.m, para que MATLAB lo reconozca.La creación de funciones en MATLAB presenta algunas diferencias respecto de laelaboración de programas. La más relevante es la siguiente:Una función incluye en la primera línea del archivo una cabecera donde seespecifica su nombre, cuáles y cuántos argumentos tiene, y cuáles y cuántosvalores retorna. Dicha cabecera se identifica, además, por la palabra function, taly 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 dosargumentos (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 leproporciona el nombre, el número y el orden de los argumentos de entradas ysalidas. Siguiendo la línea de definición de función, se debe realizar comentariosanteponiéndoles el símbolo porcentual (%). Esas líneas son llamadas texto deayuda y son mostradas en respuesta del comando help seguido del nombre de lafunción. Las siguientes líneas constituyen el cuerpo de la función; estas contienenlas sentencias de MATLAB que calculan el valor de las funciones. Adicionalmentese pueden realizar comentarios acerca de cada sentencia (sin olvidar anteponer elsímbolo de porcentaje), todas las sentencias deben culminarse con un punto ycoma (;) para suprimir la salida de cada comando. Estos archivos pueden tenermúltiples entradas y múltiples salidas.El cuerpo de la función contiene las sentencias que sean necesarias para calcularlos valores que la función va a retornar. Para calcular dichos valores se utilizarántanto los argumentos de la función como todas aquellas otras variables auxiliaresque sean precisas. Hay que tener en cuenta que las variables que no seanargumentos son locales a la función (es decir, no toman valores desde el espaciode 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 variableso argumentos de entrada, a no ser que se incluyan también como valores deretorno. Si el usuario las modifica dentro de la función, automáticamente el Matlabsaca copias de esas variables (se modifican las copias, no las variablesoriginales). Lo que significa que para MATLAB los argumentos de las funcionessiempre 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, seguidadel nombre de la función, el argumento y el valor de retorno. Se guarda la funciónen el directorio de trabajo de matlab y se procede a llamarla desde la ventana detrabajo 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.mFuente: Captura de Matlab versión trial (2008)..Una vez creada la función, esta se puede utilizar en la ventana de comandosdigitando el nombre de la misma y asignando los valores de entrada. En la figura11 se observa el cálculo de las raíces del polinomio x2+2x+3=0, mediante elllamado 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 lascategorí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 MATLABIntroducción. Matlab posee librerías especializadas que agrupan un determinadonúmero de funciones que poseen características similares y tienen aplicacionesespecíficas. A estas librerías se les denomina Toolbox, que traduce literalmentecaja de herramientas, gracias a estas ‘cajas de herramientas’ especializadas, seevita 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, Redesneuronales, 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 FinancieroCaracterí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íasespecializadas, los comandos ahí presentes se encuentran organizadas por ordenalfabético y por categorías, para observar la organización de estos, se debe remitira la ayuda que ofrece MATLAB desde su ventana de ayuda y de acuerdo altoolbox escogido así será la organización (Figura 12), aunque existen ítemscomunes 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 unafotografía a color, convertirla a escala de grises y generar un nuevo archivo con laimagen 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 delos comandos imread y imshow se lee, se guarda en la variable imagen1 y semuestra 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 deImagenes.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 resultadose 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.jpgcon 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 ysimular algoritmos con las diferentes etapas de un sistema de comunicación. Lascaracterí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 decomandos relacionados con las comunicaciones. Muchas de las funciones realizancálculos asociados a un componente particular de un sistema de comunicaciones,como demoduladores o ecualizadores. Otras funciones que están enfocadas en eldiseño y el análisis de diferentes sistemas.Categorías de los comandos de los toolbox. Las funciones y comandos seencuentran 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ásfuentes de señal, se puede usar este toolbox para generar señales aleatorias, locual es muy útil cuando se necesita simular ruido, errores o fuentes de señal. Lassecciones 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ñalno se encuentre en el rango de frecuencias disponibles, es modificando lafrecuencia hasta alcanzar una que este en concordancia con el sistema decomunicación, esta modificación de la frecuencia es lo que se llama modulación yel 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ógicacomo digital.Dada una técnica de modulación, existes dos formas para simularlo, bandabase ypasabanda. La simulación bandabase también conocida el método equivalentepasabaja requiere menos cálculos computacionales. En esteToolbox la simulaciónbandabase es utilizada para la modulación digital mientras que para la modulaciónanalógica se utiliza la simulación pasabanda.Los métodos disponibles que contiene este Toolbox para realizar la modulación deun 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 eltoolbox: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 ssbdemodFuente: Armando Portela (2008)Argumentos necesarios para realizar la modulación/demodulación analógicacomunes para todos los tipos:x: mensaje a modulary: mensaje moduladoFc: 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 eltoolbox. Sintaxis del comando deModulació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,nAM • 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 constanteFM • 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ónPM 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 poramplitud. >> 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.1Fuente: 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ónModulació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 qamdemodFuente: 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 eltoolbox. Sintaxis del comando deModulac 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
  • 52. 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 eltoolbox. (Continuación)Modulac Sintaxis del comando de modulación Sintaxis del comando de demodulación y = mskmod(x,nsamp) z = mskdemod(y,nsamp) y = mskmod(x,nsamp,dataenc) z = mskdemod(y,nsamp,dataenc) y = mskmod(x,nsamp,dataenc,ini_phase) z = [y,phaseout] = mskmod(...)* mskdemod(y,nsamp,dataenc,ini_phase) • x: mensaje que consiste de 0s y 1s, si este z = fuera una matriz con múltiple columnas y mskdemod(y,nsamp,dataenc,ini_phase,in filas MATLAB procesa las columnas i_state) independientemente. [z,phaseout] = mskdemod(...)* • nsamp: denota el número de muestras por [z,phaseout,stateout] = mskdemod(…) símbolo en la señal modulada y debe ser un numero positivo. El valor inicial de la fase es 0 • y: mensaje modulado, si este fuera una • dataenc: específica el método de matriz con múltiple columnas y filas codificación de los datos para la MSK, ‘diff’ MATLAB procesa las columnas para la codificación diferencial y ‘nondiff’ independientemente. para codificación no diferencial. • nsamp: denota el número de muestras • Ini_phase: Especifica la fase inicial del por símbolo en la señal modulada y debe modulador MSK, este es un vector ser un número positivo. columna el cual su longitud es el número • dataenc: específica el método de de canales y el cual sus valores son codificación de los datos para la MSK, múltiplos enteros de de pi/2. Para evitar el ‘diff’ para la codificación diferencial y anulamiento se del valor de dataenc se ‘nondiff’ para codificación no diferencial. debe ajustar a un valor específico. Esta línea retorna el valor final de la fase • Ini_phase: Especifica la fase inicial del modulador MSK, este es un vector de y. esto es útil para mantener la columna el cual su longitud es el número continuidad cuando se está modulando de canales y el cual sus valores son una trama de bits futura, con una múltiplos enteros de de pi/2. Para evitar codificación diferencial MSK. el anulamiento se del valor de dataenc • phaseout: tiene las mismas se debe ajustar a un valor específico. dimensiones que ini_phase y asume • Ini_state: Especifica el estado inicial del los valores de 0, pi/2, pi y 3*pi/2 demodulador, contiene la mitad del símbolo de la señal recibida previamente MSK * Esta línea retorna el valor final de la fase de y. esto es útil para demodular una señal 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 demodulación del primer símbolo de una señal futura. Tiene las mismas dimensiones de ini_state. y = oqpskmod(x) z = oqpskdemod(y) y = oqpskmod(x,ini_phase) z = oqpskdemod(y,ini_phase) • x: el mensaje debe consistir valores • y: el mensaje modulado, si este fuera una enteros comprendidos entre 0 y 3, si este matriz con múltiple columnas y filas OQPSK fuera una matriz con múltiple columnas y MATLAB procesa las columnas filas MATLAB procesa las columnas independientemente. independientemente. Ini_phase: Determina la compensación Ini_phase: Determina la compensación de de fase de la señal modulada en fase de la señal modulada en radianes. radianes.  31
  • 53. 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 eltoolbox. Modulac Sintaxis del comando de modulación Sintaxis del comando de demodulación y = pskmod(x,M) z = pskdemod(y,M) y = pskmod(x,M,ini_phase) z = pskdemod(y,M,ini_phase) y = pskmod(x,M,ini_phase,symbol_order) z = • x: mensaje que consiste de enteros entre 0 pskdemod(y,M,ini_phase,symbol_order) y M – 1, si este fuera una matriz con • y: mensaje modulado, si este fuera una múltiple columnas y filas MATLAB matriz con múltiple columnas y filas procesa las columnas MATLAB procesa las columnas independientemente. independientemente. PSK • M: es el tamaño del alfabeto y debe ser • M: es el tamaño del alfabeto y debe ser entero en potencias de 2. entero en potencias de 2. • Ini_phase: Determina la fase inicial de • Ini_phase: Determina la fase inicial la modulación en radianes. de la modulación en radianes. • Symbol_order: especifica como la función • Symbol_order: especifica como la función asignará las palabras binarias asignará las palabras binarias correspondientes a los enteros. correspondientes a los enteros. y = pammod(x,M) z = pamdemod(y,M) y = pammod(x,M,ini_phase) z = pamdemod(y,M,ini_phase) y = pammod(x,M,ini_phase,symbol_order) z = • x: mensaje que consiste de enteros entre 0 pamdemod(y,M,ini_phase,symbol_order) y M – 1, si este fuera una matriz con • y: mensaje modulado, si este fuera una múltiple columnas y filas MATLAB matriz con múltiple columnas y filas procesa las columnas MATLAB procesa las columnas independientemente. independientemente. PAM • M: es el tamaño del alfabeto y debe ser • M: es el tamaño del alfabeto y debe ser entero en potencias de 2. entero en potencias de 2. • Ini_phase: Determina la fase inicial de • Ini_phase: Determina la fase inicial la modulación en radianes. de la modulación en radianes. • Symbol_order: especifica como la función • Symbol_order: especifica como la función asignará las palabras binarias asignará las palabras binarias correspondientes a los enteros. correspondientes a los enteros y = qammod(x,M) z = qamdemod(y,M) y = qammod(x,M,ini_phase) z = qamdemod(y,M,ini_phase) y = qammod(x,M,ini_phase,symbol_order) z = • x: mensaje que consiste de enteros entre 0 qamdemod(y,M,ini_phase,symbol_order) y M – 1, si este fuera una matriz con • y: mensaje modulado, si este fuera una múltiple columnas y filas MATLAB matriz con múltiple columnas y filas procesa las columnas MATLAB procesa las columnas independientemente. independientemente. QAM • M: es el tamaño del alfabeto y debe ser • M: es el tamaño del alfabeto y debe ser entero en potencias de 2. entero en potencias de 2. • Ini_phase: Determina la fase inicial de • Ini_phase: Determina la fase inicial la modulación en radianes. de la modulación en radianes. • Symbol_order: especifica como la función • Symbol_order: especifica como la función asignará las palabras binarias asignará las palabras binarias correspondientes a los enteros. correspondientes a los enterosFuente: Armando Portela (2008)  32
  • 54. 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 de un sistema de Modulación y demodulación digital: Modular una señalaleatoria con la técnica de QAM, transmitirla a través de un canal ruidoso,recuperar la señal y medir la tasa de error de símbolo:%Se crea una señal aleatoriaM = 32; % Tamaño del alfabeto de símbolosx = randint(5000,1,M); % Mensaje señal aleatoria% Usar Modulación 32-QAM.y = qammod(x,M);% Transmisión de los datos a través de un canal AWGNyruidoso = awgn(y,15,measured);% Se crea el diagrama de dispersión de los datos ruidososscatterplot(yruidoso);% Demodular para recuperar el mensaje.z = qamdemod(ynoisy,M);% Verifica la tasa de error de símbolo.[num,rt]= symerr(x,z) %%num: es el número de símbolos errados%rt: Es la relación entre los símbolos errados y los datos transmitidos  33
  • 55. 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. Scatter plot 6 4 2 Quadrature 0 -2 -4 -6 -6 -4 -2 0 2 4 6 In-PhaseFuente: Captura de Matlab versión trial (2008)..Este es el resultado de la medición de tasa de error de símbolos, los resultadospueden variar en cada simulación debido la aleatoriedad de la fuente, y del ruido.num = 601rt = 0.1202  34
  • 56. 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 Filtrado. En los sistemas de comunicación es necesario eliminar o atenuar lasseñales que no sean convenientes para el sistema y maximizar las que si lohagan, por lo que se hace necesario filtrar las señales, esta tarea puede llevarse acabo filtrando las señales de forma analógica o digital dependiendo de laaplicación. MATLAB ofrece un toolbox específico solo para el filtrado de señales.Aunque existen una gran cantidad de filtros, en el toolbox de comunicaciones solose mencionaran los filtros de la transformada de Hilbert y coseno alzado, muchosde los otros tipos de filtros es encuentran en el toolbox de procesamiento deseñales.Filtros con la transformada de Hilbert. Para diseñar filtros de la transformada deHilbert es necesario utilizar el comando hilbiir y este comando brinda comorespuesta: • Un diagrama de la respuesta del filtro al impulso. • Una caracterización cuantitativa del filtro utilizando un modelo de función 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 funciónhilbiir diseña, como también la respuesta al impulso del correspondiente filtro idealde la Transformada de Hilbert.Hilbiir dibuja la respuesta impulso de un filtro digital de cuarto orden de latransformada de Hilbert, con un retraso de grupo de 1 segundo. La muestra es de2/7 segundos. En este diseño en particular, el índice de tolerancia es de 0.05. Eldiagrama también muestra la respuesta de un filtro ideal de la transformada deHilbert con retraso de grupo de 1 segundo.  35
  • 57. 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 hilbiir(ts) dibuja la respuesta impulso de un filtro digital de cuarto orden de latransformada de Hilbert con un tiempo de muestreo de ts segundos y un retrasode grupo de ts*7/2. El índice de tolerancia es de 0.05. El diagrama tambiénmuestra la respuesta de un filtro ideal de la transformada de Hilbert con un tiempode 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 retrasode grupo del filtro es dly , para el filtro ideal y para el filtro que el comando hilbiirdiseña.hilbiir(ts,dly,bandwidth), es igual a la sintaxis descrita anteriormente, exceptoque se especifica el ancho de banda (bandwidth) supuesto de la señal de entraday el diseño del filtro debe usar el compensador para la señal de entrada.hilbiir(ts,dly,bandwidth,tol), es igual a la sintaxis descrita anteriormente, exceptoque tol es el índice de tolerancia. Si tol<1, entonces el orden del filtro estádeterminado por: valor singular truncado < tol   valor singular máximoSi tol > 1, entonces el orden del filtro es tol.Filtros de coseno alzado. La importancia del filtro de coseno alzado radica enque reduce al mínimo la Interferencia entre Símbolos (ISI). La función rcosinediseña (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 raíz cuadrada. • Filtro de coseno alzado IIR de raíz 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
  • 58. 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 num = rcosine(Fd,Fs): diseña un filtro de coseno alzado de respuesta finita alimpulso (FIR) y retorna su funciçon de transferencia. La señal de entrada digitaltiene una frecuencia de muestreo Fd. La frecuencia de muestreo para el filtro esFs. La relaciçon Fs/Fd debe ser un entero positivo más grande que 1. El factor derolloff del filtro por defecto es 5. El retraso de grupo, el cual es el tiempo entre laentrada del filtro y la respuesta del filtro al impulso. Equivalente el retraso de grupoes de 3/Fd.[num,den] = rcosine(Fd,Fs,type_flag,r): diseña un filtro de coseno alzado usandocomo directiva la cadena de variable type_flag. Los tipos de filtro están en la tabla9Tabla 9. Tipos de filtros Tipo de filtro Valor de Type_flag con respuesta al impulso finito FIR ‘default’ o ‘fir/normal’ con respuesta al impulso infinito IIR ‘iir’ o ‘iir/normal’ de coseno alzado FIR de raíz cuadrada. ‘sqrt’ o ‘fir/sqrt’ de coseno alzado IIR de raíz cuadrada. ‘iir/sqrt’Fuente: Armano Portelo (2008)El valor por defecto de la tolerancia en el diseño de en un filtro IIR es de 0.01[num,den] = rcosine(Fd,Fs,type_flag,r): Con esta sintaxis se especifica el factor derolloff, que es un valor real entre [0, 1].[num,den] = rcosine(Fd,Fs,type_flag,r,delay): especifica el retraso de grupo delfiltro, medido en entradas muestreadas. El retraso (delay), es un entero positivo. Elretraso real del diseño del filtro está dado por delay/Fd segundos.[num,den] = rcosine(Fd,Fs,type_flag,r,delay,tol): Especifica la tolerancia en eldiseño del filtro IIR. El diseño del filtro FIR no necesita este argumento.Lección 8: Simulación de un Sistema de ComunicacionesLa siguiente secuencia de comandos en Matlab muestra la Simulación de unsistema de Comunicaciones Digitales. Primero se definen los parámetros básicosy la fuente de señal con los que se va a trabajar, posteriormente se aplicamodulación de tipo 16QAM, se filtra la señal y por último se procede al proceso deDemodulación.  37
  • 59. 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 %%SISTEMA DE COMUNICACIÓN COMPLETO%% Tomado del toolbox de comunicaciones de MATLAB (Editado) % Definición de los parametros. M = 16; % Tamaño de la costelación k = log2(M); % Número de Bits por símbolo n = 3e4; % Número de bits a procesar. nsamp = 1; % Tasa de Sobremuestreo%% Fuente de Señal% Crear una trama de datos binarios como un vector columna x = randint(n,1); % Trama de datos binarios aleatorios.%%Preparar los datos para que sean modulados% Grafica los primeros 40 bits stem(x(1:40),filled); title(Bits Aleatorios); xlabel(Indice de Bit); ylabel(Valor Binario);Figura 19. Primeros 40 datos binarios. Bits Aleatorios 1 0.9 0.8 0.7 0.6 Valor Binario 0.5 0.4 0.3 0.2 0.1 0 0 5 10 15 20 25 30 35 40 Indice de BitFuente: Captura de Matlab versión trial (2008)..%% Mapeo de Bit a Símbolo% Transforma los bits en x en k-bits simbolos xsym = bi2de(reshape(x,k,length(x)/k).,left-msb); %Modifica Forma Matriz  38
  • 60. 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 %% Diagrama de Símbolos% Dibuja los primeros 10 símbolo figure; % Crea una nueva ventana de figure stem(xsym(1:10)); title(Símbolos Aleatorios); xlabel(Indices de Símbolos); ylabel(Valor entero);Figura 20. Primeros 10 Símbolos Símbolos Aleatorios 14 12 10 Valor entero 8 6 4 2 0 1 2 3 4 5 6 7 8 9 10 Indices de SímbolosFuente: Captura de Matlab versión trial (2008)..%DEFINICIÖN DEL FILTRO DE COSENO ALZADO nsamp = 4; % Modificación de la tasa de muestreo para elfiltro% Definición del filtro% Se definen los parámetros 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 raíz cuadrada rrcfilter = rcosine(1,nsamp,fir/sqrt,rolloff,delay);% Dibuja la respuesta al impulso figure; impz(rrcfilter,1)  39
  • 61. 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 21. Respuesta al impulso del sistema. Impulse Response 0.6 0.5 0.4 0.3 Amplitude 0.2 0.1 0 -0.1 0 5 10 15 20 25 30 35 40 n (samples)Fuente: Captura de Matlab versión trial (2008)..%% Modulación% Modular 16 QAM y = qammod(xsym,M);%% Señal Transmitida% Muetreo elevado y aplicación del filtro de coseno alzado de raízcuadrada ytx = y; ytx = rcosflt(y,1,nsamp,filter,rrcfilter);% Crea el patrón de ojo de la señal filtrada eyediagram(ytx(1:2000),nsamp*2);  40
  • 62. 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 22. Patrón de ojo de la señal filtrada Eye Diagram for In-Phase Signal 3 2 1 Amplitude 0 -1 -2 -3 -0.5 0 0.5 Time Eye Diagram for Quadrature Signal 3 2 1 Amplitude 0 -1 -2 -3 -0.5 0 0.5 TimeFuente: Captura de Matlab versión trial (2008)..%% Canal% Envía la señal sobre un canal AWGN. EbNo = 10; % In dB snr = EbNo + 10*log10(k) - 10*log10(nsamp); ynoisy = awgn(ytx,snr,measured);%%Señal recibida% Señal filtrada recibida usando un filtro de coseno alzado deraíz 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 dispersión % Crea un diagrama de dispersión de la señal antes y despuésde ser filtrada h = scatterplot(sqrt(nsamp)*ynoisy(1:nsamp*5e3),nsamp,0,g.); hold on; scatterplot(yrx(1:5e3),1,0,kx,h); title(Señal Recibida, Antes y después del filtrado); legend(Antes del filtrado,Despues del filtrado); axis([-5 5 -5 5]); % Ajusta el rango de la axisas  41
  • 63. 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 23. Señal recibida antes y después del filtrado. Señal Recibida, Antes y después del filtrado 5 Antes del filtrado 4 Despues del filtrado 3 2 1 Quadrature 0 -1 -2 -3 -4 -5 -5 0 5 In-PhaseFuente: Captura de Matlab versión trial (2008)..% Demodulación% Demodular la señal usando 16-QAM zsym = qamdemod(yrx,M);% Mapeo de símbolo a bit% Deshace el mapeo de bit a símbolo 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);%% Cálculo del BER% Compara x y z para obtener el número de errores y la tasa deerror de bit [number_of_errors,bit_error_rate] = biterr(x,z)Respuesta de MATLAB para el cálculo del BER number_of_errors = 75 bit_error_rate = 0.0025  42
  • 64. 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 9: Toolbox de Sistemas de Control.Es una herramienta donde se agrupan los comandos que son utilizados para unaaplicación en específico que simplifica la escritura de los algoritmos.Nociones Básicas del toolbox. MATLAB posee una gran cantidad de funcionesmatemática útiles para los sistemas de control. Este producto es una colección dealgoritmos escritos mayormente como archivos *.m que implementan sistemas decontrol sencillos, técnicas de análisis y de modelado. Los sistemas de controlpueden ser modelados como funciones de transferencias, ganancias, polos yceros o variables de estado, permitiendo el uso de técnicas de control clásico ymoderno. Se puede trabajar sistemas con variables de tiempo continuo y discreto.Las respuestas en el tiempo, en la frecuencia y el root locus pueden sercomputadas y graficadas. Otras funciones permiten la ubicación de polos, controlóptimo y estimaciones. Por último permite la posibilidad de crear archivos *.m parauna aplicación particular.Categorías del Toolbox de Control. MATLAB posee una gran librería para lacreación y la manipulación de modelos, tanto de control analógico como digital. Seencuentra organizada de la siguiente manera: • Modelos LTI: Introduce al usuario en los conceptos claves sobre la representación de sistemas LTI (Sistemas lineales invariantes en el tiempo), incluyendo objetos LTI, reglas de precedencia para operaciones y una analogía entre sistemas LTI y matrices. También contiene comandos básicos para ser usados sobre los objetos LTI. • Operaciones en los modelos LTI: Realiza operaciones básicas de las matrices como adición, multiplicación o concatenación en los modelos LTI. También se maneja métodos de discretización. • Herramientas para el Análisis de modelos: Muestra las funciones que caracterizan a los modelos, tales como pares de entrada/salida, análisis de modelos dinámicos, como localización de polos y ceros y la transformación de sistemas en variables de estado en modelos de representaciones canónicas. • 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
  • 65. 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 Modelando Sistemas LTI. Típicamente los ingenieros de control comienzan pordesarrollar una descripción matemática del sistema dinámico que se deseacontrolar, el sistema que se quiere controlar se llama planta. El toolbox de controlofrece una extensiva librería de herramientas para manipular y analizar losmodelos LTI. Soporta sistemas de tiempo continuo y discreto. Estos sistemaspueden ser modelados como single-input/single-output (SISO) o multiple-input/multiple-output (MIMO).Para crear modelos LTI existen una serie de funciones que sirven para generar losparámetros de diferentes técnicas de modelado entre las que se tiene: funcionesde transferencia, ganancias de polos y ceros, variables de estado, respuesta enfrecuencia entre otros. Estas funciones toman los datos del modelo como entraday producen objetos TF, ZPK, SS o FRD y éstos son almacenados en una variablesimple de MATLAB.Tabla 10. Comandos empleados para Modelar sistemas de control. Modelo Comando Función de transferencia tf Ganancia de polos y ceros zpk Modelo de variable de estado ss Respuesta en frecuencia frdFuente: Armando Portela (2008)Tabla 11. Sintaxis y ejemplos de comandos empleados para Modelar sistemas decontrol.Modelo SISO MIMO tf una función de transferencia está definida por Las funciones de transferencias MIMO son : arreglos bidimensionales de funciones n( s ) elementales SISO, por lo que existen diversas h( s ) =   formas para especificar estos modelos d (s) incluyendo: Está caracterizada por un numerador n(s) y • Conectando modelos SISO en cascada. un denominador d(s) ambos polinomios • Usando el comando tf con arreglos de están en función de la variable de Laplace matrices modulares. (s). Existen dos formas de especificar una Considerando la matriz de transferencia función de transferencia: racional. • Usando el comando tf. h = tf(num,den); donde num y den son vectores filas que contiene los coeficientes de los polinomios n(s) y d(s), respectivamente. Estos polinomios  44
  • 66. 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  están ordenados en potencias ⎡ s −1 ⎤ descendentes de s. la variable resultante h es un objeto TF conteniendo los datos ⎢ H ( s) = ⎢ s +1 ⎥   del numerador y del denominador. Por s+2 ⎥ ⎢ 2 ⎥ ejemplo para crear la función de ⎣s + 4s + 5 ⎦ transferencia: Se  puede  especificar  H(s)  por  la  concatenación  s h( s ) = 2   de entradas SISO:  s + 3s + 7 h11 = tf([1 -1],[1 1]); Se escribe: h21 = tf([1 2],[1 4 5]); h = tf ([1 0] , [1 , 3 , 7]) o su equivalente MATLAB retorna: s= tf(s) Transfer function: h11 = (s-1)/(s+1); s h21 = (s+2)/(s^2+4*s+5); ------------------- s^2 + 3 s + 7 La sintaxis para crear la concatenación de las funciones es la siguiente: H= [h11; h21] • Como una expresión racional en función de la variable de Laplace. Esta sintaxis imita la matriz de concatenación 1. Definiendo la variable s como un estándar y tiende a ser más fácil y legible para modelo especial de TF sistemas MIMO con muchas entradas y/o s = tf ( ‘ s ’ ); salidas. Alternativamente para definir una 2. Ingresando la función de transferencia función de transferencia MIMO, usando tf, se como una expresión racional en necesitan 2 arreglos modulares (N, D), para términos de s. representar el conjunto de polinomios, Por ejemplo una vez definida la variable respectivamente. Por ejemplo la matriz de se escribe la función de transferencia de transferencia racional H(s), los dos arreglos la siguiente forma: (N,D) contienen los vectores filas que H=s/(s^2+3*s+7). representan los polinomios de entrada ⎡ s − 1⎤ ⎡ s +1 ⎤ Esto reporta la misma función de N (s) = ⎢ ⎥     D( s ) = ⎢ s 2 + 4 s + 5⎥   transferencia. ⎣ s + 2⎦ ⎣ ⎦ Se pude especificar esta función de transferencia MIMO digitando N = {[1 -1];[1 2]}; % arreglo para N(s) D = {[1 1];[1 4 5]}; % arreglo para D(s) H = tf(N,D) Y MATLAB retorna: Transfer function from input to output... s-1 #1: ----- s+1 s+2 #2: ------------- s^2 + 4 s + 5 Cabe notar que N y D tiene las mismas dimensiones que H. Cuando se necesiten únicamente ganancias se puede usar tf con únicamente un argumento para especificar ganancias simples o ganancias  45
  • 67. 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  de matrices como objetos TF. Por ejemplo: G = tf([1 0;2 1]) Produce la matriz de ganancia: ⎡1 0 ⎤ G=⎢ ⎥ ⎣2 1⎦ zpk Los modelos de tiempo continuo tienen la Como en el modelo de función de transferencia forma: se puede crear un sistema MIMO concatenando ( s − z1 )...( s − z m ) sistemas SISO como entradas. h( s ) = k   ( s − p1 )...( s − p n ) También se pude utilizar el comando zpk para Donde k es un valor escalar real o complejo especificar modelos ZPK MIMO. La sintaxis (ganancia) y z1… zn y p1... pn son valores para crear un modelo p por m es la siguiente. reales o pares de complejos conjugados de los polos y ceros de la función de H = zpk (Z , P , K) transferencia h(s). Este modelos esta Donde cercanamente relacionado con la • Z es el arreglo de ceros p por m representación de los modelos por función de (Z{i,j}=ceros de Hij(s)) transferencia: los ceros son las raíces del • P es el arreglo de polos p por m numerador y los polos las raíces del (P{i,j}=polos de Hij(s)) denominador. • Z es el arreglo de ganancias p por m Existen dos formas para representar los (K{i,j}=ganancia de Hij(s)). modelos de ganancias, polos y ceros. • Usando el comando zpk. Por ejemplo se escribe lo siguiente La sintaxis de este comando es: Z= {[],-5;[1-i 1+i] []}; h = zpk(z,p,k) P = {0,[-1 -1];[1 2 3],[]}; Donde z y p son los vectores de polos y K = [-1 3;2 0]; ceros y k es la ganancia. Esto produce un H = zpk(Z,P,K) objeto ZPK donde h encapsula los datos z, p y k. Por ejemplo si se escribe: h = zpk(0, [1-i 1+i 2], -2) MATLAB retorna: MATLAB retorna: Zero/pole/gain from input 1 to output... Zero/pole/gain: -1 -2 s #1: -- -------------------- s (s-2) (s^2 - 2s + 2 • Como una expresión racional en función 2 (s^2 - 2s + 2) de la variable de laplace S #2: ----------------- (s-1) (s-2) (s-3) 1. Definiendo la variable s como un modelo especial de ZPK Zero/pole/gain from input 2 to output... s = zpk ( ‘ s ’ ); 3 (s+5) 2. Ingresando la función de transferencia #1: ------- como una expresión racional en (s+1)^2 términos de s. Por ejemplo ya definido s con zpk #2: 0  46
  • 68. 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  H = -2s/((s - 2)*(s^2 + 2*s + 2)); Donde se ha creado el modelo de dos entradas y dos salidas. Esto genera la misma función de ⎡ 1 3( s + 5) ⎤ transferencia − ⎢ s ( s + 1) 2 ⎥ H (s) = ⎢ ⎥ ⎢ 2( s − 2 s + 2) 2 0 ⎥ ⎢ ( s − 1)( s − 2)( s − 3) ⎣ ⎥ ⎦Fuente: Armando Portela (2008).El modelo de Variable de estado depende de ecuaciones lineales de diferencia odiferenciales los modelos de tiempo continuo tienen la forma: dx = Ax + Bu dt   y = Cx + DuDonde x es el vector de estado y u e y son los vectores de entrada y salida, estasecuaciones pueden surgir de la física, de la identificación de las variables deestado o por realización de los sistemas de función de transferencia. Se usa elcomando ss, para crear el modelo de función 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 complejosEsto produce un objeto SS sys que almacena las matrices de variables de estadoA, B, C, D, para modelos con una matriz de ceros (D) se puede usar D=0, es unatajo para crear una matriz de ceros de dimensiones adecuadas. Ejemploconsidere el siguiente modelo de un motor eléctrico: d 2θ dθ 2 +2 + 5θ = 3I   dt dt  47
  • 69. 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 Donde θ es el desplazamiento angular del roto e I la corriente manejadora. Larelación 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 = CxDonde ⎡θ ⎤ ⎡0 1 ⎤ ⎡0⎤ x = ⎢ dθ ⎥   A=⎢ ⎥  B=⎢ ⎥  C = [0 1]   ⎢ dt ⎥ ⎣ ⎦ ⎣ − 5 − 2⎦ ⎣ 3⎦ El modelo especificado se escribe en MATLAB de la siguiente forma:sys = ss([0 1;-5 -2],[0;3],[0 1],0)Y el programa retornaa= x1 x2 x1 0 1 x2 -5 -2b= u1 x1 0 x2 3c= x1 x2 y1 0 1d= u1 y1 0  48
  • 70. 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 Los modelos de respuesta en frecuencia (FRD), en algunas ocasiones solo tienenlos datos de la frecuencia muestreada, en lugar de una función de transferencia oun modelo de variable de estado para el sistema que se desea analizar ocontrolar.Por ejemplo: se supone la función de respuesta en frecuencia, para el sistemaSISO que se desea modelar es G(w), además que se realiza un experimento paraevaluar G(w) a un conjunto fijo de frecuencias w1, w2, …, wn. se puede manejar elsistema con una secuencia de sinusoides para cada frecuencia, como se describea continuación:Señal de entrada sin sin wit    Seña de salida   yi (t )  Función de transferencia G(w)Aquí wi es la frecuencia de entrada de cada sinusoide, i=1…,n yG ( w) = G ( w) exp( j∠G ( w)) .  La respuesta de la salida en estado estable de estesistema satisface y i (t ) = G ( wi ) sin( wi t + ∠G ( wi ));   i=1…,n.El objeto de un modelo de respuesta en frecuencia, se puede tratar como unmodelo LTI, y manipularlo de la misma manera que se manipulan los objetos TF,SS Y ZPK de los modelos.La sintaxis básica 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
  • 71. 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 el archivo MAT (MAT-file) LTIexamples.mat contiene un vector defrecuencia freq, y un vector de datos de respuesta de frecuencias complejasrespG. Para cargar estos datos en el dominio de la frecuencia y construir unmodelo 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.000390iLa sintaxis para crear un modelo MIMO FRD, es la misma que para un modeloSISO, excepto que la respuesta es un arreglo multidimensional p por –m- por Nf,donde p es el número de salidas, m es el número de entradas y Nf es el númerode puntos de datos de frecuencias (la duración de la frecuencia).La creación de modelos en tiempo discreto es muy parecida a la creación demodelos de tiempo continuo, excepto que hay que definir un periodo de muestreoo tiempo de muestreo para estos. El valor de este tiempo debe ser un escalar yexpresado en segundos, aunque puede utilizarse el valor de -1 para dejar eltiempo de muestreo sin especificar.Para determinar modelos LTI en tiempo discreto con los comandos tf, zpk, ss o frd,simplemente se añade el tiempo de muestreo deseado Ts de la lista de losargumentos 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
  • 72. 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 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.1Operaciones en los modelos LTI. Con los modelos LTI se pueden realizar lasoperaciones básicas de las matrices, como multiplicación, adición oconcatenación. Como estas operaciones utilizan las mismas sintaxis que sonempleadas para operaciones con matrices, pero adaptadas para ser aplicadas asistemas o modelos LTI.Las operaciones y los comandos como el de la retroalimentación opera sobre másde un sistema a la vez, si eso modelos LTI son representados como diferentestipos de objetos (Por ejemplo la primera operación es sobre un objeto TF y elsegundo sobre un objeto SS), entonces no es obvio que tipo de modelo sería elresultante (TF o SS). Esta serie de conflictos se resuelven con la regla deprecedencia. Los objetos TF, ZPK, SS y FRD, están organizados por una jerarquíade precedencia. FRD > SS > ZPK > TFEntonces ZPK toma precedencia sobre TF, SS toma precedencia sobre TF y ZPKy así sucesivamente. Cualquier operación que involucre dos o mas modelos LTIproduce: • Un objeto FRD si por lo menos uno de los objetos del sistema es FRD • Un objeto SS, sin ningún objeto FRD está presente y por lo menos un objete SS está en el sistema. • Un objeto ZPK, sin ningún 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
  • 73. 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 Las operaciones sobre los sistemas de diferente tipo trabajan de la siguientemanera: el tipo resultante está determinado por la regla de precedencia y todos losoperandos son convertidos a la forma adecuada y luego se realizan lasoperaciones.Para reemplazar la supremacía de la regla de precedencia y forzar el resultado dela operación se puede: • Convertir todos los operandos antes de ejecutar la operación. • Convertir el resultado después de ejecutar la operación.Otra cuestión es la regla de herencia, que es, que las propiedades de losoperandos pasan sus propiedades al resultado de la operación. Si bien la herenciahace 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 mayoría 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 aritméticas pueden ser aplicadas en los modelos LTI, de lasiguiente manera:• Adición y sustracción: Sumar modelos LTI es equivalente a conectarlos en paralelo. Por ejemplo: sys = sys1 + sys2 La representación de la interconexión en paralelo es la siguiente:  52
  • 74. 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 24. Interconexión en paralelo de dos modelos LTI. Adición y sustracción y1   sys1    +  u   y2  y  sys2  +   sys  sys1   u    y1  +  y  sys2  _  sys  y2  Fuente: Armando Portela (2008) Si sys1 y sys2 son dos modelos de variables de estado con A1, B1, C1, D1, y A2, 2, C2, y D2, el resultado sería: ⎡ A1 0⎤ ⎡ B1 ⎤ ⎢0 ⎢ B ⎥ ,    [C1 C 2 ] ,  D1 + D2 A2 ⎥ ,    ⎣ ⎦ ⎣ 2⎦ Tambien 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 comado para conectar los sistemas en paralelo es: parallel(sys1,sys2)  53
  • 75. 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 Multiplicación. La multiplicación de dos modelos LTI es conectarlos en serie.Específicamente sys = sys1 * sys2 MATLAB retorna un modelo LTI sys conectado en serie como se muestra:Figura 25. Interconexión en serie   u  v  y   sys1  sys2 Fuente: Armando Portela (2008) El comando para conectar en serie los sistemas es: series(sys1, sys2) Si sys1 y sys2 son dos modelos de variables de estado con A1, B1, C1, D1, y A2, 2, C2, y D2, el resultado sería: ⎡ A1 B1C 2 ⎤ ⎡ B1 D2 ⎤ ⎢0 ⎢ B ⎥ ,  [C1 D1C 2 ] ,    A2 ⎥ ,      D1 D2   ⎣ ⎦ ⎣ 2 ⎦    Inversión y operaciones relacionadas. La inversión de modelos LTI , invierte larelación entre entradas y salidas y = Hu → u = H −1 y       Esta operación es definida únicamente para sistemas cuadrados, está determinada por: inv(sys)  54
  • 76. 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 modelo inverso resultante es del mismo tipo que sys. Las operaciones relacionadas incluyen: o División izquierda sys1sys2, lo cual es equivalente inv(sys1)*sys2 o División 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      Transposición. Se puede transponer un sistema LTI usando: sys.’ Esta es una operación 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 transposición 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 número de funciones que ayudan a modelar yconstruir procesos. Eso incluye las funciones para la interconexión de modelos,estas funciones son útiles para modelos de lazo abierto y cerrado.  55
  • 77. 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 12. Sintaxis y ejemplos de comandos empleados para interconectarmodelos.Operador de Descripcióninterconexión[,] Concatena los modelos horizontalmente[;] Concatena los modelos verticalmenteappend Agrega modelos en una configuración de bloque diagonal, la sintaxis de este comando es la siguiente: sys=append(sys1, sys2,…,sysN). Añade las entradas y salida de los modelos LTI sys1,…,sysN, para formar un modelo aumentado, como se describe a continuación 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 función de transferencia. ⎡ H 1 ( s) 0 L 0 ⎤ ⎢ 0 H 2 (s) 0 M ⎥ ⎢ ⎥  ⎢ M M O 0 ⎥ ⎢ ⎥ ⎣ 0 L 0 H N ( s )⎦ Para un modelo de variable de estado sys1 y sys2 con datos (A1, B1, C1, D1) y (A2, B2, C2, D2), append(sys1,sys2), produce el siguiente modelo de variable de estado. ⎡ • ⎤ ⎡A 0 ⎤ ⎡ x1 ⎤ ⎡ B1 0 ⎤ ⎡ y1 ⎤ ⎢ x1 ⎥ = ⎢ 1 + A2 ⎥ ⎢ x 2 ⎥ ⎢ 0 B2 ⎥ ⎢ y 2 ⎥ •   ⎢x ⎥ ⎣ 0 ⎦⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ 2⎦ ⎡ y1 ⎤ ⎡C1 0 ⎤ ⎡ x1 ⎤ ⎡ D1 0 ⎤ ⎡ u1 ⎤ ⎢y ⎥ = ⎢ 0 + C 2 ⎥ ⎢ x2 ⎥ ⎢ 0 D2 ⎥ ⎢u 2 ⎥   ⎣ 2⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦⎣ ⎦   Los argumentos de entrada sys1,..,sysN, pueden ser modelos LTI de cualquier tipo. Las matrices regulares también son representadas como ganancias  56
  • 78. 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  estáticas, 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 límte de entradas. Ejemplo: Los comandos: sys1 = tf(1,[1 0]) sys2 = ss(1,2,3,4) sys = append(sys1,10,sys2) Producen el modelo de variables de estado: sys a= x1 x2 x1 0 0 x2 0 1.00000 b= u1 u2 u3 x1 1.00000 0 0 x2 0 0 2.00000 c= x1 x2 y1 1.00000 0 y2 0 0 y3 0 3.00000 d= u1 u2 u3 y1 0 0 0 y2 0 10.00000 0 y3 0 0 4.00000 Continuous-time system.connect Deriva el modelo de variables de estado a partir de la descripción del diagrama de bloques. La sintaxis del comando es la siguiente: sysc = connect(sys, Q, inputs, outputs ) Los sistemas dinámicos complejos se dan a menudo como diagrama de bloques. Para sistemas de complejidad moderada puede ser bastante difícil encontrar un modelo de variable de estado requerido para analizar y diseñar las herramientas para usarlo. Comenzando con la descripción 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
  • 79. 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  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 interconexión total. Los argumentos Q, inputs, outputs tiene el siguiente propósito: • La matriz Q indica como están conectados los bloques en el diagrama. Tiene una fila por cada entrada de sys, donde el primer elemento de cada fila es el número 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 unión. • Dado sys y Q se calcula un modelo de variables de estado para la interconexión con las mismas entradas y salidas que sys (que es la concatenación 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 función connect no soporta retrasos. Ejemplo: Figura 27. Ejemplo de interconexión 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
  • 80. 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  sys3 = zpk(-1,-2,2) A continuación se añaden los bloques para formar el bloque no interconectado. sys = append(sys1,sys2,sys3) Esto produce el modelo de bloques diagonal: sys a= x1 x2 x3 x4 x1 -5 0 0 0 x2 0 -9.0201 17.779 0 x3 0 -1.6943 3.2138 0 x4 0 0 0 -2 b= uc u1 u2 ? x1 4 0 0 0 x2 0 -0.5112 0.5362 0 x3 0 -0.002 -1.847 0 x4 0 0 0 1.4142 c= x1 x2 x3 x4 ? 2.5 0 0 0 y1 0 -3.2897 2.4544 0 y2 0 -13.501 18.075 0 ? 0 0 0 -1.4142 d= uc u1 u2 ? ? 0 0 0 0 y1 0 -0.5476 -0.141 0 y2 0 -0.6459 0.2958 0 ? 0 0 0 2 Continuous-time system. Hay que notar que el orden de las entradas y las salidas es la misma como el orden de los bloques que se escogió, las entradas y salidas son denotadas por b. Para producir l diagramas de bloques total de sys especifica las interconexiones y las entradas y salidas externas. Se necesita conectar las saidas 1 y 4 en la entrada 3 (u2) y la salida 3 (y2) en la entrada 4. La matriz de interconexión 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
  • 81. 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  MATLAB retorna: a= x1 x2 x3 x4 x1 -5 0 0 0 x2 0.84223 0.076636 5.6007 0.47644 x3 -2.9012 -33.029 45.164 -1.6411 x4 0.65708 -11.996 16.06 -1.6283 b= uc u1 x1 4 0 x2 0 -0.076001 x3 0 -1.5011 x4 0 -0.57391 c= x1 x2 x3 x4 y1 -0.22148 -5.6818 5.6568 -0.12529 y2 0.46463 -8.4826 11.356 0.26283 d= uc u1 y1 0 -0.66204 y2 0 -0.40582 Continuous-time system Cabe notar que las entradas y salidas son como se buscaba.Parallel Conecta dos modelos LTI, la sintaxis de este comando es: sys = parallel(sys1,sys2) sys = parallel(sys1,sys2,inp1,inp2,out1,out2) Esta función acepta cualquier tipo de modelo LTI. Los dos sistemas deben ser continuos o discretos con el mismo tiempo de muestreo. Las ganancias estáticas 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 conexión del sistema se describe a continuación:  60
  • 82. 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 28. Interconexión de un sistema en paralelo Fuente: Armando Portela (2008). Es la forma más general de la interconexión en paralelo. Los índices de los vectores inp1 e inp2 especifican cual entrada u1 de sys1 y cual entrada u2 de sys2 están conectadas. Similarmente los índices de los vectores out1 y out2 especifican cual de las salidas y1 de sys1 y cuál de las salidas y2 de sys2 están 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 función acepta cualquier tipo de modelo LTI. Los dos sistemas deben ser continuos o discretos con el mismo tiempo de muestreo. Las ganancias estáticas 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 más general de la conexión en serie. Esta conexión esta descrita en la siguiente figura:  61
  • 83. 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 29. Interconexión de un sistema en serie Fuente: Armando Portela (2008). El índice de los vectores outputs1 y outputs2 indica cual salida de y1 de sys1 y cual entrada u2 de sys2 deben ser conectadas. El modelo resultante sys tiene u como entrada e y como salida.feedback Conecta dos sistemas LTI retroalimentados, la sintaxis de este comando es la siguiente: sys = feedback(sys1,sys2) sys = feedback(sys1,sys2,sign) sys = feedback(sys1,sys2,feedin,feedout,sign) El primer comando retorna un sistema LTI sys con retroalimentación negativa Figura 30. Interconexión de un sistema con retroalimentación 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 retroalimentación negativa, se usa la sintaxis sys = feedback(sys1,sys2,+1)  62
  • 84. 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 defecto el commando feedback assume una retroalimentación 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 más 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 están involucradas en lazo de retroalimentación. Similarmente feedout especifica cuales salidas y de sys1 son usadas para la retroalimentación. El modelo resultante tiene las mismas entradas y salidas como sys1 (con el mismo orden). La retroalimentación negativa es aplicada por defecto. Para aplicar una retroalimentación positiva se utilizaría 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 usode un solo comando (c2d o d2c). Este (c2c) discretiza modelos de tiempo continuoTF, ZPK, SS. Inversamente, d2c convierte modelos de tiempo discreto TF, ZPK,SS. La sintaxis de los comandos de estos comandos son: sysd = c2d(sysc,Ts); % Ts = Periodo de muestreo en segundos sysc = d2c(sysd);  63
  • 85. 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 conversión de tiempo discreto a continuo utiliza un retenedor de orden ceroZOH, por defecto.Herramientas para el análisis de sistemas de control. Estas herramientaspueden usarse para determinar las características como el número de pares deentrada/salida, el tiempo de muestreo si el sistema es discreto. Esta lista decomandos funciona con cualquier modelo de sistema LTI. Los análisis pueden serhechos en el dominio del tiempo o en el dominio de la frecuencia. Los comandospara el análisis en el dominio del tiempo son los siguientes:Tabla 13. Sintaxis y ejemplos de comandos empleados para el análisis desistemas de control.Comando Sintaxisimpulse 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 asignación, esta función dibuja la respuesta al impulso en pantalla. • impulse(sys): Grafica la respuesta impulso de un modelo arbitrario LTI sys. Este modelo puede ser continuo o discreto, y SISO o MIMO. La respuesta al impulso de un sistema multi- entrada es la colección de las respuestas impulsos para cada canal de entrada. La duración de la simulación está determinada automáticamente para mostrar el comportamiento transiente de la respuesta. • impulse(sys,t):ajusta los límites de la simulación. 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 timpo muestreado del modelo de simulación discretizado, para asegurarse que se escoja un dt lo suficientemente pequeño para capturar el fenómeno 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
  • 86. 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  Cuando son utilizados los argumentos del lado izquierdo del lado de la asignación 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 simulación, y las trayectoria de estado x. No realiza ningún 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 dimensión de y, las dimensiones de y son: (Longitud de t ) X (número de salidas) X (número 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 ⎤ ⎢ x1 ⎥ = ⎢ • ⎥ ⎢ x ⎥ + ⎢0 2 ⎥ ⎢u ⎥   1 1 ⎢ x ⎥ ⎣ 0.7814 0 ⎦⎣ 2 ⎦ ⎣ ⎦⎣ 2 ⎦ ⎣ 2⎦ ⎡x ⎤ y = [1.9691 6.4493]⎢ 1 ⎥   ⎣ x2 ⎦ Usando los siguientes comandos: a= [-0.5572 -0.7814;0.7814 0]; b = [1 -1;0 2]; c = [1.9691 6.4493]; sys = ss(a,b,c,0); impulse(sys). MATLAB retorna:  65
  • 87. 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 32. Respuesta al impulso del sistema. Impulse Response From: In(1) From: In(2) 12 10 8 6 4 Amplitude 2 0 -2 -4 -6 0 5 10 15 20 0 5 10 15 20 Time (sec) Fuente: Captura de Matlab versión trial (2008)..step Calcula la respuesta de los modelos LTI al escalón 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 asignación, esta función dibuja la respuesta al escalón en pantalla. • step(sys): Grafica la respuesta escalón 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 colección de las respuestas escalon para cada canal de entrada. La duración de la simulación está determinada automáticamente para mostrar el comportamiento transiente de la respuesta. • step(sys,t):ajusta los límites de la simulación. 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 timpo muestreado del modelo de simulación discretizado, para asegurarse que se escoja un dt lo suficientemente pequeño para capturar el fenómeno del transiente. • Para dibujar la respuesta al impulso de muchos modelos LTI, en una sola figura se usa:  66
  • 88. 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  step(sys1,sys2,...,sysN) step(sys1,sys2,...,sysN,t) Cuando son utilizados los argumentos del lado izquierdo del lado de la asignación 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 simulación, y las trayectoria de estado x. No realiza ningún 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 dimensión de y, las dimensiones de y son: (Longitud de t ) X (número de salidas) X (número de entradas) Ejemplo: Dibujar la respuesta al escalón unitario del modelo de variable de estado de segundo orden. ⎡ • ⎤ ⎡− 0.5572 − 0.7814⎤ ⎡ x ⎤ ⎡1 − 1⎤ ⎡ u ⎤ ⎢ x1 ⎥ = ⎢ • ⎥ ⎢ x ⎥ + ⎢0 2 ⎥ ⎢u ⎥   1 1 ⎢ x ⎥ ⎣ 0.7814 0 ⎦⎣ 2 ⎦ ⎣ ⎦⎣ 2 ⎦ ⎣ 2⎦ ⎡x ⎤ y = [1.9691 6.4493]⎢ 1 ⎥   ⎣ x2 ⎦   Usando los siguientes comandos: a= [-0.5572 -0.7814;0.7814 0]; b = [1 -1;0 2]; c = [1.9691 6.4493]; sys = ss(a,b,c,0); step(sys). MATLAB retorna:  67
  • 89. 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 33. Respuesta al sistema al escalón unitario Step Response From: In(1) From: In(2) 12 10 8 6 Amplitude 4 2 0 -2 -4 0 5 10 15 20 0 5 10 15 20 Time (sec) Fuente: Captura de Matlab versión trial (2008)..Fuente: Armando Portela (2008).Para el análisis de sistemas a nivel de respuesta en frecuencia tenemos lossiguientes comandos:Tabla 14. Sintaxis y ejemplos de comandos empleados para el análisis de larespuesta en frecuencia de sistemas de control.Comando SintaxisBode 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 asignación el comando produce un diagrama de Bode en la pantalla. La magnitud es dibujada en decibeles (dB) y la fase en grados. El ( ) cálculo 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
  • 90. 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  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 automáticamente por el sistema de polos y ceros. • bode(sys,w): se especifica explícitamente el rango de frecuencias o los puntos de frecuencias que serán 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 logarítmicamente 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 número de entradas y de salidas pero puede ser una combinación de modelos continuos y discretos. Esta sintaxis es útil para comparar la respuesta de múltiples sistemas. Cuando son invocados los argumentos del lado izquierdo de la asignación: [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 dimensión, se puede hacer la conversión de la magnitud a dB se hace de la siguiente forma: magdb = 20*log10(mag). Ejemplo: Dibujar el diagrama de Bode para el siguiente sistema SISO continuo: s 2 + 0.1s + 7.5 H (s) =   s 4 + 0.12s 3 + 9 s 2 Digitando los siguientes comandos: g= tf([1 0.1 7.5],[1 0.12 9 0 0]); bode(g)  69
  • 91. 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 34. Diagrama de bode del sistema. Bode Diagram 0 -10 M g itu e(d ) an d B -20 -30 -40 -45 -90 e) P a e(d g hs -135 -180 0 1 10 10 Frequency (rad/sec) Fuente: Captura de Matlab versión trial (2008).. Para dibujar la frecuencia en un rango más amplio de 0.1 a 100 rad/sec se digita: bode(g,{0.1 , 100}) MATLAB retorna Figura 35. Diagrama del sistema con una el rango de frecuencia ampliado. Bode Diagram 40 20 M g itu e(d ) an d B 0 -20 -40 -60 -80 -45 -90 e) P a e(d g hs -135 -180 -1 0 1 2 10 10 10 10 Frequency (rad/sec) Fuente: Captura de Matlab versión 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
  • 92. 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 36. Comparación de los diagramas de Bodes continuo y discretos Bode Diagram 40 20 Magnitude (dB) 0 -20 -40 -60 -80 0 -90 Phase (deg) -180 -270 -1 0 1 10 10 10 Frequency (rad/sec) Fuente: Captura de Matlab versión 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 asignación 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 estabilidadLa 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 automáticamente por el sistema de polos y ceros. • nyquist(sys,w): se especifica explícitamente el rango de frecuencias o los puntos de frecuencias que serán 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 logarítmicamente espaciados. todas las frecuencia deben ser dadas en radian/sec.  71
  • 93. 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  • 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 número de entradas y de salidas pero puede ser una combinación de modelos continuos y discretos. Esta sintaxis es útil para comparar la respuesta de múltiples sistemas. Cuando son invocados los argumentos del lado izquierdo de la asignación: [re,im,w] = nyquist(sys) [re,im] = nyquist(sys,w) Retorna la parte real e imaginaria de la respuesta en frecuencia a las frecuencias w(rad/sec). Las salida re y im son arreglos tridimensionales. Ejemplo: Dibujar el diagrama de Nyquist para el siguiente sistema : 2 s 2 + 5s + 1 H (s) =   s 2 + 2s + 3 Digitando los siguientes comandos: H = tf([2 5 1],[1 2 3]) nyquist (H) MATLAB retorna: Figura 37. Diagrama de Nyquist del sistema Nyquist Diagram 2 1.5 1 0.5 Imaginary Axis 0 -0.5 -1 -1.5 -2 -1 -0.5 0 0.5 1 1.5 2 2.5 3 Real Axis Fuente: Captura de Matlab versión trial (2008)..  72
  • 94. 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 lugar geométrico de las raíces de Evans (quién en 1948 propuso algunas reglaspara esbozar el gráfico) es realizado por el comando rlocus en un modelo SISO delazo abierto. El lugar geométrico de las raíces brinda las trayectorias de lazocerrado como función de la ganancia de la trayectoria de retroalimentación k(asumiendo una retroalimentación negativa). Este gráfico es usado para estudiarlos efectos de la variación de las ganancias en la retroalimentación en lalocalización de los polos en un lazo cerrado. A su vez esos lugares proporcionanuna información indirecta de las respuestas en el tiempo y en la frecuencia. Lasintaxis 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 geométrico de las raíces del modelo SISO delazo abierto sys. esta función puede ser aplicada a los siguientes lazos deretroalimentación negativo, ajustando las características del modelo sysapropiadamente.Figura 38. Lazos de retroalimentaciónFuente: Armando Portela (2008).  73
  • 95. 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 Si sys tiene la función de transferencia: n( s ) h( s ) = d (s)Los polos del lazo cerrados son las raíces de: d ( s) + kn( s) = 0      El comando selecciona un conjunto de valores de k, para producir un diagramasuavizado. Alternativamente rlocus(sys,k), donde los valores de k sonespecificados por el usuario para diagramar el lugar geométrico de las raíces.rlocus(sys1,sys2,...), diagrama el lugar geométrico de las raíces de múltiplesmodelos LTI, en un solo diagrama.Cuando son invocados los argumentos del lado izquierdo de la asignación: [r,k] = rlocus(sys) r = rlocus(sys,k)Retorna el vector k de las ganancias seleccionadas y los lugares de las raícescomplejas r para esas ganancias.Ejemplo: Diagrame el lugar geométrico de las raíces para el siguiente sistema: 2 s 2 + 5s + 1 H ( s) =   s 2 + 2s + 3 h = tf([2 5 1],[1 2 3]); rlocus(h)MATLAB retorna;  74
  • 96. 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 39. Diagrama del lugar geométrico de las raíces del sistema Root Locus 1.5 1 0.5 Imaginary Axis 0 -0.5 -1 -1.5 -2.5 -2 -1.5 -1 -0.5 0 Real AxisFuente: Captura de Matlab versión trial (2008)..Lección 10: Simulación de un sistema de controlModelado de un motor de corriente de continua.Figura 40. Esquema del circuito eléctrico y diagrama mecánico rotacional Fuente: Armando Portela (2008).  75
  • 97. 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 Par el modelo del motor se consideraron los parámetros dados en la Tabla 15.Tabla 15. Parámetros de un Motor de Corriente Continua Parámetro Símbolo Valor Momento de inercia del sistema J kgm 2 0.01 2 s Coeficiente de fricción b 0.1Nms Constante de fuerza electromotriz K=Ke=Kt Nm (FEM) 0.01 A Resistencia de armadura R 1Ω Entrada: fuente de tensión V 0.5 H Posición del eje ΘFuente: Armando Portela (2008).Se suponen rotor y ejes rígidos,El torque (T) se relaciona con la corriente de armadura y la fem (e) con lavelocidad de rotación, según 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 siguientesecuaciones diferenciales que describen al sistema dinámico. •• • 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
  • 98. 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 Igualando las ecuaciones 5 y 6 y despejando se obtiene: • Θ K =  (7)  V ( J ⋅ s + b) ⋅ ( L ⋅ s + R ) + K 2  Que es la función de transferencia del sistema.El modelo de variables de estado es el siguiente: ⎡ b K ⎤ • d ⎡θ ⎤ ⎢ − J ⎡ ⎤ ⎡0⎤ • ⎢ ⎥=⎢ J ⎥ ⋅ ⎢θ ⎥ + ⎢ 1 ⎥ ⋅ v  (8)  dt ⎢ i ⎥ ⎢− K R⎥ ⎣ ⎦ − ⎥ ⎢i ⎥ ⎢L⎥ ⎣ ⎦ ⎣ ⎦ ⎣ L L⎦Código en MATLAB:%%MOTOR DE CORRIENTE CONTINUA CC%Definición de los parámetrosJ=0.01;b=0.1;K=0.01;R=1;L=0.5;%Creación de la función 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 escalón en lazo abierto figure; step(sys) title(Respuesta al escalón en lazo abierto); grid; xlabel(Tiempo); ylabel(Amplitud);  77
  • 99. 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  %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 escalón en lazo abierto figure; step(sysss) title(Respuesta al escalón en lazo abierto); grid; xlabel(Tiempo); ylabel(Amplitud);Siendo el mismo sistema descrito de formas diferentes, las respuestas soniguales.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 diseñar el controlador PID se debe recordar la función de transferencia deeste controlador, la cual es: KI K ⋅ s2 + KD ⋅ s + KI KP + + KD ⋅ s = D (9)  s s    78
  • 100. 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 debe encontrar los valores de las constantes del controlador que hagan cumplirlas condiciones mencionadas anteriormente. Que en este caso son: Kp=100,Ki=200, Kd=10, con este código se pueden hacer pruebas para el controlador.  %Función 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 función del sistema retroalimentado numa=conv(num,numc); dena=conv(den,denc); [numac,denac]=cloop(numa,dena); figure; step(numac,denac)El lugar geométrico de las raíces, es utilizado para controlar el sistema, realizandouna compensación esto se logra agregando polos y ceros, con tal de que elsistema en lazo cerrado, se comporte como se desea. Para conseguir estacompensación se agrega un compensador por atraso de fase, cuya función detransferencia es: s +1 (10)  s + 0.01  %Utilizando el lugar geométrico de las raíces con un compensadorpor 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
  • 101. 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 %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 línea de comandos k=ans; [numc,denc]=cloop(k*numb,denb,-1); figure; step(numc,denc) title(Respuesta escalon con un compensador) CAPITULO 3: SIMULINK. CONCEPTOS BASICOSIntroducción. SIMULINK es un paquete software utilizado para modelar simular yanalizar sistemas dinámicos, soporta tanto sistemas lineales como no lineales,pueden ser modelados de forma continua, discreta o una mezcla de ambos. Unode los objetivos de este programa es brindar herramientas gráficas que adiferencia de la programación normal se basa en la unión de diferentes bloquesfuncionales para realizar modelado y simulación de sistemas.  Lección 11: CaracterísticasSIMULINK es un entorno de simulación multi-dominio basado en modelos parasistemas dinámicos y embebidos. Proporciona un entorno gráfico interactivo yajustable con un conjunto de librerías de bloques que le permiten, diseñar, simular,implementar y probar una variedad de sistemas variables en el tiempo, incluyendocomunicaciones, control, procesamiento de señales, procesamiento de vídeo, yprocesamiento de imágenes.SIMULINK ésta integrado con MATLAB, proporcionando acceso inmediato a unaamplia gama de herramientas que le permiten desarrollar algoritmos, analizar yvisualizar simulaciones, crear scripts de procesamiento por lotes, personalizar elentorno de modelado, definir señales, parámetros y datos de prueba.Con este programa se puede ir más allá de los modelos lineales ideales, paraexplorar modelos no lineales, más reales, teniendo en cuenta diferentes factorescomo fricción, resistencia del aire, detenciones bruscas, entre otros que describenmejor los fenómenos del mundo real. SIMULINK convierte un PC en un laboratoriopara el modelado y análisis de sistemas que en la realidad simplemente no seríaposible y/o práctico.  80
  • 102. 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 Las características fundamentales que definen a este entorno de simulación sonlas siguientes: • Gran cantidad de librerías de bloques que pueden ampliarse. • Editor gráfico interactivo para el ensamble y manejo de diagramas de bloques. • Habilidad para manejar diseños complejos segmentando los modelos en jerarquías de componentes. • Explorador de modelos para navegar, crear, configurar y buscar todas las señales, propiedades y código generado asociado con un modelo. • Posee interfaces de programación de aplicaciones (API´s), que permiten conectarse con otros programas de simulación. • Posee bloques de función con MATLAB embebido, para ser usadas en sistemas de esta característica. • Modos de simulación (normal, acelerado o rápidamente acelerado), para correr simulaciones interpretativamente o compiladas. • Depurador gráfico para examinar resultados de las simulaciones y diagnosticar la ejecución y comportamientos inesperados. • Acceso total a MATLAB, para analizar y visualizar resultados, ajustar el entorno de modelado, y definir señales, parámetros y datos de pruebas. • Análisis de modelos y herramientas de diagnóstico para asegurar la consistencia del modelo e identificación de errores.Las aplicaciones de SIMULINK son similares a las de MATLAB, por lo que acontinuación se describirán las más importantes.Diseño de sistemas de control: Para el diseño de sistemas embebidos(empotrados), esta herramienta es utilizada para la creación de modelos, muyempleados en diferentes áreas como la industria aeroespacial, procesos decontrol, equipos industriales, etc.Procesamiento de señal y telecomunicaciones: El diseño basado en simulación demodelos, permite un desarrollo de aplicaciones más rápido y económico, lasimulación dinámica elimina la necesidad de prototipos físicos. Un método depruebas integrado ayuda a corregir los errores, y mejorar la calidad de los diseños.Procesamiento de imagen: Este entorno posee herramientas para elprocesamiento de imágenes y video, además proporciona a los ingenieros,  81
  • 103. 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 científicos, investigadores una interfaz intuitiva y flexible para resolver complejosproblemas de procesamiento de imágenes.SIMULINK ofrece a los usuarios una gran librería de ayuda que contieneexplicaciones del uso de los comandos, los parámetros necesarios para sucorrecta utilización y una serie de ejemplos que ilustran de una manera didácticala utilización de los diferentes bloques.Lección 12: Entorno de trabajo en SimulinkSIMULINK está diseñado para que el usuario pueda empezar su estudioimplementando aplicaciones sencillas de prueba con fines didácticos, se puedepartir construyendo nuevos modelos fácilmente, o bien adoptar un modelo yaexistente y añadirle diferentes características, aprovechando el hecho de que sepuede tener acceso a todas las herramientas del MATLAB.El SIMULINK proporciona una interfaz gráfica de usuario (GUI), para laconstrucción de modelos como diagramas de bloques, brindando un entornográfico de simulación en el que solo es necesario arrastrar los diferentes bloquesfuncionales sobre una plantilla, estos bloques prediseñados poseen parámetrosque pueden ser modificados de acuerdo con las características que el usuarionecesita para su simulación, luego dichos bloques son interconectados creando unflujo de información a través de las conexiones.Iniciando el SIMULINK. Podría considerarse al SIMULINK como un toolbox deMATLAB, en el que se puede programar gráficamente. El acceso a estaherramienta 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 librería de bloques. Figura 41Dentro de esta pantalla se puede escoger un nuevo modelo o un modelopreestablecido y/o los bloques a usar. Figura 41.  82
  • 104. 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 inicia con un nuevo modelo de SIMULINK, haciendo clic sobre nuevo en lapantalla inicial, haciendo clic sobre file en la barra de menús, luego sobre new ypor último sobre New model o presionado ctrl+n simultáneamente con estoaparecerá la ventana de inserción de bloques y simulación. Ver Figura 42.Figura 41. Acceso a SIMULINK.Fuente: Captura de Matlab versión trial (2008).l.Figura 42. Pantalla inicial de SIMULINKFuente: Captura de Matlab versión trial (2008).l.  83
  • 105. 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 43. Ventana de Inserción de bloques y simulación, Editor de Modelos.Fuente: Captura de Matlab versión trial (2008).l.Abriendo un modelo. Para editar un diagrama de un modelo existente se debeabrir dicho modelo, para esto se puede realizar lo siguiente: • Hacer clic sobre el símbolo de abrir, en la barra de herramientas de la pantalla inicial de SIMULINK o sobre este mismo símbolo en el editor de modelos. • Escriba en la ventana de comandos de MATLAB el nombre del archivo sin la extensión (*.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 librería SIMULINK despliegala ventana de Editor de Modelo, que consta de las siguientes partes: • Barra de Menús: 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 más frecuencia con solo un clic del ratón. Cuando se desee conocer el propósito del botón que este en esta barra solo es necesario colocar el cursor sobre este y así se mostrará automáticamente su función.  84
  • 106. 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  • Canvas: Este es el lienzo donde se despliega el modelo que ha sido creado o llamado (abierto). El ratón y el teclado son utilizados para crear, conectar, seleccionar, mover y editar bloques. • Barra de estado: Cuando una simulación está corriendo. Esta barra despliega el estado de la simulación, incluyendo el tiempo actual de la simulaciónGuardando un modelo. Se puede guardar un modelo escogiendo entre Save(guardar) y Save as (guardar como) de la barras de menús. SIMULINK guarda elmodelo generando un tipo especial de archivo llamado model file (archivo modelo)con una extensión *.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 yasignarle un nombre y una localización al archivo, si ya ha sido guardada estecomando reemplazará el contenido del archivo. El comando Save as es usadopara guardar el archivo con un nuevo nombre y localización y también usarlo paraguardar el archivo en versiones anteriores de SIMULINK.Generando un reporte del modelo. Un reporte del modelo es un documentoHTML, que describe el contenido y la estructura del modelo. El reporte incluye eldiagrama de bloques del modelo y sus sub-sistemas y las características de losparámetros de los bloques. Para generar el reporte de un modelo actual seselecciona en la barra de menús Print details (imprimir detalles) y aparece lasiguiente pantalla de diálogo:Figura 44. Ventana de dialogo para realizar los reportes.Fuente: Captura de Matlab versión trial (2008).l.  85
  • 107. 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 selecciona el tipo de reporte en la ventana de dialogo, print (imprimir);SIMULINK genera el reporte HTML y es mostrado en un navegador ordinario.Lección 13: Modelos En las siguientes secciones se describirá como crear, configurar y correr unmodelo. Un modelo en SIMULINK es una representación de un modelomatemático de un sistema dinámico cualquiera pero como se ha mencionado estose realiza empleando diagramas de bloques, el modelo matemático se encuentradescrito 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 botónnuevo Modelo (figura 41) en la barra de herramientas de la pantalla inicial deSIMULINK y luego aparecerá la pantalla de edición de modelo.Figura 45. Creando un nuevo modelo.Fuente: Captura de Matlab versión trial (2008).l.Añadir Bloques. Para crear cualquier modelo en SIMULINK se deben arrastrarlos bloques que sean necesarios para el diseño del diagrama. El siguienteejemplo servirá como guía para la construcción de modelos, en este se emplearánmuchos de los comandos y acciones necesarias para este fin. El modelopropuesto tiene la función de integrar una onda seno se anexa un dispositivo devisualización para poder observar la respuesta. El diagrama de bloques delmodelo es el siguiente:  86
  • 108. 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 46. Diagrama de bloques del ejemploFuente: Captura de Matlab versión trial (2008).l.Para crear este modelo, se necesitan copiar los bloques de las siguientes libreríasde bloques: • Source library (Librería de fuentes): El bloque de la onda seno • Sinks library (Librería de sumideros): El bloque de visualización de la respuesta. • Continuous library (Librería de bloques en tiempo continuo): El bloque integrador. • Signal Routing Library (Libraria de enrutamiento de señal): El bloque MuxSe copia el bloque de la onda seno de la librería de fuentes, usando el navegadorde librerías, esto se logra expandiendo el árbol de opciones de la libreríaSIMULINK (figura 47), y luego se dirige a la librería de fuentes y finalmente seselecciona el bloque de la onda seno.  87
  • 109. 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 47. Navegador de libreríasFuente: Captura de Matlab versión trial (2008).l.Ahora se selecciona y se “arrastra” este bloque desde el navegador de librerías aleditor de modelo. Otra forma de copiar este bloque es abriendo la ventana delibrería de fuentes, esto se logra haciendo clic con el botón derecho del ratónsobre sources (fuentes) y luego sobre el botón de Open library (Abrir librería).Luego se selecciona y se arrastra este bloque desde la ventana de librerías y se“arrastra” en el editor de modelo.De manera similar se copian los demás elementos del ejemplo buscándolos ensus respectivas librerías en el navegador de librerías, arrastrándolos desde suslibrerías hasta el editor de modelos, luego de tener todos los elementos seacomodan dentro de esta ventana usando las teclas de direccionamiento delteclado o con el ratón. Una vez se han organizado los bloques, el modelo debelucir de la siguiente manera:  88
  • 110. 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 48. Bloques organizados dentro del editor de modeloFuente: Captura de Matlab versión trial (2008).Cabe anotar que dependiendo de la funcionalidad del bloque, este posee puertosde entrada o salida en uno o más de sus costados representados por símbolos ‘>’,si la punta de este símbolo se encuentra dirigida hacia el bloque, quiere decir quees 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 versión trial (2008).l.Conectando los Bloques. Ahora se conectarán los bloques para poder completarel modelo. Se conecta la salida del bloque de la onda seno en la entrada superiordel bloque de multiplexación (mux), para tal efecto se posiciona el puntero delratón sobre el puerto de salida del bloque de la onda seno, el puntero cambia deforma automáticamente al ubicarse inmediatamente arriba de los puertosindicando que al hacer clic la conexión será realizada adecuadamente (ver figura50).Figura 50. Conexión de los bloques. (a) (b)Fuente: Captura de Matlab versión trial (2008).l.  89
  • 111. 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 Ahora con el botón izquierdo del ratón sostenido se debe dirigir desde el puerto desalida hasta el puerto superior de entrada del bloque de multiplexación, el cursorcambia nuevamente de forma a una cruz doble al acercarse al segundo bloque, sedebe soltar el botón y los bloques quedarán conectados.En la figura 51 se observa que la mayoría de las conexiones van de un puerto desalida de un bloque hasta un puerto de entrada de otro. Existe una línea que seramifica, ésta conecta la salida de la onda seno con el bloque integrador a la vezque conecta también con una de las entradas del multiplexor, es decir, que lamisma señal llega a dos bloques distintos.Para poder realizar esto se realizan los siguientes pasos: se ubica el cursor sobrela conexión ya hecha y se selecciona el punto donde se desea realizar la unión.Seguidamente se presiona la tecla ctrl (o el botón derecho del ratón). Presionandoel botón izquierdo del ratón se arrastra el puntero hasta el puerto de entrada osobre el bloque mismo, entonces se suelta el botón del ratón, SIMULINK dibujarála línea de conexión comenzando desde el punto que se escogió hasta el puertode entrada del bloque.Figura 51. Ramificación de una conexión. (a) (b) (c)Fuente: Captura de Matlab versión trial (2008).Para finalizar el ejemplo se deben realizar las demás conexiones completando eldiagrama de bloque.  90
  • 112. 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 Configurando el modelo. Para realizar la simulación se debe configurarSIMULINK. Lo primero que debe realizarse es abrir la ventana de diálogosConfiguration Parameters (Configuración de parámetros), esto se consiguedirigiéndose a la opción Simulation (simulación) en la barra de menús del editor demodelo. En el cuadro de dialogo ‘tiempo de simulación’, por lo pronto solo seconfigura el tiempo de detención de la simulación a los 10 segundos.Figura 52. Cuadro de diálogo para la configuración de los parámetros desimulaciónFuente: Captura de Matlab versión trial (2008)Corriendo el modelo. Finalmente se selecciona start (inicio) en Simulation(Simulación) en la barra de menús o en la barra de herramientas presionar elicono de start simulation (iniciar simulación)Figura 53. Inicio y/o detención de la SimulaciónFuente: Captura de Matlab versión trial (2008)  91
  • 113. 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 simulación se detiene cuando se alcanza el tiempo de parada especificada enla ventana de diálogos de configuración de parámetros o cuando es detenida porel usuario haciendo uso del botón de parada en la barra de herramientas odirigiéndose a stop en el menú simulation en la barra de menús. Para observar larespuesta de la simulación, se hace doble clic sobre el visualizador (Scope) (figura54).Figura 54. Respuesta de la simulación.Fuente: Captura de Matlab versión trial (2008)Adicionando comentarios. Las anotaciones proveen información en forma detexto acerca del modelo con el que se esté trabajando. Se puede añadir uncomentario en cualquier área que no esté ocupada por el diagrama de bloque.Para crear una anotación en el modelo, se debe hacer un doble clic en un área noocupada del diagrama de bloque, un pequeño rectángulo aparecerá y el cursorcambia a un punto de inserción, se escribe el comentario en este espacio, cadalínea escrita es centrada dentro del rectángulo que rodea al comentario, luego definalizar la anotación o comentario se puede arrastrar hasta una nueva ubicacióndentro del modelo.  92
  • 114. 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 55. Anotaciones o comentarios.Fuente: Captura de Matlab versión trial (2008)Lección 14: Subsistemas.Cuando se incrementa el tamaño y la complejidad del modelo, se puedensimplificar los bloques en subsistemas, estos poseen las siguientes ventajas: • Reduce el número de bloques mostrados en la ventana de edición de modelos. • Permite la agrupación de bloques funcionalmente relacionados. • Permite establecer un diagrama de bloques jerárquicos, donde el bloque del subsistema está en una capa y los bloques que componen al subsistema están en otra capa.Los subsistemas pueden ser creados de dos formas: • Añadiendo un bloque de subsistemas al modelo, para luego abrirlo y adicionar en este los bloques que componen al subsistema en la ventana de subsistema. • Añadir los bloques que componen el subsistema, luego agruparlos en un subsistema.  93
  • 115. 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 Creando subsistemas por adición al bloque ‘subsistemas’. Para crear unsubsistema, antes de agregar los bloques que los contiene, se añade un bloque‘subsistema’ al modelo que se está diseñando, para tal efecto se debe copiar elbloque de la librería Ports & Subsystems (Puertos y Subsistemas), al editor demodelo.Luego se debe abrir el bloque haciendo doble clic sobre este; SIMULINK abre elsubsistema en una ventana de edición de modelo nueva. Una vez abierto, seprocede a ubicar y ‘cablear’ los bloques que hagan parte del subsistema, esimportante incluir bloques o puertos de entrada y de salida, para representar lascorrespondientes entradas y salidas del subsistema. Por ejemplo, el siguienteesquema incluye un bloque de suma con sus correspondientes puertos deentrada y salida del subsistema.Figura 56. Ejemplo del subsistema.Fuente: Captura de Matlab versión trial (2008)Creando subsistemas por agrupación de bloques existentes. Si se parte de undeterminado modelo del que se desea utilizar una parte o todos los bloques paraconvertirlos en un subsistema, éste puede ser creado agrupando los bloques ytodas las líneas de conexión, que deban estar dentro del subsistema con unaventana de selección, empleando el ratón, no se pueden especificar los bloquesque deban estar seleccionándolos individualmente o usando el comando Select All(Seleccionar Todos).La figura 57 muestra un modelo que representa un contador, los bloques de sumay de retraso unitario son agrupados con sus respectivas conexiones, empleandouna ventana de selección, ésta se realiza arrastrando el ratón mientras semantiene el clic Izquierdo presionado formando un rectángulo de un tamañoadecuado, cuando se libera el botón del ratón, los dos bloques y todas las líneasde conexión, son seleccionados.  94
  • 116. 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 57. Selección de bloques (a) (b) (c)Fuente: Captura de Matlab versión trial (2008)En el menú Edit (Editar) se escoge Create Subsystem (Crear Subsistema),SIMULINK reemplaza lo bloques con un bloque de subsistema. La figura 57bmuestra el modelo después de que se ha creado el subsistema con el comandodescrito, éste redimensiona el bloque y etiqueta los puertos del nuevo subsistema.Si se abre el bloque del subsistema, SIMULINK muestra los bloques y conexionesque lo conforman (figura 57c). Se aclara que SIMULINK agrega automáticamentelos bloques de entrada y salida que representan la entrada y la salida delsubsistema.Controlando el acceso a los subsistemas. SIMULINK le permite al usuariocontrolar el acceso a los subsistemas que residen en la librería. Particularmente sepuede evitar que se vea o modifique el contenido de una librería del subsistema,aunque permite al usuario su utilización.Para controlar el acceso a la librería del subsistema, se debe abrir la ventana dedialogo de los parámetros del subsistema y ajustar el parámetro AccessParameter (Parámetro de Acceso) a ReadOnly (solo lectura) o NoReadoWrite (Nolectura o escritura). La primera opción permite al usuario ver el contenido de lalibrería de subsistemas y hace copias locales para prevenir que otro usuariomodifique la copia original. La segunda opción evita que otro usuario vea elcontenido de la librería, realice copias o modifique los permisos de la librería desubsistemas  95
  • 117. 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 15: Subsistemas condicionados en su ejecución.Un subsistema ejecutado condicionalmente, es el que su ejecución depende de unvalor en una señal de entrada. La señal que controla si se ejecuta un subsistemaes llamada señal de control. Estos subsistemas son muy útiles cuando se estáconstruyendo un modelo complejo, en el cual el funcionamiento de ciertoscomponentes depende de otros. SIMULINK soporta los siguientes tipos desubsistemas ejecutados condicionalmente: • Subsistema habilitado • Subsistema disparado • Subsistema habilitado y disparado • Subsistema con control de flujoSubsistema habilitado. Este tipo de subsistema es ejecutado mientras la señalde control sea positiva. Su ejecución se inicia cuando la señal cruza por cero (delciclo negativo al positivo) y continúa su ejecución siempre y cuando la señal semantenga positiva. El subsistema tiene una sola señal de control, la cual puedeser de tipo o escalar o vector.Si la entrada es escalar, el sistema se ejecuta si el valor de la señal de control esmayor que cero. Si la entrada es un vector, el subsistema se ejecuta si aluno delos elementos del vector es mayor que cero. Por ejemplo si la señal de control esuna onda seno, el subsistema estará alternando entre estar habilitado ydeshabilitado, como se muestra en la siguiente figura, si la dirección de la flechaes ascendente se habilita y si es descendente se deshabilita.Figura 58. Señal de habilitación de un subsistema.Fuente: Armando Portela (2008).  96
  • 118. 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 SIMULINK se basa en la pendiente en el cruce por cero para determinar cuandoestará habilitado. Si la señal cruza por cero y la pendiente es positiva elsubsistema se habilita y si existe el cruce por cero y la pendiente es negativa elsubsistema se deshabilita.Para crear un subsistema de este tipo, se debe copiar el bloque Enable Block(bloque habilitado) de la librería Ports & Subsystems (Puertos y subsistemas),SIMULINK adiciona un símbolo de habilitado y un puerto de entrada de control enel bloque del subsistema. • Ajuste de las salidas mientras el subsistema esté deshabilitado.Aunque un subsistema habilitado, no se ejecuta mientras esté deshabilitado, laseñal de salida se encuentra disponible para otros bloques. Mientras elsubsistema esté deshabilitado, se puede mantener la señal de salida en susvalores previos o volver a sus valores iniciales.Se debe abrir la ventana de diálogo para cada puerto de salida y seleccionar unade las opciones del parámetro Output when disabled (salida cuando estédeshabilitado), como se muestra en la figura 55.Figura 59. Ventana de diálogo para el ajuste de las salidas.Fuente: Captura de Matlab versión trial (2008)  97
  • 119. 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 escoge held (mantener) para conseguir que la salida mantenga su valor más 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 subsistemahabilitado se ejecuta, se puede elegir si mantiene los estados a sus valoresprevios o son fijados en sus condiciones iniciales. Para tal efecto se debe abrir laventana de diálogo del bloque habilitado y seleccionar una de las opciones para elparámetro State when enabling (estado del subsistema cuando esté habilitado),como se muestra en la siguiente ventana de diálogo.Figura 60. Ventana de diálogo para el ajuste de estados.Fuente: Captura de Matlab versión trial (2008) • Se escoge held (mantener) para conseguir que se conserven los valores más recientes. • Se escoge reset (reiniciar) para revertir los estados a sus valores iniciales.Extrayendo la señal de control. Es posible extraer la señal de control, esta esuna opción de la ventana de diálogo del bloque habilitado (enable), que permiteextraer la señal habilitadora de control. Esta característica permite apagar la señalde control, esto puede ser útil cuando la lógica del modelo cuando el subsistemase encuentra deshabilitado depende de los valores contenidos en la señal decontrol.  98
  • 120. 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 61. Apagado de la señal de control.Fuente: Captura de Matlab versión trial (2008)Los bloques en un subsistema habilitado, pueden contener cualquier bloque yasea continuo o discreto, los bloques discretos se ejecutan únicamente cuando elsubsistema es ejecutado y el tiempo de muestreo está sincronizado con el tiempode muestreo de la simulación. El subsistema habilitado y el modelo deben usar unreloj común.Por ejemplo en el sistema de la figura 58 se observa que contiene cuatro bloquesdiscretos y una señal 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 señal de control de habilitación es generada por un bloque Generador depulsos, nombrado como signal E (señal E), el cual cambia de 0 a 1 a los 0.375segundos y vuelve a cero a los 0.875segundos. La carta (Figura 59) muestracuando el bloque discreto es ejecutado.  99
  • 121. 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 62. Modelo de un subsistema habilitado.Fuente: Captura de Matlab versión trial (2008)Figura 63. Indicador del funcionamiento de cada bloque.Fuente: Armando Portela (2008).Los bloques A y B se ejecutan independientemente de la señal de control porqueno hacen parte del subsistema. Cuando la señal de control se convierte enpositiva, los bloques B y C se ejecutan a sus tasas de muestreo hasta que la señalvuelva a cero. Cabe anotar que la señal del bloque C no se ejecuta a los 0.875segundos cuando la señal de control cambia a cero.Subsistema disparado. Existen subsistemas que son ‘disparados’, éstos seejecutan cada vez que un disparo ocurre. Un disparo puede ocurrir en la subida ola bajada de una señal de disparo, el cual puede ser continuo o discreto. Unsubsistema disparado tiene una sola entrada de control, llamada trigger Input  100
  • 122. 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ñal de disparo), que determina el momento de la puesta en funcionamiento delsubsistema, se puede escoger entre tres tipos de eventos de disparo para forzar alsubsistema comenzar su ejecución. 1. Disparos en flanco ascendente: se ejecuta el subsistema en el instante en que la señal 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 señal 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 señal de disparo es de flanco ascendente o descendente.En el caso de sistemas discretos, una señal en ascenso o en descenso conreferencia en cero es considerada un evento de disparo únicamente si la señalpermanece en cero por más de un ciclo precediendo a una elevación o una caída.Esto elimina los falsos disparos ocasionados por el muestreo de la señal decontrol. Por ejemplo en la siguiente figura para un sistema discreto, no ocurre undisparo ascendente en el paso 3 porque la señal solamente se ha mantenido unsolo paso antes de que la elevación ocurra.Figura 64. Nivel de señal.Fuente: Armando Portela (2008).Un ejemplo de un subsistema de disparo se ilustra en la siguiente figura, este esdisparado en el ciclo de ascenso de la señal cuadrada en la entrada de control,  101
  • 123. 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 65. Subsistema activado por disparo.Fuente: Captura de Matlab versión trial (2008)Para crear un subsistema de este tipo, se debe copiar el bloque de disparo(Trigger Block) de la librería de Puertos y subsistemas (Ports &Subsystems) en unsubsistema, SIMULINK adiciona automáticamente un símbolo de disparado y unpuerto de entrada de control en el bloque del subsistema. Para seleccionar el tipode disparo, En la ventana de diálogo se selecciona una de las opciones para elparámetro Trigger type (tipo de disparo), como se muestra en la figura 66.Figura 66. Ventana de diálogo para la selección del disparo.Fuente: Captura de Matlab versión trial (2008)SIMULINK utiliza diferentes símbolos de disparo en los bloques del subsistemapara indicar si el disparo es de flanco ascendente, descendente o ambos. Lasiguiente figura muestra los distintos símbolos.  102
  • 124. 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 67. Subsistema de ascenso, descenso o ambos. Fuente: Captura de Matlab versión trial (2008)Salida y estados entre eventos de disparos. A diferencia de los subsistemashabilitados, los sistemas disparados siempre mantienen sus salidas entre cadaevento de disparo, también este tipo de subsistemas no puede reiniciar susestados, cuando ocurre un evento de disparo y los estados de cualquier bloquediscreto son mantenidos entre eventos del mismo tipo.Extrayendo la señal de control de disparo. Una opción en la ventana de diálogodel bloque de disparo, permite extraer la señal de control, para poder realizar estose habilita la opción Show output port (mostrar puerto de salida)Figura 68. Mostrar el puerto de salida.Fuente: Captura de Matlab versión trial (2008)  103
  • 125. 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 campo Output data type (tipo de dato de salida), le permite al usuarioespecificar el tipo de dato a la señal de salida, como, auto (automático), int(entero) o double (doble). La opción auto causa que el tipo de dato de la salida seajuste al del puerto al cual está conectada la señal de salida.Todos los bloques en un subsistema disparado, deben haber heredado un tiempode muestreo (-1) o constante (inf). Esto se usa para asegurar que los bloquesutilizados dentro del subsistema de disparo solo sean activados cuando exista undisparo. Este requerimiento significa que este tipo de sistemas no pueden incluirbloques continuos, como por ejemplo un bloque integrador.Subsistema Disparado y Habilitado. Este tercer tipo de subsistema se ejecutacombinando ambos tipos de ejecución condicional, es decir se trata de unsubsistema hibrido, habilitado y disparado. El diagrama de flujo de estesubsistema 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 dehabilitación para evaluar la señal de control. Si su valor es más grande que cero,se ejecuta el subsistema. Si ambas señales son vectores el sistema se ejecuta almenos si un elemento de cada vector es mayor que cero. Para crear un  104
  • 126. 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 subsistema de este tipo, se debe copiar los bloques de disparado (Trigger Block) yde habilitado (Enable Block) de la librería de Puertos y subsistemas (Ports &Subsystems) en un subsistema ya existente, SIMULINK adiciona el símbolo dedisparado y habilitado y los puertos de entrada de control en el bloque delsubsistema.Figura 70. Símbolo del subsistema habilitado y disparado. Fuente: Captura de Matlab versión 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 seccionesanteriores. En la siguiente figura se muestra un ejemplo de un subsistemahabilitado y disparado.Figura 71. Ejemplo de un subsistema disparado y habilitado.Fuente: Captura de Matlab versión trial (2008)  105
  • 127. 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 pueden crear subsistemas que se ejecuten alternadamente, para conseguiresto se deben combinar subsistemas empleando el bloque Merge (mezclador), yasí conseguir un conjunto de subsistemas ejecutados alternadamente,dependiendo del estado actual del modelo. La siguiente figura muestra un modeloque usa dos subsistemas habilitados con el bloque mezclador, para así crear unrectificador de onda completa.Figura 72. Rectificador de onda completaFuente: Captura de Matlab versión trial (2008)El bloque marcado con “pos” está habilitado cuando la onda AC es positiva,permitiendo su paso sin ninguna modificación. El bloque marcado “neg” se habilitacuando la onda AC es negativa; e invierte la onda. El bloque Merge permite elpaso al multiplexor de la señal del bloque que está habilitado, el cual pasa lasalida al visualizador con la señal en su forma original, el visualizador muestra larespuesta en pantalla.Figura 73. Respuesta del ejemplo.Fuente: Captura de Matlab versión trial (2008)  106
  • 128. 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
  • 129. 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  FUENTES DOCUMENTALES UNIDAD 1BIBLIOGRAFIAComunicacionesAndrew Hopper. (1989). Diseño de redes locales. USA: Addison-Wesley.Carlson (1997). Sistema de comunicación. Colombia: McGraw Hill.Stremler (1993). Introducción a los sistemas de comunicación. USA: AddisonWesley.Tanenbaum. (1997). Redes de computadoras (3ra Ed). Mexico: Prentice Hall.Tomasi: (1996). Sistemas de comunicaciones electrónicas (2da Ed). Mexico:Prentice.ControlBolton W. Ingenieria de Control (2da Edición): AlfaomegaFranklin Gene. Control de Sistemas con Retroalimentación: Iberoamericana.Kuo Benjamin. Sistemas de control automatico. (7ª Edición): Prentice Hall.Ogata katsuhiko. Ingenieria de control Moderna (4ª edición): Prentice HallMatlabEtter Delores. Solución de Problemas de Ingeniería con Matlab. (2da Edición):Prentice hallHahn Brian D. (2007). Essential Matlab for Engineers and Scientist. (ThirdEdition). Elsevier.Hunt Brian R. (2001), A guide to Matlab for beginners and experienced users.Cambridge University: Press.  108
  • 130. 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 McMahon David. (2007). Matlab Demystified: McGraw-Hill.Ogata Katsuhiko. Problemas de Ingenieria de control Utilizando Matlab: PrenticeHall.Sayood Khalid. (2007). Learning Programing Using Matlab. (First Edition): Morgan& Claypool.Sigmon Kermit, (2002). Matlab Primer. (Sixth Edition). Chapman & Hall/CRC:Press.SITIOS WEBMatlabDocumentation for MathWorks Products.(2009). [en Línea]. Recuperado el 19 dejulio de 2009, de http://www.mathworks.es/access/helpdesk/help/helpdesk.shtmlIndiana University. Matlab. (2009). [en Línea[. Recuperado el 19 de julio de 2009,de http://www.indiana.edu/~statmath/math/matlab/index.htmlIntroducción a Matlab. (2001). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://www.ing.unlp.edu.ar/controlm/archivos/electronica/doc/apuntes/matlab.pdfMatlab Educational Sites. (2006). [en Linea]. Recuperado el 19 de Julio de 2009,de http://www.ece.umaine.edu/mm/matweb.htmlMinitutorial de Matlab. (2009). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://www.desi.iteso.mx/sys/matlab/matlab.htmThe Mathworks. (2009). [en línea]. Recuperado el 19 de julio de 2009, dehttp://www.mathworks.es/Tutorial de Matlab. (1997). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://www.angelfire.com/la/hmolina/matlab1.htmlTutoriales de control con Matlab. (1996). [en Línea]. Recuperado el 19 de julio de2009, de http://ib.cnea.gov.ar/~control2/Links/Tutorial_Matlab_esp/index.htmlScilab  109
  • 131. 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 Introduction to Scilab. (2009). [en Línea]. Recuperado el 19 de julio, dehttp://pauillac.inria.fr/cdrom/www/scilab/doc/intro/index.htmlScilab. (2009). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://www.scilab.org/Welcome to Scilan.in (). [en Línea]. Recuperado el 19 de Julio de 2009, dehttp://scilab.in/index.php?title=Main_PageDescargasAprenda matlab 7.0. (2005). [en Línea] . Recuperado el 19 de julio de 2009, dehttp://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab70/matlab70primero.pdfScilab 5.1.1. (20090. [en Línea]. Recuperado el 19 de julio de 2009 de,http://scilab.softonic.com/TheMathWorks. (2009). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://www.mathworks.com/products/matlab/  110
  • 132. 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 2. SIMULINKINTRODUCCIÓNSimulink es una herramienta para el modelaje, análisis y simulación de una granvariedad de sistemas físicos y matemáticos, incluyendo sistemas no lineales ysistemas discretos. Simulink adiciona muchas características específicas a lossistemas dinámicos, mientras conserva toda la funcionalidad de propósito generalde MatLab, de esta forma Simulink no es un programa separado de MatLab, sinoun anexo a él.Para simplificar la definición del modelo Simulink usa diferentes clases deventanas llamadas ventanas de diagramas de bloques. En estas ventanas sepuede crear y editar un modelo gráficamente usando el mouse. Después de definirun modelo este puede ser analizado seleccionando una opción desde los menúsde Simulink o entrando comandos desde la línea de comandos de MatLab.JUSTIFICACIONEn electrónica es fundamental el estudio y análisis de sistemas dinámicos lineales,no lineales, continuos, discretos o hibridos; de igual forma es relevante el estudio yanálisis de sistemas de control, principalemente en estos elementos radica laimportancia del estudio de herramientas que faciliten dichos estudios y analisis,de forma tal que se puedan poner a prueba sin que esto ocasiones efectossecundario en el sistema, que no sobrepasan un escritorio de estduio.INTENCIONALIDADES FORMATIVASPropósitosSe pretende profundizar en el uso de la herramienta SIMULINK de Matlab, paradesarrollar habilidades que le permitan al estudiante identificar y utilizar losaplicativos en el desarrollo de soluciones óptimas a la hora de abordar losproblemas y actividades propuestos, al tiempo que se contribuye a generar  111
  • 133. 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 esquemas mentales en el estudiante con los que podrá abordar por su propiacuenta tanto el diseño y desarrollo de soluciones a problemáticas planteadas.ObjetivosQue el estudiante amplíe complemente y profundice en las característicasoperativas, técnicas, los beneficios del aplicativo Matlab, desde el punto de vistadel Simulink, para que así puedan emplear y aplicar dichos conocimiento en elanálisis de sistemas de control y cualquier tipo de sistema dinámico.CompetenciasEl estudiante conoce las características y posibilidades que le brinda SIMULINKde 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 aprendizajeEl estudiante aprenderá de forma individual las temáticas del módulo del cursopara que así pueda aplicar lo aprendido en cada tema mediante ejercicios yactividades tanto individuales como grupales en las que se desarrollen pequeñosprogramas o aplicaciones en donde el estudiante se valga de toda la informacióndisponible, de su espíritu investigativo y del trabajo en grupo para buscar lamanera de generar las soluciones más óptimas y funcionales ante lasproblemáticas planteadas.Denominación de CapítulosCapítulo 1. Modelar con SimulinkCapítulo 2. Navegar por los ModelosCapítulo 3. Bloques, señales y funciones  112
  • 134. 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  CAPITULO 1: MODELAR CON SIMULINK Introducción. Simulink es una herramienta que permite realizar fácilmente elmodelado de sistemas dinámicos, tiene dos fases: la definición del modelo y elanálisis del modelo. La definición del modelo significa construir el modelo a partirde elementos básicos construidos previamente, tal como, integradores, bloques deganancia o controladores. El análisis del modelo significa realizar la simulación,linealización y determinar el punto de equilibrio del modelo Lección 1. Modelar EcuacionesPara explicar de qué forma se modelan ecuaciones, se hará uso de dos ejemplos:En el primer ejemplo se realizará la conversión de grados Celsius a Fahrenheit, elmodelo de esta conversión está definido por la siguiente la ecuación: 9 TF = TC + 32 5Donde TF es la temperatura en grados Fahrenheit y TC la temperatura en gradosCelsius.Primero se considerarán los bloques que son necesarios para construir el modelo: 1. Un bloque de rampa para la señal de entrada de temperatura de la librería de fuentes (Sources Library). 2. Un bloque de constante, para definir el valor de la constante 32, también de la librería de fuentes (Sources Library). 3. Un bloque de ganancia para multiplicar la señal de entrada por 9/5, de la librería de matemáticas (Math Library). 4. Un bloque de suma para sumar las dos cantidades, también de la librería de matemáticas (Math Library). 5. Un bloque visualizador (Scope) para mostrar la respuesta de librería de sumideros (Sinks Library).  113
  • 135. 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 organizan los bloques en la ventana de edición de modelos. Y se asignan losvalores de las constantes y la ganancia, para tal efecto se hace doble clic sobre elbloque correspondiente para así asignar el valor adecuado en la ventana dediálogo desplegada, seguidamente se cierra dicha ventana.Figura 74. Bloques del ejemplo de conversión de unidades.Fuente: Captura de Matlab versión trial (2008)Ahora se conectan los bloquesFigura 75. Bloques conectados.Fuente: Captura de Matlab versión trial (2008)El bloque rampa emula la entrada de temperatura en grados Celsius, se abre elbloque y se cambia el parámetro de Initial Output (Salida inicial) a cero. El bloquede ganancia multiplica la temperatura por una constante de 9/5 y el bloquesumador le añade un valor de 32 al resultado y a la salida se obtiene el valor de latemperatura en grados Fahrenheit. Para observar los resultados se abre elvisualizador y se inicia la simulación.El segundo ejemplo es el modelado de un sistema continuo basado en unaecuación diferencial:  114
  • 136. 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 x (t ) = −2 x(t ) + u (t )Donde u(t) es una onda cuadrada con amplitud 1 y frecuencia de 1rad/sec. Seemplea un bloque integrador que actúa sobre la entrada x’ para producir x. Otrosbloques son necesarios en este modelo incluyendo un bloque de ganancia y unode suma. Para generar la onda cuadrada, se utiliza un bloque de generación deseñales seleccionando la forma de onda cuadrada; se deben cambiar las unidadespor defecto a radians/sec y nuevamente el bloque de visualización.En este modelo, la dirección inversa del bloque de ganancia inferior se lograseleccionándolo y luego usar el comando Flip Block (voltear bloque) del menúFormat (formato)Figura 76. Diagrama de bloques de la ecuación diferencial.Fuente: Captura de Matlab versión trial (2008)Un importante concepto en este modelo es lazo que incluye el bloque de suma, elintegrador y el de ganancia. En esta ecuación, x es la salida del bloque integradory también es la entrada de los bloques que calculan x’. Esta relación esimplementada usando un lazo de retroalimentación. El visualizador muestra elvalor de x.  115
  • 137. 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 77. Visualización de la respuesta de la ecuación diferencial.Fuente: Captura de Matlab versión trial (2008)La ecuación del ejemplo también puede ser expresada como una función detransferencia, el modelo usa el bloque Transfer Fcn (Función de transferencia), elcual acepta a u como entrada y x como salida, entonces el bloque a implementares x/u, si se sustituye sx por x’ y la ecuación anterior se convierte en: sx = −2 x + uDespejando x u x= s+2Ó x 1 = u s+2El bloque de función de transferencia usa como parámetros los coeficientes delnumerador y denominador. En este caso el numerador es 1 y el denominador ess+2. Ambos términos son especificados como vectores de coeficientes depotencias sucesivas decrecientes en el dominio de s.En este caso el numerador es [1] (o simplemente 1) y el denominador es [1 2].  116
  • 138. 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 78. Modelo del ejemplo como función de transferencia.Fuente: Captura de Matlab versión trial (2008)Los resultados de esta simulación son idénticos a los proporcionados por eldiagrama de bloques realizado previamente.Evitando Lazos Inválidos. SIMULINK permite conectar directa o indirectamentela 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 diferencialescomo en el ejemplo anterior o en los modelos de control con lazos deretroalimentación. Sin embargo es posible crear lazos que no pueden sersimulados. Los tipos comunes de lazos inválidos son: • Lazos que crean conexiones inválidas o intentan modificar los argumentos de entrada y salida de una función llamada. • Subsistemas auto disparados y lazos que contienen subsistemas disparados sin señal de disparo. • Lazos que contengan subsistemas que estén en funcionamiento.Para detectar si el modelo diseñado contiene lazos inválidos, seleccione elcomando Update diagram (actualizar diagrama) del menú Edit (editar). Si elmodelo contiene lazos inválidos, SIMULINK ilumina el lazo y muestra un mensajede error en el Observador de diagnóstico de simulación (Simulation DiagnosticViewer).  117
  • 139. 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 79. Diagnóstico de un lazo inválidoFuente: Captura de Matlab versión trial (2008)Lección 2: Modelar con Control de Flujo CondicionalLos bloques de control de flujo son utilizados en SIMULINK para implementar lassentencias 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 librería Stateflow deMATLAB, estos bloques proveen a los usuarios de SIMULINK de herramientaspara la implementación de requerimientos de una lógica simple.Se pueden realizar sentencias de control de flujo como las existentes en C,usando subsistemas ordinarios y los siguientes bloques de la librería desubsistemas.Tabla 16. Relación entre sentencias en C y bloques de SIMULINK I Sentencia en C Bloque If-else If , Action port (puerto de acción) Switch Switch case Action port (puerto de acción)  118
  • 140. 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 Sentencia if-else (si-sino) Para el Control de Flujo. El siguiente diagramadescribe una forma generalizada para la implementación de esta sentencia enSIMULINKFigura 80. Implementación de la sentencia si-sino en SIMULINK.Fuente: Captura de Matlab versión trial (2008)Para construir esta sentencia se debe hacer lo siguiente: 1. Se deben proporcionar las entradas de datos al bloque if para la construcción de las condiciones if-else. Las entradas del bloque if son ajustadas en la ventana de diálogo 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 también son ajustados en la ventana de diálogo de propiedades. Se usan los valores de entrada u1, u2,…, un para expresar las condiciones del campo if en la ventana de diálogo de las sentencias if, elseif, else. Se pueden seleccionar múltiples condiciones elseif al habilitar la condición else. 3. Se deben conectar cada puerto de condición a un subsistema. Cada puerto de salida de condición if, elseif, else del bloque if es conectado a un subsistema para que sea ejecutado cuando la condición de dicho puerto sea cierta. Se crean esos subsistemas añadiéndole un bloque de Action Port (Puerto de acción) al subsistema, esto crea un modulo de subsistema  119
  • 141. 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  con puerto llamado Action, donde se conecta la condición del bloque if, aunque también existe un bloque llamado If action subsystem en el que hay que añadir 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 switchdeben correr a la misma tasa de muestreo que el bloque de control.Ejemplo: Se desea obtener un sistema cuya señal de salida sea controlada poruna señal de reloj, de tal manera que en el tiempo bajo de la señal de reloj, seobserve en la salida una señal senosoidal y en el tiempo alto de la señal de relojuna señal diente de sierra .Como se requiere una condición para controlar la salida, lo más conveniente esutilizar un if-else. Se llevan los bloques necesarios al espacio de trabajo, teniendoen cuenta que para aplicar un if- else se deben llevar dos bloques, el primerodonde se coloca la condición (se encuentra en la librería Ports & Subsystems), yel segundo donde se escriben como un subsistema los comandos a ejecutar encaso de cumplir o no la condición, (este bloque es denominado If ActionSubsystem), esto se puede apreciar en la figura 81.Para acceder a la programación de estos subsistemas basta con dar doble cliksobre el bloque y aparecerá una nueva ventana en la cual se colocan lasinstrucciones.  120
  • 142. 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 81. Utilización de If- ElseFuente: Captura de Matlab versión trial (2008)En la figura 82 se observa los diagramas internos en cada uno de los subsistemasIf – Action.Figura 82. Diagrama del subsistema If – ActionFuente: Captura de Matlab versión trial (2008)  121
  • 143. 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 Sentencia de Control de Flujo Switch. El siguiente diagrama describe una formageneralizada para la implementación de esta sentencia en SIMULINKFigura 83. Implementación de la sentencia Switch en SIMULINK.Fuente: Captura de Matlab versión 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 numéricos del argumento de entrada. Se pueden añadir casos al bloque Switch case a través de la ventana de diálogo de propiedades de este bloque. Los casos deben ser sencillos o multi-evaluados, se puede añadir opcionalmente un caso por defecto, el cual es verdadero si los demás casos son falsos. Una vez añadidos 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 condición de dicho puerto sea cierta. Se crean esos subsistemas añadiéndole un bloque de Action Port (Puerto de acción) al subsistema, esto crea un modulo de subsistema con puerto llamado Action, donde se conecta la condición del bloque if, aunque también existe  122
  • 144. 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  un bloque llamado If action subsystem en el que hay que añadir el subsistema. Una vez conectado el subsistema este se comporta como un subsistema habilitado.Lección 3: 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 librería desubsistemas.Tabla 17. Relación entre sentencias en C y bloques de SIMULINK II. Sentencia en C Bloque Do-while (haga hasta) While Iterator (mientras que) For (para) For Iterator (para) While (Mientras que) While Iterator (mientras que)Fuente: Armando Portela (2008)Sentencia de control de flujo While (Mientras que). El siguiente diagramadescribe una forma generalizada para la implementación de esta sentencia enSIMULINKFigura 84. Implementación de la sentencia While en SIMULINKFuente: Captura de Matlab versión trial (2008)  123
  • 145. 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 En SIMULINK una sentencia de control de flujo while cuando es ejecutada por elbloque 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 huésped, éste se convierte automáticamente 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 condición inicial en el puerto de entrada de datos del bloque While Iterator. Este bloque requiere una entrada de datos de condición inicial (etiquetada como IC), para su primera iteración. Esta debe ser originada fuera del subsistema While. Si este valor es diferente de cero la primera iteración se ejecuta. 3. Se proveen los datos de entrada para los puertos de condición 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 iteración del bloque While Iterator, a través de la ventana de diálogos de las propiedades del bloque. El valor de iteración es 1 para la primera iteración y es incrementada en 1 para las subsecuentes iteraciones. 5. Cambiar el tipo de iteración del bloque While iterator a do while (Haga hasta) a través de la ventana de diálogos de las propiedades del bloque. La etiqueta del subsistema huésped cambia a do{…}while. Con una iteración de este tipo no se requiere de condición inicial, porque todos los bloques en el subsistema son ejecutados una vez el puerto de condición (etiquetados con cond) es comprobado.Sentencia de Control de Flujo For (para). En SIMULINK una sentencia decontrol de flujo for ejecutada por el bloque for Iterator, itera (ejecuta) el contenidodel subsistema. El siguiente diagrama describe una forma generalizada para laimplementación de esta sentencia en SIMULINK  124
  • 146. 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 85. Implementación de la sentencia For en SIMULINK.Fuente: Captura de Matlab versión trial (2008)Para construir esta sentencia se debe realizar lo siguiente: 1. LLevar un bloque subsistema For Iterator del navegador de librería, hacia el modelo que se está construyendo. 2. Se puede ajustar el bloque For Iterator, para tomar como entrada el número de iteraciones a ejecutar de forma externa o interna. A través de la ventana de diálogo 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 número de iteraciones. la entrada a este puerto debe venir de forma externa al subsistema. 3. Ajustar directamente en la ventana de diálogo de las propiedades del bloque el número de iteraciones. 4. Ajustar la salida del valor de iteración del bloque For Iterator, a través de la ventana de diálogos de las propiedades del bloque. El valor de iteración es 1 para la primera iteración y es incrementada en 1 para las subsecuentes iteraciones.          125
  • 147. 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: Construir un programa que calcule el factorial de un número.El factorial de un número es la multiplicación del mismo por los números que lopreceden, por ejemplo el factorial de 4 conocido como 4! = 1*2*3*4=24. Seimplementa un for tal como se observa en la figura 86.El bloque de la sentencia For lo encuentra en la librería Ports & Subsystems, y seaccede con doble clic sobre el mismo, aparece una nueva ventana donde secolocan las instrucciones sobre las cuales debe actuar el ciclo. La programaciónde este se observa en la figura 87.Figura 86. Factorial de un número en Matlab.Fuente: Captura de Matlab versión trial (2008)En este ejemplo hay que tener especial cuidado con el bloque 1/z, donde hay quedarle la condición inicial como 1, ya que el valor por defecto es 0, y por tantocalcula el factorial de 4 como 4! = 0*1*2*3*4= 0, dando un resultado erróneo.  126
  • 148. 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 87. Programación de un For en SimulinkFuente: Captura de Matlab versión trial (2008)Lección 4: Ejemplos de Modelado.Ejemplo 1. Simular la respuesta temporal del sistema de orden 1 2.84 G ( s )= , ante una señal de entrada escalón, rampa y senosoidal. 4.28s + 1Se utiliza un mux para seleccionar la señal de entrada que se desea observar enel osciloscopio, esta selección se hace mediante una constante que indica elnúmero de la señal de entrada que se aplica al sistema, como se observa en lafigura 88 en donde se esta aplicando al sistema la señal escalón.  127
  • 149. 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 88. Simulación de un sistema de orden 1.Fuente: Captura de Matlab versión trial (2008)Ejemplo 2.Dado el sistema mecánico de la figura 89, que está compuesto por una masaM=5, unida a un muelle de constante elástica K=10, y con un rozamiento viscosoB=2. La entrada al sistema es una fuerza externa f(t) es la entrada al sistema, y lasalida del mismo está dada por el desplazamiento x(t) de la masa es la salida.La ecuación diferencial que rige el comportamiento del sistema es: d 2x dx f (t ) = M 2 + B + Kx(t )   dt dt La simulación en simulink se puede hacer de dos formas, la primera simulando laecuación diferencial y la segunda determinando la Función de Transferencia delsistema. En este ejemplo se toma la primera opción.  128
  • 150. 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 despeja la derivada de mayor orden de la ecuación diferencial dx d 2x f (t ) − B − Kx (t ) = M 2   dt dt ⎛ 1 ⎞ 2 dx d x⎜ ⎟ * ( f (t ) − B − Kx(t )) = 2⎝M ⎠ dt dtFigura 89. Sistema Mecánico.Fuente: Ingeniería de Control Moderno. Katsuhiko Ogata 3ª Edición. Ed PrenticeHall 1998.En la figura 90 se muestra el diagrama de bloques que representa a la ecuacióndiferencial del sistema mecánico y la respuesta del sistema ante una señalescalón.La señal escalón representa una fuerza aplicada al sistema de amplitud constante,y la señal de salida representa el desplazamiento x(t), que en principio esoscilatorio y posteriormente se estabilizada alcanzando un valor final deaproximadamente 0.1.  129
  • 151. 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 90. Simulación Sistema Mecánico.Fuente: Captura de Matlab versión trial (2008)Ejemplo 3. Simular el comportamiento transitorio del voltaje en el Capacitor en uncircuito RLC serie, donde R=10 ohmios, L=0.1 Henrio y C= 10 uF, utilizar comoentrada una señal escalon unitario.Figura 91. Circuito RLC serieFuente: Ingeniería de Control Moderno. Katsuhiko Ogata 3ª Edición. Ed PrenticeHall 1998.  130
  • 152. 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 ecuación diferencial que representa al sistema es : di 1v(t ) = R i (t ) + L + ∫ i (t ) dt CAplicando Transformada de Laplace a la ecuación : 1V ( s) = R I ( s) + LsI ( s) + I (s) CsLa función de Transferencia del sistema es: Vo( s ) 1G(s) = = Vi ( s ) LCs + RCs + 1 2La simulación del sistema RLC serie se observa en la figura 92.Figura 92. Simulación sistema RLC serieFuente: Captura de Matlab versión trial (2008)  131
  • 153. 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: Consejos para la Construcción de Modelos.Estos son una serie de consejos para la construcción de modelos y así evitarerrores en la simulación. • Uso de memorias, en general a más memoria mejor funcionamiento. • El uso de jerarquías, modelos más complejos a menudo se benefician con el uso de jerarquías de subsistemas en el modelo. Agrupar bloques simplifican el modelo del nivel superior y así hacerlo más fácil de leer y de entender. • Creación de modelos documentados y ordenados, un modelo bien organizado y documentado, es más fácil de leer y entender. Nombrar las señales y anotaciones en los modelos, pueden ayudar a describir que está sucediendo en el modelo. • Estrategias de modelado, si los modelos que se estén diseñando tienden a utilizar los mismos bloques, es más fácil “ahorrar” bloques agrupándolos en un modelo. Entonces cuando se construye un nuevo modelo, apenas abra este modelo, copie los bloques comúnmente usados de este modelo. Se puede crear una librería de bloques colocándolos en un mismo sistema y guardándolo. Se puede tener acceso al sistema digitando el nombre en la ventana de comandos de MATLAB. • Generalmente, cuando se construye un modelo, es preferible diseñarlo en papel, para luego construirlo usando SIMULINK, luego de esto se añaden todos los bloques necesarios al modelo antes de conectarlos y con esto se reduce el estar revisando entre las diferentes librerías. CAPITULO 2. NAVEGAR POR LOS MODELOSIntroducción. El entorno de SIMULINK permite acceso fácil a los modelos yaexistentes, a través de ayudas como el explorador, el buscador y el navegador sepuede localizar un modelo, un bloque especifico o navegar por un modelo, lo cualhace que el entorno gráfico sea bastante amigable al usuario y hace queSIMULINK sea la herramienta preferida de Matlab.    132
  • 154. 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: Explorar, Buscar y Navegar por los Modelos.En las siguientes secciones se describirán las herramientas que ayudan a unanavegación rápida en un modelo desde cualquier punto y encontrar y modificarobjetos en este.El Explorador de Modelos. El explorador de modelo le permite una rápidalocalización, visualización y modificación de cualquier modelo en SIMULINK. Paradesplegar este modelo, selecciones Model Explorer (explorador de modelo) delmenú View (ver) del editor de modelo (figura 86) o seleccione un objeto eldiagrama 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 versión trial (2008)El explorador de modelo incluye los siguientes componentes: • Panel de jerarquías: Este panel despliega una vista de estructura de árbol de la jerarquía del modelo  133
  • 155. 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 94. Árbol de jerarquía.Fuente: Captura de Matlab versión trial (2008) o Raíz de SIMULINK (SIMULINK Root): El primer nodo representa la raíz 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 librería cargada en la sesión 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 configuración (Configuration preferences): Se selecciona este nodo para desplegar la configuración preferida para los nuevos modelos en los paneles adyacentes. o Nodo de modelos (Model Nodes): este representa los ajustes de la configuración, 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 jerarquías en el panel adyacente de contenido (contents), seleccionando el objeto. Para abrir un objeto gráfico en una ventana de edición, hacer clic derecho con el ratón 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
  • 156. 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  derecho con el ratón 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 pestañas, la pestaña de contents (contenido) de los objetos seleccionados en el panel de Jerarquía de modelo, la pestaña de Search result (resultados de búsqueda), muestra los resultados de la búsqueda.Figura 95. Panel de contenido.Fuente: Captura de Matlab versión trial (2008) • Panel de diálogo (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 menús de la ventana del explorador de modelo.Figura 96. Barra de menú principal.Fuente: Captura de Matlab versión trial (2008)  135
  • 157. 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  • Barra de búsqueda (Search bar): Esta barra permite, configurar e iniciar búsquedas de los objetos seleccionados en el panel de jerarquía 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 búsqueda.Fuente: Captura de Matlab versión trial (2008)Esta barra contiene los siguientes controles:Figura 98. Controles de la barra de búsqueda.Fuente: Captura de Matlab versión trial (2008)El Buscador (The finder). El buscador localiza bloques, señales, estados y otrosobjetos en un modelo. Para desplegar el buscador, se selecciona Find (buscar) delmenú Edit (editar), entonces la siguiente ventana aparece.  136
  • 158. 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 99. El buscador.Fuente: Captura de Matlab versión trial (2008)Se usan los paneles Filter options (opciones de filtrado) y Search criteria (criteriosde búsqueda), para especificar las características de los objetos que se deseanbuscar. Luego si se tiene más de sistema o subsistema abierto, se seleccionaalguno de estos para iniciar la búsqueda, esto se logra seleccionando de la listastart in system (Iniciar en el sistema), finalmente se presiona el botón find (buscar).SIMULINK busca en los modelos seleccionados los objetos que cumplen con loscriterios 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 versión trial (2008)  137
  • 159. 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  • 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 opción, SIMULINK busca objetos dentro de sistemas enmascarados. • Buscar dentro de sistemas relacionados (Look inside linked system). Seleccionando esta opción, SIMULINK busca objetos dentro de sistemas relacionados con las librerías.Criterios de Búsqueda (Search Criteria).Este panel permite especificar los criterios que los objetos deben satisfacer lapetición de búsqueda: • Básicos. 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 características (hasta 7) que los objetos deben cumplir para satisfacer la búsqueda.Figura 101. Panel de búsqueda avanzado.Fuente: Captura de Matlab versión trial (2008)Para especificar una propiedad, ingrese su nombre en uno de los espacios en lacolumna de propiedad (property) del panel de búsqueda avanzado o seleccione lapropiedad de la lista que puede ser desplegada. Luego se debe ingresar el valorde la propiedad en la columna Valor (value).  138
  • 160. 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 navegador del modelo. Este navegador proporciona las siguientes opciones: • Navegar en un modelo jerárquicamente. • Abre los sistemas en un modelo. • Determina los bloques contenidos en un modelo.Para desplegar el navegador de modelo, se debe seleccionar Model BrowserOptions > Model Browser (Opciones del navegador de modelo > Navegador demodelo) del menú view (vista) de SIMULINK.Figura 102. Navegador de modelo.Fuente: Captura de Matlab versión trial (2008)La ventana se divide en dos paneles. El panel izquierdo muestra un navegadorcon estructura de árbol, mostrando el diagrama de bloques que se encuentra en elpanel derecho.Lección 7: Ejecutar la Simulación del modelo.En los siguientes apartados se revisará los temas de cómo simular y ajustar lascaracterísticas de la simulación en SIMULINK.  139
  • 161. 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 Nociones Básicas de la Simulación. Para simular un modelo simplemente, solose necesita hacer clic en el botón de start (iniciar), en el editor de modelos. Sinembargo antes de iniciar la simulación, se deben especificar ciertas opciones de lasimulación, tales como el tiempo de inicio y detención, y el tipo de solucionadorutilizado para resolver el modelo en cada base de tiempo de dicha simulación. Elhecho de especificar las opciones de simulación se conoce como configuración delmodelo.SIMULINK permite crear múltiples modelos de configuración, llamar y modificarajustes de configuración ya existentes. Una vez definido o seleccionado el ajustede configuración que se ajuste a los requerimientos, se puede iniciar la simulación.Entonces SIMULINK corre la simulación desde el tiempo de inicio y detenciónespecificados. Mientras la simulación esté en curso, se pude interactuar con estade diversas maneras, detenerla o pausarla, y simular otros modelos. Si un errorocurre dentro de la simulación. Si un error ocurre durante la simulación, SIMULINKdetiene la simulación y lanza el observador de diagnóstico, para ayudar adeterminar la causa del error. • Controlando la Ejecución de la Simulación.La interfaz gráfica de SIMULINK incluye un menú de comandos y unos botones enla barra de herramientas, que permite iniciar, pausar y culminar una simulación.Para ejecutar la simulación de un modelo, se selecciona Start (iniciar), del menúsimulation (simulación), del editor de modelo.Se puede utilizar un atajo por medio del teclado, utilizando la combinación de lasteclas ctrl+T para iniciar la simulación. Un error común es iniciar la simulaciónmientras la ventana de la librería de bloques de SIMULINK está activa, se debeasegurar que la ventana que está activa sea la del editor de modelo. SIMULINKinicia la ejecución del modelo en el tiempo que se especificó en la ventana deConfiguración de parámetros (Configuration Parameters), hasta alcanzar el tiempode detención especificado en esta misma ventana.  140
  • 162. 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 103. Localización del botón de inicioFuente: Captura de Matlab versión trial (2008)Mientras la simulación este corriendo, una barra de progreso en la parte inferior dela ventana de modelo muestra el nivel de progreso de la simulación. Un comandode stop (parada) remplaza el comando Start (iniciar), del menú simulation(simulación), del editor de modelo. Un comando de Pause (pausa) en la barra deherramientas reemplaza el botón de Start (iniciar).Figura 104. Localización del botón de parada, pausa y la barra de progreso de lasimulación.Fuente: Captura de Matlab versión trial (2008)  141
  • 163. 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 puede parar o pausar una simulación, utilizando los botones de la barra deherramientas, mientras esté pausada la simulación puede continuarse utilizando elbotón de iniciar.Interactuando con una Simulación en Curso.Se pueden realizar ciertos tipos de operaciones interactivamente mientras unasimulación se esté ejecutando. Se puede:o Modificar algunos parámetros de la configuración, incluyendo el tiempo de detención y el máximo tamaño del paso temporal.o Hacer clic sobre una línea de conexión para observar en una pantalla la señal que esté en ese momento.o Modificar los parámetros de un bloque, mientras no se cambie: o Número de estados, entradas y salidas. o Tiempo de muestreo o Número de cruces por cero. o Longitud del vector de cualquier parámetro de cualquier bloque. o Longitud del vector interno de trabajo de un bloqueLección 8: Importar y Exportar Datos.SIMULINK permite importar señales de entrada y datos de estado inicial delespacio de trabajo de MATLAB (workspace) y exportar señales de salida y datosde estado al workspace. Esta capacidad permite usar funciones de MATLABestándares o hechas por el usuario para generar señales de entrada para lasimulación de sistemas y graficar, analizar y otros post-procesos con las señalesde salidas de los modelos.Importar Datos del Workspace de MATLAB. SIMULINK puede aplicar entradascreadas en el espacio de trabajo de MATLAB (workspace) al modelo en lospuertos de entrada de un nivel superior durante la simulación. Para llevar a caboesto 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 especificación de la entradaexterna en la ventana de edición adyacente (edit box) y haciendo clic sobre Apply(aplicar). Los datos pueden tomar cualquiera de las siguientes formas.  142
  • 164. 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  • Importar Arreglos de datos (Arrays): Este formato de importación 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 señal de entrada para diferentes bloques de importación (en orden secuencial) y cada fila es el valor de entrada para el correspondiente valor de tiempo. El número total de columnas de la matriz de entrada debe ser igual a n+1, donde n es el número total de señales ingresando al modelo por los puertos de entrada. • Usar una expresión temporal de MATLAB para importar datos: Se pueden importar datos desde el espacio de trabajo de MATLAB usando una expresión temporal. Para usar expresiones de tiempo, ingrese la expresión como una cadena (incluido en apostrofes) en el campo input (entrada) del panel Data Import/Export (importar/exportar datos). La expresión de tiempo puede ser cualquiera expresión de MATLAB que evalúa un vector fila de igual longitud que al número de señales 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 señal o ambos señal y datos de tiempo. Para tal efecto se selecciona la opción structure with time (estructura con tiempo) opción 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 señal. El campo de tiempo contiene un vector columna con los tiempos de simulación. El campo de señales contiene un arreglo de subestructuras, cada una corresponde a un puerto de entrada del modelo. Cada subestructura de señal 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 tamaño 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
  • 165. 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  especifica el número de filas y el segundo el número 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 número de puntos de tiempo especificados por el campo de tiempo y N es la longitud de cada vector de valor.Por ejemplo el siguiente código crea una estructura de entrada para cargar 11muestras de tiempo de un vector de señal de 2 elementos, del tipo int8, a unmodelo 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 opción Input (entrada),en el panel Data Import/Export (importar/exportar datos), e ingrese ‘a’ (sin losapostrofes) en el campo de entrada expression (expresión). Si la entrada de lospuertos son matrices, el campo de valores debe ser un arreglo M x N x T donde My N son las dimensiones de cada matriz de entrada y T es el número puntos detiempos. Por ejemplo suponiendo que se desean 51 muestras de tiempo de unamatriz de señal de 4x5 a los puertos de entrada del modelo, luego entonces elcorrespondiente campo de dimensiones de la estructura del workspace debe serigual [4 5] y los arreglos del campo de valores deben ser 5x4x51. Como otroejemplo considere el siguiente modelo:Figura 105. Modelo con dos entradas.Fuente: Captura de Matlab versión trial (2008)  144
  • 166. 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 Suponiendo que se desea una entrada de una onda seno para el primer puerto deentrada y una onda coseno para el segundo, para hacer esto se define un vectora, 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 aen 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 lasvariables de retorno seleccionando Times (tiempos), states (estados) y/o Outputsseñalándolas en el área Save to workspace (Guardar en el espacio de trabajo) delpanel de la ventana de diálogo, 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 nombresde variables en los campos a la derecha de la ventana de comprobación. Paraescribir más de una variable, los nombres de esta deben ir separados por comas.SIMULINK guarda los tiempos de simulación en el vector especificado en el áreaSave to workspace (Guardando en el espacio de trabajo). Las opciones deguardado (save options) habilitan el formato y restringen la cantidad de variable desalidas posibles. Los formatos de salida son los siguientes: • Arreglos (Arrays): Si se selecciona esta opción, 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
  • 167. 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  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 específico. 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 opción, 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 señales. El campo de tiempo contiene un vector con los tiempos de simulación. El campo de señales 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 específico 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 dimensión de la señal de salida y T es el números de muestras de salidas. El campo de dimensiones especifica la dimensión de la señal de salida. El campo de etiqueta especifica la etiqueta (nombre) de la señal 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 señales. El campo de tiempo contiene un vector con los tiempos de simulación. El campo de señales 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
  • 168. 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  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 simulación. El campo de valores para este estado debería 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.Lección 9: Establecer la Configuración de la Simulación.Esto es un conjunto de valores, para los parámetros de los modelos, como el tipode solucionador y el tiempo de inicio y detención de la simulación. Cada nuevomodelo es creado con un conjunto de configuración por defecto, llamadoconfiguración, inicialmente especifica valores para los parámetros de los modelos.Se pueden crear y modificar ajustes de configuración y asociarlos con un modelo.Los ajustes asociados a un modelo pueden cada uno especificar diversos valorespara cualquier parámetro del modelo dado.Componentes del Ajuste de la Configuración. Un ajuste de configuraciónabarca a grupos de parámetros relacionados llamados los componentes. Cadaelemento de la configuración incluye los siguientes componentes: • Solucionador (solver). • Importar/Exportar datos (Data import/export) • Optimización • Diagnóstico • Implementación de hardware • Referenciar modelos.El ajuste de Configuración Activo. Solamente un ajuste de la configuraciónasociado a un modelo es activo en un momento dado. El ajuste activo determina  147
  • 169. 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 los valores actuales de los parámetros del modelo. El cambio del valor de unparámetro en el explorador de modelo cambia el valor en el ajuste activo.SIMULINK permite se cambie el ajuste activo en cualquier momento (excepto alejecutar el modelo). De esta manera, se puede configurar de nuevo rápidamenteun modelo para diversos propósitos, o aplicar los ajustes estándar de laconfiguración a los modelos nuevos.Mostrando los Ajustes de la Configuración. Para exhibir el ajuste deconfiguración asociado con un modelo, abriendo el explorador de modelo. Elajuste de la configuración asociado con el modelo aparece en un nodo con formade engranaje en el panel de jerarquía de modelo, en el explorador de modelo.El panel de contenido del explorador de modelo muestra los componentes delajuste de la configuración seleccionada. El panel de dialogo del exploradormuestra un diálogo para fijar los parámetros del grupo seleccionado.Figura 106. Explorador de modelo para el ajuste de la configuración.Fuente: Captura de Matlab versión trial (2008)Lección 10: Resultados de la Simulación.En la presente sección se explican las herramientas de SIMULINK empleadaspara analizar los resultados de la simulación. Las trayectorias de de salida deSIMULINK pueden ser graficadas usando uno de los tres siguientes métodos.  148
  • 170. 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  • Alimentar un bloque de visualización (Scope) o de Graficas XY (XY Graph). • Escribir las salidas en variables de retorno y usar los comandos de MATLAB para realizar las gráficas. • Escribir las salidas usando los bloques de espacio de trabajo (workspace) y usar los comandos de MATLAB para realizar las gráficas.Utilizando el Bloque de Visualización. Se puede mostrar la trayectoria de salidacon un bloque de visualización (Scope), durante la simulación como está ilustradoen el siguiente modelo.Figura 107. Modelo para observar el uso del Scope. Fuente: Captura de Matlab versión trial (2008)La pantalla en el Scope muestra la trayectoria de salida. Este bloque habilita alusuario para acercarse al área de la gráfica que sea del interés de este o guardarlos datos al workspace. El bloque XY Graph permite graficar una señal Vs otra.Utilizando Variables de Retorno. Son usadas para retornar tiempo o historial desalida, luego usando los comandos de MATLAB, estos datos pueden sergraficados y/o almacenados en la trayectoria de salida.Figura 108. Modelo para observar el uso de las variables de retorno.Fuente: Captura de Matlab versión trial (2008)  149
  • 171. 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 bloque etiquetado con Out es un puerto de salida de la librería Ports &Subsystem.Utilizando el bloque de Workspace. Este bloque puede ser empleado pararetornar las trayectorias de salida al espacio de trabajo de MATLAB. El siguientemodelo ilustra su forma de uso.Figura 109. Modelo para observar el uso del bloque Workspace.Fuente: Captura de Matlab versión trial (2008)Las variables y y t, aparecen en el espacio de trabajo (workspace), cuando lasimulación se completa. Se puede almacenar el vector de tiempos para alimentarel bloque clock (reloj) hacia el bloque de workspace.Diagnosticando Errores de Simulación. Si un error ocurre durante la simulación,SIMULINK detiene la simulación, abre el subsistema que causa el error (si esnecesario) y muestra los errores en el visor de diagnóstico de simulación(Simulation Diagnostic Viewer). A continuación La siguiente sección explica comousar el visor de Diagnóstico de Simulación (Simulation Diagnostic Viewer) paradeterminar la causa del error.Este visor abarca un panel con el sumario de errores (Error Sumary) y un panel demensajes de error (Error Message).  150
  • 172. 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 110. Visor de diagnóstico de la simulación.Fuente: Captura de Matlab versión trial (2008) • Panel de resumen de errores. El panel superior muestra una lista de errores que causaron que la simulación de SIMULINK terminara. El panel muestra la siguiente información 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 información para hacer másespacio para las otras. Para removerlas se selecciona la opción vista (view) delvisor y se remueven las selecciones del ítem correspondiente.  151
  • 173. 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  • 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 demás contenidos de los demás 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 fuenteFigura 111. Bloque que genera el error.Fuente: Captura de Matlab versión trial (2008) CAPÍTULO 3 BLOQUES, SEÑALES Y FUNCIONES SIntroducción. Los bloques, señales y las funciones s forman una parte primordialde un modelo en SIMULINK en este capítulo se desglosan con más detalle susprincipales características funcionales y de configuración.Lección 11: Bloques y Señales.Bloques. Los bloques son los elementos de los cuales se construyen los modelosde SIMULINK. Se puede modelar virtualmente cualquier sistema dinámico creandoy/o interconectando bloques ya existentes de forma adecuada para cadaaplicación.  152
  • 174. 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 Cuando se crean modelos, se debe tener en cuenta que los bloques de SIMULINKse organizan en dos grandes categorías, los virtuales y los no virtuales. Losbloques no virtuales tienen un papel activo en la simulación de un sistema. Si seañade o se remueve un bloque de este tipo se cambia el comportamiento delmodelo. Los bloques virtuales por el contrario no tienen un papel activo en lasimulación, estos ayudan a organizar un modelo gráficamente. Algunos bloquesson virtuales en algunas circunstancias y no virtuales en otras, son llamadosbloques virtuales condicionales. En la siguiente tabla se presenta una clasificaciónde los bloques virtuales.Tabla 18. Bloques virtuales.Nombre del Bloque Condición bajo la cual el bloque es virtualBus selector Virtual si la entrada al bus es virtualDemux Siempre virtualEnable Virtual a menos que esté conectado directamente a un puerto de salida de un bloque.From Siempre virtualGoto Siempre virtualGoto tag visibility Siempre virtualGround Siempre virtualImport Virtual a menos que el bloque en el que esté sea un subsistema condicionalmente ejecutado y tenga conexión directa al puerto de salida del bloque.Mux Siempre virtualOutport Virtual cuando el bloque en el que esté sea un subsistema (condicionado o no) y no reside en la raíz (máximo nivel) de la ventana de SIMULINK.Selector Virtual excepto en el modo de MatrizSignal specification Siempre virtualSubsystem Virtual a menos que el bloque sea condicionalmente ejecutado y la opción del bloque treat as Atomic Unit (tratarlo como unidad atómica.) está seleccionada.Terminator Siempre virtualTrigger Virtual cuando el puerto de salida no está presenteFuente: Armando Portela (2008)  153
  • 175. 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  • Parámetros del Bloque.Cada bloque de SIMULINK tiene un conjunto de atributos, llamados propiedades oparámetros, que gobierna su apariencia y su comportamiento durante lasimulación. Algunos tipos de atributos son comunes para todos los bloques, porejemplo todos los bloques tienen el atributo de nombre, otros atributos sonespecíficos a cada tipo de bloque como el bloque ganancia (Gain) que es el únicoque tiene el parámetro de ganancia. SIMULINK permite especificar los valorespara muchos de los atributos del bloque, permitiendo personalizar la apariencia ycomportamiento del bloque en el modelo que se está diseñando. SIMULINKproporciona los siguientes medios para especificar los parámetros 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 diálogo Block Propierties (propiedades del bloque) o Especifica varios atributos que son comunes en todos los bloques, para mostrar esta ventana de diálogo, se selecciona el bloque en la ventana de modelo, seguidamente se selecciona Block propierties del menú Edit.Figura 112. Ventana de diálogo de propiedades del bloque.Fuente: Captura de Matlab versión trial (2008)  154
  • 176. 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 ventana de diálogo contiene las siguientes pestañas: o General pane (panel general): permite ajustar las siguientes propiedades: Desciption (Descripción). Permite una breve descripción para el propósito del bloque. Priority (Prioridad). Permite seleccionar la prioridad de ejecución de un bloque con respecto a los demás bloques del modelo. Tag (Etiqueta). Es el texto asignado en el parámetro Tag y guardado con el modelo del bloque. Esta opción permite crear etiquetas propias del usuario específicas para un bloque. o Panel de Block annotation (Anotaciones del bloque): Este panel permite desplegar los valores de parámetros seleccionados de un bloque en una anotación que aparece debajo del icono del bloque.Figura 113. Ventana de diálogo de anotaciones del bloque.Fuente: Captura de Matlab versión trial (2008) Se Ingresa el texto de la anotación que aparece en el lado derecho del panel. Ejemplo, se seleccionan las propiedades Name y priority, y a continuación SIMULINK muestra estas propiedades con sus respectivos valores. Ejemplo:  155
  • 177. 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 114. Bloque mostrando sus propiedades.Fuente: Captura de Matlab versión 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 diálogo de llamados del bloque.Fuente: Captura de Matlab versión trial (2008)  156
  • 178. 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  - Ventana de diálogo Block parameter (parámetros del bloque). - Cada bloque tiene una ventana de diálogo que permite especificar valores para los atributos que son específicos a ese tipo de bloque. Para mostrar esta pantalla se debe hacer doble clic en el modelo o en la ventana de librerías. - Explorador de modelo. - Este permite encontrar y ajustar rápidamente las propiedades de uno o más 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 programación y escritura de los archivos M (M-files) para especificar los atributos del bloque. • Librería de Bloques.A continuación se describirán las librerías básicas de SIMULINK, con algunos desus componentes. Es tarea del estudiante revisar el resto de las muchísimasopciones que presenta este paquete.Tabla 19. Librerías y bloques de SIMULINK de uso común. Librería Bloque Función Derivative (Derivada) Derivar la señal de entrada Integra la señal de entrada, se le deben Integrator (Integrador) proporcionar los parámetros de límite superior e inferior y la condición inicial Le proporciona al usuario la posibilidad deContinuous (Continua): expresar una función de transferencia en Transfer Fcn (FunciónBloques que pueden función de s. los parámetros son los de transferencia)representar funciones coeficientes que acompañan la variablecontinúas en el tiempo. en el numerador y el denominador. Transoport Delay La salida del bloque está retrasada con (Retraso de respecto a la señal de entrada transporte) Zero-Pole (Polos y Función de transferencia expresada en ceros) valores de ganancias en estado estableMath (Matemáticas):Bloque que realizan Calcula el valor absoluto de la señal deoperaciones matemáticas Abs entrada.con la señal o señales deentrada Aplica un valor de ganancia constante a Gain (Ganancia) la señal de entrada.Fuente: Armando Portela (2008)  157
  • 179. 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ñales. SIMULINK define señales como las salidas de los sistemas dinámicosrepresentados por los bloques en un diagrama y por el diagrama en sí mismo. Laslíneas en los diagramas de bloques representan relaciones matemáticas entre lasseñales definidas por el diagrama de bloque. Por ejemplo, una línea que conectala salida del bloque A con la entrada del bloque B indica que la salida de la señalde salida de B depende de la señal de salida generada en A.Se puede pensar que las señales que viajan por las conexiones realizadas en undiagrama de bloques, son señales de tipo eléctrico como las que viajan en uncable telefónico, aunque esta analogía es un poco engañosa porque sugiere queel diagrama de bloque representa la conexión física de bloques lo cual no escierto. Las señales de SIMULINK son entidades matemáticas no físicas y laslíneas en un diagrama de bloque representan relaciones matemáticas no físicasentre señales.Lección 12: Tipos de datosLos tipos de datos se refiere a la forma en que una computadora representa losnúmeros en memoria. Un tipo de dato determina la cantidad de almacenamientoasignada para un determinado número, el método empleado para codificar el valordel número como un patrón de digito binarios, y las operaciones disponibles paramanipular los distintos tipo. La mayoría de las computadoras proveen las opcionesde tipos datos para representar números, cada una con ventajas en términos deprecisión, rango dinámico, 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 estacapacidad para especificar el tipo de dato en las señales y los parámetros de losbloques. Esta habilidad es particularmente útil en los modelos de tiempo real. Porejemplo, permite que un modelo de SIMULINK especifique los tipos de datosóptimos a utilizar para representar señales y parámetros de bloques en un códigogenerado por la herramienta de generación de código automática (Real-timeWorkshop disponible de Mathworks), escoger el tipo de datos más apropiado paraseñales y bloques del modelo puede incrementar dramáticamente elfuncionamiento y aminorar el tamaño del código generado por el modelo.SIMULINK realiza una extensa comprobación antes y durante la simulación paraasegurar que el modelo utilice los tipos de datos correctos y así el códigogenerado del modelo no se desbordará o se quedará bloqueado, produciendo  158
  • 180. 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 resultados indeseados. Los modelos de SIMULINK utilizan por defecto el tipo dedato doble.SIMULINK soporta la mayoría de tipos de datos que el MATLAB soporta exceptoint64 y uint64. La siguiente tabla representa los datos soportados por SIMULINK.Tabla 20. Tipo de datos soportados por SIMULINK. Nombre Descripción Double Punto flotante de doble precisión Single Punto flotante de precisión simple Int8 Entero de 8 bits con signo Uint8 Entero de 8 bits sin signo Int16 Entero de 16 bits con signo Uint16 Entero de 16 bits sin signo Int32 Entero de 32 bits con signo Uint32 Entero de 32 bits sin signoFuente: Armando Portela (2008)Lección 13: Funciones SUna función S, es una descripción en algún lenguaje computacional de un bloquede SIMULINK. Estas pueden ser escritas en MATLAB, C, C++, ADA o FORTRAN,dichas funciones son compiladas como archivos MEX (MEX-files), este tipo dearchivos son la manera para hacer el llamado de rutinas creadas en C oFORTRAN directamente desde MATLAB como si fueran funciones propias ocreadas en este.Las principales razones para escribir un archivo MEX son: • La habilidad de MATLAB para llamar códigos de gran tamaño escritos en C y FORTRAN, así, no tener que reescribirlos de nuevo en MATLAB. • Velocidad; se pueden reescribir cálculos que generan ‘cuellos de botella’ (como por ejemplo lazos for) como un archivo MEX para ganar en eficiencia.  159
  • 181. 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 Los archivos MEX, no son apropiados para todas las aplicaciones, dado queMATLAB es un sistema de alta productividad el cual está especializado en eliminarel consumo de tiempo. En general la mayoría de la programación debe serrelizada en MATLAB, no se debe usar este tipo de archivos a menos que laaplicación lo requiera.Una función de este tipo usa una sintaxis especial de llamado que habilita alusuario para interactuar con los solucionadores de SIMULINK. Esta interacción esmuy similar a la interacción que toma lugar entre los solucionadores y el interior delos bloques. La forma de una función S es muy versátil y puede ser del tipocontinuo, discreto o híbrido. Esta función permite al usuario añadir sus propiosbloques a los modelos diseñados. Se pueden crear funciones S, en los lenguajesde programación antes mencionados, siguiendo una serie de reglas.Lección 14: Usar Funciones S en los modelosPara incorporar una función S a un modelo, se debe arrastrar el bloque desde lalibrería de SIMULINK definida por el usuario hacia el modelo. Luego se especificael nombre de la función S en el campo S-function name (Nombre de la función S),como se ilustra en la siguiente figura. En este ejemplo, el modelo contiene dosinstancias de un bloque de función S. ambos bloques son referentes al mismoarchivo fuente (mysfun) el cual puede ser un archivo C-MEX o un archivo M. Siambos archivos tienen el mismo nombre, el C-MEX toma precedencia y es elarchivo que la función S usa.  160
  • 182. 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 116. Relación entre un bloque de función S, su ventana de diálogo y elarchivo fuente que define el comportamiento del bloque.Fuente: Captura de Matlab versión trial (2008)Asignando Parámetros a las Funciones S. El campo S-function parameter(parámetros de la función S) de los bloques función S, permite especificar losvalores de los parámetros que puedan ser asignados a la correspondiente funciónS. se debe usar este campo conociendo los parámetros que dicha función requiere(si no se conocen se puede consultar la documentación del autor del bloque o sucódigo fuente). Se deben ingresar los parámetros separados por coma, en elorden que sean requeridos por la función. Los parámetros pueden ser constantes,nombres de variables definidas en el espacio de trabajo, o expresiones deMATLAB. El siguiente ejemplo ilustra el uso del campo de parámetros de lafunción para ingresar los parámetros definidos por el usuario.  161
  • 183. 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 117. Parámetros de la S- función .Fuente: Captura de Matlab versión trial (2008)El modelo en este ejemplo incorpora limintm, una muestra de una S-función deejemplo que incluye el SIMULINK. El código fuente de esta función puedeencontrarse en toolbox/simulink/blocks. La función limintm acepta tres parámetros:una banda inferior, una banda superior y una condición inicial. Su salida es laintegral de la señal de entrada, esta integral está definida entre la banda inferior(como límite inferior) y la banda superior (como límite superior). La ventana dediálogo en este ejemplo especifica una banda inferior, superior y una condicióninicial con valores de 2,3 y 2.5 respectivamente. El visualizador muestra la salidaresultante cuando su entrada es una onda seno de amplitud 1.¿Cuándo usar una función-S?. El uso más habitual de una S-función es crearbloques de SIMULINK a medida. Se pueden usar en una variedad de aplicacionesincluyendo: • Añadir nuevos bloques de propósito general. • Añadir bloques que representen drivers de dispositivos de hardware. • Incorporar un código fuente escrito en C. • Describir un sistema como un conjunto de ecuaciones matemáticas. • Usar animaciones gráficas  162
  • 184. 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 15: Como trabaja una función S y como se escribe en MATLABPara crea s-funciones es necesario saber cómo trabaja. Para entender comofunciona es necesario saber como SIMULINK simula un modelo y para poderlograr esto se requiere entender la matemática de los bloques.Matemática de los bloques. Un bloque de SIMULINK consiste en un conjunto deentradas, estados y salidas, donde las salidas están en función de muestras detiempo, de las entradas y de los estados del bloque.Figura 118. Esquema de la relación Matemática de los bloquesFuente: Captura de Matlab versión trial (2008)Las siguientes ecuaciones expresan la relación matemática entre las entradas, losestados y las salidas. y = f 0 (t , x, u ) (Salidas) • x = f d (t , x, u ) (Derivativo) x d h + 1 = f u (t , x , u ) (Actualizado)Etapas de la simulación. La ejecución de un modelo en SIMULINK es hecha enetapas. Primero viene la etapa de inicialización, en esta fase SIMULINK incorporala librería de los bloques, caminos de propagación, tipos de datos y muestras detiempo, evalúa los parámetros de los bloques, determina el orden de ejecución delos bloques y asigna los espacios de memoria. Entonces SIMULINK ingresa en unlazo de simulación (simulation loop). En cada ciclo de la simulación, SIMULINKejecuta todos los bloques de los modelos en el orden que fueron determinadosdurante la inicialización, para cada bloque se invoca funciones que calculan losestados y salidas del bloque para el tiempo actual. Esto continúa hasta que secomplete el tiempo de simulación. La siguiente figura ilustra las etapas de lasimulación.  163
  • 185. 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 119. Como SIMULINK ejecuta una simulación.Fuente: Armando Portela (2008)Escribir funciones S en MATLAB. SIMULINK provee una Interfaz deProgramación de Aplicaciones (Application Programming Interface (API)), quepermite crear bloques en donde las propiedades y comportamiento de estos estándefinidos por programas realizados en MATLAB (M-files) llamados M-files S-function. El nivel 2 de M-files S-function le permite al usuario crear bloques quetengan todas las características y capacidades de los bloques de SIMULINK,incluyendo múltiples puertos de entrada y de salida, la habilidad para permitir laseñales tanto en forma de vector como de matriz para cualquier tipo de datossoportado por SIMULINK, señales reales o complejas y la habilidad para operar adiferente tasas de muestreo.  164
  • 186. 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
  • 187. 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  FUENTES DOCUMENTALES UNIDAD 2BIBLIOGRAFIAModelamiento MatemáticoAllen Angel. (1992). Álgebra intermedia. Mexico: Prentice Hall.Ayres, Jr. (1991). Cálculo diferencial e integral (3ra Ed). España: McGraw Hill.Granville. (1996). Cálculo diferencial e integral. Mexico: Limusa.Grossman (1996). Álgebra lineal. Colombia: McGraw Hill.Larson. (1994). Introducción al Algebra Lineal. Mexico: Limusa.Señales y SistemasArnold. (1992). Sistema moderno de procesamiento de datos. Mexico: Limusa.Irarrazaval. (1999). Análisis de señales. Chile: McGraw Hill.Papoulis (1986). Sistemas digitales y analógicos, transformadas en FOURIER,estimación espectral. España: Marcombo.SimulaciónHilario Pérez. (2000). Simulación y electrónica analógica. Prácticas y problemas.Colombia: Alfaomega.Raczynski (1993). Simulación por Computadoras. Mexico: Noriega.Ross. (1999). Simulación (2da Ed). Mexico: Prentice Hall.Simulación, Un enfoque practico. Coss. Limusa. 1992. MexicoStanley Wolf. (1980). Guía para mediciones electrónicas y practicas de laboratorio.Mexico: Prentice Hall.  166
  • 188. 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 MatlabEtter Delores. Solución de Problemas de Ingeniería con Matlab. (2da Edición):Prentice hallHahn Brian D. (2007). Essential Matlab for Engineers and Scientist. (ThirdEdition). Elsevier.Hunt Brian R. (2001), A guide to Matlab for beginners and experienced users.Cambridge University: Press.McMahon David. (2007). Matlab Demystified: McGraw-Hill.Ogata Katsuhiko. Problemas de Ingenieria de control Utilizando Matlab: PrenticeHall.Sayood Khalid. (2007). Learning Programing Using Matlab. (First Edition): Morgan& Claypool.Sigmon Kermit, (2002). Matlab Primer. (Sixth Edition). Chapman & Hall/CRC:Press.SITIOS WEBMatlabDocumentation for MathWorks Products.(2009). [en Línea]. Recuperado el 19 dejulio de 2009, de http://www.mathworks.es/access/helpdesk/help/helpdesk.shtmlIndiana University. Matlab. (2009). [en Línea[. Recuperado el 19 de julio de 2009,de http://www.indiana.edu/~statmath/math/matlab/index.htmlIntroducción a Matlab. (2001). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://www.ing.unlp.edu.ar/controlm/archivos/electronica/doc/apuntes/matlab.pdfMatlab Educational Sites. (2006). [en Linea]. Recuperado el 19 de Julio de 2009,de http://www.ece.umaine.edu/mm/matweb.htmlMinitutorial de Matlab. (2009). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://www.desi.iteso.mx/sys/matlab/matlab.htmThe Mathworks. (2009). [en línea]. Recuperado el 19 de julio de 2009, dehttp://www.mathworks.es/  167
  • 189. 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 de Matlab. (1997). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://www.angelfire.com/la/hmolina/matlab1.htmlTutoriales de control con Matlab. (1996). [en Línea]. Recuperado el 19 de julio de2009, de http://ib.cnea.gov.ar/~control2/Links/Tutorial_Matlab_esp/index.htmlScilabIntroduction to Scilab. (2009). [en Línea]. Recuperado el 19 de julio, dehttp://pauillac.inria.fr/cdrom/www/scilab/doc/intro/index.htmlScilab. (2009). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://www.scilab.org/Welcome to Scilan.in (). [en Línea]. Recuperado el 19 de Julio de 2009, dehttp://scilab.in/index.php?title=Main_PageProgramaciónAlgoritmos. (1997). [en línea]. Recuperado el 19 de julio de 2009 de,http://www.monografias.com/trabajos15/algoritmos/algoritmos.shtmlArquitectura de Ordenadores I. [en Línea]. Recuperado el 19 de Julio de 2009, dehttp://www-gist.det.uvigo.es/~martin/ao1/lec11.pdfConceptos de Lenguajes de Programación. (2005). [en Línea]. Recuperado el 19de julio de 2009, dehttp://www.mailxmail.com/curso/informatica/programacionestructurada/capitulo4.htmEnsamblador Lenguaje de Bajo Nivel (2004). [en Línea]. Recuperado el 19 de juliode 2009, de http://mx.geocities.com/alfonsoaraujocardenas/ensamblador.htmlTécnicas de Diseño de Algorimos. (2000). [en Línea]. Recuperado el 19 de julio de2009, de http://www.lcc.uma.es/~av/Libro/indice.htmlDescargasAprenda matlab 7.0. (2005). [en Línea] . Recuperado el 19 de julio de 2009, dehttp://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab70/matlab70primero.pdf  168
  • 190. 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 Scilab 5.1.1. (20090. [en Línea]. Recuperado el 19 de julio de 2009 de,http://scilab.softonic.com/TheMathWorks. (2009). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://www.mathworks.com/products/matlab/  169
  • 191. 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 3. LABVIEWIntroducción“Es una herramienta usada por científicos e ingenieros para medir y automatizar eluniverso que nos rodea”LABVIEW (Laboratory Virtual Instrument Engineering Workbench), es un lenguajey un entorno gráfico de programación que usa iconos en lugar líneas de comandopara crear aplicaciones. A diferencia de otros lenguajes donde las instruccionesdeterminan el flujo de programa, en LabVIEW el flujo de datos a través de losnodos en el diagrama de bloques determina el orden de ejecución de losinstrumentos virtuales VI (Virtual Instrument) y funciones. Los instrumentosvirtuales o VI’s son los programas hechos en LabVIEW que imitan instrumentosfísicos o paneles de control de muy diversos sistemas.Esta herramienta fue desarrollada por National Instruments, su desarrollocomenzó en el año de 1.983 y la primera versión fue lanzada en el año de 1.986LabVIEW para Macintosh y en 1.990 la segunda versión. La versión utilizadacomo referencia para este curso es la 8.6.JustificaciónLabVIEW es un lenguaje de programación gráfico diseñado para ingenieros ycientíficos para desarrollar aplicaciones de pruebas, control y medidas. Lanaturaleza intuitiva de la programación gráfica de LabVIEW lo hace fácil de usarpor educadores e investigadores para incorporar el software a varios cursos yaplicaciones. Con LabVIEW, los educadores e investigadores pueden usar unenfoque de diseño de sistemas gráficos para diseñar, generar prototipos ydesplegar sistemas embebidos. Combina la potencia de la programación gráficacon hardware para simplificar y acelerar drásticamente el desarrollo de diseños. Por que usar Labview. (2009).[ en línea], recuperado el 20 de julio de2009, de http://www.ni.com/academic/why_labview/esa/  170
  • 192. 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  Intencionalidades FormativasPropósitosConocer y utilizar Labview como una herramienta de diseño y puesta a prueba desistemas donde se requiere adquirir información, procesar, tomar decisiones aparti de ciertos resultados, todo a partir del desglose del manejo general depaquetes, además desarrollar habilidades que le permitan al estudiante identificarsu potencial uso en el desarrollo de soluciones óptimas a problemas en el campode la ingeniería electrónica.ObjetivosQue el estudiante amplíe complemente y profundice en las característicasoperativas, técnicas, los beneficios de Labview para que así puedan realizar unaserie de actividades, tendientes a solucionar problemas de carácter electrónico,identificables en el quehacer diario del campo ingenieril.CompetenciasEl estudiante conoce las características y posibilidades que le brindan los softwareanalizados en el curso, además conoce los procedimientos sistemáticos parainteractuar con éstos manejando los comandos básicos, formas de representaciónde los datos y expresiones características. Sabe buscar en las ayudas de lossoftware los comandos específicos que sirvan para resolver una determinadatarea así como para conocer la sintaxis adecuada a la hora de programar.Puede depurar la programación en la búsqueda de errores de programación ypuntos del programa donde no se realiza lo que en realidad se requiere, sabeejecutar los programas realizados para asegurarse que cumplan losrequerimientos y resuelvan adecuadamente una problemática dada. A su vez elestudiante sabe documentar los programas realizados para posibles utilizacionesposteriores 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, generargráficas, tablas de datos, estadísticas, procesado y filtrado de información, generarsistemas de instrumentación i/o adquisición de datos empleando Matlab, ScilabSimulink y Labview así como generar funciones o sub-funciones que le ayuden en  171
  • 193. 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 labores especificas, para las cuales no exista un comando definido que resuelva laproblemática planteada y que dichas funciones puedan ser empleadas comobloques constitutivos de una programa o aplicación mayor.Metas de aprendizajeEl estudiante aprenderá de forma individual las temáticas del módulo del cursopara que así pueda aplicar lo aprendido en cada tema mediante ejercicios yactividades tanto individuales como grupales en las que se desarrollen pequeñosprogramas o aplicaciones en donde el estudiante se valga de toda la informacióndisponible, de su espíritu investigativo y del trabajo en grupo para buscar lamanera de generar las soluciones más óptimas y funcionales ante lasproblemáticas planteadas.El estudiante aplicará una metodología adecuada para el correcto diseño eimplementación de algoritmos en la programación y simulación de soluciones aproblemas de ingeniería y modelado de sistemas. CAPITULO 1. CONCEPTOS BASICOS DE LABVIEWIntroducción. En este capítulo se tratan los aspectos necesarios parafamiliarizarse con el uso de LabVIEW, incluyendo las ventanas Panel y Diagram,menús de LabVIEW y la ventana de jerarquía. Asimismo se presentan otrosaspectos necesarios como el uso de los modos edit y run, y un ejemplo donde secrea, ejecuta y depura un Instrumento Virtual (VI).Lección 1: Características y AplicacionesLabview es un programa enfocado hacia la instrumentación virtual, por lo quecuenta con numerosas herramientas de presentación, en gráficas, botones,indicadores y controles, los cuales son muy esquemáticos y ofrecen multiplesopciones de presentación.Cuenta con librerías especializadas para manejos de DAQ, Redes,Comunicaciones, Análisis Estadístico, Comunicación con Bases de Datos. Comose programa creando subrutinas en módulos de bloques, se pueden usar otros  172
  • 194. 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 bloques creados anteriormente. Además permite pasar las aplicaciones entrediferentes plataformas como Macintosh y seguir funcionando.LabVIEW se diferencia de otros lenguajes de programación, ya que no se basa enlíneas de texto para crear el código fuente del programa, sino en la programacióngráfica o lenguaje G para crear programas basados en diagramas de bloques.LabVIEW posee extensas librerías de funciones y subrutinas. Además de lasfunciones básicas de todo lenguaje de programación, LabVIEW incluye libreríasespecíficas para la adquisición de datos, control de instrumentación VXI, GPIB ycomunicación serie, análisis presentación y guardado de datos.Los programas desarrollados mediante LabVIEW se denominan InstrumentosVirtuales (VIs), porque su apariencia y funcionamiento imitan los de un instrumentoreal. Sin embargo son análogos a las funciones creadas con los lenguajes deprogramación convencionales. Los VIs tienen una parte interactiva con el usuario yotra parte de código fuente, y aceptan parámetros procedentes de otros Vis, a laparte interactiva se le conoce como Panel Frontal y a el código fuente comoDiagrama 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 fácil 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 adquisición, análisis y presentación de datos. • El sistema está dotado de un compilador gráfico para lograr la máxima velocidad de ejecución posible. • Tiene la posibilidad de incorporar aplicaciones escritas en otros lenguajes.  173
  • 195. 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  • 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 programación, yaque se emplean iconos y se apoya sobre símbolos gráficos en lugar de lenguajeescrito para construir las aplicaciones. Además posee extensas librerías defunciones y subrutinas. Además de las funciones básicas de todo lenguaje deprogramación.Las aplicaciones de LabVIEW pueden ser: prueba de dispositivos electrónicos,control de sistemas y maquinaria, monitoreo de condiciones en un ambienteindustrial, realización de prototipos de lógica en los dispositivos biomédicos, entreuna infinidad de otras aplicaciones. Labview permite para cada aplicación hacermediciones físicas, entradas, salidas, procesamiento de señal, toma de decisionescomplejas, registro de datos, generación de reportes, comunicación, etc.Lección 2: Entorno de Trabajo. Panel Frontal.Al comenzar el programa, se despliega la pantalla inicial que permite acceder a lainformación fundamental como Iniciar con LabVIEW (Getting started withLabVIEW), la ayuda (LabVIEW Help), información y nuevas características,además de los íconos correspondientes para generar nuevos VI’s o abrir algunoexistente. Ver Figura 120.Un instrumento virtual consta principalmente de dos componentes: un diagrama debloques (Figura 121 a), que es donde se desarrolla el código gráfico en forma dediagrama de bloques, además se cuenta con una interfaz de usuario que pude serpersonalizada con objetos como perillas (Figura 121 b), indicadores y botonespara formar el panel de control y/o monitoreo de los instrumentos virtuales .  174
  • 196. 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 120. Pantalla inicial de LabVIEW.Fuente: Captura de Labview 8.6 Versión Trial 2009Figura 121. Ventanas del Instrumento Virtual, a) Diagrama de Bloques, b) PanelFrontal.Fuente: Captura de Labview 8.6 Versión Trial 2009  175
  • 197. 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 Las paletas, herramientas y menús de LabVIEW, son utilizados para construir elpanel frontal y el diagrama de bloques de los VIs, realizando conexiones entre losdiferentes elementos incluidos en tres paletas: la paleta de control, de funciones yde herramientas.Los instrumentos virtuales son entidades realizadas con el LabVIEW, enapariencia y operación imitan los instrumentos físicos, como osciloscopios,multímetros o paneles de control de cualquier tipo. Cada VI emplea funciones quemanipulan las entradas de una interfase con el usuario u otras fuentes comosensores, tarjetas de adquisición, puertos de comunicación del PC, etc. Estainformación puede ser presentada por pantalla en forma numérica o gráfica opuede ser procesada internamente para obtener resultados específicos, tambiénse 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 código fuente gráfico 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 análogo a una subrutina en un lenguaje de programación basado en líneas de código.Panel Frontal. El panel frontal se construye empleando controles e indicadores,los cuales representan respectivamente entradas interactivas y elementos desalida de un VI. Los controles pueden ser perillas, botones, diales que simulanmecanismos de entrada y control, generalmente se emplean como fuente de datospara el diagrama de bloques del VI. Los indicadores pueden ser gráficos, LEDsindicadores numéricos, etc. que simulen mecanismos de salida y visualización,éstos presentan datos que el diagrama de bloques adquiere o genera.Generalmente este panel es diseñado antes que el diagrama de bloques.Para desplegar la paleta de controles se selecciona en la barra de menúsView>>Controls Palette, y se escogen los indicadores, perillas, etc que estarán enla ventana donde se construye el panel frontal (Figura 122). Los tipos de controlese indicadores, incluyen:  176
  • 198. 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  • Numéricos: barras deslizables, perillas, gráficos, cartas. • Boléanos: Botones y switches, cadena de caracteres, arreglos, grupo de opciones (Clusters), caja de listas (Listbox), árbol de controles.Visualizadores numéricos, Barras deslizables y de desplazamiento, perillas,diales y cronómetros. Se usan los objetos numéricos localizados en las paletasNumeric y Classic Numeric, entre estos se pueden encontrar barras deslizables yde desplazamiento, perillas, diales, y visualizadores numéricos, también incluyecaja de colores para ajustar el color del indicador. Estos son utilizados paraingresar y mostrar los datos numéricos.Figura 122. Paleta de Controles.Fuente: Captura de Labview 8.6 Versión Trial 2009Controles e Indicadores numéricos. Es la forma más simple para ingresar ydesplegar datos numéricos, se pueden redimensionar estos objetos en el panel  177
  • 199. 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 frontal para poder tener una mayor cantidad de dígitos (Ver Figura 123). Pordefecto LabVIEW, muestra y almacena los números como una calculadora, estecambia automáticamente a una notación exponencial si el valor del número superalos 6 dígitos. Para variar e valor por defecto de un indicador, se puede digitarvalores con el teclado o utilizar las flechas de incremento o decremento.Figura 123. Controles e indicadores Numéricos.Fuente: Captura de Labview 8.6 Versión Trial 2009 • Controles e indicadores deslizables (Slide) y de desplazamiento (Scroll).Estos son indicadores numéricos con una escala, pueden ser tanto verticalescomo horizontales, un tanque o un termómetro. Los valores por defecto de estosson variados haciendo clic y arrastrando hasta el nivel que se desea. Se puedeañadir más de un indicador de desplazamiento haciendo clic derecho sobre elindicador y seleccionar Add Slider. El tipo de dato de un control con múltiplesSlider es un grupo que contiene cada uno de los datos numéricos.Figura 124. Controles e indicadores deslizables.Fuente: Captura de Labview 8.6 Versión Trial 2009  178
  • 200. 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  • Controles e indicadores giratorios (Rotary).Estos incluyen botones, diales, medidores y contadores. Los objetos giratoriosfuncionan de manera similar a los controles e indicadores deslizables, porquedependiendo de su posición representan valores numéricos en una escala devalores. Para cambiar el valor de los controles giratorios se hace clic sobre laaguja y se arrastra hasta su nueva posición. Se puede añadir más de una aguja(Neddle) haciendo clic derecho sobre el indicador y seleccionar Add Neddle. Eltipo de dato de un control con múltiples Neddles es un grupo que contiene cadauno de los datos numéricos.Figura 125. Controles e indicadores giratorios.Fuente: Captura de Labview 8.6 Versión Trial 2009 • Cronómetros, controles e indicadores de tiempo.Son utilizados para enviar y recibir valores de tiempo y el dato registrado en esosinstantes, este valor puede ser modificado haciendo clic sobre este ícono.Figura 126. Controles e indicadores de tiempo.Fuente: Captura de Labview 8.6 Versión Trial 2009Botones, interruptores y luces. Estos indicadores y controles se encuentranlocalizados en las paletas Boolean y Classic Boolean y sirven para crear botones,  179
  • 201. 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 interruptores y luces. Estos son utilizados para el ingreso y despliegue de valoresbooleanos (Verdadero/falso). Por ejemplo si se está monitoreando la temperaturade un experimento, se puede colocar una luz de advertencia booleana en el panelfrontal para indicar cuando la temperatura excede este valor.Los controles booleanos poseen seis tipos de acción mecánica que le permiten alusuario personalizar esta clase de objetos para así crear panel frontales que en loposible se emulen al máximo el comportamiento físico de los instrumentos.Figura 127. Paleta de los controles e indicadores booleanos.Fuente: Captura de Labview 8.6 Versión Trial 2009  180
  • 202. 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  • Controles de opción (Radio Buttons).Estos deben ser utilizados para brindar a los usuarios una lista de opciones, de lascuales se puede escoger solo una por vez.Cajas de entrada de textos (Text Entry boxes), Marquillas (Labels). Estosindicadores y controles se encuentran localizados en las paletas String & Path yClassic String & path son manejados con cadenas de caracteres, se emplean paraintroducir cajas de entrada de texto, marquillas y para ingresar o retornar lalocalización de un archivo o directorio.Figura 128. Paleta de Cadena de Caracteres.Fuente: Captura de Labview 8.6 Versión Trial 2009Indicadores y controles de arreglos (Arrays), matrices (Matrix) y grupos(Clusters). Se encuentran localizados en la paletas Array, Matrix & Cluster yClassic Arrays, Matrix & Cluster (Figura 129). Un arreglo (Array) son datos delmismo tipo. Un Cluster son datos de diferente tipo. Un grupo de matrices son filasy columnas de datos complejos o escalares para realizar operacionesmatemáticas, como por ejemplo las del algebra lineal.  181
  • 203. 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 129. Paleta de Arrays, Matrix and Cluster.Fuente: Captura de Labview 8.6 Versión Trial 2009Caja 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 múltiples selecciones. Se usanlas cajas de listas multi-columnas para desplegar más información acerca de cadaopción, como el tamaño y el momento en que fue creado. • Árbol de Controles (Tree Control).Este es utilizado cuando se requiere brindar al usuario una lista jerárquica deopciones de la cuales puede escoger. Cuando se organizan los elementos de estamanera las opciones aparecen al hacer clic sobre el nodo, y se colapsan odesaparecen si se vuelve a oprimir el nodo. • Tablas.Se utilizan para crear tablas en el panel frontal.  182
  • 204. 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 130. Paleta de List & Table.Fuente: Captura de Labview 8.6 Versión Trial 2009Controles 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 loscanales del DAQ (Sistema de adquisición de datos), así como los recursos VISA ynombres de la lógica IVI. • VISA: (Virtual Instrument Software Architecture) o en español: Arquitectura Software del Instrumento Virtual, Se trata de una interfaz sencilla para controlar una serie de dispositivos para adquisición de señales. • IVI: (Interchangeable Virtual Instrument) en español: Instrumento Virtual Intercambiable, Es un estándar de software para crear una interfaz común (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 están localizados en la paleta de funciones(Functions). Una constante es una terminal de datos en el diagrama de bloquesque suministra valores fijos, éstos serán empleados por los demás elementos deldiagrama para realizar operaciones especificas.  183
  • 205. 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 Control en la Forma de Onda (Waveform): Sirve para manipular los datos de loselementos de un de forma de onda. Lleva el control de la forma de onda de losdatos, hora de inicio, y el delta t de una forma de onda.Control de la Forma de Onda Digital: Es utilizado para manipular los elementosindividuales de una forma de onda digital.Configurando los Objetos en el Panel Frontal. Se usa la caja de dialogo depropiedades, para configurar como aparecerán y se comportarán los controles eindicadores, esto se logra haciendo clic con el botón derecho del mouse y llegar apropiedades (Properties), mientras las simulación este corriendo no puedehacerse uso de esta opción.Mostrar u Ocultar Elementos Opcionales.Los controles e indicadores del panel frontal tienen elementos opcionales que sepueden mostrar u ocultarse, tales como, marquillas, leyendas y visualizadoresdigitales.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 típico. Por ejemplo si se colocaun interruptor de palanca (toggle switch) en el panel de control, este aparece comoun control porque por lo general es una entrada del mecanismo (físico). Si secoloca un LED este aparece como un indicador, porque usualmente es utilizadocomo in dispositivo de salida.Algunas paletas contienen un control y un indicador para el mismo tipo de objeto.Por ejemplo, la paleta de numéricos (Numeric) contiene un control y un indicadornumérico porque se pueden tener entradas numéricas y salidas numéricas. Sepuede cambiar un control a un indicador haciendo clic con el botón derecho sobreel objeto y se selecciona cambiar a indicador (Change to Indicator) y se va acambiar un indicador a un control se repite el procedimiento anterior y seselecciona cambiar a control (Change to Control).  184
  • 206. 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 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 botón derecho del mouse y se seleccionareemplazar (Replace) y aparecerá temporalmente una paleta de control (Controls)donde se escoge el indicador o control con el que se va a reemplazar.Lección 3: Entorno de Trabajo. Diagrama de Bloques.Luego de estar construido el panel frontal, el código del programa es añadidousando representaciones gráficas de funciones para controlar los objetos del panelde control. El diagrama de bloques contiene este código gráfico, también llamadocomo G-Code o código de diagrama de bloques.Objetos de los diagramas de bloques.Los objetos en el diagrama de bloques incluyen terminales y nodos, y se conectanpor medio de cables (wires). El color y símbolo de cada terminal indica el tipo dedato del correspondiente control o indicador. Las constantes son terminales quesuministran valores fijos en el diagrama de bloquesTerminales del diagrama de bloques.Los objetos creados en el panel frontal aparecen como terminales en el diagramade bloques. Se puede hacer doble clic en la terminal del diagrama de bloque pararesaltar el correspondiente objeto del panel frontal. Las terminales son puertos deentrada y salida que intercambian información entre el panel frontal y el diagramade bloques.Los valores de los datos que son ingresados en el primero de estos ingresan alsegundo por las terminales de control. Durante la ejecución, el flujo de datos desalida de la terminal del indicador, sale del diagrama de bloques y reingresa alpanel frontal y aparece en los indicadores de este.LabVIEW tiene terminales de control e indicación, terminales de nodo, constantesy terminales especializadas, para interconexión de las terminales se usan cables y  185
  • 207. 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 los datos fluyen de una terminal a otra. Para poder desplegarlas se hace clic conel botón derecho y se selecciona Visible Items>>Terminals (Opcionesvisibles>>Terminales) y se oculta se repitiendo el procedimiento.Se pueden configurar los controles o indicadores del panel frontal para queaparezcan 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, semuestra como sigue (figura 131), representa a un control de perilla en el panelfrontal.Figura 131. Terminal ícono de una perillaFuente: Captura de Labview 8.6 Versión Trial 2009Controles e Indicadores del Tipo Dato.Un control e indicador del tipo dato incluye numérico de punto flotante, numéricoentero, marcas de tiempo, enumerados, booleanos, cadena de caracteres (string),arreglos (arrays), grupos (clusters), dinámicos.Valores Numéricos Simbólicos.Un valor inesperado o indefinido invalida las operaciones subsiguientes a esta.Las operaciones efectuadas en punto flotante retornan los dos siguientes valoressimbólicos que indican un error en los cálculos. • NaN (Not a Number): No es un número, por ejemplo el cálculo de la raíz cuadrada de un número negativo el punto flotante. • Inf (Infinity): Infinito, representa que el valor calculado en punto flotante se encuentra fuera el rango de operación.  186
  • 208. 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 Constantes.Como se ha dicho con anterioridad las constantes son terminales queproporcionan valores fijos en el diagrama de bloques. Las constantes universalessiempre son valores fijos como pi (π) e infinito (∞). Los valores constantesdefinidos por el usuario se definen y editan antes de correr el VI, esto se consiguehaciendo 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 yrealizan las operaciones cuando se ejecuta un VI. Son análogas a lasdeclaraciones (statements), operadores, funciones y subrutinas en laprogramación basada en texto. LabVIEW incluye los siguientes tipos de Nodos: • Funciones: Inmersas dentro de los elementos, comparables con un operador, función o declaración. • SubVI: Es un VI usado como un bloque dentro de otro VI, comparable con la subrutinas. • Express VIs: Son SubVIs diseñados para añadir tareas a medida. • Estructuras (Strucutures): Elementos de control de ejecución, 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) ytienen un color amarillo pálido y de fondo y negro en los bordes. Las funciones notienen panel frontal o diagrama de bloques pero si paneles de conexión, estos nose pueden ni abrir ni editar  187
  • 209. 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 Añadiendo terminales a la función.Esta es una opción que permite cambiar el número de terminales de algunasfunciones. Por ejemplo, para construir un arreglo con 10 elementos se deben tener10 terminales. Se pueden añadir terminales a la función posicionando el punterode mouse sobre el borde y arrastrarlo arriba o abajo y eliminarlos repitiendo elprocedimiento, aunque no se pueden borrar terminales que estén “cableadas” porlo que si se desea eliminar se debe primero borrar la conexión.Conectar los Objetos en el Diagrama de Bloques.La transferencia de datos en el diagrama de bloque se realiza a través de “cables”(wire). Cada cable tiene una sola fuente de datos pero pueden conectarse tantoscables sobre el primero para así tener el mismo dato y procesarlo en diferenteselementos de un diagrama.Apariencia y Estructura de los Cables.Los cables son de diferente color estilo y grosor dependiendo de que tipo de datosestén fluyendo sobre este, de manera similar al color y símbolo de un terminal. Uncable roto aparece como una línea punteada con una X de color rojo en el medio,esto ocurre por una diversidad de razones, como cuando se intentan conectar dosobjetos con datos incompatibles. Las flechas al lado de la X indican la direccióndel flujo de datos y el color el tipo de datos que fluye sobre este.Figura 132. Segmento Curva y Unión.Fuente: Captura de Labview 8.6 Versión Trial 2009  188
  • 210. 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 Flujo de datos en el diagrama de bloques.LabVIEW sigue un modelo de flujo de datos para el funcionamiento de los VIs. Unnodo en el diagrama de bloques se ejecuta cuando recibe todas las entradasrequeridas, cuando esto sucede, se producen unos datos de salida y pasan alsiguiente nodo. El movimiento de datos a través de los nodos determina el ordende ejecución de los VIs y funciones en el diagrama de bloques. Otros programasque siguen el modelo de control de flujo son JAVA, Visual Basic, C++, aunqueestos son lenguajes de programación basado en texto.En el control de flujo, el orden secuencial de los elementos del programadetermina el orden de ejecución. En LabVIEW, el flujo de datos está determinadopor el orden de los objetos en el diagrama de bloques por lo tanto, se puedencrear diagramas de bloques que se hagan operaciones simultáneas. Por ejemplo,puede ejecutar simultáneamente dos bucles para mostrar los resultados y sobre elpanel frontal, como se muestra en el siguiente diagrama de bloques.  189
  • 211. 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 133. Ejecución de dos bloques simultáneamente.Fuente: Captura de Labview 8.6 Versión Trial 2009Dependencia de los Datos.La ejecución del modelo de control de flujo depende de la instrucción, y laejecución 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 después que el primeroha terminado su ejecución. Los nodos no conectados en el diagrama de bloquesse ejecutan en cualquier orden, pero se pueden controlar a través del paso deparámetros, mientras la dependencia de datos no exista. Se usa una estructurasecuencial para conseguir este objetivo mientras el paso de parámetros no estédisponible.  190
  • 212. 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 Diseñando un Diagrama de Bloques.Estas son una serie de sugerencias para el diseño 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 ubicación no determina el orden de ejecución. Se debe evitar el cableado de derecha a izquierda para evitar confusiones, haciendo se hace un diagrama organizado y fácil de entender. • Evitar crear un diagrama que ocupe más de una o dos pantallas (Screen), si un diagrama se vuelve grande y complejo, puede ser difícil de entender y de depurar. • Si se decide reutilizar algunos componentes del diagrama en otros VIs o si una sección de dicho diagrama trabaja como un componente lógico, se debe dividir en SubVIs que realicen tareas específicas, el uso de estos ayuda a manejar cambios y depuraciones del diagrama rápidamente. • Utilice el manejo de errores de los VIs, las funciones y los parámetros para la gestión de errores en el diagrama de bloques. • Evitar cablear bajo el borde de una estructura o traslapar objetos, porque LabVIEW podría esconder algunos segmentos de un cable resultante. • Evite colocar objetos encima de los cables porque aparecería como si existiese una conexión cuando no la hay. • Se deben usar las etiquetas para documentar el código en el diagrama de bloques.Lección 4: 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 terminalesde los diferentes componentes. Algunos VIs producen datos o funcionan de unaforma inesperada, pero se puede hace uso de LabVIEW para identificar losproblemas ejecutando un VI paso a paso y analizando el flujo de datos a través deldiagrama de bloques.  191
  • 213. 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 Corriendo un VI.Al correr un VI se ejecuta la operación para la que fue diseñado, se puede ejecutaro correr el programa si en la barra de herramientas aparece una flecha de colorblanco solida, como lo muestra la siguiente figura (figura 134):Figura 134. Botón de correr (run)Fuente: Captura de Labview 8.6 Versión Trial 2009Mientras la simulación este corriendo el botón de la figura anterior cambia a unaflecha oscura tal y como se muestra a continuación:Figura 135. Botón de correr (run) mientras se ejecute la simulaciónFuente: Captura de Labview 8.6 Versión Trial 2009La simulación se detiene cuando se completa el flujo de los datos, pero si sepresiona el botón de Corra continuamente (Run Continuously) (figura 136) lasimulación se detendrá cuando el usuario lo decida, es decir, manualmente.Figura 136. Botón de correr continuamente (run continuously)Fuente: Captura de Labview 8.6 Versión Trial 2009  192
  • 214. 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 Si un VI no corre el botón de correr (figura 135) se muestra como una flecha rota(figura 137). La razón es porque faltan conexiones o hay alguna que no esadecuada, normalmente esto ocurre al intentar unir elementos de diferentes tipos,o simplemente el VI es inejecutable. Si tiene completamente cableado eldiagrama de bloque y aun aparece el botón de esta forma es porque el VI estádañado.Figura 137. Botón de correr rotoFuente: Captura de Labview 8.6 Versión Trial 2009Las advertencias que se generan en la simulación de un VI no impiden laejecución de este, estas están diseñadas para prevenir potenciales problemas.Pero los errores si lo pueden hacer, así que es necesario hacer las correccionesdel caso si se desea correr el VI. Para encontrar las causas de que un VI estédañado se presiona el botón de correr (figura 137) o se selecciona en la barra demenús View>>Error List, la ventana que aparece muestra la lista de los errores.Para saber en qué bloque específicamente se encuentra el error, se hace dobleclic sobre la descripción del error y el área donde este se encuentra se ilumina yasea en el panel frontal o en el diagrama de bloques.Las causas más comunes de un VI dañado 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á dañado, o se edito el panel de conexiones después de que se ubicó el ícono en el diagrama de bloque del VI.  193
  • 215. 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 Depurando un VI.Existe una diversidad de técnicas para identificar y corregir los problemas con unVI o el flujo de datos en el diagrama de bloques a continuación se muestran unade ellas. Se puede ver una animación de la ejecución del diagrama de bloqueshaciendo clic sobre el botón Ejecución iluminada (Highligth Execution) (figura 138),Figura 138. Botón de Ejecución iluminada (Highligth Execution)Fuente: Captura de Labview 8.6 Versión Trial 2009Esta herramienta muestra el movimiento de los datos en el diagrama de bloquesde un nodo a otro usando burbujas que se mueven a través de los cables. Se usaesto 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 delVI. (Esto reduce sustancialmente la velocidad de ejecución del VI)Figura 139. Botón de Ejecución de un paso a la vez (single stepping)Fuente: Captura de Labview 8.6 Versión Trial 2009Manejo de Errores.No importa que tan cuidadoso sea el diseñador al crear un VI, no se puedepredecir los errores que se puedan encontrar. Sin un mecanismo para chequearlos errores, lo único que se podría saber es que el VI no funciona apropiadamente.El chequeo de errores es la herramienta que indica la razón y ubicación de loserrores.  194
  • 216. 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 defecto LabVIEW, maneja los errores suspendiendo la ejecución e iluminandoel subVI o funciones donde a ocurrido el error, y mostrándolo en una caja dedialogo.Lección 5: Ejemplos.• A continuación se describe a detalle la creación de un instrumento virtual bastante sencillo, realiza la suma y la resta de dos números, visualizando los resultados.Los pasos que describen la creación 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
  • 217. 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 140. Subpaleta NumericFuente: Captura de Labview 8.6 Versión Trial 2009Figura 141. Subpaleta Modern>>String & PathFuente: Captura de Labview 8.6 Versión Trial 2009  196
  • 218. 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  4. De estas paleta escoger y arrastrar un control numérico (Numeric Control), un control de cadena de caracteres (String Control) y un botón de presión (Push Button) según corresponda.Figura 142. Panel de control con los elementos escogidosFuente: Captura de Labview 8.6 Versión Trial 2009 Como es de esperarse los elementos que están en el panel de control tiene su ícono correspondiente en el diagrama de bloques. Cabe destacar que las terminales numéricas 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 numérico a indicador numérico se hace clic derecho sobre el ícono y sobre el menú desplegado se escoge la opción Change to indicator (Cambiar a indicador). Nótese como cambia el ícono en el panel frontal (las flechas de arriba y abajo desaparecen), obsérvese también que el ícono del diagrama de bloques cambia (el borde es mucho más 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 numérico y dos indicadores numéricos y se posicionan como muestra la figura 143.  197
  • 219. 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 143. Controles e indicadores numéricosFuente: Captura de Labview 8.6 Versión Trial 2009 8. En la ventana del diagrama de bloques pueda que sea necesario reposicionar alguna de las terminales. A continuación en el menú flotante de funciones escoger matemáticas (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>>MathematicsFuente: Captura de Labview 8.6 Versión Trial 2009  198
  • 220. 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 145. Diagrama de bloques conectado.Fuente: Captura de Labview 8.6 Versión Trial 2009 9. Por último en la ventana del panel de control presionar el botón de arriba y hacia abajo o digitar los números y luego presionar el botón correr (Run) para observar los resultados.Figura 146. Instrumento Virtual FuncionandoFuente: Captura de Labview 8.6 Versión Trial 2009• Realizar un VI que muestre grafica y numéricamente el nivel de un tanque, el cual es alimentado por una bomba. Además 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 panelfrontal se colocan los instrumentos necesarios tales como controladores eindicadores y en el diagrama de bloques se insertan las funciones matematicas ológicas que se requieran, tal como se observa en la figura 147 y 147.  199
  • 221. 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 147. Panel frontal tanque.viFuente: Captura de Labview 8.6 Versión Trial 2009Figura 148. Diagrama de bloques tanque.viFuente: Captura de Labview 8.6 Versión Trial. 2009  200
  • 222. 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 procede a realizar las conexiones y a verificar el funcionamiento del VI, comose observa en la figura 149.Figura 149. Conexiones en el Diagrama de Bloques tanque.viFuente: Captura de Labview 8.6 Versión Trial. 2009. • Construir y graficar las señales seno y coseno, a las cuales se les pueda controlar la amplitud, la frecuencia y el nivel DC.Para generar las señales senosoidal y cosenosoidal se utiliza la función SimulateSignal que se encuentra en la librería Signal Procesing/ Waveform Generation(Ver Figura 150). Esta función permite el control de 4 Variables: Amplitud,Frecuencia, Nivel DC y Fase.  201
  • 223. 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 150. Ubicación de la Función Simulate Signal.Fuente: Captura de Labview 8.6 Versión Trial 2009.En el diagrama de bloques se colocan 6 controladores, los cuales servirán paramanipular las variables Amplitud, Frecuencia y Nivel DC de las señalesgeneradas. Asi mismo se inserta una Waveform Graph que se encuentra en lalibrería Graph. El aspecto final del Diagrama de bloques puede apreciarse en laFigura 151.  202
  • 224. 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 151. Aspecto Final del Panel Frontal. Generación de Señales Seno yCoseno.Fuente: Captura de Labview 8.6 Versión Trial 2009.La Figura 152 muestra la programación en el diagrama de bloques.Figura 152. Aspecto final Diagrama de Bloques. Generación de Señales Seno yCosenoFuente: Captura de Labview 8.6 Versión Trial 2009.  203
  • 225. 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  CAPITULO 2. PROGRAMACION ESTRUCTURADA.Introducción. Cuando se está programando, algunas veces es necesarioejecutar un conjunto de sentencias varias veces, o que estas se repitan deacuerdo a si se cumple una condición o no. Para facilitar estas rutinas LabViewposee varias estructuras como son: Sequence, Case, For Loop, While Loop,Event, Formula Node, Timed Estructure etc, algunas de ellas se explican en estecapítulo.Lección 6: Estructuras Case y Sequence.Estructura CaseEsta estructura posee varios subdiagramas, que se superponen de tal maneraque solamente uno es visible a la vez. En la parte superior del subdiagramaaparece una pequeña ventana que muestra el identificador del subdiagrama quese está en pantalla. A ambos lados de este identificador aparecen unas flechasque permiten pasar de un subdiagrama a otro. En este caso el identificador es unvalor que selecciona el subdiagrama que se debe ejecutar en cada momento.La estructura Case tiene al menos dos subdiagramas (True y False). Únicamentese ejecutará el contenido de uno de ellos, dependiendo del valor de lo que seconecte al selector. Se utiliza en situaciones en las que se presentan variasalternativas a ejecutar.En la figura 1513 se muestra una estructura Case, Consta de un selector ubicadoen la parte izquierda y unas ventanas de trabajo llamadas subdiagramas, dondese insertan las instrucciones.se encuentra el selector  204
  • 226. 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 CaseFuente: Captura de Labview 8.6 Versión Trial 2009Ejemplo: Realizar un programa que realice la integral y la derivada de una señaltriangular de acuerdo a un selector, y visualice la señal resultante.Se usa una estructura case controlada por un botón selector, como se observa enel panel frontal, figura 154.Figura 154. Ejemplo de la Estructura Case. Panel Frontal.Fuente: Captura de Labview 8.6 Versión Trial 2009El diagrama de bloques se presenta en la figura 155.  205
  • 227. 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 155. Ejemplo de la Estructura Case. Diagrama de Bloques.Fuente: Captura de Labview 8.6 Versión Trial 2009Estructura SequenceEste tipo de estructuras presenta varios subdiagramas, superpuestos de manerasimilar a case se puede visualizar solamente una en pantalla. También poseen unidentificador del subdiagrama mostrado en su parte superior, con posibilidad deavanzar o retroceder a otros subdiagramas.Esta estructura ejecuta los comandos en estricto orden. Primero ejecutará elsubdiagrama de la hoja (frame) nº0, después el de la nº 1, y así sucesivamente.Para adicionar una un frame o una hoja en la secuencia se pulsa el botón derechodel mouse y se elige Add Frame after o Add Frame Before y para pasar datos deuna hoja a otra se pulsa el botón derecho del ratón sobre el borde de la estructura,seleccionando la opción Add sequence local, ver figura 156.  206
  • 228. 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 156. Esquema general estructura Sequence.Fuente: Captura de Labview 8.6 Versión Trial 2009Ejemplo: Realizar las siguientes operaciones de manera secuencial entre dosnúmeros aleatorios: suma, multiplicación y división. Visualizarlas en un indicadorgráfico.Se inserta en el Panel Frontal tres indicadores para visualiuzar los resultados (Verfigura 157).Figura 157. Panel frontal. Estructura Sequence.Fuente: Captura de Labview 8.6 Versión Trial 2009  207
  • 229. 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 En el diagrama de bloques se inserta la estructura, se adicionan dos hojas más, yen cada una de las hojas se hace la programación de suma, multipliocación ydivisión respectivamente, como se muestra en la siguiente figura.Figura 158. Diagrama de Bloques. Estructura Sequence.Fuente: Captura de Labview 8.6 Versión Trial 2009Lección 7: Estructuras Iterativas For, While.Estructura ForEs el equivalente al bucle for en los lenguajes de programación convencionales.Ejecuta el código dispuesto en su interior un número determinado de veces.  208
  • 230. 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 pasar valores de una iteración a otra se emplean los shift registers. Paracrear uno, se pulsa el botón derecho del ratón mientras éste se halla situado sobreel borde del for, seleccionando la opción Add Shift Register. El shift register constade dos terminales, situados en los bordes del bloque. El terminal izquierdoalmacena el valor obtenido en la iteración anterior. El terminal derecho guarda eldato correspondiente a la iteración actual, por tanto.Al colocar un For Loop en la ventana Diagram (Figura 159) se observan dosterminales:Figura 159. Estructura General de un For.Fuente: Captura de Labview 8.6 Versión Trial 20091. Terminal contador: Contiene el número de veces que se ejecutará elsubdiagrama creado en el interior de la estructura. El valor del contador se fijaráexternamente.2. Terminal de iteración: Indica el número de veces que se ha ejecutado laestructura: Cero durante la primera iteración, uno durante la segunda y así hastaN-1.Ambos terminales son accesibles desde el interior de la estructura, es decir, susvalores podrán formar parte del subdiagrama pero no se pueden modificar.Ejemplo. Crear un programa que genere 100 números aleatorios y los grafique enun plano xy.  209
  • 231. 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 En el Panel frontal se coloca una grafica tipo xy como en la figura 160, en elDiagrama de bloques se coloca la estructura For y dentro de ella las instruccionesVer figura 161.Figura 160. Panel Frontal. Ejemplo Estructura ForFuente: Captura de Labview 8.6 Versión Trial 2009Figura 161. Diagrama de Bloques. Ejemplo Estructura For.Fuente: Captura de Labview 8.6 Versión Trial 2009Estructura While.Es el equivalente al bucle while empleado en los lenguajes de programaciónconvencionales En la estructura While se ejecutan las instrucciones que estendentro del ciclo mientras que se cumpla una condición. La forma general de Whilese observa en la figura 162, tiene dos terminales:  210
  • 232. 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 1. Terminal Iteración: indica el número de veces que se ha ejecutado la estructura.2. Terminal Loop Condition: que es la terminal para controlar el fin del ciclo, estepuede seleccionarse de tal manera que el ciclo se termine cuando se cumpla unacondición true o cuando no se cumpla false.Figura 162. Forma General de la Estructura While.Fuente: Captura de Labview 8.6 Versión Trial 2009Con esta estructura también se pueden emplear los shift registers para tenerdisponibles los datos obtenidos en iteraciones anteriores (es decir, para memorizarvalores obtenidos).Ejemplo: Generar números aletorios entre 0 y 5, hasta cuando el númerogenerado sea mayor que 3. Visualizar los números aleatorios y el número deiteraciones.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 Versión Trial 2009  211
  • 233. 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 En la figura 164 se encuentra el diagrama de bloques, consta de la estructurawhile, la programación para generar y visualizar el número y la condición paraparar el ciclo.Figura 164. Diagrama de Bloques. Ejemplo de un while.Fuente: Captura de Labview 8.6 Versión Trial 2009Lección 8: Estructura Formula Node.Formula Node o Nodo de Formula es una función seimilar a las estructurasanteriores, pero en lugar de contener un subdiagrama, tiene una o más formulasseparadas por un punto y coma. Se encuentra en la librería Programing/Estructures.Formula Node se emplea para introducir en el diagrama de bloques fórmulas deun modo directo. Resulta de gran utilidad cuando la ecuación tiene muchasvariables o es relativamente compleja. Por ejemplo, se desea implementar laecuación:y = 5x + 3Para definir una fórmula mediante este estructura, se deben seguir los siguientespasos:  212
  • 234. 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 1. Definir las variables de entrada y las de salida. Para ello, se pulsa con el botónderecho del ratón sobre el borde de la formula node. A continuación seseleccionará Add Input o Add Output, según se trate de una entrada o una salida,respectivamente. Aparecerá un rectángulo, en el que se debe escribir el nombrede la variable (se distingue entre mayúsculas y minúsculas), tal como en la figura165. Todas las variables que se empleen deben estar declaradas como entradas osalidas.Figura 165. Definición de Variables en Formula NodeFuente: Captura de Labview 8.6 Versión Trial 20092. Escribir la o las fórmulas en el interior del recuadro (para ello se emplea lalabeling tool). Cada fórmula 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 Versión Trial 2009  213
  • 235. 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 167. Diagrama de Bloques Ejemplo Formula Node.Fuente: Captura de Labview 8.6 Versión Trial 2009Lección 9: Variables Locales y Globales.Las variables son fundamentales en cualquier software de programación, ya quepermiten almacenar la información necesaria para ejecutar otras instruccionesEn LabVIEW todos los controles introducidos en el Panel Frontal que generan unterminal en la ventana Diagrama de Bloques son variables, identificabas por elnombre asignado en la etiqueta. Pero si se quiere utilizar el valor de ciertavariable en otro subdiagrama o en otro Vi o, se desea guardar un resultadointermedio, la forma más sencilla de generar variables locales y/o globalesdependiendo de la aplicación.Variables LocalesEn las variables locales los datos se almacenan en los controles o indicadoresexistentes en el Panel Frontal de¡ Vi creado; es por eso que estas variables nosirven para intercambiar datos entre VIs. La principal utilidad de estas variableses que una vez creada la variable local no importa que proceda de un indicador ode un control, se puede utilizar en un mismo Diagrama múltiples veces.  214
  • 236. 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 Las variables locales están disponibles en el menú Programing /Estructures.Tienen el siguiente menú:• Visible Items: Oculta o visualiza la identificación 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 añadir comentarios.• Replace: Sustituye la variable local por cualquier otra función.Variables Globales.Las variables globales son un tipo especial de VI, que únicamente dispone dePanel Frontal, en el cual se define el tipo de dato de la variable y el nombre deidentificación imprescindible para después referirse a ella.Cuando se escoge la función Global del menú Programing /Estructures se crea unnuevo terminal en el Diagrama; este terminal corresponde a un VI que inicialmenteno contiene ninguna variable. Para insertarlas se pulsa dos veces en el terminal yse abre el panel frontal. Una vez abierto, las variables se definen igual quecualquier control o indicador de un VI normal. Se puede crear un Vi para cadavariable global o definirlas todas en el mismo. Una vez colocadas todas lasvariables se graba el VI y se cierra. Estas variables constan con un menú similaral de las variables locales, ver figura 168  215
  • 237. 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 168. Menu Variables globales.Fuente: Captura de Labview 8.6 Versión Trial 2009.Lección 10: Sub VIsUna de las ventajas de Labview es la de poder trabajar con aplicaciones que sepueden ejecutar dentro de otras, a estas se les denomina SubVIs. Los SubVIstienen las mismas características y propiedades de un VI, solo reciben estenombre porque son llamados desde un Vi superior.Para crear un VI se debe crear un icono y un conector, el icono se crea dando clicsobre el icono que se encuentra en la parte superior derecha de la ventana y conclic derecho se escoge la opción edit icon, ver figura 169, y para crear el conectorse debe hacer lo mismo pero solamente se activa en el panel frontal.  216
  • 238. 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 169. Crear icono en un subVI.Fuente: Captura de Labview 8.6 Versión Trial 2009Ejemplo: Crear un subVI que genere y visualice en la misma ventanaa. una señal senosoidal de amplitud y frecuencia modificable de acuerdo a valoresde entrada definidos por el usuario.b. Una señal escalada en amplitud y frecuencia tomando como base la señalcreada anteriormente.1. Se realiza la programación como si se tratara de un VI normal, en la figura 170 y170 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 Versión Trial 2009  217
  • 239. 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 171. Diagrama de Bloques Ejemplo de un subVi.Fuente: Captura de Labview 8.6 Versión Trial 20092. Una vez creado el Vi, se selecciona la parte que se desea convertir a subVI, yen la paleta Edit se elige crear subVI, como se observa en la figura 172,automáticamente la selección cambia a un icono, ver figura 173.Figura 172. Creación del subVI en la paleta EditFuente: Captura de Labview 8.6 Versión Trial 2009  218
  • 240. 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.Fuente: Captura de Labview 8.6 Versión Trial 2009En el panel frontal se da clic derecho sobre el icono de subVI, y se elige showconector, 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 Versión Trial 2009Aparece la herramienta de conexión para que se definan las variables de entraday salida del subVI, esto se hace dando clic sobre el icono del subVI einmediatamente después sobre la variable de entrada. El icono del subvi cambia  219
  • 241. 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 colocando color en las casillas de acuerdo al número de variables deentrada/salida.Figura 175. Icono del subVI con adición de variables entrada/salida.Fuente: Captura de Labview 8.6 Versión Trial 2009Por último se guarda el subVI con la opción 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 rutadonde se encuentra guardado el SubVI.Figura 176. Llamando un SubVI.Fuente: Captura de Labview 8.6 Versión Trial 2009Al seleccionar el SubVI, aparece en el diagrama de bloques el iconocorrespondiente, con las respectivas terminales de entrada/salida para realizar lasconexiones a los indicadores y controladores.  220
  • 242. 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 177. Icono del subVI en el Diagrama de Bloques.Fuente: Captura de Labview 8.6 Versión Trial 2009En el panel frontal se insertan los controladores para manipular las variables deentrada y el visualizador de la forma de onda (Ver figura 178). En el diagrama debloques se realizan las conexiones correspondientes ( Ver figura 179).Figura 178. Utilización de un SubVI, Panel FrontalFuente: Captura de Labview 8.6 Versión Trial 2009  221
  • 243. 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 179. Utilización de un SubVI, Diagrama de bloques.Fuente: Captura de Labview 8.6 Versión Trial 2009 CAPITULO 3. APLICACIONES EN LABVIEWIntroducción. Las aplicaciones en Labview son extensas, desde nivel educativohasta nivel industrial, este software permite adquisición y procesamiento de datosque pueden ser tomados desde cualquier área.Sus aplicaciones pueden abarcar campos como el de la biología, electrónica,química, física, procesamiento de voz e imágenes, automatización industrial,hasta la medicina.Lección 11: Filtrado de señales.Labview posee herramientas para el análisis y procesado de señales, tales comogeneración de formas de onda (seno, triangular, diente de sierra, aleatorias, ruidosetc), filtrado, mezcladores, analizadores de espectros y otros.Filtrado de señales: En la figura 180 y 181 se muestra un ejemplo donde semezcla una señal senosoidal con un ruido y posteriormente se utiliza unaherramienta de filtrado para obtener la señal original nuevamente. En el Panelfrontal se colocan dos visualizadores, uno para la señal con ruido y el otro para laseñal filtrada. En el diagrama de bloques se utilizan herramientas como Simulatesignal, filtering signal que se encuentran en la librería Procesing Signals.  222
  • 244. 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 180. Panel Frontal Ejemplo extraer el seno.viFuente: Captura de Labview 8.6 Versión Trial. 2009Figura 181. Diagrama de bloques Ejemplo extraer el seno.viFuente: Captura de Labview 8.6 Versión Trial. 2009  223
  • 245. 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 12: Análisis EspectralEn el VI mostrado en las figuras 182 y 183 se observa la utilización del cálculo dela Transformada Rápida de Fourier que permite a Labview realizar análisisespectral de una señal.En el Panel Frontal existen dos ventanas gráficas una para ver las señales en eltiempo y la otra para ver su espectro, además de un controlador para manipularlas frecuencias. En el diagrama de bloques se aprecia el uso de las herramientasfiltros pasa bajos, pasa altos, pasa banda y Medidas espectrales.Figura 182. Diagrama de bloques. Cálculo de Transformada rápida de Fourier.Fuente: Captura de Labview 8.6 Versión Trial. 2009  224
  • 246. 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 183. Diagrama de bloques. Cálculo de Transformada rápida de Fourier.Fuente: Captura de Labview 8.6 Versión Trial. 2009Lección 13: Generación de Tablas en Labview para presentación de datos.Las figuras 184 y 185 muestran como utilizar Labview para generar tablas, estaherramienta permite obtener los datos fácilmente para almacenarlos de maneraordenada.En el Panel frontal se coloca una tabla la cual se encuentra en el menú modern /list & Table.Figura 184. Panel Frontal. Generación de Tablas.Fuente: Captura de Labview 8.6 Versión Trial. 2009  225
  • 247. 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 185. Diagrama de Bloques. Generación de Tablas.Fuente: Captura de Labview 8.6 Versión Trial. 2009Lección 14: Manipulación de puertos.Labview permite importar y exportar datos a través de los puertos del equipo, estaherramienta se encuentra en Conectivity/ ports I/O y en Data Comunications/Protocols. En las figuras 186 y 187 se muestran los diagramas de un ejemplosencillo para enviar datos hacia el puerto paralelo.Figura 186. Panel Frontal. Envio de datos al puerto paralelo.Fuente: Captura de Labview 8.6 Versión Trial. 2009  226
  • 248. 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 En el diagrama de bloques se observa un ciclo for que envía la iteración hacia elpuerto paralelo, en este icono debe indicarse el número correspondiente a ladirección del puerto y el dato.Figura 187. Diagrama de Bloques. Envio de datos al puerto paralelo.Fuente: Captura de Labview 8.6 Versión Trial. 2009Lección 15: 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 muestraen la figura 188.Figura 188. Paleta Opciones Leer/escribir archivosFuente: Captura de Labview 8.6 Versión Trial. 2009  227
  • 249. 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 De igual manera si se tiene instaladas las herramientas de Generar reporte (verfigura 189) se puede realizar fácilmente un reporte, el cual por defecto genera unarchivo de extensión lvm que se puede abrir desde cualquier editor de texto u hojade cálculo.Figura 189. Menú Programing/ Report GenerationFuente: Captura de Labview 8.6 Versión Trial. 2009Para generar un reporte lvm en el diagrama de bloques se inserta la herramientaWrite to Measurement, esta permite escoger la ruta en la cual se va a guardar y elnombre del archivo, si no se selecciona nada lo guarda por defecto en el directorioMis Documentos / Labview data con el nombre test.lvm. Esta aplicación puedeobservarse en la figura 190.Este archivo test.lvm se puede abrir con una hoja de cálculo como Excel o con unprocesador de texto.  228
  • 250. 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 190. Uso de Report Generation.Fuente: Captura de Labview 8.6 Versión Trial. 2009  229
  • 251. 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 3  230
  • 252. 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  FUENTES DOCUMENTALES UNIDAD 3BIBLIOGRAFIALabviewAntonio Manuel, Domingo Biel. Instrumentación Virtual. Adquisición, procesado yanálisis de señales: alfaomegaAntonio Manuel Lazaro. Labview 6i. Programación gráfica para el control deinstrumentación.Travis Jeffrey. (2006). LabVIEW for Everyone: Graphical Programming Made Easyand Fun (Third Edition): Prentice Hall.SITIOS WEB LabviewLabview for Dummies. (2009). [en Línea]. Recuperado el 19 de Julio de 2009, dethttp://www.iit.edu/~labview/Dummies.htmlLearnlabview. (2009). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://learnlabview.blogspot.com/National Instruments. Labview. (2009). [en Línea]. Recuperado el 19 de julio de2009, http://www.ni.com/labview/Tutorial in G. (2009). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://www.cipce.rpi.edu/programs/remote_experiment/labview/Tutoriales Labview. (2002). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://perso.wanadoo.es/jovilve/tutoriales.htmlTutorial Series. (2009). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://www.mech.uwa.edu.au/jpt/tutorial/ieindex.html   231
  • 253. 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 ProgramaciónAlgoritmos. (1997). [en línea]. Recuperado el 19 de julio de 2009 de,http://www.monografias.com/trabajos15/algoritmos/algoritmos.shtmlArquitectura de Ordenadores I. [en Línea]. Recuperado el 19 de Julio de 2009, dehttp://www-gist.det.uvigo.es/~martin/ao1/lec11.pdfConceptos de Lenguajes de Programación. (2005). [en Línea]. Recuperado el 19de julio de 2009, dehttp://www.mailxmail.com/curso/informatica/programacionestructurada/capitulo4.htmEnsamblador Lenguaje de Bajo Nivel (2004). [en Línea]. Recuperado el 19 de juliode 2009, de http://mx.geocities.com/alfonsoaraujocardenas/ensamblador.htmlTécnicas de Diseño de Algorimos. (2000). [en Línea]. Recuperado el 19 de julio de2009, de http://www.lcc.uma.es/~av/Libro/indice.html DescargasAprenda matlab 7.0. (2005). [en Línea] . Recuperado el 19 de julio de 2009, dehttp://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab70/matlab70primero.pdfScilab 5.1.1. (20090. [en Línea]. Recuperado el 19 de julio de 2009 de,http://scilab.softonic.com/TheMathWorks. (2009). [en Línea]. Recuperado el 19 de julio de 2009, dehttp://www.mathworks.com/products/matlab/   232

×