Anda di halaman 1dari 14

ESCUELA POLITCNICA NACIONAL LABORATORIO DE COMUNICACIN DIGITAL

ELECTRNICA Y TELECOMUNICACIONES ENERO JUNIO 2013

PRACTICA No. 1
TEMA: INTRODUCCIN A MATLAB Y SIMULINK

1. OBJETIVOS Familiarizar al estudiante con el uso de Matlab. Familiarizar al estudiante con el paquete de SIMULINK. Aplicar Matlab y simulink para analizar las seales en el dominio del tiempo. 2. INTRODUCCIN 2.1. MATLAB Es un programa interactivo para computacin numrica y visualizacin de datos. Este integra clculos, programacin yvisualizacin en una herramienta flexible, con arquitectura abierta, diseada para el manejo de proyectos a gran escala en investigacin y la industria. MATLAB proporciona tanto a ingenieros como cientficos un lenguaje intuitivo para presentar problemas y sus soluciones en forma matemtica y grfica; como ejemplo de ello se tiene el grfico de la figura 1 donde se representa el grfico de una funcin de dos variables en tres dimensiones, de la misma manera que se pueden representar funciones, se pueden representar datos y realizar mediciones de magnitudes fsicas. MATLAB permite el desarrollo de aplicaciones con la ayuda de una interfaz de construccin grfica (GUI: GraphicalUser Interface). Esta herramienta posee una variedad de soluciones para aplicaciones especficas, denominada toolboxes, que son una coleccin de archivos escritos en lenguaje de MATLAB (archivos.m) los cuales realizan operaciones orientadas a solucionar problemas especficos. Las reas que cubren estos archivos.m son por ejemplo: procesamiento digital de seales, sistemas de control, simulacin y muchos otros.

Figura 1. Representacin en tres dimensiones de una funcin Z= (5x2+ 20y2)/2

MSc. Soraya Sinche

ESCUELA POLITCNICA NACIONAL LABORATORIO DE COMUNICACIN DIGITAL

ELECTRNICA Y TELECOMUNICACIONES ENERO JUNIO 2013

2.1.1. INTRODUCCIN AL USO DE MATLAB El programa consiste bsicamente, de un rea de memoria (workspace) de datos y una lnea de comandos (prompt). Se almacena en la memoria con variables literales cualquier valor en forma de matriz, para luego ser utilizado en funciones que pueden ser matemticas o de un fin especfico, como por ejemplo el comando plot, el cual presenta un grfico de los datos ingresados.

Contenido del Directorio de trabajo

Directorio de trabajo

Inicio de la lnea de comandos (prompt)

rea de trabajo (Workspace) rea de comandos

rea del historial de comandos

Figura 2. Entorno de trabajo de Matlab. DIRECTORIO DE TRABAJO, guarda todos los archivos implicados del trabajo como scripts, .m , .gui, etc. Para evitar errores todos los archivos a utilizar deben ser ubicados en el directorio activo definido por el usuario. AREA DE TRABAJO, en donde residen todas las variables creadas en cada sesin de trabajo, lo especial de esta rea es que las variables a pesar de ser de tipo voltil residirn ah de modo que al cerrar el programa y abrirlo nuevamente se mantienen, hasta ejecutar el comando clear [variable], para eliminar la [variable] especifica o clearall, para eliminar todas las variables. AREA DEL HISTORIAL DE COMANDOS, se detalla cada uno de los comandos invocados en el prompt del Matlab, cada vez que se abre el programa se agrupan todos los comandos de esa sesin con fecha y hora, esta funcionalidad hace que los comandos sean reciclables dando doble click sobre ellos, tambin se puede volver a invocar comandos anteriores ubicndonos en el prompt y presionado la tecla de la flecha de arriba.

En la lnea de inicio del prompt del Matlabseencuentra el smbolo: >> Desde aqu se puede invocar el uso de cualquier comando una funcin del Matlab.

