• No se han encontrado resultados

Pruebas físicas para escalamiento del sistema

Capítulo III Pruebas y resultados

3.2 Pruebas sobre el prototipo del sistema de análisis de señales de poliscopio

3.2.3 Pruebas físicas para escalamiento del sistema

Ahora que se han realizado las pruebas sobre los módulos del sistema de análisis de señales, implementado en la FPGA, es necesario determinar hasta qué punto se pueden aumentar sus capacidades sin degradar el rendimiento. Para esto, se aumenta progresivamente el tamaño de las memorias y el tamaño de la FFT en potencias de dos como es permitido y se realiza una prueba del sistema cada vez, comparando el resultado obtenido utilizando la FPGA con el resultado que se obtiene utilizando MATLAB.

La comparación se realiza mediante el examen de la gráfica de la salida del sistema implementado sobre la FPGA versus la gráfica de la magnitud de la FFT realizada en MATLAB.

Para ambos casos se carga el mismo archivo de valores de entrada. En la FPGA se carga un archivo .COE con las muestras de una señal sinusoidal de amplitud 1 voltio y de frecuencia 50 KHZ. Esta señal es muestreada a 724 637.6812 Hz que es la misma frecuencia de muestreo a la cual está configurado el ADC en la FPGA para esta implementación. Además se realiza una multiplicación por 8192 puesto que éste es el valor de resolución del ADC. Estas muestras son generadas utilizando un script de MATLAB que llamamos senosoidal.m cuya captura de pantalla se muestra en la figura 3.25. Los resultados son trasmitidos al computador mediante el módulo de trasmisión RS232 y son recibidos en MATLAB para ser procesados directamente mediante el script

75 soperaciones.m22, que realiza la conversión de punto flotante a decimal con signo y obtiene la gráfica a partir de estos datos. En MATLAB estos datos son generados utilizando el mismo vector que se obtiene de la función senosoidal.m con el fin de conseguir como ya se mencionó, los mismos valores de entrada.

Figura 3.25. Archivo senosoidal.m para generar muestras de una señal sinusoidal.

Es importante señalar que en este documento se registran las pruebas realizadas con tamaño de transformada de 128 muestras en adelante, debido a que para un número menor de muestras el resultado del sistema es exactamente igual al resultado obtenido en MATLAB.

3.2.3.1 Prueba del sistema procesando 128 muestras.

Para el sistema de análisis de señales de tipo poliscopio implementado sobre la FPGA utilizando una FFT de 128 muestras (ver figura 3.26) se obtiene un resultado exactamente igual al obtenido en MATLAB con el mismo número de muestras, esto se comprueba en la figura 3.27 donde se comparan ambas graficas superponiendo una con otra. Para mayor claridad, en la figura 3.28 se muestra la gráfica de la salida del sistema implementado sobre la FPGA y en la figura 3.29 la gráfica obtenida en MATLAB para el mismo número de muestras.

22

76 Figura 3.26. CORE FFT con N=128.

77 Figura 3.28. Magnitud de FFT de 128 muestras en FPGA.

Figura 3.29. Magnitud de FFT de 128 muestras en MATLAB.

3.2.3.2 Prueba del sistema procesando 256 muestras.

En este caso se realiza el mismo procedimiento que en el caso anterior, en la figura 3.30 se muestra una captura de pantalla de la generación del CORE, en la Figura 3.31 se muestra la comparación de la FFT obtenida en MATLAB con la obtenida en la FPGA, en la figura 3.32 se presenta la gráfica que se obtiene utilizando los valores de magnitud

78 procesados en la FPGA y la figura 3.33 corresponde a la gráfica de la magnitud de la FFT utilizando MATLAB. Para este caso ambos resultados son idénticos.

Figura 3.30. CORE FFT con N=256.

79 Figura 3.32. Magnitud de FFT de 256 muestras en FPGA.

80

3.2.3.3 Prueba del sistema procesando 512 muestras.

Para la prueba del sistema con 512 muestras se realiza el mismo procedimiento que en el caso anterior, en la figura 3.34 se muestra una captura de pantalla de la generación del Core, en la Figura 3.35 se muestra la comparación de la FFT obtenida en MATLAB con la obtenida en la FPGA, en la figura 3.36 se presenta la gráfica que se obtiene utilizando los valores de magnitud procesados en la FPGA y la figura 3.37 corresponde a la gráfica de la magnitud de la FFT utilizando MATLAB. Para este caso ambos resultados son muy similares.

Figura 3.34. CORE FFT con N=512

81 Figura 3.36. Magnitud de FFT de 512 muestras en FPGA

82

3.2.3.4 Prueba del sistema procesando 1024 muestras.

Para realizar la prueba del sistema con 1024 muestras se procede de igual forma que para el caso de 512 muestras. En la figura 3.38 se muestra una captura de pantalla de la generación del CORE, en la Figura 3.39 la comparación de la FFT obtenida en MATLAB con la obtenida en la FPGA, en la figura 3.40 se presenta la gráfica que se obtiene utilizando los valores de magnitud procesados en la FPGA y la figura 3.41 corresponde a la gráfica de la magnitud de la FFT utilizando MATLAB, en este caso también se obtienen resultados muy similares con ambos sistemas. Sin embargo, no se continua escalando el sistema debido a que con este tamaño de transformada el uso de recursos de la FPGA (Slices, LUTS, bloques de RAM, multiplicadores, etc.) aumenta considerablemente alcanzando sus límites, lo cual es un riesgo porque el sistema podría tener un mal desempeño o no podría funcionar al momento de procesar señales. En la figura 3.42 se muestra el resumen de uso de recursos para esta implementación, aquí se observa que el porcentaje de uso de recursos de la FPGA está entre el 70% para Slices ocupados, 90% para el uso de multiplicadores, 80% para bloques de RAM. Entre otros.

83 Figura 3.39. Comparación gráficas MATLAB y FPGA para FFT de 1024 muestras.

84 Figura 3.41. Magnitud de FFT de 1024 muestras en MATLAB

Figura 3.42. Resumen de utilización de recursos para la implementación del sistema de análisis de señales con una FFT de 1024 muestras.

85

3.2.4 Prueba del sistema de análisis de señales con FFT de 1024