Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

42
IMPLEMENTACIÓN DE LA TRANSFORMADA RÁPIDA DE FOURIER EN UN dsPIC30F4011 CON CONTROL DEL NÚMERO DE MUESTRAS Y VELOCIDAD DE MUESTREO JAIME FERNANDO AMÉZQUITA RIVERA Proyecto de grado para optar el título de Ingeniero Electrónico Directora del proyecto: ANGELA VIVIANA PEÑA PUERTO INGENIERA ELECTRÓNICA TUNJA 2012

Transcript of Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Page 1: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

IMPLEMENTACIÓN DE LA TRANSFORMADA RÁPIDA DE FOURIER EN UN dsPIC30F4011 CON CONTROL DEL NÚMERO DE MUESTRAS

Y VELOCIDAD DE MUESTREO

JAIME FERNANDO AMÉZQUITA RIVERAProyecto de grado para optar el título de

Ingeniero Electrónico

Directora del proyecto:ANGELA VIVIANA PEÑA PUERTO

INGENIERA ELECTRÓNICA

TUNJA2012

Page 2: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Objetivo General

Implementar la Transformada Rápida de Fourier en un dsPIC30F con control del número de muestras y velocidad de muestreo.

Page 3: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

1. Objetivo Específico

Analizar los diferentes algoritmos existentes, para implementar la Transformada Rápida de Fourier (FFT).

Page 4: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Algoritmos para FFTEn los diferentes algoritmos existentes para implementarlos en los procesadores con DSP encontramos los siguientes:

Colossus User
El número de muestras de entrada es N = 4^k
Page 5: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Algoritmo Radix-2 Diezmado en frecuencia

• Reduce el número de sumas, restas y multiplicaciones complejas con respecto al algoritmo original de la DFT.

• El hardware de los dsPIC se ajustan a este tipo de

algoritmos, ya que soportan direccionamiento por inversión de acarreo o bits de reverso para algoritmo en base 2.

Page 6: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Deducción del algoritmo Radix-2 o Base-2 diezmado en frecuencia

Ecuación de la Transformada Discreta de Fourier:

Page 7: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Utilizando las propiedades de:• Simetría

• Periodicidad

Page 8: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Ecuación para datos pares:

Ecuación para datos impares:

Page 9: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Diagrama Mariposa BásicoAlgoritmo Diezmado en Frecuencia

Este algoritmos solo se aplican a muestras de entrada con potencia de 2k como ejemplo tenemos: 2, 4, 8, 16, 32, 64, 128, 256, 512… muestras.

Page 10: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

FFT de 8 Muestras

Page 11: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

EFICIENCIA DE LOS W

Page 12: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Factores de Giro o Twiddle

Page 13: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

2. Objetivo Específico

Determinar las características generales, capacidades y limitaciones del dsPIC30F4011.

Page 14: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo
Colossus User
Limitaciones fue la memoria de datos muy reducida
Page 15: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

3. Objetivo Específico

Diseñar las funciones necesarias por medio del programa MPLAB, para implementar la construcción de la Transformada Rápida de Fourier.

Colossus User
Para crear la FFT en el dsPIC fue necesario crear un software base llamado FFT.
Page 16: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

SoftwareVertebraldsPIC

ModuloConfiguración

Modulo Asignación de Tareas

Modulo Interrupciones

- Tarea 0- Tarea 1- Tarea 2- Tarea 3- Tarea 4- Tarea 5- Tarea 6- Tarea 7- Tarea 8- Tarea 9- Tarea 10- Tarea 11- Tarea 12- Tarea 13- Tarea 14- Tarea 15

Conversor A/D

Temporizador (Velocidad de

Muestreo)

Comunicación Serial UART

- Config Puertos- Config UART- Config Conversor A/D- Config Temporizador - Config Interrupciones- Config Datos

Modulo de Funciones

- Fun Lectura Portx- Fun Retardos- Fun LCD- Fun Vel. Muestreo- Fun Número de

Muestras- Fun FFT

- Comando 1- Comando 2- Comando 3- Comando 4- Comando 5- Comando 6- Comando 7

RXTX