MSc. Soraya Sinche

ESCUELA POLITCNICA NACIONAL LABORATORIO DE COMUNICACIN DIGITAL

ELECTRNICA Y TELECOMUNICACIONES ENERO JUNIO 2013

Como un pequeo ejemplo ilustrativo se genera una seal sinusoidal de una frecuencia de 50 [Hz] durante un segundo, se reduce su duracin a un ciclo. Para esto es necesario definir una frecuencia de muestreo, debido a que Matlabtrabaja de manera digital. Con el cdigo que se presenta a continuacin se puede generar el ejemplo descrito, una seal de 50 [Hz] con una duracin de un segundo y una amplitud definida de 5 (por ejemplo voltios, amperios, etc.).

Figura 3. Cdigo de una Funcin Sinusoidal

Figura 4. Funcin Sen(x)

MSc. Soraya Sinche

ESCUELA POLITCNICA NACIONAL LABORATORIO DE COMUNICACIN DIGITAL

ELECTRNICA Y TELECOMUNICACIONES ENERO JUNIO 2013

Una forma de solo un ciclo de la seal se aplica acontinuacin:

Figura 5. rea de trabajo del Matlab con las nuevas lneas de comando.

Figura 6. Seal sinusoidal un ciclo.

MSc. Soraya Sinche

ESCUELA POLITCNICA NACIONAL LABORATORIO DE COMUNICACIN DIGITAL

ELECTRNICA Y TELECOMUNICACIONES ENERO JUNIO 2013

Para no repetir un grupo de instrucciones y optimizar el uso del programa, o con el fin de hacer funciones de usuario, se agrupan una serie de comandos en un archivo que se guarda con la extensin *.m, donde * ser el nombre del archivo que se genera. Los archivos .m son aquellos que representan un listado de comandos o funciones, son hechos en lenguaje de texto comn, escritos en cualquier editor de texto (por ejemplo notepad.exe) propio de Microsoft Windows o cualquier otro. En MATLAB se tiene un editor incorporado, el cual tiene una visualizacin de sintaxis con colores y adems proporciona la facilidad directa de realizar depuraciones controladas del flujo de programa que representa el archivo. A continuacin se crea un archivo .m como lo indica la Figura 7.

Figura 7.Creacin de un archivo .m El archivo, se guardar en el directorio de trabajo para evitar errores en la ejecucin del archivo.m .

Figura 8. Guardando el archivo .m

MSc. Soraya Sinche

ESCUELA POLITCNICA NACIONAL LABORATORIO DE COMUNICACIN DIGITAL

ELECTRNICA Y TELECOMUNICACIONES ENERO JUNIO 2013

Figura 9.Entorno de trabajo del Editor de archivos de Matlab con el cdigo del ejemplo cargado, y guardado como ejemplo.m Hay dos formas de ejecutar el cdigo generado en el archivo, con la tecla F5, run [archivo.m], o dando clicken el siguiente botn de la barra de herramientas.

SEAL SINUSOIDAL DE 50 [Hz] 5 4 3 2 Eje de amplitud 1 0 -1 -2 -3 -4 -5

0.002 0.004 0.006 0.008 0.01 0.012 0.014 0.016 0.018 Eje de tiempos - UN PERIODO DE SEAL

0.02

Figura 10. Resultado final de ejecutar el archivo ejemplo.m

MSc. Soraya Sinche

ESCUELA POLITCNICA NACIONAL LABORATORIO DE COMUNICACIN DIGITAL

ELECTRNICA Y TELECOMUNICACIONES ENERO JUNIO 2013

2.2 SIMULINK 2.1.2 Caractersticas de SIMULINK

