You are on page 1of 9

Laboratorio Num.

03
Ecuaciones en diferencias
Procesamiento Digital de Senales
Universidad Tecnologica de la Mixteca

Oscar
Osorio
30 de marzo de 2016

Objetivo general.
Implementar distintas estructuras de realizacion de sistemas FIR y sistemas IIR utilizando la tarjeta Tiva C.

Objetivos especficos.
Comparar las estructuras de realizacion de los sistemas mediante el
n
umero 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 de
realizacion.

Requerimientos.
Carpeta diferencias.
La carpeta contiene 7 archivos de texto.

1.

Introducci
on.

Cualquier sistema LTI realizable puede ser descrito por un conjunto de


ecuaciones en diferencias las cuales constituyen un algoritmo computacional
para su implementacion.
En general, se pueden considerar dos tipos de ecuaciones en diferencias
para implementar un sistema LTI, que se muestran a continuacion:

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 u


nicamente de valores actuales y
anteriores de la secuencia de entrada. Por otra parte, el segundo sistema
tambien necesita de valores de salida generados con anterioridad para obtener
un valor de salida. Los nombres de estos sistemas son Respuesta al Impulso
Finita (FIR) y Respuesta al Impulo Infinita (IIR) respectivamente.
De los ejemplos anteriores se puede notar que las operaciones necesarias
para implementar un sistemas LTI en un dispositivo digital son:
Suma.
Multiplicacion.
Delay o retardos. (Elementos de memoria).
Un conjunto de ecuaciones en diferencias no es u
nico para implementar un
sistema LTI, al manipular la relacion salida/entrada del sistema se consiguen
distintas ecuaciones en diferencias que representan al mismo sistema pero son
diferentes en el n
umero de operaciones de suma, multiplicacion y elementos
de memoria necesarios.
Se pueden consultar las definiciones matematicas que caracterizan a los
sistemas FIR e IIR, ademas de las caractersticas, ventajas y desventajas de
los 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 clasificacion de las estructuras de
realizacion.

2.

Procedimiento.

1. Utilizar una copia de un projecto en el cual ya se tengan configuradas


BUILD y PATH VARIABLES,en caso contrario en [4] y [5] se tienen
las instrucciones necesarias para configurar un proyecto.
2. Agregar al archivo tm4c123gh6pm stratup ccs.c en la lnea 58 aproximadamente lo siguiente:
void Timer0IntHandler(void);
En la figura 1 se ilustra entre que lneas de codigo se debe modificar el
archivo.

Figura 1: Modificar archivo tm4c123g...


3. En el mismo archivo, cambiar en la lnea 105 aproximadamente el texto
IntDefaultHandler por Timer0IntHandler. La parte comentada de
esa lnea debe coincidir con Timer 0 subtimer A. La figura 2 ilustra
este paso.

Figura 2: Modificar archivo tm4c123g...


4

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 boton
Debug.
6. Doble click en la lnea 125, sobre el n
umero de lnea, debajo del comentario:
//6. Definir procedimiento de ISRs
y sobre la lnea:
void Timer0IntHandler(void)
De tal manera que se active un Breakpoint, un punto azul en el lado
izquierdo de la ventana del editor de CCS.
Se puede activar un breakpoint utilizando el men
u que aparece al dar
click derecho sobre la lnea de interes.
7. En llave que cierra el contenido de la funcion:
void Timer0IntHandler(void)
Aproximadamente en la lnea 155, y que es la u
ltima llave en este
archivo, colocar otro breakpoint.
8. Click en el boton depurar (cono de insecto verde).
9. Despues de que la perspectiva cambie a modo de depuracion, dirigirse
a la ventana Breakpoint, click derecho sobre el primer renglon, elegir Breakpoint (Code Composer Studio) -Count Event. La figura 4
ilustra este paso.

Figura 3: Configurar Breakpoints.


10. Click en el boton Accept. Se debe obtener un nuevo renglon al inicio,
con el nombre Count Event.
En la columna Count se tiene el n
umero de ciclos de reloj que han
transcurrido hasta el momento de encontrarse con un breakpoint.

Figura 4: Ventana Count


11. Para reanudar la ejecucion se puede utilizar el boton Resume (cono
de play) o F8.
12. Utilizando los breakpoints se tiene una manera de medir el tiempo
que 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 una
de las estructuras de implementacion mas comunes.
Consultar [1] para ver los diagramas a bloques y pasos necesarios para
pasar de una estructura a otra.
Se recomienda reemplazar TODO el contenido del archivo
main.c con el contenido del archivo .txt correspondiente al
6

sistema de inter
es.
14. Para estos archivos se debe medir el n
umero de ciclos de reloj que
trancurren desde el inicio hasta el final de la funcion:
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.

3.

Conclusi
on.
La manera mas rapida y sencilla de pasar de una estructura a otra es
utilizando diagramas a bloques.
El resultado mas significativo no siempre es el n
umero de ciclos de reloj
necesarios, tambien es conveniente observar el resultado numerico.
Es conveniente usar iteraciones como for, o while para reducir el tiempo en que el sistema genera una salida.
Es una buena practica implementar los algoritmos en otro dispositivo
digital y comparar el tiempo de procesamiento y los valores numericos
de un dispositivo a otro.
Las estructuras mostradas son las mas comunes, se pueden consultar
otras estructuras en otras fuentes.

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-Cambridge
Press, 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
tivaT M
tm4c123g
launchpad
workshop.
Texas
Instruments
Incorporated.
[Online].
Available:
http://software-dl.ti.com/
trainingTTO/trainingTTO public sw/GSW-TM4C123G-LaunchPad/
TM4C123G LaunchPad Workshop Workbook.pdf

You might also like