La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

1 Nueva metodología de enseñanza de procesado digital de la señal utilizando la API “joPAS” J. VICENTE, B. GARCÍA, I. RUIZ, A. MENDEZ, O. LAGE Departamento.

Presentaciones similares


Presentación del tema: "1 Nueva metodología de enseñanza de procesado digital de la señal utilizando la API “joPAS” J. VICENTE, B. GARCÍA, I. RUIZ, A. MENDEZ, O. LAGE Departamento."— Transcripción de la presentación:

1 1 Nueva metodología de enseñanza de procesado digital de la señal utilizando la API “joPAS” J. VICENTE, B. GARCÍA, I. RUIZ, A. MENDEZ, O. LAGE Departamento de Arquitectura de los Computadores, Automática, Electrónica y Telecomunicaciones. Universidad de Deusto.

2 2 Motivación El desarrollo de la API de programación “joPAS” surge de la necesidad del grupo de investigación PAS de proporcionar a sus algoritmos de un interface de usuario. La finalidad de “joPAS” es proporcionar una herramienta que permita el rápido desarrollo de aplicaciones. La API “joPAS” permite no tener que reimplementar el código desarrollado en OCTAVE. Diseño atractivo de prácticas de laboratorio de procesado digital de señal

3 3 ÍNDICE 1.Octave 2.Java 3.Diseño 4.Metodología de trabajo 5.Estructura de la API 6.Ejemplos 7.Resultados y conclusiones

4 4 OCTAVE I Octave es un lenguaje de alto nivel para el cálculo numérico. Sus principales diferencias con otros lenguajes de programación. Operaciones matriciales nativas. Operaciones con números complejos nativas Lenguaje interpretado.

5 5 OCTAVE II Octave es el lenguaje ideal para el desarrollo de algoritmos de procesado de señal, procesado digital de imagen, sistemas de control... Dispone de multitud de toolboxes que permiten al usuario evitar tener que comenzar desde cero al trabajar en una temática en concreto. Esta clase de toolboxes, tan especializados no se encuentran en otros lenguajes de programación, por ejemplo en java.

6 6 Desventajas de OCTAVE Octave es un lenguaje de programación interpretado. No dispone de entorno gráfico. Los algoritmos desarrollados y validados en Octave generalmente se tienen que recodificar en otro lenguaje para obtener aplicaciones finales de usuario.

7 7 JAVA Lenguaje de programación que fue diseñado para ser independiente de la plataforma. Tiene una sintaxis más sencilla que C++. Gestión sencilla de la memoria, gracias a la robusta maquina virtual. Multihilo para aplicaciones de alto rendimiento que necesiten realizar actividades en paralelo. Es más complicado programar cálculos científicos en java que en otros lenguajes de programación específicos para dicha tarea.

8 8 Diseño Tomando como premisa la necesidad de reutilizar el código desarrollado en Octave, en vez de reescribirlo en otro lenguaje de programación, y también considerando la necesidad de disponer de interfaces gráficos de usuario, la mejor propuesta es la siguiente: –El interface de usuario se implementa en JAVA, manteniendo el cálculo científico en Octave. –La API joPAS se utiliza como nexo de unión entre JAVA y Octave. –joPAS permite el intercambio de variables entre los dos lenguajes de programación además de la ejecución de sentencias de Octave desde JAVA.

9 9 Metodología de trabajo

10 10 Estructura de la API joPAS La API joPAS contiene numerosas clases, las más importantes son las siguientes: –Jopas  Esta es la clase fundamental de la API, es la encargada de gestionar la comunicación con Octave mediante tres métodos, load, save y execute. –Matrix  Esta clase contiene el tipo de datos que entiende la clase jopas. Esta clase es un contenedor de matrices, que pueden ser reales o complejas. La clase jopas admite en el método load ese tipo de datos y en el método save siempre devuelve un objeto tipo Matrix. –JopasLabel  Esta clase es una reimplementación de la clase JLabel de Java, la cual tiene un método importante llamado print. El método print se encarga de realizar la representación grafica de una señal en el label.

11 11 Ejemplo double a = 2; Matrix mA= new Matrix (a,"a"); jopas.Load(mA); jopas.execute(“b=a+1”); Matrix mB = jopas.Save("b");

12 12 Ejemplo de un filtro Chevichev

13 13 Sentencias de Octave para el diseño de un filtro [N,W]=cheb1ord(FC/10000,FR/10000,R,A); [B,A]=cheby1(N,R,W); [H,F]=freqz(B,A,512,20000); modulodB=20*log10(abs(H)); fase=unwrap(angle(H)); Fc=W*10000;

14 14 Estructura de la API joPAS La interface de usuario consta de: Dos JopasLabel, en el superior se representará el módulo de la respuesta frecuencial y en el inferior se representará la fase de la respuesta frecuencial del filtro Cuatro jTextField en los que se introducirá los siguientes parámetros. 1.Frecuencia de corte del filtro. 2.Frecuencia de rechazo del filtro. 3.Rizado en la banda de paso. 4.Atenuación de la banda de rechazo. Dos jTextField en los que se visualizarán los siguientes datos: 1.Orden del filtro 2.Frecuencia de corte del filtro diseñado. Un botón para lanzar el proceso de diseño del filtro. En el método de actionPerformed se realizarán las llamadas necesarias para implementar el filtro.

15 15 Código de la Demo joPAS //Read the values of the input textFields of the GUI String FC = jTFFrecCorte.getText(); String FR = jTFFrecRechazo.getText(); String R = jTFRizado.getText(); String A = jTFAtenuacion.getText(); //Generate de OCTAVE variables jopas.Load(Double.parseDouble(FC), "FC"); jopas.Load(Double.parseDouble(FR), "FR"); jopas.Load(Double.parseDouble(R), "R"); jopas.Load(Double.parseDouble(A), "A"); //Executes the Octave commands using local variables jopas.Execute("[N,W]=cheb1ord(FC/10000,FR/10000, R, A )"); jopas.Execute("[B,A]=cheby1(N," + R + ",W)"); jopas.Execute("[H,F]=freqz(B,A,512,20000)"); jopas.Execute("modulodB=20*log10(abs(H))"); jopas.Execute("fase=unwrap(angle(H))"); jopas.Execute("Fc=W*10000");

16 16 Resultados –Mediante esta API se permite que la implementación del algoritmo de procesado digital de señal se realice en un lenguaje de programación indicado para esta tarea, “Octave”. –Por el otro, la implementación de la interfaz de usuario en “Java”, un lenguaje de programación más indicado para este tipo de tareas. –Gracias a esta división entre la parte algorítmica y la de visualización se consigue que las aplicaciones se diseñen de una forma más rápida.

17 17 Resultados II –Gracias al uso de la API joPAS en el desarrollo de prácticas de procesado de señal se ha conseguido aumentar la motivación de los alumnos –Más alumnos han mostrado interés en realizar sus proyectos de fin de carrera en el área de procesado de señal. –dsPICgp –Diagnóstico de patologías a partir de imágenes de densitometrías óseas

18 18 Gracias por su atención http://jopas.sourceforge.net


Descargar ppt "1 Nueva metodología de enseñanza de procesado digital de la señal utilizando la API “joPAS” J. VICENTE, B. GARCÍA, I. RUIZ, A. MENDEZ, O. LAGE Departamento."

Presentaciones similares


Anuncios Google