SIMULINK es una herramienta para modelar y simular una gran variedad de sistemas dinmicos, los cuales pueden ser lineales, no lineales, en tiempo discreto, en tiempo continuo y sistemas que son una combinacin de stos. El programa provee la facilidad de crear modelos a simular, como si se tratara de animar un diagrama de bloques de un texto, los elementos de estos diagramas de bloques se obtienen de libreras copindolos grficamente y modificando sus variables con ayuda del ratn, una vez generado el modelo se puede visualizar la simulacin. A continuacin se indican las caractersticas algunos modelos a simularse. Sistemas de Modelacin a travs de diagramas de bloques Para representar sistemas que se desean analizar se ha desarrollado una tcnica ilustrativa en los textos tcnicos, los denominados diagramas de bloques, en SIMULINK para la simulacin de sistemas se parte de esta idea intuitiva de los diagramas de bloques para generar el modelo a simular. Las caractersticas de la generacin de Modelos para la simulacin son las siguientes: Modelos concatenados, es decir que se crean sistemas complejos a partir de sistemas simples, sin lmites de bloques o conexiones, esto se realiza agrupando bloques para que trabajen como subsistemas (un sistema dentro otro) de esta manera se puede generar un proyecto sin perder la visin de su aplicacin. Librera de bloques, la cual contiene los elementos ms usados para la simulacin como sources (generadores de funciones), sinks(equipos de visualizacin de datos), Discrete (para sistemas discretos), linear (sistemas lineales), no linear (sistemas no lineales) y connections (conexiones, como entradas en un subsistema o interconexiones con subsistemas, etc.). Conexiones escalares y vectoriales, los modelos pueden tener bloques de entradas y salidas de una sola seal o mltiples seales dependiendo de la definicin de cada bloque. Asignacin de nombres a seales y puertos, es muy til rotular las lneas de conexin para constancia y estudio de la misma, as como tambin poner nombre a los puertos de entrada y salida de un bloque o subsistema creado.

Resumen de las libreras del SIMULINK: Source (fuentes) Generacin de seales senoidales, rampas y ondas cuadradas. Generador de ruido. Sinks (sumideros) Presentacin de datos (Scope, campo), visin numrica y bloques de grficos. Transferencia de datos a archivos. Salidas de bloques al campo de trabajo MATLAB. Discrete (Sistemas discretos) Funciones de Transferencia (Transformada Z), filtros, retardos y bloques descritos por ecuaciones en diferencias. Linear (Sistemas lineales) Funciones de transferencia (Transformada de Laplace), bloques de ganancia y sistemas descritos por ecuaciones diferenciales. Integradores. Diferenciadores. Nolinear (Sistemas no lineales) Limitadores, bloques con histresis y muestreadores de seal. Operadores lgicos y relacionadores de seal.

MSc. Soraya Sinche

ESCUELA POLITCNICA NACIONAL LABORATORIO DE COMUNICACIN DIGITAL

ELECTRNICA Y TELECOMUNICACIONES ENERO JUNIO 2013

Connections (Conexiones) Bloques multiplexores y demultiplexores analgicos de seal. Puertos de entrada y salida de subsistemas. Habilitacin de un subsistema por estado (Enable) o por cambio de estado (trigger). Simulacin y anlisis SIMULINK y MATLAB permiten al usuario pasar sin problemas de un estado de anlisis a diseo y simulacin; en la simulacin pueden variarse los parmetros de los bloques al mismo tiempo que se est efectuando la simulacin y observar los resultados casi instantneamente. Con los resultados de la simulacin se pueden extraer modelos lineales, optimizacin de parmetros, anlisis paramtrico (variacin de varios parmetros al mismo tiempo) e incluso animacin, ya que mediante un bloque programable denominado S-function permite asociar los datos de entrada con comandos del MATLABy conseguir la animacin. Arquitectura abierta SIMULINK facilita ampliar los modelos de simulacin, personalizar los bloques ya existentes y crear libreras. Existen cuatro maneras de aadir bloques especializados a la librera de bloques: Agrupando bloques en un subsistema. Con la ayuda de la interfaz de personalizar un bloque. Mediante algoritmos en C y Fortran. Empleando los archivos.m de MATLAB. SIMULINK permite personalizar un bloque mediante un interfaz denominado MASK, el cual crea una ventana de dialogo con la facilidad de poner nombres a las variables, iconos y comentarios de ayudas, adems de realizar ciertos comandos previos en lenguaje MATLAB, necesarios para dicho bloque. Construccin de un modelo simple Por razones didcticas se presenta un ejemplo de la creacin de un modelo bsico para simulacin, ms adelante se tendrn aclaraciones especficas de las herramientas empleadas segn su necesidad. El modelo a construir consta de un generador de seal senoidal y del clculo de su integral, el diagrama a crearse se ver as:

