lab03 Estructuras de realización

download lab03 Estructuras de realización

of 9

Transcript of lab03 Estructuras de realización

  • 8/17/2019 lab03 Estructuras de realización

    1/9

    Laboratorio Núm. 03

    Ecuaciones en diferencias

    Procesamiento Digital de Señales

    Universidad Tecnológica de la Mixteca

    Óscar Osorio

    30 de marzo de 2016

    1

  • 8/17/2019 lab03 Estructuras de realización

    2/9

    Objetivo general.

    Implementar distintas estructuras de realización de sistemas FIR y siste-mas IIR utilizando la tarjeta Tiva C.

    Objetivos espećıficos.

    Comparar las estructuras de realización de los sistemas mediante elnúmero de ciclos de reloj necesarios para cada una.

    Utilizar los diagramas a bloques o de flujo para implementar en la

    tarjeta Tiva C un sistema LTI.

    Identificar los elementos necesarios para programar las estructuras derealización.

    Requerimientos.

    Carpeta ’diferencias’.

    La carpeta contiene 7 archivos de texto.

    2

  • 8/17/2019 lab03 Estructuras de realización

    3/9

    1. Introducción.

    Cualquier sistema LTI realizable puede ser descrito por un conjunto de’ecuaciones en diferencias’ las cuales constituyen un algoritmo computacionalpara su implementación.

    En general, se pueden considerar dos tipos de ecuaciones en diferenciaspara implementar un sistema LTI, que se muestran a continuación:

    salida[actual] = a1*entrada[actual]+a2*entrada[anterior]

    salida[actual] = a1*entrada[actual]+a2*entrada[anterior] + b1*salida[anterior]

    En donde el primer sistema necesita únicamente de valores actuales yanteriores de la secuencia de entrada. Por otra parte, el segundo sistematambién necesita de valores de salida generados con anterioridad para obtenerun valor de salida. Los nombres de estos sistemas son Respuesta al ImpulsoFinita (FIR) y Respuesta al Impulo Infinita (IIR) respectivamente.

    De los ejemplos anteriores se puede notar que las operaciones necesariaspara implementar un sistemas LTI en un dispositivo digital son:

    Suma.

    Multiplicación.

    Delay o retardos. (Elementos de memoria).

    Un conjunto de ecuaciones en diferencias no es único para implementar unsistema LTI, al manipular la relación salida/entrada del sistema se consiguendistintas ecuaciones en diferencias que representan al mismo sistema pero sondiferentes en el número de operaciones de suma, multiplicación y elementosde memoria necesarios.

    Se pueden consultar las definiciones matemáticas que caracterizan a lossistemas FIR e IIR, además de las caracteŕısticas, ventajas y desventajas delos mismos, en [1] [2] y [3].

    Los sistemas implementados en este documento fueron tomados de [1],y este mismo libro se explica a detalle la clasificación de las estructuras derealización.

    3

  • 8/17/2019 lab03 Estructuras de realización

    4/9

    2. Procedimiento.

    1. Utilizar una copia de un projecto en el cual ya se tengan configuradasBUILD y PATH VARIABLES,en caso contrario en [4] y [5]   se tienenlas instrucciones necesarias para configurar un proyecto.

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

    void Timer0IntHandler(void);

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

    archivo.

    Figura 1: Modificar archivo tm4c123g...

    3. 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 2  ilustraeste paso.

    Figura 2: Modificar archivo tm4c123g...

    4

  • 8/17/2019 lab03 Estructuras de realización

    5/9

    4. Reemplazar el contenido del archivo ’main.c’ por el del archivo, ’FIR Directa.txt’

    5. Hechas estas modificaciones,   conectar la tarjeta  y click en el botón’Debug’.

    6. Doble click en la ĺınea 125, sobre el número de lı́nea, debajo del comen-tario:

    //6. Definir procedimiento de ISRs

    y sobre la ĺınea:

    void Timer0IntHandler(void)

    De tal manera que se active un ’Breakpoint’, un punto azul en el ladoizquierdo de la ventana del editor de CCS.

    Se puede activar un ’breakpoint’ utilizando el menú que aparece al darclick derecho sobre la ĺınea de interés.

    7. En llave que cierra el contenido de la función:

    void Timer0IntHandler(void)

    Aproximadamente en la ĺınea 155, y que es la última llave en estearchivo, colocar otro ’breakpoint’.

    8. Click en el botón depurar (́ıcono de insecto verde).

    9. Después de que la perspectiva cambie a modo de depuracíon, dirigirsea la ventana ’Breakpoint’, click derecho sobre el primer renglón, ele-gir ’Breakpoint (Code Composer Studio) -¿Count Event’. La figura  4

    ilustra este paso.

    5

  • 8/17/2019 lab03 Estructuras de realización

    6/9

    Figura 3: Configurar Breakpoints.

    10. Click en el botón ’Accept’. Se debe obtener un nuevo renglón al inicio,con el nombre ’Count Event’.

    En la columna ’Count’ se tiene el número de ciclos de reloj que hantranscurrido hasta el momento de encontrarse con un ’breakpoint’.

    Figura 4: Ventana ’Count’

    11. Para reanudar la ejecución se puede utilizar el botón ’Resume’ (́ıconode play) o F8.

    12. Utilizando los breakpoints se tiene una manera de medir el tiempoque tarda la tarjeta Tiva C para generar una salida. Considerar que la

    frecuencia de la tarjeta ha sido configurada a 80 MHz.

    13. En el resto de los archivos de texto ’FIR Fase lineal’, ’FIR Cascada’,’IIR Directa I’, etc. se tienen los algoritmos que representan cada unade las estructuras de implementación mas comunes.

    Consultar [1] para ver los diagramas a bloques y pasos necesarios parapasar de una estructura a otra.

    Se recomienda reemplazar TODO el contenido del archivo

    main.c con el contenido del archivo .txt correspondiente al

    6

  • 8/17/2019 lab03 Estructuras de realización

    7/9

    sistema de interés.

    14. Para estos archivos se debe medir el número de ciclos de reloj quetrancurren desde el inicio hasta el final de la función:

    void Timer0IntHandler(void)

    15. Comparar los resultados obtenidos de las estructuras del sistema FIR,y comparar los resultados de las estructuras del sistema IIR.

    En los algoritmos se simula una entrada impulso.

    7

  • 8/17/2019 lab03 Estructuras de realización

    8/9

    3. Conclusión.

    La manera más rápida y sencilla de pasar de una estructura a otra esutilizando diagramas a bloques.

    El resultado más significativo no siempre es el número de ciclos de relojnecesarios, también es conveniente observar el resultado numérico.

    Es conveniente usar iteraciones como for, o while para reducir el tiem-po en que el sistema genera una salida.

    Es una buena práctica implementar los algoritmos en otro dispositivo

    digital y comparar el tiempo de procesamiento y los valores numéricosde un dispositivo a otro.

    Las estructuras mostradas son las mas comunes, se pueden consultarotras estructuras en otras fuentes.

    8

  • 8/17/2019 lab03 Estructuras de realización

    9/9

    Referencias

    [1] D. G. Manolakis,   Applied digital signal processing: theory and practice ,1st ed. Cambridge University Press, 2011.

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

    [3]   Digital Signal Processing. Laboratory Experiments Using C and the TMS320C31 DSK . John Wiley and Sons, Inc., 1999.

    [4] (2013, July) Tiva c series development and evaluation kits for code

    composer studio. Texas Instruments Incorporated. [Online]. Available:http://www.ti.com/lit/ml/spmu352/spmu352.pdf 

    [5] (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 

    9

    http://www.ti.com/lit/ml/spmu352/spmu352.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.pdfhttp://software-dl.ti.com/trainingTTO/trainingTTO_public_sw/GSW-TM4C123G-LaunchPad/TM4C123G_LaunchPad_Workshop_Workbook.pdfhttp://www.ti.com/lit/ml/spmu352/spmu352.pdf