lab02 convolucion

Upload: oscar-osorio-mdza

Post on 06-Jul-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 lab02 Convolucion

    1/14

    Laboratorio Núm. 02

    Convolución

    Procesamiento Digital de Señales

    Universidad Tecnológica de la Mixteca

    Óscar Osorio

    17 de marzo de 2016

    1

  • 8/17/2019 lab02 Convolucion

    2/14

    Objetivo general.

    Utilizar la tarjeta Tiva C para encontrar la respuesta al impulso de unsistema LTI cuya ecuación en diferencias es dada.

    Objetivos espećıficos.

    Crear un nuevo proyecto en CCS.

    Configurar el nuevo projecto en CCS para compilar y cargar una apli-cación en la tarjeta Tiva C.

    Corroborar la relación que existe entre la entrada, la respuesta al im-pulso y la salida de un sistema LTI.

    Requerimientos.

    Carpeta ’convolucion’.

    Haber instalado los drivers de la tarjeta Tiva C.

    Haber instalado CCS.

    Haber instalado y registrado el directorio de instalación de TivaWare.

    1. Introducción.

    1.1. Convolución.

    Convolución es una operación matemática formal, como multiplicación ysuma en donde dos números generan un tercer número como resultado. Laoperación de convolución genera una tercera secuencia de números a partir

    de otras dos secuencias [1] .

    En el contexto del procesamiento digital de señales la operación de con-volución relaciona la secuencia de entrada (x[n]) a un sistema lineal e inva-riante en el tiempo (LTI), la salida del sistema(y[n]) y una tercera secuenciacomunmente conocida como ’respuesta al impulso’ (h[n]). La operación deconvolución entre x(n) y h(n) es utilizada para conocer y(n), sin importar eltipo de entrada al sistema.

    2

  • 8/17/2019 lab02 Convolucion

    3/14

    Si se desea conocer mas acerca de las propiedades de los sistemas LTI y de

    la operación de convolución, como definición formal y teoremas, [2], [3] sonlibros donde se tienen una gran cantidad de ejemplos y ejercicios respecto altema.

    Por lo regular, cuando un sistema LTI es implementado en un dispositivodigital no se utiliza la operación de convolución entre la secuencia de entraday la secuencia respuesta al impulso del sistema para obtener la secuencia desalida. En su lugar, el sistema LTI se representa por medio de una ecuaci ónen diferencias, la cual genera un valor de salida utilizando valores presentes yanteriores de la secuencia de entrada, e incluso valores anteriores de la mismasalida del sistema.

    Por ejemplo:

    salida[ACTUAL] = entrada[ACTUAL] + entrada[ANTERIOR] - salida [ANTERIOR];

    En la ecuación anterior no existe elemento alguno que señale la respuestaal impulso, pero esta secuencia de interés puede ser obtenida si se aplica unimpulso como entrada.

    Los pasos que se presentan a continuación ilustran como configurar unprojecto para la tarjeta Tiva C en donde se tiene un sistema LTI sencillo y sesimula como entrada un impulso, obteniendose como resultado la respuestaal impulso del sistema.

    2. Procedimiento.

    2.1. Configurar projecto.

    1. Iniciar CCS.

    2. Seleccionar un workspace, elegir una ubicación fácil de recordar y de-dicada para la tarjeta Tiva C.Registrar la ubicación seleccionada.

    3. Click en la pestaña   File− > New− > CCSProject.

    4. Configurar la ventana emergente con los siguientes datos ’Target: Ti-va C Series’, ’Tiva TM4C123GH6PM’ ’Connection: Stellaris In-CircuitDebug Interface’, como se muestra en la figura  1

    3

  • 8/17/2019 lab02 Convolucion

    4/14

    Figura 1: Datos iniciales de configuración

    5. Establecer nombre de projecto, por ejemplo: ’Convolucion’.

    6. Elegir Empty Project (with main.c).

    7. Click en el botón ’Finish’.

    Como resultado se debe tener el nuevo projecto en la parte izquierdade la ventana, como se muestra en la figura 2

    Figura 2: Projecto creado.

    4

  • 8/17/2019 lab02 Convolucion

    5/14

    El proyecto ha sido creado pero aún no está listo para cargarlo a la

    tarjeta, el siguiente paso es agregar una ’PATH VARIABLE’ y una’BUILD VARIABLE’.

    ’PATH VARIABLE’ se encarga de enlazar todos los recursos necesa-rios para poder usar las funciones de TivaWare durante la edición delproyecto, mientras que ’BUILD VARIABLE’ es necesario a la hora derealizar la compilación del proyecto[4].

    2.1.1. Agregar ’PATH VARIABLE’

    8. Click derecho sobre la carpeta del proyecto y elegir ’Propierties’

    9. En la ventana ’Propierties’, click sobre el elemento ’Linked Resources’,situarse en la pestaña ’Path Variables’ y click en el botón ’New...’. Lafigura 3 ilustra este paso.

    Figura 3: Agregar PATH VARIABLE.

    10. En la ventana emergente ingresar ’TIVAWARE INSTALL’ en el campoName.

    11. Click en el botón ’Folder...’ y buscar la carpeta donde se instal ó Tiva-Ware. La figura 4  ilustra este paso.

    5

  • 8/17/2019 lab02 Convolucion

    6/14

    Figura 4: Establecer valor de PATH VARIABLE.12. Click en botón Ok.

    Como resultado se debe visualizar la nueva variable TIVAWARE INS-TALL como en la figura 5

    Figura 5: PATH VARIABLE agregada.

    6

  • 8/17/2019 lab02 Convolucion

    7/14

    2.1.2. Agregar BUILD VARIABLE.

    13. En la ventana ’Propierties’ click sobre el elemento ’CCS Build’ y si-tuarse en la pestaña ’Variables’.

    14. Click en el botón ’Add’. La figura 6 ilustra estos dos últimos pasos.

    Figura 6: Agregar BUILD VARIABLE.

    15. En la ventana emergente ’Define a New Build Variable’ ingresar losdatos como se muestra en la figura  7

    7

  • 8/17/2019 lab02 Convolucion

    8/14

    Figura 7: Definir datos de BUILD VARIABLE.

    16. Click en el botón ’Ok’

    Se debe observar la nueva variable variable ’TIVAWARE INSTALL’como se muestra en el figura  8.

    Figura 8: BUILD VARIABLE creada.

    Como complemento de BUILD VARIABLE es necesario agregar el di-rectorio de TivaWare en las opciones include del compilador.

    17. Situarse en el elemento ’Include Options’, click en el bot ón agregar,como se muestran en la figura  9.

    8

  • 8/17/2019 lab02 Convolucion

    9/14

  • 8/17/2019 lab02 Convolucion

    10/14

    21. Dirigirse al directorio de intalación de TivaWare y buscar el archivo

    ’.../driverlib/ccs/Debug/driverlib.lib’

    22. En la figura 11 se muestra un ejemplo de donde se encuentra el elementodriverlib.lib

    Figura 11: Agregar archivo driverlib.lib

    23. Click en el botón ’Abrir’.

    24. En la ventana emergente ’File Operation’ ingresar los valores como semuestran en la figura 12

    Figura 12: Opciones para agregar archivo driverlib.lib

    25. Click en el botón ’Ok’

    26. El resultado de los pasos anteriores se muestra en la figura  13 con elelemento driverlib.lib.

    10

  • 8/17/2019 lab02 Convolucion

    11/14

    Figura 13: Archivo driverlib.lib en el projecto.

    Para asegurar que se tiene listo el proyecto listo para compilar, depurary cargar en el tarjeta click en el bot ón ’Debug’ (icono de un insecto

    verde).

    Después de unos momentos se debe visualizar una pantalla como lamostrada en la figura 14.

    Figura 14: Projecto cargado en la tarjeta.

    Todos los pasos realizados hasta el momento deben ser repetidos paratodo proyecto nuevo, pero se pueden omitir si el proyecto creado yconfigurado actualmente es copiado y pegado dentro del entorno CCS,de esta manera se tiene un proyecto base del cual partir.

    11

  • 8/17/2019 lab02 Convolucion

    12/14

    2.2. Obtención de la respuesta al impulso.

    27. Reemplazar el contenido del archivo ’main.c’ del projecto nuevo por elcontenido del archivo ’main.txt’ que se encuentra en la carpeta ’convo-lución’.

    28. Agregar al archivo ’tm4c123gh6pm stratup ccs.c’ en la ĺınea 58 apro-ximadamente la ĺınea:

    void Timer0IntHandler(void);

    En la figura 15 se ilustra entre que ĺıneas de código se debe modificar

    el archivo.

    Figura 15: Modificar archivo tm4c123g...

    29. En el mismo archivo, cambiar en la ĺınea 105 aproximadamente el texto’IntDefaultHandler’ por ’Timer0IntHandler’. La parte comentada deesa ĺınea debe coincidir con ’Timer 0 subtimer A’. La figura 16 ilustraeste paso.

    Figura 16: Modificar archivo tm4c123g...

    12

  • 8/17/2019 lab02 Convolucion

    13/14

    30. Hechas estas modificaciones,   conectar la tarjeta  y click en el botón

    ’Debug’.

    31. Después de unos momentos la ventana cambiará un poco en apariencia.Doble click en la ĺınea 72 del archivo ’main.c’ para activar un ’break-point’.

    32. En la pestaña ’Expressions’, click en ’Add new expression’ e ingresarlos valores mostrados en la figura 17.

    Figura 17: Depurar projecto.

    33. Click en el botón ’Resume’ (icono play) varias veces y se podrá vizuali-zar en los tres primeros renglones los valores de la secuencia respuestaal impulso.

    NOTA:  Se considera que en el código de ’main.c’ se tienen los comen-tarios necesarios para entender el algoritmo implementado.

    3. Conclusión.

    Se han descrito los pasos necesarios para cargar en la tarjeta Tiva C una

    aplicación desarrollada, aśı como se ha incluido un projecto de ejemplo paraobtener la respuesta al impulso de un sistema LTI sencillo, lo cual es la basepara projectos mas complejos como la implementación y caracterización deun filtro digital.

    13

  • 8/17/2019 lab02 Convolucion

    14/14

    Referencias

    [1] S. W. Smith,  The Scientist and Engineer’s Guide to Digital Signal Pro-cessing , 2nd ed. California Technical Publishing, 1999.

    [2] B. P. Lathi, Signal Processing and Linear Systems . Berkley-CambridgePress, 1998.

    [3] L. Tan,  Digital Signal Processing Fundamentals and Applications . En-sevier Inc., 2008.

    [4] (2013, July) Getting started with the   tivaTM 

    tm4c123g launchpad workshop. Texas Instruments In-corporated. [Online]. Available:   http://software-dl.ti.com/trainingTTO/trainingTTO public sw/GSW-TM4C123G-LaunchPad/TM4C123G LaunchPad Workshop Workbook.pdf 

    14

    http://software-dl.ti.com/trainingTTO/trainingTTO_public_sw/GSW-TM4C123G-LaunchPad/TM4C123G_LaunchPad_Workshop_Workbook.pdfhttp://software-dl.ti.com/trainingTTO/trainingTTO_public_sw/GSW-TM4C123G-LaunchPad/TM4C123G_LaunchPad_Workshop_Workbook.pdfhttp://software-dl.ti.com/trainingTTO/trainingTTO_public_sw/GSW-TM4C123G-LaunchPad/TM4C123G_LaunchPad_Workshop_Workbook.pdfhttp://software-dl.ti.com/trainingTTO/trainingTTO_public_sw/GSW-TM4C123G-LaunchPad/TM4C123G_LaunchPad_Workshop_Workbook.pdfhttp://software-dl.ti.com/trainingTTO/trainingTTO_public_sw/GSW-TM4C123G-LaunchPad/TM4C123G_LaunchPad_Workshop_Workbook.pdfhttp://software-dl.ti.com/trainingTTO/trainingTTO_public_sw/GSW-TM4C123G-LaunchPad/TM4C123G_LaunchPad_Workshop_Workbook.pdf