Figura 11. Diagrama de bloques para simular una seal senoidal y su integral. Para acceder a SIMULINK y sus libreras de bloques se escribe simulink en la ventana de comandos, con lo cual se obtiene el siguiente resultado.

MSc. Soraya Sinche

ESCUELA POLITCNICA NACIONAL LABORATORIO DE COMUNICACIN DIGITAL

ELECTRNICA Y TELECOMUNICACIONES ENERO JUNIO 2013

Figura 12. Libreras del SIMULINK Del men File de esta ventana se selecciona new, para crear un nuevo modelo. Los bloques a utilizarse se obtienen de esta ventana de la siguiente forma: El bloque Sine Wave block de la librera Sources. El bloque Scope de la librera Sinks. El bloque Integrator de la librera Continuous. El bloque Mux de la librera Signals and Systems. Al abrir la librera Sources se tiene acceso al bloque seno, para esto se debe ejecutar un doble click (el presionar el botn activo del ratn, se suele denominar click) en el cono (o grfico del bloque) respectivo. Todos los bloques en esta librera son generadores de seal, es as como se ve en la figura 13.:

Figura 13. Librera Sources o fuentes

MSc. Soraya Sinche

ESCUELA POLITCNICA NACIONAL LABORATORIO DE COMUNICACIN DIGITAL

ELECTRNICA Y TELECOMUNICACIONES ENERO JUNIO 2013

Se aaden bloques al modelo nuevo copiando el bloque requerido e incorporndolo de esa forma al modelo, para este ejemplo se copia el bloque del generador de onda senoidal, llevndolo directamente con el ratn, manteniendo presionado el botn derecho, de esta manera se tiene:

Figura 14. Modelo a simular denominado por defecto en un inicio untitled (sin ttulo). Una vez copiado el bloque, se puede volverlo a copiar en la misma ventana, adems es posible definir el tamao del bloque y cambiar su nombre, de esta manera se copian todos los bloques requeridos para el ejemplo, como se puede apreciar en la figura 15.

Figura 15. Modelo a simular con los bloques copiados y sin conexiones. En cada bloque se tiene un tipo de sealizacin, cuando se tiene el smbolo > y a la izquierda, el bloque entonces es un puerto de entrada de una seal; de lo contrario es una salida del bloque. Entonces se tienen puertos de entrada y salida como se observan en la figura 16.

Puerto de Entrada

Puerto de Salida

Figura 16. Puertos de entrada y salida de un bloque Como se puede observar en la figura 15 el bloque mux debe tener 2 entradas, con dos "clicks" de ratn en el bloque se muestra un recuadro de dialogo (Figura 17), entonces se coloca el valor de 2 en el nmero de puertos de entrada.

Figura 17. Recuadro de dialogo del bloque Mux con sus propiedades Manteniendo presionado el botn derecho del ratn se puede conectar puntos desde un puerto de salida a un puerto de entrada; para realizar conexiones desde una lnea, se presiona adicionalmente la tecla control.

MSc. Soraya Sinche

10

ESCUELA POLITCNICA NACIONAL LABORATORIO DE COMUNICACIN DIGITAL

ELECTRNICA Y TELECOMUNICACIONES ENERO JUNIO 2013