Colossus User
Programacion estructurar:Es la que posee un unico punto de entrada y un unico punto de salida, sin importar cuantos N caminos existen desde el principo hasta el final.Programacion Modular:Descompone el problema en partes mas pequeñas e independientes
Page 17: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Tipo de Datos

Page 18: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Multiplicación Compleja

Suma Compleja

Colossus User
Se aplica la propiedad distributiva de la multiplicación sobre la suma
Page 19: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

4. Objetivo Específico

Diseñar la función que realice el proceso de conversión A/D en el dsPIC30F, por medio del programa MPLAB, para el control del número de muestras y procesamiento de información.

Page 20: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Configuración Modulo A/D• Configura el pin del puerto como entrada Análoga RB8.• Seleccionar el canal de entrada• Seleccionar el reloj de conversión • Seleccionar la fuente de disparo• Encender el modulo A/D

Page 21: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

5. Objetivo Específico

Determinar el valor máximo y mínimo de la velocidad de muestreo, en el dsPIC30F4011, para construir la función que permite variar la velocidad de muestreo.

Page 22: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo
Page 23: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

6. Objetivo Específico

Diseñar un software que grafique los datos obtenidos en el dsPIC30F, por medio del programa Visual Basic, para observar gráficamente los espectros de una señal.

Page 24: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo
Page 25: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

7. Objetivo Específico

Verificar la Transformada Rápida de Fourier en el dsPIC30F, por medio de una aplicación llamada selector de materiales, para comprobar su funcionamiento sin necesidad de utilizar un computador.

Page 26: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Diagrama Esquemático del Selector de materiales

Page 27: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Módulos del Prototipo

Page 28: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Módulos Principal Prototipo

Page 29: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo
Page 30: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Prueba de validación del algoritmo de la FFT implementado

Page 31: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Prueba de verificación del algoritmo con Matlab

Page 32: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Prueba en tiempo Real

Page 33: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

CONCLUSIONES• En el desarrollo de este proyecto se logro

implementar con éxito la transformada Rápida de Fourier (FFT) sobre un controlador de señales digitales dsPIC30F4011, para lo cual fue necesario estudiar, analizar y comprender con profundidad tanto la FFT como el dispositivo utilizado.

• Los resultados fueron verificados comparando la transformada con otras implementaciones, en este caso comparando los resultados con MATLAB.

Page 34: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

• El dispositivo quedo con la capacidad de conmutar el número de muestras tomadas sobre la señal y la velocidad de muestreo, lo que logra que el dispositivo sea más versátil para el análisis de diferentes tipos de señales.

• Esta tesis aporta una explicación importante sobre cómo se procesan los números complejos, ya que la transformada es una operación compleja, y la forma en que se calculan y almacenan los factores de giro (WN

k).

Page 35: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

• Se desarrollo una aplicación utilizando la FFT del dsPIC enfocada al reconocimiento de materiales sólidos. Se logró discriminar materiales como el hierro, aluminio, bronce y teflón en forma de cilindros, también se logro discriminó una lámina de aluminio, logrando diferenciar no solo el material sino la geometría en base al espectro generado por cada material.

Page 36: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

• Una desventaja importante, se encuentra en la memoria RAM del dsPIC30F4011 ya que es una limitación para la cantidad de muestras que se pueden almacenar, limitando así la resolución de la transformada.

Page 37: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

SUGERENCIAS, RECOMENDACIONES Y LIMITES DEL SISTEMA

• El primero hace referencia a los límites de memoria, por lo que es necesario buscar y estudiar formas de ampliar la memoria o modificar la forma de almacenamiento.

• El segundo tema importante es manejar mas información manteniendo la velocidad de operación y buscar nuevas formas de acoplar varios dispositivos para que funcionen en forma paralela, partiendo la rutina de la mariposa en varios dispositivos.

Page 38: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

• El segundo tema importante es manejar mas información manteniendo la velocidad de operación y buscar nuevas formas de acoplar varios dispositivos para que funcionen en forma paralela, partiendo la rutina de la mariposa en varios dispositivos.

Page 39: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

BIBLIOGRAFÍA• ANGULO USATEGUI, José María y ANGULO MARTÍNEZ, Ignacio. Microcontroladores PIC diseño

práctico de aplicaciones. 2 ed. España: McGRAW-HILL. ISBN 958-41-0131-5.