Antes de la simulacin, abriendo el bloque Scope, se debe inicializar los parmetros seleccionando del men Simulation la opcin Parameters (figura 18), aqu se indican los valores de tiempo de simulacin, tipo de simulacin y caractersticas, si se desea que los datos se enven al campo de datos del MATLAB y otras opciones ms. Posteriormente a esto se inicia la simulacin seleccionando del men la palabra Start (figura 19).

Figura 18 Parmetros de la Simulacin

Figura 19. Men de seleccin para iniciar la simulacin, detener temporalmente (pause) o definir parmetros.

Los resultados se presentan en la figura 20 despus de hacer dos "clicks" en el bloque Scope:

Figura 20: Resultado grfico de la simulacin del ejemplo, a es la integral de la seal senoidal y b es la seal senoidal

MSc. Soraya Sinche

11

ESCUELA POLITCNICA NACIONAL LABORATORIO DE COMUNICACIN DIGITAL

ELECTRNICA Y TELECOMUNICACIONES ENERO JUNIO 2013

De esta manera se ha indicado brevemente como generar un modelo sencillo. Es necesario explicar las funciones de esta pantalla o bloque Scope, ya que sirve para analizar los resultados, lo cual es muy importante para la medicin de resultados.

Esta opcin selecciona una regin del grfico, la cual ser ampliada hasta el tamao de la ventana Scope. Esta ayuda realiza una ampliacin del grfico, pero solo en el eje horizontal. Este botn realiza una ampliacin del grfico en el eje vertical. Define los lmites de los ejes con el valor mximo y mnimo de las seales a representarse grficamente. Una vez visualizada la imagen requerida se define los valores de escalas actuales por defecto para las siguientes simulaciones. Permite ajustar los mximos y mnimos de las escalas de acuerdo a valores escogidos por el usuario de manera manual. Permite al usuario definir la cantidad de puntos a presentarse en el bloque de simulacin y si el bloque scope puede funcionar como bloque flotante. Cuando se toma esta opcin se tiene la plantilla de datos representada en la figura 21.

Figura 21: Plantilla de datos del bloque Scope: a) Opcin Setting b) Opcin Axes

En la figura 21b se presenta la opcin Axes, en la cual se tiene campos para ingresar el valor mximo (Y max:) y el mnimo (Y min:) para la variable dependiente. El valor ingresado en Time range puede ser un nmero o dejar la opcin auto; cuando se tiene esta opcin el tiempo es aquel ingresado en la parte Simulation:Parameters. La pgina Settings(figura 21a) permite controlar el nmero de puntos mostrados y guardar los datos (no el grfico) a la memoria general del MATLAB o denominada tambin workspace.

MSc. Soraya Sinche

12

ESCUELA POLITCNICA NACIONAL LABORATORIO DE COMUNICACIN DIGITAL

ELECTRNICA Y TELECOMUNICACIONES ENERO JUNIO 2013

La seccin General de la pgina Settings presenta dos campos. El uno es un men desplegable con dos opciones y el otro es una ventana que permite recibir datos numricos. Las dos opciones del men son: Decimation y Sample time. Si se elige la opcin Decimation y se ingresa en la ventana de datos el valor de 1 (valor por defecto), cada punto que ingresa al bloque Scope es dibujado; si se ingresa el valor de 2, cada dos puntos son dibujados y as sucesivamente. Si se elige la opcin Sample time, se debe ingresar en la ventana de datos el espacio absoluto entre puntos a dibujarse. El bloque Scope almacena los datos que representan grficamente un vector cuyo lmite est dado por el valor ingresado en la seccin Data History, con la opcin Limitrowtolast. Estos datos almacenados son los que ms tarde ayudan a la manipulacin del grfico, como son ampliaciones o bsquedas de coordenadas de un punto dibujado. Luego en esta misma seccin se tiene la posibilidad de grabar en el workspace los datos de este bloque, para utilizarse dentro del MATLAB. Finalmente en esta pgina Settings se tiene la opcin de que el bloque scope funcione como un osciloscopio flotante o fijo en la eleccin Floatingscope. Cuando se elige esta opcin se debe indicar, la lnea de interconexin entre los bloques del modelo que se desea ver la seal; y, en caso de no tomar esta opcin se necesita conectar una lnea desde la parte de inters a la entrada del bloque scope. Subsistemas Los subsistemas son modelos sencillos agrupados con el propsito de simplificar la visin conceptual de un modelo a simularse, sta es una manera de generar nuevos bloques de simulacin a partir de otros ya existentes. La forma de agrupacin de los bloques para formar un subsistema debe tener en cuenta una relacin funcional entre los bloques seleccionados, es decir que en conjunto cumplen con una determinada tarea. Por ejemplo en la figura 22 se indica cmo conformar un grupo de bloques que sirvan para evaluar la ecuacin y = mx+b.

Figura 22: Ejemplo de Subsistema que calcula los resultados de la ecuacin y=mx+b Despus de desarrollar un modelo de simulacin como se vio anteriormente (es decir buscando en las libreras respectivas los bloques y realizando las conexiones necesarias) en este modelo se selecciona con ayuda del ratn los bloques del recuadro (lado derecho figura 16) y se ha tomado la opcin CreateSubsystem del men Edit, crendose el bloque que se observa a la izquierda de la figura 16. El subsistema tiene como entrada la seal x y como salida la seal y de la ecuacin y = mx+b. 3. 3.1. 3.2. 4. 4.1. TRABAJO PREPARATORIO Leer y entender el marco terico expuesto en las hojas guas. Revisar y estudiar el tutorial de MATLAB que se anexa. PARTE PRCTICA Con ayuda del instructor generar archivos .m que permitan obtener y graficar diferentes funciones en el dominio del tiempo. Generar una onda senoidal de amplitud A y periodo T.

MSc. Soraya Sinche

13

ESCUELA POLITCNICA NACIONAL LABORATORIO DE COMUNICACIN DIGITAL

ELECTRNICA Y TELECOMUNICACIONES ENERO JUNIO 2013

Generar una onda cuadrada simtrica de amplitud mximo +A/2 y mnimo A/2, con periodo T.

Grupo1: Lunes 14 -16, Grupo 2: Martes 14-16 o Generar una onda cuadrada con tiempo de duracin en alto de y con perodo T.

Generar una onda diente de sierra de amplitud A y periodo T.

Grupo 3: Mircoles 16-18, Grupo 4: Jueves 16 -18 y Grupo 5: Viernes 14-16 o Generar una onda cuadrada con tiempo de duracin en alto de y con perodo T.

o 4.2.

Generar una onda triangular simtrica de amplitud +A y -A con periodo T.

Utilizando SIMULINK generar los modelos que permitan representar en tiempo las funciones del literal 4.1. Tomar nota de los resultados obtenidos en el numeral anterior para su respectivo anlisis que se deber incluir en el informe. INFORME

4.3.

5.

Consultar sobre las instrucciones que se utilizan para las grficas 2D y 3D en MATLAB. Realizar un archivo .m que permita obtener la grfica en tiempo de la funcin sampling y sampling cuadrado. Los archivos debern ser entregados en formato impreso debidamente comentado. Realizar un archivo.m que permita graficar la siguiente funcin en tiempo:

o o o o o Grupo1:4+6f(t)+g(t). Grupo2:1+2f(t)+g2(t). Grupo3:f2(t)+g2(t). Grupo4:f(t)+g3(t) Grupo5:f3(t)+g3(t)

Donde f(t) es la funcin diente de sierra con periodo T y g(t) es la funcin de una onda cuadrada de amplitud A y periodo T/2. Presentar los resultados obtenidos en la prctica, los cdigos de los programas debidamente comentados as como Conclusiones y Recomendaciones. 6. BIBLIOGRAFIA

MSc. Soraya Sinche

14