• ANGULO USATEGUI, José María y ANGULO MARTÍNEZ, Ignacio. Microcontroladores PIC diseño práctico de aplicaciones segunda parte: 16F87X. 2 ed. España: McGRAW-HILL. ISBN 84-841-2858-3.

• ANGULO USATEGUI, José María; ANGULO MARTÍNEZ, Ignacio y ROMERO YESA, Susana. Microcontroladores PIC diseño práctico de aplicaciones segunda parte: PIC16F87X, PIC18FXXX. 2 ed. España: McGRAW-HILL. ISBN 84-841-4627-1.

• ANGULO USATEGUI, José María; ANGULO MARTÍNEZ, Ignacio; ETXEBARRIA RUIZ, Aritza y TRUEBA PARRA, Iván. dsPIC Diseño práctico de aplicaciones. 1 ed. España: McGRAW-HILL. ISBN 84-81-5156-9.

• OPPENHEIM, Alan y SCHAFER, Ronald. Tratamiento de señales en tiempo discreto. 2 ed. Mexico: PRENTICE HALL Hispanoamericana S.A. ISBN 970170116-X.

• MITRA, SANJIT K., Procesamiento digital de señales, Editorial, Mc Graw-Hill • MANOLAKIS, Dimitris; POAKIS, Jhon. Tratamiento digital de señales. 3 ed. PRENTICE HALL. ISBN 84-

8322-000-8.

Page 40: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

• NILSSON, James. Circuitos Eléctricos. 4 ed. E.U.A: Wesley Iberoamericana, S.A. ISBN 0-201-60101-x. • SILER, Brian y Spotts, Jeff. Visual Basic 6. Especial ed. España: PRENTICE HALL. ISBN 84-8322-104-7

• CEBALLOS SIERRA, Javier. Visual Basic curso de programación. 5 ed. Madrid, España: RA-MA. ISBN 970-15-0350-3.

• Transformada Rápida de Fourier. Disponible en internet: <http://150.214.178.55/jaguilar/tts/tutorial/capitulo4/4_transf_rapidas.htm>

• dsPIC30F, Family Reference Manual DATA SHEET. Disponible en Internet:<http://www.microchip. com>

• dsPIC30F4011 DATA SHEET. Disponible en Internet: <http://www.microchip.com>

• ROMULO, Miguel. Implementación de la FFT en hardware aplicada a recepción en OFDM. Disponible en: <http://sisbib.unmsm.edu.pe/BibVirtualdata/publicaciones/electronica/Diciembre_2000/Pdf/3_Implementa.pdf>

• ACOSTA, Julián. VELASCO, Jaime. FFT de 8 Puntos IEEE754 Sintetizado en FPGA. Disponible en: http://bionano.univalle.edu.co/FFT_8_SPS05.pdf.

Page 41: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

Dedico esta Tesis a Dedico esta tesis a mis padres Luis Ernesto Amézquita Rivera y Ana Victoria Rivera quienes junto con mis hermanos Luis Ernesto Ingeniero Electrónico, Orlando Alexander Diseñador Industrial, Henry Mauricio Ingeniero de Sistemas y en cada instante de mi vida han formado parte del sueño que hoy es una realidad pues fueron ellos los que me animaron cuando sentía desfallecer y no permitieron que yo formara parte del alto porcentaje de Colombianos que inician una carrera profesional y no logran culminarla por uno u otro motivo. Agradezco a mi directora de proyecto Ingeniera Ángela Viviana Peña Puerto también a mi compañera sentimental Angélica Mayerlí Barrera López Locutora y Productora de Medios Audiovisuales y un amigo que conozco desde el colegio Oscar Ricardo Montero Tovar Ingeniero Electrónico que me asesoro y me aconsejo durante todo el proyecto, también agradecer a mis amigos, compañeros y docentes pues ellos también formaron parte de este largo camino y me ayudaron a dar pasos firmes para hoy lograr llegar a la meta, la vida está llena de peldaños y bellos paisajes que vi reflejados en cada uno de los ya nombrados.

Page 42: Implementación de la FFT en un dsPIC30F con control del número de muestras y velocidad de muestreo

GRACIAS